From 7bfd112193698e9340c01e9260e3f14889f0cbe0 Mon Sep 17 00:00:00 2001 From: czichy Date: Wed, 9 Jun 2021 13:11:29 +0300 Subject: [PATCH] Remove all Since this repo is not maintained anymore we delete it to avoid people picking up the asn1c version form here. A newer version is available from https://github.com/nokia/asn1c Signed-off-by: czichy Change-Id: I691dc8aee29f530623d7c65ce740c21ed9187363 Signed-off-by: czichy --- AUTHORS | 25 - BUGS | 32 - ChangeLog | 602 - FAQ | 27 - INSTALL.md | 66 - LICENSE | 23 - Makefile | 1010 - Makefile.am | 18 - Makefile.in | 912 - README.md | 128 +- REQUIREMENTS.md | 29 - aclocal.m4 | 1238 -- asn1c/.deps/asn1c.Po | 244 - asn1c/.deps/enber.Po | 335 - asn1c/.deps/unber.Po | 355 - asn1c/Makefile | 1176 - asn1c/Makefile.am | 30 - asn1c/Makefile.in | 1078 - asn1c/README | 3 - asn1c/asn1c.c | 585 - asn1c/check-xxber.sh | 46 - asn1c/enber.c | 404 - asn1c/sys-common.h | 68 - asn1c/unber.c | 846 - autom4te.cache/output.0 | 21483 ------------------- autom4te.cache/output.1 | 21483 ------------------- autom4te.cache/output.2 | 21483 ------------------- autom4te.cache/requests | 539 - autom4te.cache/traces.0 | 3157 --- autom4te.cache/traces.1 | 820 - autom4te.cache/traces.2 | 3157 --- config.h.in | 127 - config.log | 3733 ---- config.status | 2352 -- config/ar-lib | 270 - config/compile | 347 - config/config.guess | 1441 -- config/config.sub | 1813 -- config/depcomp | 791 - config/install-sh | 508 - config/ltmain.sh | 11156 ---------- config/missing | 215 - config/test-driver | 148 - configure.ac | 310 - doc/Makefile | 704 - doc/Makefile.am | 9 - doc/Makefile.in | 704 - doc/asn1c-quick.pdf | Bin 150028 -> 0 bytes doc/asn1c-usage.pdf | Bin 282148 -> 0 bytes doc/docsrc/Makefile | 476 - doc/docsrc/Makefile.am | 13 - doc/docsrc/Makefile.in | 476 - doc/docsrc/asn1c-usage.tex | 2173 -- doc/docsrc/asn_dec_rval.inc | 30 - doc/docsrc/asn_enc_rval.inc | 17 - doc/man/Makefile | 553 - doc/man/Makefile.am | 16 - doc/man/Makefile.in | 553 - doc/man/asn1c.1 | 332 - doc/man/asn1c.man.md | 189 - doc/man/enber.1 | 71 - doc/man/enber.man.md | 50 - doc/man/unber.1 | 181 - doc/man/unber.man.md | 121 - examples/Makefile | 590 - examples/Makefile.am | 50 - examples/Makefile.in | 590 - examples/README | 48 - examples/crfc2asn1.pl | 128 - examples/rfc3280.txt | 7227 ------- examples/rfc3525.txt | 11931 ---------- examples/rfc4511.txt | 3811 ---- examples/sample.makefile.regen | 170 - examples/sample.source.1609.2/Makefile | 107 - examples/sample.source.1609.2/README | 46 - examples/sample.source.1609.2/config.h | 10 - .../sample.source.1609.2/sample-Certificate-1.coer | Bin 194 -> 0 bytes .../sample.source.1609.2/sample-Certificate-1.xer | 95 - .../sample.source.1609.2/sample-Certificate-2.coer | Bin 88 -> 0 bytes .../sample.source.1609.2/sample-Certificate-2.xer | 46 - .../sample-Ieee1609Dot2Data-1.coer | Bin 205 -> 0 bytes examples/sample.source.J2735/Makefile | 107 - examples/sample.source.J2735/README | 40 - examples/sample.source.J2735/config.h | 10 - .../sample.source.J2735/sample-MessageFrame-1.der | Bin 335 -> 0 bytes .../sample.source.J2735/sample-MessageFrame-1.per | Bin 120 -> 0 bytes .../sample.source.J2735/sample-MessageFrame-1.xer | 140 - examples/sample.source.LDAP3/Makefile | 107 - examples/sample.source.LDAP3/README | 21 - examples/sample.source.LDAP3/config.h | 10 - .../sample.source.LDAP3/sample-LDAPMessage-1.ber | 1 - examples/sample.source.LTE-RRC/Makefile | 106 - examples/sample.source.LTE-RRC/README | 38 - examples/sample.source.LTE-RRC/config.h | 10 - .../sample-BCCH-BCH-Message-1.per | Bin 3 -> 0 bytes examples/sample.source.MEGACO/Makefile | 106 - examples/sample.source.MEGACO/README | 17 - examples/sample.source.MEGACO/config.h | 10 - examples/sample.source.MHEG5/Makefile | 553 - examples/sample.source.MHEG5/README | 35 - examples/sample.source.MHEG5/config.h | 10 - .../sample-InterchangedObject-1.xer | 97 - examples/sample.source.PKIX1/Makefile | 106 - examples/sample.source.PKIX1/README | 29 - examples/sample.source.PKIX1/config.h | 10 - .../sample.source.PKIX1/sample-Certificate-1.der | Bin 1128 -> 0 bytes examples/sample.source.RRC/Makefile | 106 - examples/sample.source.RRC/README | 36 - examples/sample.source.RRC/config.h | 10 - .../sample-BCCH-BCH-Message-2.per | Bin 22 -> 0 bytes .../sample-DL-CCCH-Message-2-nopad.per | Bin 107 -> 0 bytes .../sample-DL-DCCH-Message-1-nopad.per | Bin 12 -> 0 bytes .../sample.source.RRC/sample-DL-DCCH-Message-1.per | Bin 14 -> 0 bytes examples/sample.source.S1AP/Makefile | 122 - examples/sample.source.S1AP/README | 35 - examples/sample.source.S1AP/config.h | 10 - .../nextepc/sample-S1AP-PDU-0.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-1.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-10.aper | Bin 161 -> 0 bytes .../nextepc/sample-S1AP-PDU-100.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-101.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-102.aper | Bin 28 -> 0 bytes .../nextepc/sample-S1AP-PDU-103.aper | Bin 21 -> 0 bytes .../nextepc/sample-S1AP-PDU-104.aper | Bin 20 -> 0 bytes .../nextepc/sample-S1AP-PDU-105.aper | Bin 134 -> 0 bytes .../nextepc/sample-S1AP-PDU-106.aper | Bin 61 -> 0 bytes .../nextepc/sample-S1AP-PDU-107.aper | Bin 58 -> 0 bytes .../nextepc/sample-S1AP-PDU-108.aper | Bin 41 -> 0 bytes .../nextepc/sample-S1AP-PDU-109.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-11.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-110.aper | Bin 34 -> 0 bytes .../nextepc/sample-S1AP-PDU-111.aper | Bin 67 -> 0 bytes .../nextepc/sample-S1AP-PDU-112.aper | Bin 255 -> 0 bytes .../nextepc/sample-S1AP-PDU-113.aper | Bin 133 -> 0 bytes .../nextepc/sample-S1AP-PDU-114.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-115.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-116.aper | Bin 61 -> 0 bytes .../nextepc/sample-S1AP-PDU-117.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-118.aper | Bin 28 -> 0 bytes .../nextepc/sample-S1AP-PDU-119.aper | Bin 21 -> 0 bytes .../nextepc/sample-S1AP-PDU-12.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-120.aper | Bin 20 -> 0 bytes .../nextepc/sample-S1AP-PDU-121.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-122.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-123.aper | Bin 92 -> 0 bytes .../nextepc/sample-S1AP-PDU-124.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-125.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-126.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-127.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-128.aper | Bin 33 -> 0 bytes .../nextepc/sample-S1AP-PDU-129.aper | Bin 146 -> 0 bytes .../nextepc/sample-S1AP-PDU-13.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-130.aper | Bin 351 -> 0 bytes .../nextepc/sample-S1AP-PDU-131.aper | Bin 161 -> 0 bytes .../nextepc/sample-S1AP-PDU-132.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-133.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-134.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-135.aper | Bin 104 -> 0 bytes .../nextepc/sample-S1AP-PDU-136.aper | Bin 121 -> 0 bytes .../nextepc/sample-S1AP-PDU-137.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-138.aper | Bin 58 -> 0 bytes .../nextepc/sample-S1AP-PDU-139.aper | Bin 166 -> 0 bytes .../nextepc/sample-S1AP-PDU-14.aper | Bin 160 -> 0 bytes .../nextepc/sample-S1AP-PDU-140.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-141.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-142.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-143.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-144.aper | Bin 29 -> 0 bytes .../nextepc/sample-S1AP-PDU-145.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-146.aper | Bin 104 -> 0 bytes .../nextepc/sample-S1AP-PDU-147.aper | Bin 34 -> 0 bytes .../nextepc/sample-S1AP-PDU-148.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-149.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-15.aper | Bin 36 -> 0 bytes .../nextepc/sample-S1AP-PDU-150.aper | Bin 92 -> 0 bytes .../nextepc/sample-S1AP-PDU-151.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-152.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-153.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-154.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-155.aper | Bin 33 -> 0 bytes .../nextepc/sample-S1AP-PDU-156.aper | Bin 146 -> 0 bytes .../nextepc/sample-S1AP-PDU-157.aper | Bin 358 -> 0 bytes .../nextepc/sample-S1AP-PDU-158.aper | Bin 161 -> 0 bytes .../nextepc/sample-S1AP-PDU-159.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-16.aper | Bin 28 -> 0 bytes .../nextepc/sample-S1AP-PDU-160.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-161.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-162.aper | Bin 154 -> 0 bytes .../nextepc/sample-S1AP-PDU-163.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-164.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-165.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-166.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-167.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-168.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-169.aper | Bin 108 -> 0 bytes .../nextepc/sample-S1AP-PDU-17.aper | Bin 23 -> 0 bytes .../nextepc/sample-S1AP-PDU-170.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-171.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-172.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-173.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-174.aper | Bin 36 -> 0 bytes .../nextepc/sample-S1AP-PDU-175.aper | Bin 69 -> 0 bytes .../nextepc/sample-S1AP-PDU-176.aper | Bin 206 -> 0 bytes .../nextepc/sample-S1AP-PDU-177.aper | Bin 52 -> 0 bytes .../nextepc/sample-S1AP-PDU-178.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-179.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-18.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-180.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-181.aper | Bin 169 -> 0 bytes .../nextepc/sample-S1AP-PDU-182.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-183.aper | Bin 58 -> 0 bytes .../nextepc/sample-S1AP-PDU-184.aper | Bin 86 -> 0 bytes .../nextepc/sample-S1AP-PDU-185.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-186.aper | Bin 118 -> 0 bytes .../nextepc/sample-S1AP-PDU-187.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-188.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-189.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-19.aper | Bin 146 -> 0 bytes .../nextepc/sample-S1AP-PDU-190.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-191.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-192.aper | Bin 136 -> 0 bytes .../nextepc/sample-S1AP-PDU-193.aper | Bin 30 -> 0 bytes .../nextepc/sample-S1AP-PDU-194.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-195.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-196.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-197.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-198.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-199.aper | Bin 36 -> 0 bytes .../nextepc/sample-S1AP-PDU-2.aper | Bin 92 -> 0 bytes .../nextepc/sample-S1AP-PDU-20.aper | Bin 348 -> 0 bytes .../nextepc/sample-S1AP-PDU-200.aper | Bin 69 -> 0 bytes .../nextepc/sample-S1AP-PDU-201.aper | Bin 206 -> 0 bytes .../nextepc/sample-S1AP-PDU-202.aper | Bin 52 -> 0 bytes .../nextepc/sample-S1AP-PDU-203.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-204.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-205.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-206.aper | Bin 171 -> 0 bytes .../nextepc/sample-S1AP-PDU-207.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-208.aper | Bin 58 -> 0 bytes .../nextepc/sample-S1AP-PDU-209.aper | Bin 264 -> 0 bytes .../nextepc/sample-S1AP-PDU-21.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-210.aper | Bin 356 -> 0 bytes .../nextepc/sample-S1AP-PDU-211.aper | Bin 237 -> 0 bytes .../nextepc/sample-S1AP-PDU-212.aper | Bin 222 -> 0 bytes .../nextepc/sample-S1AP-PDU-213.aper | Bin 43 -> 0 bytes .../nextepc/sample-S1AP-PDU-214.aper | Bin 43 -> 0 bytes .../nextepc/sample-S1AP-PDU-215.aper | Bin 44 -> 0 bytes .../nextepc/sample-S1AP-PDU-216.aper | Bin 103 -> 0 bytes .../nextepc/sample-S1AP-PDU-217.aper | Bin 49 -> 0 bytes .../nextepc/sample-S1AP-PDU-218.aper | Bin 24 -> 0 bytes .../nextepc/sample-S1AP-PDU-219.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-22.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-220.aper | Bin 275 -> 0 bytes .../nextepc/sample-S1AP-PDU-221.aper | Bin 367 -> 0 bytes .../nextepc/sample-S1AP-PDU-222.aper | Bin 334 -> 0 bytes .../nextepc/sample-S1AP-PDU-223.aper | Bin 222 -> 0 bytes .../nextepc/sample-S1AP-PDU-224.aper | Bin 43 -> 0 bytes .../nextepc/sample-S1AP-PDU-225.aper | Bin 43 -> 0 bytes .../nextepc/sample-S1AP-PDU-226.aper | Bin 44 -> 0 bytes .../nextepc/sample-S1AP-PDU-227.aper | Bin 24 -> 0 bytes .../nextepc/sample-S1AP-PDU-228.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-229.aper | Bin 286 -> 0 bytes .../nextepc/sample-S1AP-PDU-23.aper | Bin 76 -> 0 bytes .../nextepc/sample-S1AP-PDU-230.aper | Bin 378 -> 0 bytes .../nextepc/sample-S1AP-PDU-231.aper | Bin 334 -> 0 bytes .../nextepc/sample-S1AP-PDU-232.aper | Bin 222 -> 0 bytes .../nextepc/sample-S1AP-PDU-233.aper | Bin 28 -> 0 bytes .../nextepc/sample-S1AP-PDU-234.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-235.aper | Bin 24 -> 0 bytes .../nextepc/sample-S1AP-PDU-236.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-24.aper | Bin 23 -> 0 bytes .../nextepc/sample-S1AP-PDU-25.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-26.aper | Bin 160 -> 0 bytes .../nextepc/sample-S1AP-PDU-27.aper | Bin 30 -> 0 bytes .../nextepc/sample-S1AP-PDU-28.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-29.aper | Bin 30 -> 0 bytes .../nextepc/sample-S1AP-PDU-3.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-30.aper | Bin 23 -> 0 bytes .../nextepc/sample-S1AP-PDU-31.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-32.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-33.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-34.aper | Bin 108 -> 0 bytes .../nextepc/sample-S1AP-PDU-35.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-36.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-37.aper | Bin 37 -> 0 bytes .../nextepc/sample-S1AP-PDU-38.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-39.aper | Bin 33 -> 0 bytes .../nextepc/sample-S1AP-PDU-4.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-40.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-41.aper | Bin 205 -> 0 bytes .../nextepc/sample-S1AP-PDU-42.aper | Bin 49 -> 0 bytes .../nextepc/sample-S1AP-PDU-43.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-44.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-45.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-46.aper | Bin 86 -> 0 bytes .../nextepc/sample-S1AP-PDU-47.aper | Bin 33 -> 0 bytes .../nextepc/sample-S1AP-PDU-48.aper | Bin 66 -> 0 bytes .../nextepc/sample-S1AP-PDU-49.aper | Bin 235 -> 0 bytes .../nextepc/sample-S1AP-PDU-5.aper | Bin 43 -> 0 bytes .../nextepc/sample-S1AP-PDU-50.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-51.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-52.aper | Bin 86 -> 0 bytes .../nextepc/sample-S1AP-PDU-53.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-54.aper | Bin 65 -> 0 bytes .../nextepc/sample-S1AP-PDU-55.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-56.aper | Bin 49 -> 0 bytes .../nextepc/sample-S1AP-PDU-57.aper | Bin 26 -> 0 bytes .../nextepc/sample-S1AP-PDU-58.aper | Bin 20 -> 0 bytes .../nextepc/sample-S1AP-PDU-59.aper | Bin 19 -> 0 bytes .../nextepc/sample-S1AP-PDU-6.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-60.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-61.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-62.aper | Bin 80 -> 0 bytes .../nextepc/sample-S1AP-PDU-63.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-64.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-65.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-66.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-67.aper | Bin 36 -> 0 bytes .../nextepc/sample-S1AP-PDU-68.aper | Bin 69 -> 0 bytes .../nextepc/sample-S1AP-PDU-69.aper | Bin 189 -> 0 bytes .../nextepc/sample-S1AP-PDU-7.aper | Bin 36 -> 0 bytes .../nextepc/sample-S1AP-PDU-70.aper | Bin 67 -> 0 bytes .../nextepc/sample-S1AP-PDU-71.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-72.aper | Bin 62 -> 0 bytes .../nextepc/sample-S1AP-PDU-73.aper | Bin 63 -> 0 bytes .../nextepc/sample-S1AP-PDU-74.aper | Bin 28 -> 0 bytes .../nextepc/sample-S1AP-PDU-75.aper | Bin 23 -> 0 bytes .../nextepc/sample-S1AP-PDU-76.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-77.aper | Bin 59 -> 0 bytes .../nextepc/sample-S1AP-PDU-78.aper | Bin 150 -> 0 bytes .../nextepc/sample-S1AP-PDU-79.aper | Bin 67 -> 0 bytes .../nextepc/sample-S1AP-PDU-8.aper | Bin 146 -> 0 bytes .../nextepc/sample-S1AP-PDU-80.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-81.aper | Bin 113 -> 0 bytes .../nextepc/sample-S1AP-PDU-82.aper | Bin 173 -> 0 bytes .../nextepc/sample-S1AP-PDU-83.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-84.aper | Bin 113 -> 0 bytes .../nextepc/sample-S1AP-PDU-85.aper | Bin 49 -> 0 bytes .../nextepc/sample-S1AP-PDU-86.aper | Bin 23 -> 0 bytes .../nextepc/sample-S1AP-PDU-87.aper | Bin 22 -> 0 bytes .../nextepc/sample-S1AP-PDU-88.aper | Bin 35 -> 0 bytes .../nextepc/sample-S1AP-PDU-89.aper | Bin 27 -> 0 bytes .../nextepc/sample-S1AP-PDU-9.aper | Bin 225 -> 0 bytes .../nextepc/sample-S1AP-PDU-90.aper | Bin 116 -> 0 bytes .../nextepc/sample-S1AP-PDU-91.aper | Bin 60 -> 0 bytes .../nextepc/sample-S1AP-PDU-92.aper | Bin 57 -> 0 bytes .../nextepc/sample-S1AP-PDU-93.aper | Bin 40 -> 0 bytes .../nextepc/sample-S1AP-PDU-94.aper | Bin 54 -> 0 bytes .../nextepc/sample-S1AP-PDU-95.aper | Bin 254 -> 0 bytes .../nextepc/sample-S1AP-PDU-96.aper | Bin 55 -> 0 bytes .../nextepc/sample-S1AP-PDU-97.aper | Bin 20 -> 0 bytes .../nextepc/sample-S1AP-PDU-98.aper | Bin 19 -> 0 bytes .../nextepc/sample-S1AP-PDU-99.aper | Bin 35 -> 0 bytes .../sample-DownlinkNASTransport-1.aper | Bin 74 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-1.aper | Bin 78 -> 0 bytes .../sample.source.S1AP/sample-S1AP-PDU-10.aper | Bin 41 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-2.aper | Bin 88 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-3.aper | Bin 155 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-4.aper | Bin 293 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-5.aper | Bin 59 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-7.aper | Bin 35 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-8.aper | Bin 18 -> 0 bytes examples/sample.source.S1AP/sample-S1AP-PDU-9.aper | Bin 25 -> 0 bytes examples/sample.source.TAP3/Makefile | 107 - examples/sample.source.TAP3/README | 44 - examples/sample.source.TAP3/config.h | 10 - .../sample-DataInterChange-1.ber | Bin 372 -> 0 bytes examples/sample.source.ULP/Makefile | 107 - examples/sample.source.ULP/README | 53 - examples/sample.source.ULP/config.h | 10 - examples/sample.source.ULP/sample-ULP-PDU-1.per | Bin 29 -> 0 bytes examples/sample.source.ULP/sample-ULP-PDU-1.xer | 53 - examples/sample.source.ULP/sample-ULP-PDU-2.per | Bin 8 -> 0 bytes libasn1common/.deps/asn1_buffer.Plo | 127 - libasn1common/.deps/asn1_namespace.Plo | 144 - libasn1common/.deps/asn1_ref.Plo | 139 - libasn1common/.deps/genhash.Plo | 115 - libasn1common/Makefile | 722 - libasn1common/Makefile.am | 12 - libasn1common/Makefile.in | 624 - libasn1common/asn1_buffer.c | 171 - libasn1common/asn1_buffer.h | 36 - libasn1common/asn1_namespace.c | 148 - libasn1common/asn1_namespace.h | 80 - libasn1common/asn1_ref.c | 194 - libasn1common/asn1_ref.h | 80 - libasn1common/genhash.c | 812 - libasn1common/genhash.h | 230 - libasn1compiler/.deps/asn1c_C.Plo | 278 - libasn1compiler/.deps/asn1c_compat.Plo | 253 - libasn1compiler/.deps/asn1c_constraint.Plo | 267 - libasn1compiler/.deps/asn1c_fdeps.Plo | 253 - libasn1compiler/.deps/asn1c_ioc.Plo | 267 - libasn1compiler/.deps/asn1c_lang.Plo | 255 - libasn1compiler/.deps/asn1c_misc.Plo | 260 - libasn1compiler/.deps/asn1c_naming.Plo | 257 - libasn1compiler/.deps/asn1c_out.Plo | 253 - libasn1compiler/.deps/asn1c_save.Plo | 264 - libasn1compiler/.deps/asn1compiler.Plo | 264 - libasn1compiler/Makefile | 646 - libasn1compiler/Makefile.am | 24 - libasn1compiler/Makefile.in | 646 - libasn1compiler/asn1c_C.c | 3525 --- libasn1compiler/asn1c_C.h | 76 - libasn1compiler/asn1c_compat.c | 219 - libasn1compiler/asn1c_compat.h | 20 - libasn1compiler/asn1c_constraint.c | 765 - libasn1compiler/asn1c_constraint.h | 6 - libasn1compiler/asn1c_fdeps.c | 251 - libasn1compiler/asn1c_fdeps.h | 61 - libasn1compiler/asn1c_internal.h | 78 - libasn1compiler/asn1c_ioc.c | 298 - libasn1compiler/asn1c_ioc.h | 22 - libasn1compiler/asn1c_lang.c | 32 - libasn1compiler/asn1c_lang.h | 28 - libasn1compiler/asn1c_misc.c | 529 - libasn1compiler/asn1c_misc.h | 57 - libasn1compiler/asn1c_naming.c | 327 - libasn1compiler/asn1c_naming.h | 47 - libasn1compiler/asn1c_out.c | 116 - libasn1compiler/asn1c_out.h | 162 - libasn1compiler/asn1c_save.c | 1021 - libasn1compiler/asn1c_save.h | 7 - libasn1compiler/asn1compiler.c | 282 - libasn1compiler/asn1compiler.h | 115 - libasn1compiler/check_compiler.c | 7 - libasn1fix/.deps/asn1fix.Plo | 255 - libasn1fix/.deps/asn1fix_bitstring.Plo | 255 - libasn1fix/.deps/asn1fix_class.Plo | 255 - libasn1fix/.deps/asn1fix_compat.Plo | 255 - libasn1fix/.deps/asn1fix_constr.Plo | 255 - libasn1fix/.deps/asn1fix_constraint.Plo | 255 - libasn1fix/.deps/asn1fix_constraint_compat.Plo | 256 - libasn1fix/.deps/asn1fix_crange.Plo | 255 - libasn1fix/.deps/asn1fix_cstring.Plo | 255 - libasn1fix/.deps/asn1fix_cws.Plo | 256 - libasn1fix/.deps/asn1fix_dereft.Plo | 255 - libasn1fix/.deps/asn1fix_derefv.Plo | 255 - libasn1fix/.deps/asn1fix_enum.Plo | 255 - libasn1fix/.deps/asn1fix_export.Plo | 255 - libasn1fix/.deps/asn1fix_integer.Plo | 255 - libasn1fix/.deps/asn1fix_misc.Plo | 255 - libasn1fix/.deps/asn1fix_param.Plo | 255 - libasn1fix/.deps/asn1fix_retrieve.Plo | 255 - libasn1fix/.deps/asn1fix_tags.Plo | 255 - libasn1fix/.deps/asn1fix_value.Plo | 255 - .../check_crange-asn1fix_constraint_compat.Po | 1 - libasn1fix/.deps/check_crange-asn1fix_crange.Po | 1 - libasn1fix/.deps/check_fixer-check_fixer.Po | 1 - libasn1fix/Makefile | 1232 -- libasn1fix/Makefile.am | 46 - libasn1fix/Makefile.in | 1134 - libasn1fix/asn1fix.c | 583 - libasn1fix/asn1fix.h | 37 - libasn1fix/asn1fix_bitstring.c | 292 - libasn1fix/asn1fix_bitstring.h | 6 - libasn1fix/asn1fix_class.c | 91 - libasn1fix/asn1fix_class.h | 10 - libasn1fix/asn1fix_compat.c | 149 - libasn1fix/asn1fix_compat.h | 14 - libasn1fix/asn1fix_constr.c | 516 - libasn1fix/asn1fix_constr.h | 29 - libasn1fix/asn1fix_constraint.c | 402 - libasn1fix/asn1fix_constraint.h | 20 - libasn1fix/asn1fix_constraint_compat.c | 245 - libasn1fix/asn1fix_crange.c | 1457 -- libasn1fix/asn1fix_crange.h | 92 - libasn1fix/asn1fix_cstring.c | 72 - libasn1fix/asn1fix_cstring.h | 6 - libasn1fix/asn1fix_cws.c | 553 - libasn1fix/asn1fix_cws.h | 10 - libasn1fix/asn1fix_dereft.c | 50 - libasn1fix/asn1fix_dereft.h | 6 - libasn1fix/asn1fix_derefv.c | 66 - libasn1fix/asn1fix_derefv.h | 8 - libasn1fix/asn1fix_enum.c | 192 - libasn1fix/asn1fix_enum.h | 6 - libasn1fix/asn1fix_export.c | 133 - libasn1fix/asn1fix_export.h | 63 - libasn1fix/asn1fix_integer.c | 160 - libasn1fix/asn1fix_integer.h | 7 - libasn1fix/asn1fix_internal.h | 158 - libasn1fix/asn1fix_misc.c | 373 - libasn1fix/asn1fix_misc.h | 38 - libasn1fix/asn1fix_param.c | 225 - libasn1fix/asn1fix_param.h | 6 - libasn1fix/asn1fix_retrieve.c | 599 - libasn1fix/asn1fix_retrieve.h | 76 - libasn1fix/asn1fix_tags.c | 177 - libasn1fix/asn1fix_tags.h | 37 - libasn1fix/asn1fix_value.c | 229 - libasn1fix/asn1fix_value.h | 31 - libasn1fix/check_fixer.c | 390 - libasn1parser/.deps/asn1p_class.Plo | 187 - libasn1parser/.deps/asn1p_constr.Plo | 187 - libasn1parser/.deps/asn1p_expr.Plo | 187 - libasn1parser/.deps/asn1p_integer.Plo | 180 - libasn1parser/.deps/asn1p_l.Plo | 203 - libasn1parser/.deps/asn1p_module.Plo | 153 - libasn1parser/.deps/asn1p_oid.Plo | 170 - libasn1parser/.deps/asn1p_param.Plo | 187 - libasn1parser/.deps/asn1p_value.Plo | 166 - libasn1parser/.deps/asn1p_xports.Plo | 150 - libasn1parser/.deps/asn1p_y.Plo | 186 - libasn1parser/.deps/asn1parser.Plo | 192 - libasn1parser/.deps/check_asn1p_integer.Po | 1 - libasn1parser/Makefile | 1050 - libasn1parser/Makefile.am | 37 - libasn1parser/Makefile.in | 1050 - libasn1parser/asn1p_class.c | 319 - libasn1parser/asn1p_class.h | 97 - libasn1parser/asn1p_constr.c | 240 - libasn1parser/asn1p_constr.h | 102 - libasn1parser/asn1p_expr.c | 431 - libasn1parser/asn1p_expr.h | 300 - libasn1parser/asn1p_expr2uclass.h | 92 - libasn1parser/asn1p_expr_str.h | 65 - libasn1parser/asn1p_integer.c | 188 - libasn1parser/asn1p_integer.h | 52 - libasn1parser/asn1p_l.c | 4761 ---- libasn1parser/asn1p_l.l | 614 - libasn1parser/asn1p_list.h | 72 - libasn1parser/asn1p_module.c | 98 - libasn1parser/asn1p_module.h | 110 - libasn1parser/asn1p_oid.c | 114 - libasn1parser/asn1p_oid.h | 67 - libasn1parser/asn1p_param.c | 110 - libasn1parser/asn1p_param.h | 32 - libasn1parser/asn1p_value.c | 346 - libasn1parser/asn1p_value.h | 83 - libasn1parser/asn1p_xports.c | 38 - libasn1parser/asn1p_xports.h | 43 - libasn1parser/asn1p_y.c | 5323 ----- libasn1parser/asn1p_y.h | 309 - libasn1parser/asn1p_y.y | 2637 --- libasn1parser/asn1parser.c | 183 - libasn1parser/asn1parser.h | 56 - libasn1parser/check_asn1p_integer.c | 84 - libasn1parser/expr-h.pl | 56 - libasn1print/.deps/asn1print.Plo | 181 - libasn1print/Makefile | 624 - libasn1print/Makefile.am | 13 - libasn1print/Makefile.in | 624 - libasn1print/README | 4 - libasn1print/asn1print.c | 1052 - libasn1print/asn1print.h | 20 - m4/ax_check_compile_and_link_flag.m4 | 72 - m4/ax_check_compile_flag.m4 | 74 - m4/ax_code_coverage.m4 | 266 - m4/libtool.m4 | 8388 -------- m4/ltoptions.m4 | 437 - m4/ltsugar.m4 | 124 - m4/ltversion.m4 | 23 - m4/lt~obsolete.m4 | 99 - ...k_converter_c89_32_example-converter-example.Po | 1 - ...heck_converter_c89_example-converter-example.Po | 1 - .../check_converter_example-converter-example.Po | 1 - .../.deps/libasn1cskeletons_c89_32_la-ANY.Plo | 1 - .../libasn1cskeletons_c89_32_la-BIT_STRING.Plo | 1 - .../libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-BMPString.Plo | 1 - .../.deps/libasn1cskeletons_c89_32_la-BOOLEAN.Plo | 1 - .../libasn1cskeletons_c89_32_la-ENUMERATED.Plo | 1 - .../libasn1cskeletons_c89_32_la-GeneralString.Plo | 1 - ...libasn1cskeletons_c89_32_la-GeneralizedTime.Plo | 1 - .../libasn1cskeletons_c89_32_la-GraphicString.Plo | 1 - .../libasn1cskeletons_c89_32_la-IA5String.Plo | 1 - .../.deps/libasn1cskeletons_c89_32_la-INTEGER.Plo | 1 - .../libasn1cskeletons_c89_32_la-INTEGER_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-ISO646String.Plo | 1 - .../.deps/libasn1cskeletons_c89_32_la-NULL.Plo | 1 - ...ibasn1cskeletons_c89_32_la-NativeEnumerated.Plo | 1 - ...n1cskeletons_c89_32_la-NativeEnumerated_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-NativeInteger.Plo | 1 - ...basn1cskeletons_c89_32_la-NativeInteger_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-NativeReal.Plo | 1 - .../libasn1cskeletons_c89_32_la-NumericString.Plo | 1 - ...basn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo | 1 - .../libasn1cskeletons_c89_32_la-OCTET_STRING.Plo | 1 - ...ibasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo | 1 - .../libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo | 1 - ...ibasn1cskeletons_c89_32_la-ObjectDescriptor.Plo | 1 - ...libasn1cskeletons_c89_32_la-PrintableString.Plo | 1 - .../.deps/libasn1cskeletons_c89_32_la-REAL.Plo | 1 - .../libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo | 1 - .../libasn1cskeletons_c89_32_la-T61String.Plo | 1 - .../libasn1cskeletons_c89_32_la-TeletexString.Plo | 1 - .../.deps/libasn1cskeletons_c89_32_la-UTCTime.Plo | 1 - .../libasn1cskeletons_c89_32_la-UTF8String.Plo | 1 - ...libasn1cskeletons_c89_32_la-UniversalString.Plo | 1 - .../libasn1cskeletons_c89_32_la-VideotexString.Plo | 1 - .../libasn1cskeletons_c89_32_la-VisibleString.Plo | 1 - ...libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo | 1 - .../libasn1cskeletons_c89_32_la-asn_SET_OF.Plo | 1 - ...libasn1cskeletons_c89_32_la-asn_application.Plo | 1 - .../libasn1cskeletons_c89_32_la-asn_bit_data.Plo | 1 - ...libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo | 1 - .../libasn1cskeletons_c89_32_la-asn_internal.Plo | 1 - ...libasn1cskeletons_c89_32_la-asn_random_fill.Plo | 1 - .../libasn1cskeletons_c89_32_la-ber_decoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-ber_tlv_length.Plo | 1 - .../libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo | 1 - .../libasn1cskeletons_c89_32_la-constr_CHOICE.Plo | 1 - ...basn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo | 1 - ...libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo | 1 - ...asn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo | 1 - ...sn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-constr_SET.Plo | 1 - .../libasn1cskeletons_c89_32_la-constr_SET_OF.Plo | 1 - ...basn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo | 1 - .../libasn1cskeletons_c89_32_la-constr_TYPE.Plo | 1 - .../libasn1cskeletons_c89_32_la-constraints.Plo | 1 - .../libasn1cskeletons_c89_32_la-der_encoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-oer_decoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-oer_encoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-oer_support.Plo | 1 - .../libasn1cskeletons_c89_32_la-per_decoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-per_encoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-per_opentype.Plo | 1 - .../libasn1cskeletons_c89_32_la-per_support.Plo | 1 - .../libasn1cskeletons_c89_32_la-xer_decoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-xer_encoder.Plo | 1 - .../libasn1cskeletons_c89_32_la-xer_support.Plo | 1 - skeletons/.deps/libasn1cskeletons_c89_la-ANY.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-BIT_STRING.Plo | 1 - .../libasn1cskeletons_c89_la-BIT_STRING_oer.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-BMPString.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-BOOLEAN.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-ENUMERATED.Plo | 1 - .../libasn1cskeletons_c89_la-GeneralString.Plo | 1 - .../libasn1cskeletons_c89_la-GeneralizedTime.Plo | 1 - .../libasn1cskeletons_c89_la-GraphicString.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-IA5String.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-INTEGER.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-INTEGER_oer.Plo | 1 - .../libasn1cskeletons_c89_la-ISO646String.Plo | 1 - skeletons/.deps/libasn1cskeletons_c89_la-NULL.Plo | 1 - .../libasn1cskeletons_c89_la-NativeEnumerated.Plo | 1 - ...basn1cskeletons_c89_la-NativeEnumerated_oer.Plo | 1 - .../libasn1cskeletons_c89_la-NativeInteger.Plo | 1 - .../libasn1cskeletons_c89_la-NativeInteger_oer.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-NativeReal.Plo | 1 - .../libasn1cskeletons_c89_la-NumericString.Plo | 1 - .../libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo | 1 - .../libasn1cskeletons_c89_la-OCTET_STRING.Plo | 1 - .../libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-OPEN_TYPE.Plo | 1 - .../libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo | 1 - .../libasn1cskeletons_c89_la-ObjectDescriptor.Plo | 1 - .../libasn1cskeletons_c89_la-PrintableString.Plo | 1 - skeletons/.deps/libasn1cskeletons_c89_la-REAL.Plo | 1 - .../libasn1cskeletons_c89_la-RELATIVE-OID.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-T61String.Plo | 1 - .../libasn1cskeletons_c89_la-TeletexString.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-UTCTime.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-UTF8String.Plo | 1 - .../libasn1cskeletons_c89_la-UniversalString.Plo | 1 - .../libasn1cskeletons_c89_la-VideotexString.Plo | 1 - .../libasn1cskeletons_c89_la-VisibleString.Plo | 1 - .../libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-asn_SET_OF.Plo | 1 - .../libasn1cskeletons_c89_la-asn_application.Plo | 1 - .../libasn1cskeletons_c89_la-asn_bit_data.Plo | 1 - .../libasn1cskeletons_c89_la-asn_codecs_prim.Plo | 1 - .../libasn1cskeletons_c89_la-asn_internal.Plo | 1 - .../libasn1cskeletons_c89_la-asn_random_fill.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-ber_decoder.Plo | 1 - .../libasn1cskeletons_c89_la-ber_tlv_length.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-ber_tlv_tag.Plo | 1 - .../libasn1cskeletons_c89_la-constr_CHOICE.Plo | 1 - .../libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo | 1 - .../libasn1cskeletons_c89_la-constr_SEQUENCE.Plo | 1 - ...libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo | 1 - ...ibasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-constr_SET.Plo | 1 - .../libasn1cskeletons_c89_la-constr_SET_OF.Plo | 1 - .../libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-constr_TYPE.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-constraints.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-der_encoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-oer_decoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-oer_encoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-oer_support.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-per_decoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-per_encoder.Plo | 1 - .../libasn1cskeletons_c89_la-per_opentype.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-per_support.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-xer_decoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-xer_encoder.Plo | 1 - .../.deps/libasn1cskeletons_c89_la-xer_support.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-ANY.Plo | 1 - .../.deps/libasn1cskeletons_la-BIT_STRING.Plo | 1 - .../.deps/libasn1cskeletons_la-BIT_STRING_oer.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-BMPString.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-BOOLEAN.Plo | 1 - .../.deps/libasn1cskeletons_la-ENUMERATED.Plo | 1 - .../.deps/libasn1cskeletons_la-GeneralString.Plo | 1 - .../.deps/libasn1cskeletons_la-GeneralizedTime.Plo | 1 - .../.deps/libasn1cskeletons_la-GraphicString.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-IA5String.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-INTEGER.Plo | 1 - .../.deps/libasn1cskeletons_la-INTEGER_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-ISO646String.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-NULL.Plo | 1 - .../libasn1cskeletons_la-NativeEnumerated.Plo | 1 - .../libasn1cskeletons_la-NativeEnumerated_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-NativeInteger.Plo | 1 - .../libasn1cskeletons_la-NativeInteger_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-NativeReal.Plo | 1 - .../.deps/libasn1cskeletons_la-NumericString.Plo | 1 - .../libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo | 1 - .../.deps/libasn1cskeletons_la-OCTET_STRING.Plo | 1 - .../libasn1cskeletons_la-OCTET_STRING_oer.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE.Plo | 1 - .../.deps/libasn1cskeletons_la-OPEN_TYPE_oer.Plo | 1 - .../libasn1cskeletons_la-ObjectDescriptor.Plo | 1 - .../.deps/libasn1cskeletons_la-PrintableString.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-REAL.Plo | 1 - .../.deps/libasn1cskeletons_la-RELATIVE-OID.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-T61String.Plo | 1 - .../.deps/libasn1cskeletons_la-TeletexString.Plo | 1 - skeletons/.deps/libasn1cskeletons_la-UTCTime.Plo | 1 - .../.deps/libasn1cskeletons_la-UTF8String.Plo | 1 - .../.deps/libasn1cskeletons_la-UniversalString.Plo | 1 - .../.deps/libasn1cskeletons_la-VideotexString.Plo | 1 - .../.deps/libasn1cskeletons_la-VisibleString.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_SET_OF.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_application.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_bit_data.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_codecs_prim.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_internal.Plo | 1 - .../.deps/libasn1cskeletons_la-asn_random_fill.Plo | 1 - .../.deps/libasn1cskeletons_la-ber_decoder.Plo | 1 - .../.deps/libasn1cskeletons_la-ber_tlv_length.Plo | 1 - .../.deps/libasn1cskeletons_la-ber_tlv_tag.Plo | 1 - .../.deps/libasn1cskeletons_la-constr_CHOICE.Plo | 1 - .../libasn1cskeletons_la-constr_CHOICE_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-constr_SEQUENCE.Plo | 1 - .../libasn1cskeletons_la-constr_SEQUENCE_OF.Plo | 1 - .../libasn1cskeletons_la-constr_SEQUENCE_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-constr_SET.Plo | 1 - .../.deps/libasn1cskeletons_la-constr_SET_OF.Plo | 1 - .../libasn1cskeletons_la-constr_SET_OF_oer.Plo | 1 - .../.deps/libasn1cskeletons_la-constr_TYPE.Plo | 1 - .../.deps/libasn1cskeletons_la-constraints.Plo | 1 - .../.deps/libasn1cskeletons_la-der_encoder.Plo | 1 - .../.deps/libasn1cskeletons_la-oer_decoder.Plo | 1 - .../.deps/libasn1cskeletons_la-oer_encoder.Plo | 1 - .../.deps/libasn1cskeletons_la-oer_support.Plo | 1 - .../.deps/libasn1cskeletons_la-per_decoder.Plo | 1 - .../.deps/libasn1cskeletons_la-per_encoder.Plo | 1 - .../.deps/libasn1cskeletons_la-per_opentype.Plo | 1 - .../.deps/libasn1cskeletons_la-per_support.Plo | 1 - .../.deps/libasn1cskeletons_la-xer_decoder.Plo | 1 - .../.deps/libasn1cskeletons_la-xer_encoder.Plo | 1 - .../.deps/libasn1cskeletons_la-xer_support.Plo | 1 - skeletons/ANY.c | 450 - skeletons/ANY.h | 65 - skeletons/BIT_STRING.c | 656 - skeletons/BIT_STRING.h | 48 - skeletons/BIT_STRING_oer.c | 174 - skeletons/BMPString.c | 233 - skeletons/BMPString.h | 39 - skeletons/BOOLEAN.c | 492 - skeletons/BOOLEAN.h | 45 - skeletons/ENUMERATED.c | 180 - skeletons/ENUMERATED.h | 40 - skeletons/GeneralString.c | 58 - skeletons/GeneralString.h | 36 - skeletons/GeneralizedTime.c | 833 - skeletons/GeneralizedTime.h | 80 - skeletons/GraphicString.c | 58 - skeletons/GraphicString.h | 36 - skeletons/IA5String.c | 97 - skeletons/IA5String.h | 40 - skeletons/INTEGER.c | 1735 -- skeletons/INTEGER.h | 108 - skeletons/INTEGER_oer.c | 179 - skeletons/ISO646String.c | 62 - skeletons/ISO646String.h | 37 - skeletons/Makefile | 2776 --- skeletons/Makefile.am | 121 - skeletons/Makefile.in | 2776 --- skeletons/NULL.c | 299 - skeletons/NULL.h | 45 - skeletons/NativeEnumerated.c | 367 - skeletons/NativeEnumerated.h | 45 - skeletons/NativeEnumerated_oer.c | 149 - skeletons/NativeInteger.c | 550 - skeletons/NativeInteger.h | 46 - skeletons/NativeInteger_oer.c | 99 - skeletons/NativeReal.c | 781 - skeletons/NativeReal.h | 48 - skeletons/NumericString.c | 121 - skeletons/NumericString.h | 37 - skeletons/OBJECT_IDENTIFIER.c | 656 - skeletons/OBJECT_IDENTIFIER.h | 156 - skeletons/OCTET_STRING.c | 2411 --- skeletons/OCTET_STRING.h | 102 - skeletons/OCTET_STRING_oer.c | 171 - skeletons/OPEN_TYPE.c | 509 - skeletons/OPEN_TYPE.h | 77 - skeletons/OPEN_TYPE_oer.c | 92 - skeletons/ObjectDescriptor.c | 58 - skeletons/ObjectDescriptor.h | 35 - skeletons/PrintableString.c | 130 - skeletons/PrintableString.h | 37 - skeletons/README | 4 - skeletons/REAL.c | 1028 - skeletons/REAL.h | 67 - skeletons/RELATIVE-OID.c | 336 - skeletons/RELATIVE-OID.h | 53 - skeletons/T61String.c | 58 - skeletons/T61String.h | 36 - skeletons/TeletexString.c | 194 - skeletons/TeletexString.h | 36 - skeletons/UTCTime.c | 277 - skeletons/UTCTime.h | 50 - skeletons/UTF8String.c | 294 - skeletons/UTF8String.h | 63 - skeletons/UniversalString.c | 243 - skeletons/UniversalString.h | 38 - skeletons/VideotexString.c | 58 - skeletons/VideotexString.h | 36 - skeletons/VisibleString.c | 99 - skeletons/VisibleString.h | 38 - skeletons/asn_SEQUENCE_OF.c | 41 - skeletons/asn_SEQUENCE_OF.h | 52 - skeletons/asn_SET_OF.c | 88 - skeletons/asn_SET_OF.h | 72 - skeletons/asn_application.c | 481 - skeletons/asn_application.h | 171 - skeletons/asn_bit_data.c | 333 - skeletons/asn_bit_data.h | 83 - skeletons/asn_codecs.h | 108 - skeletons/asn_codecs_prim.c | 317 - skeletons/asn_codecs_prim.h | 51 - skeletons/asn_internal.c | 48 - skeletons/asn_internal.h | 159 - skeletons/asn_ioc.h | 51 - skeletons/asn_random_fill.c | 56 - skeletons/asn_random_fill.h | 51 - skeletons/asn_system.h | 150 - skeletons/ber_decoder.c | 283 - skeletons/ber_decoder.h | 66 - skeletons/ber_tlv_length.c | 168 - skeletons/ber_tlv_length.h | 50 - skeletons/ber_tlv_tag.c | 144 - skeletons/ber_tlv_tag.h | 60 - skeletons/constr_CHOICE.c | 1533 -- skeletons/constr_CHOICE.h | 80 - skeletons/constr_CHOICE_oer.c | 380 - skeletons/constr_SEQUENCE.c | 2059 -- skeletons/constr_SEQUENCE.h | 68 - skeletons/constr_SEQUENCE_OF.c | 358 - skeletons/constr_SEQUENCE_OF.h | 41 - skeletons/constr_SEQUENCE_oer.c | 561 - skeletons/constr_SET.c | 1149 - skeletons/constr_SET.h | 87 - skeletons/constr_SET_OF.c | 1441 -- skeletons/constr_SET_OF.h | 49 - skeletons/constr_SET_OF_oer.c | 285 - skeletons/constr_TYPE.c | 80 - skeletons/constr_TYPE.h | 262 - skeletons/constraints.c | 93 - skeletons/constraints.h | 62 - skeletons/converter-example.c | 1032 - skeletons/der_encoder.c | 194 - skeletons/der_encoder.h | 68 - skeletons/file-dependencies | 89 - skeletons/oer_decoder.c | 152 - skeletons/oer_decoder.h | 72 - skeletons/oer_encoder.c | 141 - skeletons/oer_encoder.h | 70 - skeletons/oer_support.c | 122 - skeletons/oer_support.h | 47 - skeletons/per_decoder.c | 185 - skeletons/per_decoder.h | 82 - skeletons/per_encoder.c | 265 - skeletons/per_encoder.h | 93 - skeletons/per_opentype.c | 533 - skeletons/per_opentype.h | 44 - skeletons/per_support.c | 489 - skeletons/per_support.h | 127 - .../ASN1-Object-Identifier-Module.asn1 | 43 - .../ASN1C-UsefulInformationObjectClasses.asn1 | 31 - skeletons/standard-modules/README | 2 - skeletons/xer_decoder.c | 369 - skeletons/xer_decoder.h | 106 - skeletons/xer_encoder.c | 237 - skeletons/xer_encoder.h | 83 - skeletons/xer_support.c | 227 - skeletons/xer_support.h | 55 - tests/Makefile | 655 - tests/Makefile.am | 11 - tests/Makefile.in | 655 - tests/README | 6 - tests/tests-asn1c-compiler/00-empty-OK.asn1 | 1 - tests/tests-asn1c-compiler/01-empty-OK.asn1 | 14 - tests/tests-asn1c-compiler/02-garbage-NP.asn1 | 17 - tests/tests-asn1c-compiler/03-enum-OK.asn1 | 37 - tests/tests-asn1c-compiler/03-enum-OK.asn1.-EF | 47 - .../03-enum-OK.asn1.-Pfwide-types | 413 - tests/tests-asn1c-compiler/04-enum-SE.asn1 | 19 - tests/tests-asn1c-compiler/04-enum-SE.asn1.-E | 15 - tests/tests-asn1c-compiler/05-enum-SE.asn1 | 21 - tests/tests-asn1c-compiler/06-enum-SE.asn1 | 20 - tests/tests-asn1c-compiler/07-int-OK.asn1 | 26 - tests/tests-asn1c-compiler/07-int-OK.asn1.-EF | 18 - tests/tests-asn1c-compiler/08-int-SE.asn1 | 19 - tests/tests-asn1c-compiler/09-int-SE.asn1 | 20 - tests/tests-asn1c-compiler/10-int-OK.asn1 | 29 - tests/tests-asn1c-compiler/100-class-ref-OK.asn1 | 23 - .../tests-asn1c-compiler/100-class-ref-OK.asn1.-EF | 15 - tests/tests-asn1c-compiler/101-class-ref-SE.asn1 | 23 - tests/tests-asn1c-compiler/102-class-ref-SE.asn1 | 22 - .../tests-asn1c-compiler/102-class-ref-SE.asn1.-EF | 0 tests/tests-asn1c-compiler/103-reference-SE.asn1 | 16 - tests/tests-asn1c-compiler/104-param-1-OK.asn1 | 21 - .../104-param-1-OK.asn1.-EFprint-class-matrix | 17 - .../104-param-1-OK.asn1.-Pfwide-types | 177 - tests/tests-asn1c-compiler/105-param-2-OK.asn1 | 21 - .../105-param-2-OK.asn1.-Pfwide-types | 280 - .../tests-asn1c-compiler/106-param-constr-OK.asn1 | 22 - .../106-param-constr-OK.asn1.-P | 235 - .../107-param-constr-2-OK.asn1 | 18 - .../108-param-constr-3-OK.asn1 | 18 - .../108-param-constr-3-OK.asn1.-Pfwide-types | 156 - tests/tests-asn1c-compiler/109-bit-string-NP.asn1 | 16 - tests/tests-asn1c-compiler/11-int-SE.asn1 | 18 - tests/tests-asn1c-compiler/110-param-3-OK.asn1 | 21 - .../110-param-3-OK.asn1.-Pfcompound-names | 316 - tests/tests-asn1c-compiler/111-param-4-SE.asn1 | 21 - tests/tests-asn1c-compiler/112-param-class-OK.asn1 | 24 - .../112-param-class-OK.asn1.-EF | 17 - tests/tests-asn1c-compiler/113-bit-string-SE.asn1 | 16 - tests/tests-asn1c-compiler/114-bit-string-NP.asn1 | 16 - tests/tests-asn1c-compiler/115-bit-string-OK.asn1 | 17 - tests/tests-asn1c-compiler/116-bit-string-SE.asn1 | 16 - .../117-real-constraint-OK.asn1 | 16 - .../117-real-constraint-OK.asn1.-EF | 8 - .../118-per-constraint-OK.asn1 | 26 - ...118-per-constraint-OK.asn1.-EFprint-constraints | Bin 2239 -> 0 bytes tests/tests-asn1c-compiler/119-per-strings-OK.asn1 | 48 - .../119-per-strings-OK.asn1.-EF | 40 - .../119-per-strings-OK.asn1.-Pgen-PER | 1565 -- tests/tests-asn1c-compiler/12-int-SE.asn1 | 17 - .../tests-asn1c-compiler/121-empty-imports-OK.asn1 | 18 - .../121-empty-imports-OK.asn1.-EF | 8 - tests/tests-asn1c-compiler/122-pattern-OK.asn1 | 23 - .../123-valueassignment-OK.asn1 | 16 - .../123-valueassignment-OK.asn1.-EF | 8 - .../124-multiconstraint-OK.asn1 | 16 - .../124-multiconstraint-OK.asn1.-EF | 8 - .../125-bitstring-constraint-OK.asn1 | 18 - .../125-bitstring-constraint-OK.asn1.-EF | 12 - .../125-bitstring-constraint-OK.asn1.-P | 76 - .../125-bitstring-constraint-OK.asn1.-X | 8 - .../126-per-extensions-OK.asn1 | 33 - .../126-per-extensions-OK.asn1.-Pgen-PER | 322 - tests/tests-asn1c-compiler/127-per-long-OK.asn1 | 23 - .../127-per-long-OK.asn1.-Pgen-PER | 323 - tests/tests-asn1c-compiler/128-enum-SE.asn1 | 16 - tests/tests-asn1c-compiler/129-enum-OK.asn1 | 16 - tests/tests-asn1c-compiler/129-enum-OK.asn1.-EF | 12 - tests/tests-asn1c-compiler/129-enum-SE.asn1 | 16 - tests/tests-asn1c-compiler/13-resolver-OK.asn1 | 47 - tests/tests-asn1c-compiler/130-enum-OK.asn1 | 16 - tests/tests-asn1c-compiler/130-enum-OK.asn1.-EF | 13 - tests/tests-asn1c-compiler/131-per-empty-OK.asn1 | 16 - .../131-per-empty-OK.asn1.-Pgen-PER | 45 - tests/tests-asn1c-compiler/132-per-choice-OK.asn1 | 21 - .../133-per-constraints-OK.asn1 | 23 - tests/tests-asn1c-compiler/134-per-long-OK.asn1 | 23 - .../134-per-long-OK.asn1.-Pgen-PER | 245 - tests/tests-asn1c-compiler/135-oer-short-OK.asn1 | 30 - tests/tests-asn1c-compiler/136-oer-long-OK.asn1 | 32 - .../136-oer-long-OK.asn1.-Pgen-OER | 561 - tests/tests-asn1c-compiler/137-oer-string-OK.asn1 | 27 - .../137-oer-string-OK.asn1.-Pgen-OER | 347 - .../138-oer-constraints-OK.asn1 | 35 - .../138-oer-constraints-OK.asn1.-Pgen-OER | 1329 -- .../139-component-relation-OK.asn1 | 36 - ...omponent-relation-OK.asn1.-EFprint-class-matrix | 37 - .../139-component-relation-OK.asn1.-P | 344 - tests/tests-asn1c-compiler/14-resolver-OK.asn1 | 66 - tests/tests-asn1c-compiler/14-resolver-OK.asn1.-EF | 47 - .../140-component-relation-OK.asn1 | 35 - ...omponent-relation-OK.asn1.-EFprint-class-matrix | 49 - .../140-component-relation-OK.asn1.-P | 344 - .../141-component-relation-OK.asn1 | 38 - ...omponent-relation-OK.asn1.-EFprint-class-matrix | 41 - .../141-component-relation-OK.asn1.-P | 424 - .../142-anonymous-types-deco-OK.asn1 | 31 - ...-anonymous-types-deco-OK.asn1.-Pfcompound-names | 454 - .../143-inner-parameterization-OK.asn1 | 23 - .../143-inner-parameterization-OK.asn1.-P | 240 - .../144-ios-parameterization-OK.asn1 | 34 - .../144-ios-parameterization-OK.asn1.-P | 289 - .../145-empty-information-object-set-OK.asn1 | 21 - .../146-ios-parameterization-per-OK.asn1 | 34 - .../146-ios-parameterization-per-OK.asn1.-Pgen-PER | 305 - .../147-inherit-per-constraints-OK.asn1 | 22 - .../147-inherit-per-constraints-OK.asn1.-Pgen-OER | 280 - .../147-inherit-per-constraints-OK.asn1.-Pgen-PER | 292 - .../148-der-default-set-sequence-values-OK.asn1 | 22 - .../149-with-components-SE.asn1 | 42 - .../149-with-components-SE.asn1.-E | 12 - tests/tests-asn1c-compiler/15-resolver-SE.asn1 | 35 - .../150-with-components-OK.asn1 | 25 - .../150-with-components-OK.asn1.-EF | 18 - tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 | 18 - .../151-per-b2110-OK.asn1.-EFprint-constraints | 12 - .../152-value-and-type-references-OK.asn1 | 43 - .../152-value-and-type-references-OK.asn1.-EF | 40 - .../153-single-value-constraint-OK.asn1 | 19 - .../153-single-value-constraint-OK.asn1.-EF | 12 - .../154-with-REAL-components-OK.asn1 | 59 - .../154-with-REAL-components-OK.asn1.-Pfwide-types | 924 - .../154-with-REAL-components-OK.asn1.-Pgen-OER | 999 - .../154-with-REAL-components-OK.asn1.-Pgen-PER | 1048 - ...55-parameterization-more-than-two-level-OK.asn1 | 58 - ...erization-more-than-two-level-OK.asn1.-Pgen-PER | 880 - tests/tests-asn1c-compiler/156-union-ios-OK.asn1 | 46 - .../156-union-ios-OK.asn1.-Pgen-PER | 330 - .../157-per-canonical-order-OK.asn1 | 20 - .../157-per-canonical-order-OK.asn1.-Pgen-PER | 116 - .../158-sequence-of-sequence-nested-OK.asn1 | 24 - ...ce-of-sequence-nested-OK.asn1.-Pfcompound-names | 269 - tests/tests-asn1c-compiler/16-constraint-OK.asn1 | 39 - .../tests-asn1c-compiler/16-constraint-OK.asn1.-EF | 31 - .../16-constraint-OK.asn1.-EFprint-constraints | Bin 2804 -> 0 bytes .../160-multiple-parameterized-instance-OK.asn1 | 66 - ...rized-instance-OK.asn1.-Pgen-PERfcompound-names | 0 tests/tests-asn1c-compiler/17-tags-OK.asn1 | 24 - tests/tests-asn1c-compiler/18-class-OK.asn1 | 36 - tests/tests-asn1c-compiler/18-class-OK.asn1.-EF | 28 - tests/tests-asn1c-compiler/19-param-OK.asn1 | 31 - tests/tests-asn1c-compiler/19-param-OK.asn1.-EF | 22 - .../19-param-OK.asn1.-Pfwide-types | 420 - tests/tests-asn1c-compiler/20-constr-OK.asn1 | 30 - tests/tests-asn1c-compiler/20-constr-OK.asn1.-EF | 22 - tests/tests-asn1c-compiler/21-tags-OK.asn1 | 34 - tests/tests-asn1c-compiler/21-tags-OK.asn1.-EF | 23 - tests/tests-asn1c-compiler/22-tags-OK.asn1 | 23 - tests/tests-asn1c-compiler/22-tags-OK.asn1.-EF | 15 - .../22-tags-OK.asn1.-Pfwide-types | 153 - tests/tests-asn1c-compiler/23-bits-OK.asn1 | 24 - tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF | 20 - tests/tests-asn1c-compiler/24-sequence-OK.asn1 | 23 - tests/tests-asn1c-compiler/24-sequence-OK.asn1.-EF | 15 - tests/tests-asn1c-compiler/25-misc-OK.asn1 | 29 - tests/tests-asn1c-compiler/26-sequence-SE.asn1 | 20 - tests/tests-asn1c-compiler/27-set-SE.asn1 | 21 - tests/tests-asn1c-compiler/28-tags-SE.asn1 | 26 - tests/tests-asn1c-compiler/29-tags-OK.asn1 | 26 - tests/tests-asn1c-compiler/30-set-OK.asn1 | 21 - .../30-set-OK.asn1.-Pfwide-types | 113 - tests/tests-asn1c-compiler/31-set-of-OK.asn1 | 40 - tests/tests-asn1c-compiler/31-set-of-OK.asn1.-EF | 26 - .../31-set-of-OK.asn1.-Pfcompound-names | 473 - .../31-set-of-OK.asn1.-Pfwide-types | 473 - tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 | 34 - .../32-sequence-of-OK.asn1.-EF | 26 - .../tests-asn1c-compiler/32-sequence-of-OK.asn1.-P | 452 - tests/tests-asn1c-compiler/33-misc-OK.asn1 | 33 - tests/tests-asn1c-compiler/34-class-OK.asn1 | 53 - tests/tests-asn1c-compiler/34-class-OK.asn1.-EF | 38 - .../34-class-OK.asn1.-EFprint-class-matrix | 47 - tests/tests-asn1c-compiler/35-set-choice-OK.asn1 | 36 - .../36-indirect-choice-SE.asn1 | 25 - .../37-indirect-choice-OK.asn1 | 38 - .../37-indirect-choice-OK.asn1.-EF | 33 - .../37-indirect-choice-OK.asn1.-Pfwide-types | 495 - tests/tests-asn1c-compiler/38-comments-OK.asn1 | 33 - tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 | 24 - .../39-sequence-of-OK.asn1.-Pfwide-types | 200 - tests/tests-asn1c-compiler/40-int-optional-SE.asn1 | 27 - tests/tests-asn1c-compiler/41-int-optional-OK.asn1 | 27 - tests/tests-asn1c-compiler/42-real-life-OK.asn1 | 67 - .../tests-asn1c-compiler/42-real-life-OK.asn1.-EF | 43 - .../tests-asn1c-compiler/42-real-life-OK.asn1.-PR | 778 - tests/tests-asn1c-compiler/43-recursion-OK.asn1 | 31 - .../43-recursion-OK.asn1.-Pfwide-types | 532 - .../44-choice-in-sequence-OK.asn1 | 30 - .../44-choice-in-sequence-OK.asn1.-P | 296 - .../tests-asn1c-compiler/45-undefined-type-SE.asn1 | 16 - ...ned-type-SE.asn1.-EFfknown-extern-type=KnownExt | 8 - tests/tests-asn1c-compiler/46-redefine-OK.asn1 | 22 - tests/tests-asn1c-compiler/46-redefine-OK.asn1.-PR | 160 - tests/tests-asn1c-compiler/47-set-ext-OK.asn1 | 19 - .../47-set-ext-OK.asn1.-Pfwide-types | 324 - tests/tests-asn1c-compiler/48-real-life-OK.asn1 | 21 - tests/tests-asn1c-compiler/49-real-life-OK.asn1 | 24 - tests/tests-asn1c-compiler/49-real-life-OK.asn1.-E | 8 - tests/tests-asn1c-compiler/50-constraint-OK.asn1 | 93 - .../50-constraint-OK.asn1.-EFprint-constraints | Bin 12325 -> 0 bytes .../50-constraint-OK.asn1.-Pfwide-types | 2573 --- .../50-constraint-OK.asn1.-Pgen-PER | 2912 --- tests/tests-asn1c-compiler/51-constraint-SE.asn1 | 16 - tests/tests-asn1c-compiler/52-constraint-SE.asn1 | 16 - tests/tests-asn1c-compiler/53-constraint-SE.asn1 | 16 - tests/tests-asn1c-compiler/54-constraint-SE.asn1 | 17 - .../tests-asn1c-compiler/55-components-of-OK.asn1 | 34 - .../55-components-of-OK.asn1.-EF | 31 - .../tests-asn1c-compiler/56-components-of-SE.asn1 | 20 - .../tests-asn1c-compiler/57-components-of-OK.asn1 | 38 - tests/tests-asn1c-compiler/58-param-OK.asn1 | 23 - tests/tests-asn1c-compiler/58-param-OK.asn1.-EF | 15 - .../59-choice-extended-OK.asn1 | 21 - .../59-choice-extended-OK.asn1.-Pfwide-types | 113 - tests/tests-asn1c-compiler/60-any-OK.asn1 | 29 - tests/tests-asn1c-compiler/60-any-OK.asn1.-EF | 21 - .../60-any-OK.asn1.-Pfwide-types | 216 - tests/tests-asn1c-compiler/61-any-1-SE.asn1 | 19 - tests/tests-asn1c-compiler/62-any-OK.asn1 | 45 - tests/tests-asn1c-compiler/62-any-OK.asn1.-EF | 37 - tests/tests-asn1c-compiler/63-any-2-SE.asn1 | 18 - tests/tests-asn1c-compiler/64-oid-constr-OK.asn1 | 18 - tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 | 29 - .../65-multi-tag-OK.asn1.-Pfnative-types | 450 - .../65-multi-tag-OK.asn1.-Pfwide-types | 450 - tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 | 18 - .../66-ref-simple-OK.asn1.-Pfwide-types | 132 - .../67-embedded-choice-OK.asn1 | 35 - tests/tests-asn1c-compiler/68-enum-default-OK.asn1 | 21 - .../tests-asn1c-compiler/69-reserved-words-OK.asn1 | 21 - .../69-reserved-words-OK.asn1.-Pfwide-types | 182 - tests/tests-asn1c-compiler/70-xer-test-OK.asn1 | 81 - tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-EF | 93 - .../70-xer-test-OK.asn1.-Pfwide-types | 1573 -- .../71-duplicate-types-SE.asn1 | 27 - tests/tests-asn1c-compiler/72-same-names-OK.asn1 | 46 - .../72-same-names-OK.asn1.-Pfwide-types | 684 - tests/tests-asn1c-compiler/73-circular-OK.asn1 | 36 - .../73-circular-OK.asn1.-Pfwide-types | 662 - .../74-int-enum-constraints-OK.asn1 | 22 - ...t-enum-constraints-OK.asn1.-EFprint-constraints | 42 - .../75-duplicate-modules-SE.asn1 | 23 - .../76-duplicate-modules-SW.asn1 | 23 - tests/tests-asn1c-compiler/77-str-default-OK.asn1 | 26 - tests/tests-asn1c-compiler/78-str-default-SE.asn1 | 21 - .../tests-asn1c-compiler/79-constrained-by-OK.asn1 | 19 - .../79-constrained-by-OK.asn1.-EF | 11 - tests/tests-asn1c-compiler/80-chardefs-OK.asn1 | 25 - tests/tests-asn1c-compiler/81-type-default-OK.asn1 | 20 - tests/tests-asn1c-compiler/82-with-comps-OK.asn1 | 21 - .../tests-asn1c-compiler/82-with-comps-OK.asn1.-EF | 14 - tests/tests-asn1c-compiler/83-with-comps-OK.asn1 | 20 - tests/tests-asn1c-compiler/84-param-tags-OK.asn1 | 41 - .../tests-asn1c-compiler/84-param-tags-OK.asn1.-EF | 31 - .../84-param-tags-OK.asn1.-Pfwide-types | 519 - tests/tests-asn1c-compiler/85-comments-OK.asn1 | 26 - tests/tests-asn1c-compiler/86-atags-OK.asn1 | 20 - tests/tests-asn1c-compiler/86-atags-OK.asn1.-EF | 28 - tests/tests-asn1c-compiler/87-old-syntax-OK.asn1 | 29 - tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 | 16 - .../88-integer-enum-OK.asn1.-Pfwide-types | 54 - .../89-bit-string-enum-OK.asn1 | 18 - .../89-bit-string-enum-OK.asn1.-Pfcompound-names | 73 - .../89-bit-string-enum-OK.asn1.-Pfwide-types | 73 - .../tests-asn1c-compiler/90-cond-int-type-OK.asn1 | 33 - .../90-cond-int-type-OK.asn1.-EFprint-constraints | 133 - .../90-cond-int-type-OK.asn1.-P | 1263 -- .../90-cond-int-type-OK.asn1.-Pfwide-types | 1278 -- .../90-cond-int-type-OK.asn1.-Pgen-PER | 1455 -- .../91-cond-int-blessSize-OK.asn1 | 20 - .../91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE | 330 - .../tests-asn1c-compiler/92-circular-loops-OK.asn1 | 90 - .../92-circular-loops-OK.asn1.-Pfindirect-choice | 1496 -- .../92-circular-loops-OK.asn1.-Pfwide-types | 1495 -- .../tests-asn1c-compiler/93-asn1c-controls-OK.asn1 | 34 - .../93-asn1c-controls-OK.asn1.-EF | 26 - .../93-asn1c-controls-OK.asn1.-Pfwide-types | 324 - .../tests-asn1c-compiler/94-set-optionals-OK.asn1 | 28 - .../94-set-optionals-OK.asn1.-P | 196 - .../95-choice-per-order-OK.asn1 | 30 - .../95-choice-per-order-OK.asn1.-Pfwide-types | 260 - .../95-choice-per-order-OK.asn1.-Pgen-PER | 287 - .../96-type-identifier-OK.asn1 | 22 - .../97-type-identifier-SW.asn1 | 43 - .../97-type-identifier-SW.asn1.-EF | 29 - .../98-attribute-class-OK.asn1 | 31 - .../98-attribute-class-OK.asn1.-EF | 26 - ...8-attribute-class-OK.asn1.-EFprint-class-matrix | 44 - .../98-attribute-class-OK.asn1.-P | 109 - tests/tests-asn1c-compiler/99-class-sample-OK.asn1 | 45 - .../99-class-sample-OK.asn1.-EFprint-class-matrix | 73 - tests/tests-asn1c-compiler/Makefile | 847 - tests/tests-asn1c-compiler/Makefile.am | 7 - tests/tests-asn1c-compiler/Makefile.in | 847 - tests/tests-asn1c-compiler/README | 25 - .../tests-asn1c-compiler/check-parsing-log2diff.pl | 32 - tests/tests-asn1c-compiler/check-parsing.sh | 48 - tests/tests-asn1c-smoke/Makefile | 850 - tests/tests-asn1c-smoke/Makefile.am | 9 - tests/tests-asn1c-smoke/Makefile.in | 850 - tests/tests-asn1c-smoke/README | 2 - tests/tests-asn1c-smoke/check-asn1c-smoke.sh | 78 - tests/tests-c-compiler/Makefile | 1452 -- tests/tests-c-compiler/Makefile.am | 82 - tests/tests-c-compiler/Makefile.in | 1354 -- tests/tests-c-compiler/README | 9 - tests/tests-c-compiler/check-assembly.sh | 142 - tests/tests-c-compiler/check-src/Makefile | 466 - tests/tests-c-compiler/check-src/Makefile.am | 3 - tests/tests-c-compiler/check-src/Makefile.in | 466 - .../check-src/check-03.-fwide-types.c | 61 - .../check-src/check-119.-fwide-types.-gen-PER.c | 377 - .../check-src/check-119.-gen-PER.c | 380 - .../check-src/check-126.-gen-PER.c | 384 - .../check-src/check-127.-gen-PER.c | 89 - .../check-src/check-131.-gen-PER.c | 60 - .../check-src/check-132.-gen-PER.c | 64 - .../check-src/check-133.-gen-PER.c | 83 - .../check-src/check-135.-gen-OER.c | 43 - .../check-src/check-137.-gen-OER.c | 51 - tests/tests-c-compiler/check-src/check-148.c | 174 - .../check-src/check-158.-fcompound-names.c | 24 - tests/tests-c-compiler/check-src/check-19.c | 24 - .../check-src/check-22.-fwide-types.c | 153 - .../check-src/check-24.-fwide-types.c | 96 - .../check-src/check-25.-fwide-types.c | 257 - .../check-src/check-30.-fwide-types.c | 264 - .../check-src/check-31.-fwide-types.c | 217 - tests/tests-c-compiler/check-src/check-32.c | 90 - tests/tests-c-compiler/check-src/check-33.c | 24 - tests/tests-c-compiler/check-src/check-35.c | 333 - tests/tests-c-compiler/check-src/check-39.c | 24 - .../check-src/check-41.-fwide-types.c | 324 - tests/tests-c-compiler/check-src/check-41.c | 220 - .../check-src/check-42.-fwide-types.cc | 20 - tests/tests-c-compiler/check-src/check-42.c | 156 - tests/tests-c-compiler/check-src/check-43.c | 27 - tests/tests-c-compiler/check-src/check-44.c | 66 - tests/tests-c-compiler/check-src/check-46.c | 47 - tests/tests-c-compiler/check-src/check-48.c | 100 - tests/tests-c-compiler/check-src/check-50.c | 23 - tests/tests-c-compiler/check-src/check-59.c | 24 - tests/tests-c-compiler/check-src/check-60.c | 208 - tests/tests-c-compiler/check-src/check-62.c | 224 - tests/tests-c-compiler/check-src/check-65.c | 114 - .../check-src/check-70.-fwide-types.c | 329 - tests/tests-c-compiler/check-src/check-70.c | 306 - .../check-src/check-72.-fcompound-names.c | 24 - tests/tests-c-compiler/check-src/check-73.c | 28 - .../check-src/check-92.-findirect-choice.c | 24 - tests/tests-c-compiler/check-src/check-92.c | 24 - .../check-src/check64-134.-gen-PER.c | 174 - .../check-src/check64-136.-gen-OER.c | 45 - tests/tests-c-compiler/data-119/README | 13 - tests/tests-c-compiler/data-119/data-119-01.in | 3 - tests/tests-c-compiler/data-119/data-119-02.in | 3 - tests/tests-c-compiler/data-119/data-119-03.in | 3 - tests/tests-c-compiler/data-119/data-119-04-P.in | 3 - tests/tests-c-compiler/data-119/data-119-05.in | 4 - tests/tests-c-compiler/data-119/data-119-06-P.in | 3 - tests/tests-c-compiler/data-119/data-119-07-P.in | 3 - tests/tests-c-compiler/data-119/data-119-08.in | 4 - tests/tests-c-compiler/data-119/data-119-09.in | 8 - tests/tests-c-compiler/data-119/data-119-10.in | 9 - tests/tests-c-compiler/data-119/data-119-11-P.in | 3 - tests/tests-c-compiler/data-119/data-119-12-P.in | 3 - tests/tests-c-compiler/data-119/data-119-13-P.in | 3 - tests/tests-c-compiler/data-119/data-119-14-P.in | 3 - tests/tests-c-compiler/data-119/data-119-15.in | 3 - tests/tests-c-compiler/data-119/data-119-16.in | 3 - tests/tests-c-compiler/data-119/data-119-17.in | 3 - tests/tests-c-compiler/data-119/data-119-18.in | 10 - tests/tests-c-compiler/data-119/data-119-19.in | 10 - tests/tests-c-compiler/data-119/data-119-20-P.in | 3 - tests/tests-c-compiler/data-119/data-119-21-P.in | 3 - tests/tests-c-compiler/data-119/data-119-22-P.in | 3 - tests/tests-c-compiler/data-119/data-119-23-P.in | 3 - tests/tests-c-compiler/data-119/data-119-24-P.in | 3 - tests/tests-c-compiler/data-119/data-119-25-P.in | 3 - tests/tests-c-compiler/data-126/README | 12 - tests/tests-c-compiler/data-126/data-126-01.in | 3 - tests/tests-c-compiler/data-126/data-126-01.out | Bin 4 -> 0 bytes tests/tests-c-compiler/data-126/data-126-02-P.in | 3 - tests/tests-c-compiler/data-126/data-126-02-P.out | Bin 5 -> 0 bytes tests/tests-c-compiler/data-126/data-126-03-P.in | 3 - tests/tests-c-compiler/data-126/data-126-03-P.out | Bin 4 -> 0 bytes tests/tests-c-compiler/data-126/data-126-04-P.in | 3 - tests/tests-c-compiler/data-126/data-126-04-P.out | Bin 5 -> 0 bytes tests/tests-c-compiler/data-126/data-126-05-P.in | 3 - tests/tests-c-compiler/data-126/data-126-05-P.out | 1 - tests/tests-c-compiler/data-126/data-126-06-P.in | 3 - tests/tests-c-compiler/data-126/data-126-06-P.out | Bin 3 -> 0 bytes tests/tests-c-compiler/data-126/data-126-07-P.in | 3 - tests/tests-c-compiler/data-126/data-126-07-P.out | 1 - tests/tests-c-compiler/data-126/data-126-08-P.in | 3 - tests/tests-c-compiler/data-126/data-126-08-P.out | 1 - tests/tests-c-compiler/data-126/data-126-09-C.in | 3 - tests/tests-c-compiler/data-126/data-126-09-C.out | Bin 4 -> 0 bytes tests/tests-c-compiler/data-126/data-126-10-C.in | 3 - tests/tests-c-compiler/data-126/data-126-10-C.out | Bin 6 -> 0 bytes tests/tests-c-compiler/data-126/data-126-11-C.in | 3 - tests/tests-c-compiler/data-126/data-126-11-C.out | Bin 4 -> 0 bytes tests/tests-c-compiler/data-126/data-126-12.in | 4 - tests/tests-c-compiler/data-126/data-126-12.out | Bin 7 -> 0 bytes tests/tests-c-compiler/data-126/data-126-13.in | 4 - tests/tests-c-compiler/data-126/data-126-13.out | Bin 8 -> 0 bytes tests/tests-c-compiler/data-126/data-126-14.in | 4 - tests/tests-c-compiler/data-126/data-126-14.out | Bin 9 -> 0 bytes tests/tests-c-compiler/data-126/data-126-15.in | 4 - tests/tests-c-compiler/data-126/data-126-15.out | Bin 6 -> 0 bytes tests/tests-c-compiler/data-126/data-126-16.in | 4 - tests/tests-c-compiler/data-126/data-126-16.out | Bin 7 -> 0 bytes tests/tests-c-compiler/data-126/data-126-17.in | 4 - tests/tests-c-compiler/data-126/data-126-17.out | Bin 8 -> 0 bytes tests/tests-c-compiler/data-126/data-126-18-X.in | 4 - tests/tests-c-compiler/data-126/data-126-18-X.out | Bin 8 -> 0 bytes tests/tests-c-compiler/data-126/data-126-19.in | 7 - tests/tests-c-compiler/data-126/data-126-19.out | Bin 59 -> 0 bytes tests/tests-c-compiler/data-126/data-126-20.in | 7 - tests/tests-c-compiler/data-126/data-126-20.out | Bin 60 -> 0 bytes tests/tests-c-compiler/data-126/data-126-21.in | 7 - tests/tests-c-compiler/data-126/data-126-21.out | Bin 12 -> 0 bytes tests/tests-c-compiler/data-62/Makefile | 9 - tests/tests-c-compiler/data-62/README | 3 - tests/tests-c-compiler/data-62/data-62-01.ber | 1 - tests/tests-c-compiler/data-62/data-62-01.xbr | 6 - tests/tests-c-compiler/data-62/data-62-02-B.ber | 2 - tests/tests-c-compiler/data-62/data-62-02-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-03-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-03-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-04-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-04-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-05-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-05-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-06-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-06-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-07-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-07-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-08-L.ber | Bin 15 -> 0 bytes tests/tests-c-compiler/data-62/data-62-08-L.xbr | 7 - tests/tests-c-compiler/data-62/data-62-09-L.ber | Bin 36 -> 0 bytes tests/tests-c-compiler/data-62/data-62-09-L.xbr | 19 - tests/tests-c-compiler/data-62/data-62-10.ber | Bin 9 -> 0 bytes tests/tests-c-compiler/data-62/data-62-10.xbr | 6 - tests/tests-c-compiler/data-62/data-62-11.ber | Bin 12 -> 0 bytes tests/tests-c-compiler/data-62/data-62-11.xbr | 8 - tests/tests-c-compiler/data-62/data-62-12-B.ber | 1 - tests/tests-c-compiler/data-62/data-62-12-B.xbr | 6 - tests/tests-c-compiler/data-62/data-62-13-B.ber | Bin 10 -> 0 bytes tests/tests-c-compiler/data-62/data-62-13-B.xbr | 8 - tests/tests-c-compiler/data-62/data-62-14.ber | Bin 16 -> 0 bytes tests/tests-c-compiler/data-62/data-62-14.xbr | 10 - tests/tests-c-compiler/data-62/data-62-15-B.ber | Bin 14 -> 0 bytes tests/tests-c-compiler/data-62/data-62-15-B.xbr | 10 - tests/tests-c-compiler/data-62/data-62-16.ber | Bin 14 -> 0 bytes tests/tests-c-compiler/data-62/data-62-16.xbr | 7 - tests/tests-c-compiler/data-62/data-62-17-B.ber | Bin 15 -> 0 bytes tests/tests-c-compiler/data-62/data-62-17-B.xbr | 7 - tests/tests-c-compiler/data-62/data-62-18-B.ber | Bin 14 -> 0 bytes tests/tests-c-compiler/data-62/data-62-18-B.xbr | 7 - tests/tests-c-compiler/data-62/data-62-19-B.ber | Bin 14 -> 0 bytes tests/tests-c-compiler/data-62/data-62-19-B.xbr | 7 - tests/tests-c-compiler/data-62/data-62-20.ber | Bin 11 -> 0 bytes tests/tests-c-compiler/data-62/data-62-20.xbr | 8 - tests/tests-c-compiler/data-62/data-62-21-B.ber | Bin 15 -> 0 bytes tests/tests-c-compiler/data-62/data-62-21-B.xbr | 11 - tests/tests-c-compiler/data-62/data-62-22.ber | Bin 15 -> 0 bytes tests/tests-c-compiler/data-62/data-62-22.xbr | 11 - tests/tests-c-compiler/data-62/data-62-23-B.ber | Bin 15 -> 0 bytes tests/tests-c-compiler/data-62/data-62-23-B.xbr | 11 - tests/tests-c-compiler/data-62/data-62-24-L.ber | Bin 20 -> 0 bytes tests/tests-c-compiler/data-62/data-62-24-L.xbr | 12 - tests/tests-c-compiler/data-62/data-62-25.ber | Bin 16 -> 0 bytes tests/tests-c-compiler/data-62/data-62-25.xbr | 11 - tests/tests-c-compiler/data-62/data-62-26-B.ber | Bin 18 -> 0 bytes tests/tests-c-compiler/data-62/data-62-26-B.xbr | 11 - tests/tests-c-compiler/data-62/data-62-27.ber | Bin 4 -> 0 bytes tests/tests-c-compiler/data-62/data-62-27.xbr | 4 - tests/tests-c-compiler/data-62/data-62-28-D.ber | Bin 6 -> 0 bytes tests/tests-c-compiler/data-62/data-62-28-D.xbr | 4 - tests/tests-c-compiler/data-62/data-62-29-L.ber | Bin 28 -> 0 bytes tests/tests-c-compiler/data-62/data-62-29-L.xbr | 12 - tests/tests-c-compiler/data-62/data-62-30-L.ber | Bin 29 -> 0 bytes tests/tests-c-compiler/data-62/data-62-30-L.xbr | 8 - tests/tests-c-compiler/data-62/data-62-31-D.ber | Bin 31 -> 0 bytes tests/tests-c-compiler/data-62/data-62-31-D.xbr | 8 - tests/tests-c-compiler/data-62/data-62-32.ber | 1 - tests/tests-c-compiler/data-62/data-62-32.xbr | 3 - tests/tests-c-compiler/data-70/README | 14 - tests/tests-c-compiler/data-70/data-70-01.in | 6 - tests/tests-c-compiler/data-70/data-70-02.in | 1 - tests/tests-c-compiler/data-70/data-70-03.in | 8 - tests/tests-c-compiler/data-70/data-70-04-B.in | 2 - tests/tests-c-compiler/data-70/data-70-05-B.in | 6 - tests/tests-c-compiler/data-70/data-70-06-B.in | 4 - tests/tests-c-compiler/data-70/data-70-07-D.in | 7 - tests/tests-c-compiler/data-70/data-70-08-B.in | 7 - tests/tests-c-compiler/data-70/data-70-09-D.in | 6 - tests/tests-c-compiler/data-70/data-70-10.in | 1 - tests/tests-c-compiler/data-70/data-70-11.in | 4 - tests/tests-c-compiler/data-70/data-70-12.in | 4 - tests/tests-c-compiler/data-70/data-70-13-D.in | 5 - tests/tests-c-compiler/data-70/data-70-14-D.in | 5 - tests/tests-c-compiler/data-70/data-70-15.in | 5 - tests/tests-c-compiler/data-70/data-70-16-B.in | 5 - tests/tests-c-compiler/data-70/data-70-17-D.in | 7 - tests/tests-c-compiler/data-70/data-70-18.in | 4 - tests/tests-c-compiler/data-70/data-70-19.in | 5 - tests/tests-c-compiler/data-70/data-70-20-D.in | 6 - tests/tests-c-compiler/data-70/data-70-21-D.in | 6 - tests/tests-c-compiler/data-70/data-70-22-D.in | 7 - tests/tests-c-compiler/data-70/data-70-23-D.in | 9 - tests/tests-c-compiler/data-70/data-70-24-D.in | 6 - tests/tests-c-compiler/data-70/data-70-25.in | 7 - tests/tests-c-compiler/data-70/data-70-26-B.in | 5 - tests/tests-c-compiler/data-70/data-70-27.in | 5 - tests/tests-c-compiler/data-70/data-70-28.in | 6 - tests/tests-c-compiler/data-70/data-70-29-D.in | 6 - tests/tests-c-compiler/data-70/data-70-30-B.in | 6 - tests/tests-c-compiler/data-70/data-70-31-B.in | 6 - tests/tests-c-compiler/data-70/data-70-32.in | 6 - tests/tests-c-compiler/data-70/data-70-33.in | 5 - tests/tests-c-compiler/data-70/data-70-34-B.in | 6 - tests/tests-c-compiler/data-70/data-70-35-B.in | 6 - tests/tests-c-compiler/data-70/data-70-36.in | 5 - tests/tests-c-compiler/data-70/data-70-37-D.in | 5 - tests/tests-c-compiler/data-70/data-70-38-B.in | 5 - tests/tests-c-compiler/data-70/data-70-39.in | 5 - tests/tests-c-compiler/data-70/data-70-40-D.in | 6 - tests/tests-c-compiler/data-70/data-70-41-D.in | 6 - tests/tests-c-compiler/data-70/data-70-42-E.in | 1 - tests/tests-c-compiler/data-70/data-70-43-E.in | 1 - tests/tests-c-compiler/data-70/data-70-44-X.in | 1 - tests/tests-c-compiler/data-70/data-70-45-X.in | 1 - tests/tests-c-compiler/data-70/data-70-46-X.in | 1 - tests/tests-c-compiler/data-70/data-70-47.in | 6 - tests/tests-c-compiler/data-70/data-70-48.in | 5 - tests/tests-c-compiler/data-70/data-70-49.in | 1 - tests/tests-c-compiler/data-70/data-70-50.in | 5 - tests/tests-c-compiler/data-70/data-70-51.in | 6 - tests/tests-c-compiler/data-70/data-70-52-D.in | 6 - tests/tests-c-compiler/data-70/data-70-53.in | 6 - tests/tests-c-compiler/data-70/data-70-54-D.in | 6 - tests/tests-c-compiler/data-70/data-70-55.in | 5 - tests/tests-c-compiler/data-70/data-70-56.in | 5 - tests/tests-c-compiler/data-70/data-70-57-D.in | 5 - tests/tests-c-compiler/data-70/data-70-58-D.in | 5 - tests/tests-c-compiler/data-70/data-70-59-D.in | 5 - tests/tests-c-compiler/data-70/data-70-60-D.in | 5 - tests/tests-c-compiler/data-70/data-70-61-D.in | 5 - tests/tests-c-compiler/data-70/data-70-62-D.in | 9 - tests/tests-randomized/.deps/test-param-helper.Po | 1 - tests/tests-randomized/Makefile | 1253 -- tests/tests-randomized/Makefile.am | 55 - tests/tests-randomized/Makefile.in | 1155 - tests/tests-randomized/bundles/00-NULL-bundle.txt | 1 - .../tests-randomized/bundles/01-BOOLEAN-bundle.txt | 8 - .../tests-randomized/bundles/02-INTEGER-bundle.txt | 10 - .../bundles/03-ENUMERATED-bundle.txt | 10 - tests/tests-randomized/bundles/04-REAL-bundle.txt | 7 - .../bundles/05-BIT-STRING-bundle.txt | 25 - .../bundles/06-OCTET-STRING-bundle.txt | 19 - .../bundles/07-VisibleString-bundle.txt | 27 - .../bundles/08-OBJECT-IDENTIFIER-bundle.txt | 1 - .../bundles/09-RELATIVE-OID-bundle.txt | 1 - .../bundles/10-UTF8String-bundle.txt | 7 - .../bundles/11-BMPString-bundle.txt | 7 - .../bundles/12-UniversalString-bundle.txt | 7 - .../tests-randomized/bundles/13-UTCTime-bundle.txt | 1 - .../bundles/14-GeneralizedTime-bundle.txt | 1 - .../tests-randomized/bundles/15-CHOICE-bundle.txt | 20 - .../bundles/16-SEQUENCE-bundle.txt | 90 - .../bundles/17-SEQUENCE-OF-bundle.txt | 38 - .../tests-randomized/bundles/19-SET-OF-bundle.txt | 38 - tests/tests-randomized/bundles/README | 22 - tests/tests-randomized/check-bundles.sh | 403 - tests/tests-randomized/random-test-driver.c | 416 - tests/tests-randomized/test-param-helper.c | 73 - .../tests-skeletons/.deps/check-GeneralizedTime.Po | 1 - tests/tests-skeletons/.deps/check-INTEGER.Po | 1 - tests/tests-skeletons/.deps/check-OCTET_STRING.Po | 1 - tests/tests-skeletons/.deps/check-OER-INTEGER.Po | 1 - .../.deps/check-OER-NativeEnumerated.Po | 1 - tests/tests-skeletons/.deps/check-OER-support.Po | 1 - tests/tests-skeletons/.deps/check-OIDs.Po | 1 - tests/tests-skeletons/.deps/check-PER-INTEGER.Po | 1 - .../.deps/check-PER-UniversalString.Po | 1 - tests/tests-skeletons/.deps/check-PER-support.Po | 1 - tests/tests-skeletons/.deps/check-REAL.Po | 1 - tests/tests-skeletons/.deps/check-UTCTime.Po | 1 - tests/tests-skeletons/.deps/check-UTF8String.Po | 1 - tests/tests-skeletons/.deps/check-XER.Po | 1 - tests/tests-skeletons/.deps/check-ber_tlv_tag.Po | 1 - tests/tests-skeletons/.deps/check-bits.Po | 1 - tests/tests-skeletons/.deps/check-length.Po | 1 - ...eck_32_GeneralizedTime-check-GeneralizedTime.Po | 1 - .../.deps/check_32_INTEGER-check-INTEGER.Po | 1 - .../check_32_OCTET_STRING-check-OCTET_STRING.Po | 1 - .../check_32_OER_INTEGER-check-OER-INTEGER.Po | 1 - ..._NativeEnumerated-check-OER-NativeEnumerated.Po | 1 - .../check_32_OER_support-check-OER-support.Po | 1 - .../.deps/check_32_OIDs-check-OIDs.Po | 1 - .../check_32_PER_INTEGER-check-PER-INTEGER.Po | 1 - ...ER_UniversalString-check-PER-UniversalString.Po | 1 - .../check_32_PER_support-check-PER-support.Po | 1 - .../.deps/check_32_REAL-check-REAL.Po | 1 - .../.deps/check_32_UTCTime-check-UTCTime.Po | 1 - .../.deps/check_32_UTF8String-check-UTF8String.Po | 1 - .../.deps/check_32_XER-check-XER.Po | 1 - .../check_32_ber_tlv_tag-check-ber_tlv_tag.Po | 1 - .../.deps/check_32_bits-check-bits.Po | 1 - .../.deps/check_32_length-check-length.Po | 1 - tests/tests-skeletons/Makefile | 2104 -- tests/tests-skeletons/Makefile.am | 109 - tests/tests-skeletons/Makefile.in | 2006 -- tests/tests-skeletons/check-GeneralizedTime.c | 295 - tests/tests-skeletons/check-INTEGER.c | 302 - tests/tests-skeletons/check-OCTET_STRING.c | 154 - tests/tests-skeletons/check-OER-INTEGER.c | 296 - tests/tests-skeletons/check-OER-NativeEnumerated.c | 170 - tests/tests-skeletons/check-OER-support.c | 67 - tests/tests-skeletons/check-OIDs.c | 414 - tests/tests-skeletons/check-PER-INTEGER.c | 232 - tests/tests-skeletons/check-PER-UniversalString.c | 80 - tests/tests-skeletons/check-PER-support.c | 277 - tests/tests-skeletons/check-REAL.c | 728 - tests/tests-skeletons/check-UTCTime.c | 87 - tests/tests-skeletons/check-UTF8String.c | 88 - tests/tests-skeletons/check-XER.c | 94 - tests/tests-skeletons/check-ber_tlv_tag.c | 150 - tests/tests-skeletons/check-bits.c | 386 - tests/tests-skeletons/check-length.c | 127 - tests/tests-skeletons/disable-leak-check-m32.sh | 12 - 1532 files changed, 3 insertions(+), 312402 deletions(-) delete mode 100644 AUTHORS delete mode 100644 BUGS delete mode 100644 ChangeLog delete mode 100644 FAQ delete mode 100644 INSTALL.md delete mode 100644 LICENSE delete mode 100644 Makefile delete mode 100644 Makefile.am delete mode 100644 Makefile.in delete mode 100644 REQUIREMENTS.md delete mode 100644 aclocal.m4 delete mode 100644 asn1c/.deps/asn1c.Po delete mode 100644 asn1c/.deps/enber.Po delete mode 100644 asn1c/.deps/unber.Po delete mode 100644 asn1c/Makefile delete mode 100644 asn1c/Makefile.am delete mode 100644 asn1c/Makefile.in delete mode 100644 asn1c/README delete mode 100644 asn1c/asn1c.c delete mode 100755 asn1c/check-xxber.sh delete mode 100644 asn1c/enber.c delete mode 100644 asn1c/sys-common.h delete mode 100644 asn1c/unber.c delete mode 100644 autom4te.cache/output.0 delete mode 100644 autom4te.cache/output.1 delete mode 100644 autom4te.cache/output.2 delete mode 100644 autom4te.cache/requests delete mode 100644 autom4te.cache/traces.0 delete mode 100644 autom4te.cache/traces.1 delete mode 100644 autom4te.cache/traces.2 delete mode 100644 config.h.in delete mode 100644 config.log delete mode 100644 config.status delete mode 100644 config/ar-lib delete mode 100644 config/compile delete mode 100644 config/config.guess delete mode 100644 config/config.sub delete mode 100644 config/depcomp delete mode 100644 config/install-sh delete mode 100755 config/ltmain.sh delete mode 100644 config/missing delete mode 100644 config/test-driver delete mode 100644 configure.ac delete mode 100644 doc/Makefile delete mode 100644 doc/Makefile.am delete mode 100644 doc/Makefile.in delete mode 100644 doc/asn1c-quick.pdf delete mode 100644 doc/asn1c-usage.pdf delete mode 100644 doc/docsrc/Makefile delete mode 100644 doc/docsrc/Makefile.am delete mode 100644 doc/docsrc/Makefile.in delete mode 100644 doc/docsrc/asn1c-usage.tex delete mode 100644 doc/docsrc/asn_dec_rval.inc delete mode 100644 doc/docsrc/asn_enc_rval.inc delete mode 100644 doc/man/Makefile delete mode 100644 doc/man/Makefile.am delete mode 100644 doc/man/Makefile.in delete mode 100644 doc/man/asn1c.1 delete mode 100644 doc/man/asn1c.man.md delete mode 100644 doc/man/enber.1 delete mode 100644 doc/man/enber.man.md delete mode 100644 doc/man/unber.1 delete mode 100644 doc/man/unber.man.md delete mode 100644 examples/Makefile delete mode 100644 examples/Makefile.am delete mode 100644 examples/Makefile.in delete mode 100644 examples/README delete mode 100755 examples/crfc2asn1.pl delete mode 100644 examples/rfc3280.txt delete mode 100644 examples/rfc3525.txt delete mode 100644 examples/rfc4511.txt delete mode 100644 examples/sample.makefile.regen delete mode 100644 examples/sample.source.1609.2/Makefile delete mode 100644 examples/sample.source.1609.2/README delete mode 100644 examples/sample.source.1609.2/config.h delete mode 100644 examples/sample.source.1609.2/sample-Certificate-1.coer delete mode 100644 examples/sample.source.1609.2/sample-Certificate-1.xer delete mode 100644 examples/sample.source.1609.2/sample-Certificate-2.coer delete mode 100644 examples/sample.source.1609.2/sample-Certificate-2.xer delete mode 100644 examples/sample.source.1609.2/sample-Ieee1609Dot2Data-1.coer delete mode 100644 examples/sample.source.J2735/Makefile delete mode 100644 examples/sample.source.J2735/README delete mode 100644 examples/sample.source.J2735/config.h delete mode 100644 examples/sample.source.J2735/sample-MessageFrame-1.der delete mode 100644 examples/sample.source.J2735/sample-MessageFrame-1.per delete mode 100644 examples/sample.source.J2735/sample-MessageFrame-1.xer delete mode 100644 examples/sample.source.LDAP3/Makefile delete mode 100644 examples/sample.source.LDAP3/README delete mode 100644 examples/sample.source.LDAP3/config.h delete mode 100644 examples/sample.source.LDAP3/sample-LDAPMessage-1.ber delete mode 100644 examples/sample.source.LTE-RRC/Makefile delete mode 100644 examples/sample.source.LTE-RRC/README delete mode 100644 examples/sample.source.LTE-RRC/config.h delete mode 100644 examples/sample.source.LTE-RRC/sample-BCCH-BCH-Message-1.per delete mode 100644 examples/sample.source.MEGACO/Makefile delete mode 100644 examples/sample.source.MEGACO/README delete mode 100644 examples/sample.source.MEGACO/config.h delete mode 100644 examples/sample.source.MHEG5/Makefile delete mode 100644 examples/sample.source.MHEG5/README delete mode 100644 examples/sample.source.MHEG5/config.h delete mode 100644 examples/sample.source.MHEG5/sample-InterchangedObject-1.xer delete mode 100644 examples/sample.source.PKIX1/Makefile delete mode 100644 examples/sample.source.PKIX1/README delete mode 100644 examples/sample.source.PKIX1/config.h delete mode 100644 examples/sample.source.PKIX1/sample-Certificate-1.der delete mode 100644 examples/sample.source.RRC/Makefile delete mode 100644 examples/sample.source.RRC/README delete mode 100644 examples/sample.source.RRC/config.h delete mode 100644 examples/sample.source.RRC/sample-BCCH-BCH-Message-2.per delete mode 100644 examples/sample.source.RRC/sample-DL-CCCH-Message-2-nopad.per delete mode 100644 examples/sample.source.RRC/sample-DL-DCCH-Message-1-nopad.per delete mode 100644 examples/sample.source.RRC/sample-DL-DCCH-Message-1.per delete mode 100644 examples/sample.source.S1AP/Makefile delete mode 100644 examples/sample.source.S1AP/README delete mode 100644 examples/sample.source.S1AP/config.h delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-0.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-1.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-10.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-100.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-101.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-102.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-103.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-104.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-105.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-106.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-107.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-108.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-109.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-11.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-110.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-111.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-112.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-113.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-114.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-115.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-116.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-117.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-118.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-119.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-12.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-120.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-121.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-122.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-123.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-124.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-125.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-126.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-127.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-128.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-129.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-13.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-130.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-131.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-132.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-133.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-134.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-135.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-136.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-137.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-138.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-139.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-14.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-140.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-141.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-142.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-143.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-144.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-145.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-146.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-147.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-148.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-149.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-15.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-150.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-151.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-152.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-153.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-154.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-155.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-156.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-157.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-158.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-159.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-16.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-160.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-161.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-162.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-163.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-164.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-165.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-166.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-167.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-168.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-169.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-17.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-170.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-171.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-172.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-173.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-174.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-175.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-176.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-177.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-178.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-179.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-18.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-180.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-181.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-182.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-183.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-184.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-185.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-186.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-187.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-188.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-189.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-19.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-190.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-191.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-192.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-193.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-194.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-195.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-196.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-197.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-198.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-199.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-2.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-20.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-200.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-201.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-202.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-203.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-204.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-205.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-206.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-207.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-208.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-209.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-21.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-210.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-211.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-212.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-213.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-214.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-215.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-216.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-217.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-218.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-219.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-22.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-220.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-221.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-222.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-223.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-224.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-225.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-226.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-227.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-228.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-229.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-23.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-230.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-231.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-232.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-233.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-234.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-235.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-236.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-24.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-25.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-26.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-27.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-28.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-29.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-3.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-30.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-31.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-32.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-33.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-34.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-35.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-36.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-37.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-38.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-39.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-4.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-40.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-41.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-42.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-43.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-44.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-45.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-46.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-47.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-48.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-49.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-5.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-50.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-51.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-52.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-53.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-54.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-55.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-56.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-57.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-58.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-59.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-6.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-60.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-61.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-62.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-63.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-64.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-65.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-66.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-67.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-68.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-69.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-7.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-70.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-71.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-72.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-73.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-74.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-75.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-76.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-77.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-78.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-79.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-8.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-80.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-81.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-82.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-83.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-84.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-85.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-86.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-87.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-88.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-89.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-9.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-90.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-91.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-92.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-93.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-94.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-95.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-96.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-97.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-98.aper delete mode 100644 examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-99.aper delete mode 100644 examples/sample.source.S1AP/sample-DownlinkNASTransport-1.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-1.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-10.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-2.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-3.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-4.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-5.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-7.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-8.aper delete mode 100644 examples/sample.source.S1AP/sample-S1AP-PDU-9.aper delete mode 100644 examples/sample.source.TAP3/Makefile delete mode 100644 examples/sample.source.TAP3/README delete mode 100644 examples/sample.source.TAP3/config.h delete mode 100644 examples/sample.source.TAP3/sample-DataInterChange-1.ber delete mode 100644 examples/sample.source.ULP/Makefile delete mode 100644 examples/sample.source.ULP/README delete mode 100644 examples/sample.source.ULP/config.h delete mode 100644 examples/sample.source.ULP/sample-ULP-PDU-1.per delete mode 100644 examples/sample.source.ULP/sample-ULP-PDU-1.xer delete mode 100644 examples/sample.source.ULP/sample-ULP-PDU-2.per delete mode 100644 libasn1common/.deps/asn1_buffer.Plo delete mode 100644 libasn1common/.deps/asn1_namespace.Plo delete mode 100644 libasn1common/.deps/asn1_ref.Plo delete mode 100644 libasn1common/.deps/genhash.Plo delete mode 100644 libasn1common/Makefile delete mode 100644 libasn1common/Makefile.am delete mode 100644 libasn1common/Makefile.in delete mode 100644 libasn1common/asn1_buffer.c delete mode 100644 libasn1common/asn1_buffer.h delete mode 100644 libasn1common/asn1_namespace.c delete mode 100644 libasn1common/asn1_namespace.h delete mode 100644 libasn1common/asn1_ref.c delete mode 100644 libasn1common/asn1_ref.h delete mode 100644 libasn1common/genhash.c delete mode 100644 libasn1common/genhash.h delete mode 100644 libasn1compiler/.deps/asn1c_C.Plo delete mode 100644 libasn1compiler/.deps/asn1c_compat.Plo delete mode 100644 libasn1compiler/.deps/asn1c_constraint.Plo delete mode 100644 libasn1compiler/.deps/asn1c_fdeps.Plo delete mode 100644 libasn1compiler/.deps/asn1c_ioc.Plo delete mode 100644 libasn1compiler/.deps/asn1c_lang.Plo delete mode 100644 libasn1compiler/.deps/asn1c_misc.Plo delete mode 100644 libasn1compiler/.deps/asn1c_naming.Plo delete mode 100644 libasn1compiler/.deps/asn1c_out.Plo delete mode 100644 libasn1compiler/.deps/asn1c_save.Plo delete mode 100644 libasn1compiler/.deps/asn1compiler.Plo delete mode 100644 libasn1compiler/Makefile delete mode 100644 libasn1compiler/Makefile.am delete mode 100644 libasn1compiler/Makefile.in delete mode 100644 libasn1compiler/asn1c_C.c delete mode 100644 libasn1compiler/asn1c_C.h delete mode 100644 libasn1compiler/asn1c_compat.c delete mode 100644 libasn1compiler/asn1c_compat.h delete mode 100644 libasn1compiler/asn1c_constraint.c delete mode 100644 libasn1compiler/asn1c_constraint.h delete mode 100644 libasn1compiler/asn1c_fdeps.c delete mode 100644 libasn1compiler/asn1c_fdeps.h delete mode 100644 libasn1compiler/asn1c_internal.h delete mode 100644 libasn1compiler/asn1c_ioc.c delete mode 100644 libasn1compiler/asn1c_ioc.h delete mode 100644 libasn1compiler/asn1c_lang.c delete mode 100644 libasn1compiler/asn1c_lang.h delete mode 100644 libasn1compiler/asn1c_misc.c delete mode 100644 libasn1compiler/asn1c_misc.h delete mode 100644 libasn1compiler/asn1c_naming.c delete mode 100644 libasn1compiler/asn1c_naming.h delete mode 100644 libasn1compiler/asn1c_out.c delete mode 100644 libasn1compiler/asn1c_out.h delete mode 100644 libasn1compiler/asn1c_save.c delete mode 100644 libasn1compiler/asn1c_save.h delete mode 100644 libasn1compiler/asn1compiler.c delete mode 100644 libasn1compiler/asn1compiler.h delete mode 100644 libasn1compiler/check_compiler.c delete mode 100644 libasn1fix/.deps/asn1fix.Plo delete mode 100644 libasn1fix/.deps/asn1fix_bitstring.Plo delete mode 100644 libasn1fix/.deps/asn1fix_class.Plo delete mode 100644 libasn1fix/.deps/asn1fix_compat.Plo delete mode 100644 libasn1fix/.deps/asn1fix_constr.Plo delete mode 100644 libasn1fix/.deps/asn1fix_constraint.Plo delete mode 100644 libasn1fix/.deps/asn1fix_constraint_compat.Plo delete mode 100644 libasn1fix/.deps/asn1fix_crange.Plo delete mode 100644 libasn1fix/.deps/asn1fix_cstring.Plo delete mode 100644 libasn1fix/.deps/asn1fix_cws.Plo delete mode 100644 libasn1fix/.deps/asn1fix_dereft.Plo delete mode 100644 libasn1fix/.deps/asn1fix_derefv.Plo delete mode 100644 libasn1fix/.deps/asn1fix_enum.Plo delete mode 100644 libasn1fix/.deps/asn1fix_export.Plo delete mode 100644 libasn1fix/.deps/asn1fix_integer.Plo delete mode 100644 libasn1fix/.deps/asn1fix_misc.Plo delete mode 100644 libasn1fix/.deps/asn1fix_param.Plo delete mode 100644 libasn1fix/.deps/asn1fix_retrieve.Plo delete mode 100644 libasn1fix/.deps/asn1fix_tags.Plo delete mode 100644 libasn1fix/.deps/asn1fix_value.Plo delete mode 100644 libasn1fix/.deps/check_crange-asn1fix_constraint_compat.Po delete mode 100644 libasn1fix/.deps/check_crange-asn1fix_crange.Po delete mode 100644 libasn1fix/.deps/check_fixer-check_fixer.Po delete mode 100644 libasn1fix/Makefile delete mode 100644 libasn1fix/Makefile.am delete mode 100644 libasn1fix/Makefile.in delete mode 100644 libasn1fix/asn1fix.c delete mode 100644 libasn1fix/asn1fix.h delete mode 100644 libasn1fix/asn1fix_bitstring.c delete mode 100644 libasn1fix/asn1fix_bitstring.h delete mode 100644 libasn1fix/asn1fix_class.c delete mode 100644 libasn1fix/asn1fix_class.h delete mode 100644 libasn1fix/asn1fix_compat.c delete mode 100644 libasn1fix/asn1fix_compat.h delete mode 100644 libasn1fix/asn1fix_constr.c delete mode 100644 libasn1fix/asn1fix_constr.h delete mode 100644 libasn1fix/asn1fix_constraint.c delete mode 100644 libasn1fix/asn1fix_constraint.h delete mode 100644 libasn1fix/asn1fix_constraint_compat.c delete mode 100644 libasn1fix/asn1fix_crange.c delete mode 100644 libasn1fix/asn1fix_crange.h delete mode 100644 libasn1fix/asn1fix_cstring.c delete mode 100644 libasn1fix/asn1fix_cstring.h delete mode 100644 libasn1fix/asn1fix_cws.c delete mode 100644 libasn1fix/asn1fix_cws.h delete mode 100644 libasn1fix/asn1fix_dereft.c delete mode 100644 libasn1fix/asn1fix_dereft.h delete mode 100644 libasn1fix/asn1fix_derefv.c delete mode 100644 libasn1fix/asn1fix_derefv.h delete mode 100644 libasn1fix/asn1fix_enum.c delete mode 100644 libasn1fix/asn1fix_enum.h delete mode 100644 libasn1fix/asn1fix_export.c delete mode 100644 libasn1fix/asn1fix_export.h delete mode 100644 libasn1fix/asn1fix_integer.c delete mode 100644 libasn1fix/asn1fix_integer.h delete mode 100644 libasn1fix/asn1fix_internal.h delete mode 100644 libasn1fix/asn1fix_misc.c delete mode 100644 libasn1fix/asn1fix_misc.h delete mode 100644 libasn1fix/asn1fix_param.c delete mode 100644 libasn1fix/asn1fix_param.h delete mode 100644 libasn1fix/asn1fix_retrieve.c delete mode 100644 libasn1fix/asn1fix_retrieve.h delete mode 100644 libasn1fix/asn1fix_tags.c delete mode 100644 libasn1fix/asn1fix_tags.h delete mode 100644 libasn1fix/asn1fix_value.c delete mode 100644 libasn1fix/asn1fix_value.h delete mode 100644 libasn1fix/check_fixer.c delete mode 100644 libasn1parser/.deps/asn1p_class.Plo delete mode 100644 libasn1parser/.deps/asn1p_constr.Plo delete mode 100644 libasn1parser/.deps/asn1p_expr.Plo delete mode 100644 libasn1parser/.deps/asn1p_integer.Plo delete mode 100644 libasn1parser/.deps/asn1p_l.Plo delete mode 100644 libasn1parser/.deps/asn1p_module.Plo delete mode 100644 libasn1parser/.deps/asn1p_oid.Plo delete mode 100644 libasn1parser/.deps/asn1p_param.Plo delete mode 100644 libasn1parser/.deps/asn1p_value.Plo delete mode 100644 libasn1parser/.deps/asn1p_xports.Plo delete mode 100644 libasn1parser/.deps/asn1p_y.Plo delete mode 100644 libasn1parser/.deps/asn1parser.Plo delete mode 100644 libasn1parser/.deps/check_asn1p_integer.Po delete mode 100644 libasn1parser/Makefile delete mode 100644 libasn1parser/Makefile.am delete mode 100644 libasn1parser/Makefile.in delete mode 100644 libasn1parser/asn1p_class.c delete mode 100644 libasn1parser/asn1p_class.h delete mode 100644 libasn1parser/asn1p_constr.c delete mode 100644 libasn1parser/asn1p_constr.h delete mode 100644 libasn1parser/asn1p_expr.c delete mode 100644 libasn1parser/asn1p_expr.h delete mode 100644 libasn1parser/asn1p_expr2uclass.h delete mode 100644 libasn1parser/asn1p_expr_str.h delete mode 100644 libasn1parser/asn1p_integer.c delete mode 100644 libasn1parser/asn1p_integer.h delete mode 100644 libasn1parser/asn1p_l.c delete mode 100644 libasn1parser/asn1p_l.l delete mode 100644 libasn1parser/asn1p_list.h delete mode 100644 libasn1parser/asn1p_module.c delete mode 100644 libasn1parser/asn1p_module.h delete mode 100644 libasn1parser/asn1p_oid.c delete mode 100644 libasn1parser/asn1p_oid.h delete mode 100644 libasn1parser/asn1p_param.c delete mode 100644 libasn1parser/asn1p_param.h delete mode 100644 libasn1parser/asn1p_value.c delete mode 100644 libasn1parser/asn1p_value.h delete mode 100644 libasn1parser/asn1p_xports.c delete mode 100644 libasn1parser/asn1p_xports.h delete mode 100644 libasn1parser/asn1p_y.c delete mode 100644 libasn1parser/asn1p_y.h delete mode 100644 libasn1parser/asn1p_y.y delete mode 100644 libasn1parser/asn1parser.c delete mode 100644 libasn1parser/asn1parser.h delete mode 100644 libasn1parser/check_asn1p_integer.c delete mode 100755 libasn1parser/expr-h.pl delete mode 100644 libasn1print/.deps/asn1print.Plo delete mode 100644 libasn1print/Makefile delete mode 100644 libasn1print/Makefile.am delete mode 100644 libasn1print/Makefile.in delete mode 100644 libasn1print/README delete mode 100644 libasn1print/asn1print.c delete mode 100644 libasn1print/asn1print.h delete mode 100644 m4/ax_check_compile_and_link_flag.m4 delete mode 100644 m4/ax_check_compile_flag.m4 delete mode 100644 m4/ax_code_coverage.m4 delete mode 100644 m4/libtool.m4 delete mode 100644 m4/ltoptions.m4 delete mode 100644 m4/ltsugar.m4 delete mode 100644 m4/ltversion.m4 delete mode 100644 m4/lt~obsolete.m4 delete mode 100644 skeletons/.deps/check_converter_c89_32_example-converter-example.Po delete mode 100644 skeletons/.deps/check_converter_c89_example-converter-example.Po delete mode 100644 skeletons/.deps/check_converter_example-converter-example.Po delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ANY.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-BMPString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-BOOLEAN.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ENUMERATED.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-GraphicString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-IA5String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ISO646String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NULL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NativeReal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-NumericString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-PrintableString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-REAL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-T61String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-TeletexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-UTCTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-UTF8String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-UniversalString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-VideotexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-VisibleString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_application.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_bit_data.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_internal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-asn_random_fill.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ber_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constr_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-constraints.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-der_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-oer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-oer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-oer_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-per_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-per_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-per_opentype.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-per_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-xer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-xer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_32_la-xer_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ANY.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-BMPString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-BOOLEAN.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ENUMERATED.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-GeneralString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-GeneralizedTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-GraphicString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-IA5String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-INTEGER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-INTEGER_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ISO646String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NULL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NativeReal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-NumericString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ObjectDescriptor.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-PrintableString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-REAL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-RELATIVE-OID.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-T61String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-TeletexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-UTCTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-UTF8String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-UniversalString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-VideotexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-VisibleString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_application.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_bit_data.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_codecs_prim.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_internal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-asn_random_fill.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ber_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_length.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_tag.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SET.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constr_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-constraints.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-der_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-oer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-oer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-oer_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-per_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-per_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-per_opentype.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-per_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-xer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-xer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_c89_la-xer_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ANY.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-BIT_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-BIT_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-BMPString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-BOOLEAN.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ENUMERATED.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-GeneralString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-GeneralizedTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-GraphicString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-IA5String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-INTEGER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-INTEGER_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ISO646String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NULL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NativeEnumerated.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NativeEnumerated_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NativeInteger.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NativeInteger_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NativeReal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-NumericString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-OCTET_STRING.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-OCTET_STRING_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ObjectDescriptor.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-PrintableString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-REAL.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-RELATIVE-OID.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-T61String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-TeletexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-UTCTime.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-UTF8String.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-UniversalString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-VideotexString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-VisibleString.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_application.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_bit_data.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_codecs_prim.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_internal.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-asn_random_fill.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ber_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ber_tlv_length.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-ber_tlv_tag.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_CHOICE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_CHOICE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SET.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SET_OF.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_SET_OF_oer.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constr_TYPE.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-constraints.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-der_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-oer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-oer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-oer_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-per_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-per_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-per_opentype.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-per_support.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-xer_decoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-xer_encoder.Plo delete mode 100644 skeletons/.deps/libasn1cskeletons_la-xer_support.Plo delete mode 100644 skeletons/ANY.c delete mode 100644 skeletons/ANY.h delete mode 100644 skeletons/BIT_STRING.c delete mode 100644 skeletons/BIT_STRING.h delete mode 100644 skeletons/BIT_STRING_oer.c delete mode 100644 skeletons/BMPString.c delete mode 100644 skeletons/BMPString.h delete mode 100644 skeletons/BOOLEAN.c delete mode 100644 skeletons/BOOLEAN.h delete mode 100644 skeletons/ENUMERATED.c delete mode 100644 skeletons/ENUMERATED.h delete mode 100644 skeletons/GeneralString.c delete mode 100644 skeletons/GeneralString.h delete mode 100644 skeletons/GeneralizedTime.c delete mode 100644 skeletons/GeneralizedTime.h delete mode 100644 skeletons/GraphicString.c delete mode 100644 skeletons/GraphicString.h delete mode 100644 skeletons/IA5String.c delete mode 100644 skeletons/IA5String.h delete mode 100644 skeletons/INTEGER.c delete mode 100644 skeletons/INTEGER.h delete mode 100644 skeletons/INTEGER_oer.c delete mode 100644 skeletons/ISO646String.c delete mode 100644 skeletons/ISO646String.h delete mode 100644 skeletons/Makefile delete mode 100644 skeletons/Makefile.am delete mode 100644 skeletons/Makefile.in delete mode 100644 skeletons/NULL.c delete mode 100644 skeletons/NULL.h delete mode 100644 skeletons/NativeEnumerated.c delete mode 100644 skeletons/NativeEnumerated.h delete mode 100644 skeletons/NativeEnumerated_oer.c delete mode 100644 skeletons/NativeInteger.c delete mode 100644 skeletons/NativeInteger.h delete mode 100644 skeletons/NativeInteger_oer.c delete mode 100644 skeletons/NativeReal.c delete mode 100644 skeletons/NativeReal.h delete mode 100644 skeletons/NumericString.c delete mode 100644 skeletons/NumericString.h delete mode 100644 skeletons/OBJECT_IDENTIFIER.c delete mode 100644 skeletons/OBJECT_IDENTIFIER.h delete mode 100644 skeletons/OCTET_STRING.c delete mode 100644 skeletons/OCTET_STRING.h delete mode 100644 skeletons/OCTET_STRING_oer.c delete mode 100644 skeletons/OPEN_TYPE.c delete mode 100644 skeletons/OPEN_TYPE.h delete mode 100644 skeletons/OPEN_TYPE_oer.c delete mode 100644 skeletons/ObjectDescriptor.c delete mode 100644 skeletons/ObjectDescriptor.h delete mode 100644 skeletons/PrintableString.c delete mode 100644 skeletons/PrintableString.h delete mode 100644 skeletons/README delete mode 100644 skeletons/REAL.c delete mode 100644 skeletons/REAL.h delete mode 100644 skeletons/RELATIVE-OID.c delete mode 100644 skeletons/RELATIVE-OID.h delete mode 100644 skeletons/T61String.c delete mode 100644 skeletons/T61String.h delete mode 100644 skeletons/TeletexString.c delete mode 100644 skeletons/TeletexString.h delete mode 100644 skeletons/UTCTime.c delete mode 100644 skeletons/UTCTime.h delete mode 100644 skeletons/UTF8String.c delete mode 100644 skeletons/UTF8String.h delete mode 100644 skeletons/UniversalString.c delete mode 100644 skeletons/UniversalString.h delete mode 100644 skeletons/VideotexString.c delete mode 100644 skeletons/VideotexString.h delete mode 100644 skeletons/VisibleString.c delete mode 100644 skeletons/VisibleString.h delete mode 100644 skeletons/asn_SEQUENCE_OF.c delete mode 100644 skeletons/asn_SEQUENCE_OF.h delete mode 100644 skeletons/asn_SET_OF.c delete mode 100644 skeletons/asn_SET_OF.h delete mode 100644 skeletons/asn_application.c delete mode 100644 skeletons/asn_application.h delete mode 100644 skeletons/asn_bit_data.c delete mode 100644 skeletons/asn_bit_data.h delete mode 100644 skeletons/asn_codecs.h delete mode 100644 skeletons/asn_codecs_prim.c delete mode 100644 skeletons/asn_codecs_prim.h delete mode 100644 skeletons/asn_internal.c delete mode 100644 skeletons/asn_internal.h delete mode 100644 skeletons/asn_ioc.h delete mode 100644 skeletons/asn_random_fill.c delete mode 100644 skeletons/asn_random_fill.h delete mode 100644 skeletons/asn_system.h delete mode 100644 skeletons/ber_decoder.c delete mode 100644 skeletons/ber_decoder.h delete mode 100644 skeletons/ber_tlv_length.c delete mode 100644 skeletons/ber_tlv_length.h delete mode 100644 skeletons/ber_tlv_tag.c delete mode 100644 skeletons/ber_tlv_tag.h delete mode 100644 skeletons/constr_CHOICE.c delete mode 100644 skeletons/constr_CHOICE.h delete mode 100644 skeletons/constr_CHOICE_oer.c delete mode 100644 skeletons/constr_SEQUENCE.c delete mode 100644 skeletons/constr_SEQUENCE.h delete mode 100644 skeletons/constr_SEQUENCE_OF.c delete mode 100644 skeletons/constr_SEQUENCE_OF.h delete mode 100644 skeletons/constr_SEQUENCE_oer.c delete mode 100644 skeletons/constr_SET.c delete mode 100644 skeletons/constr_SET.h delete mode 100644 skeletons/constr_SET_OF.c delete mode 100644 skeletons/constr_SET_OF.h delete mode 100644 skeletons/constr_SET_OF_oer.c delete mode 100644 skeletons/constr_TYPE.c delete mode 100644 skeletons/constr_TYPE.h delete mode 100644 skeletons/constraints.c delete mode 100644 skeletons/constraints.h delete mode 100644 skeletons/converter-example.c delete mode 100644 skeletons/der_encoder.c delete mode 100644 skeletons/der_encoder.h delete mode 100644 skeletons/file-dependencies delete mode 100644 skeletons/oer_decoder.c delete mode 100644 skeletons/oer_decoder.h delete mode 100644 skeletons/oer_encoder.c delete mode 100644 skeletons/oer_encoder.h delete mode 100644 skeletons/oer_support.c delete mode 100644 skeletons/oer_support.h delete mode 100644 skeletons/per_decoder.c delete mode 100644 skeletons/per_decoder.h delete mode 100644 skeletons/per_encoder.c delete mode 100644 skeletons/per_encoder.h delete mode 100644 skeletons/per_opentype.c delete mode 100644 skeletons/per_opentype.h delete mode 100644 skeletons/per_support.c delete mode 100644 skeletons/per_support.h delete mode 100644 skeletons/standard-modules/ASN1-Object-Identifier-Module.asn1 delete mode 100644 skeletons/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 delete mode 100644 skeletons/standard-modules/README delete mode 100644 skeletons/xer_decoder.c delete mode 100644 skeletons/xer_decoder.h delete mode 100644 skeletons/xer_encoder.c delete mode 100644 skeletons/xer_encoder.h delete mode 100644 skeletons/xer_support.c delete mode 100644 skeletons/xer_support.h delete mode 100644 tests/Makefile delete mode 100644 tests/Makefile.am delete mode 100644 tests/Makefile.in delete mode 100644 tests/README delete mode 100644 tests/tests-asn1c-compiler/00-empty-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/01-empty-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/02-garbage-NP.asn1 delete mode 100644 tests/tests-asn1c-compiler/03-enum-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/03-enum-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/03-enum-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/04-enum-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/04-enum-SE.asn1.-E delete mode 100644 tests/tests-asn1c-compiler/05-enum-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/06-enum-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/07-int-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/07-int-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/08-int-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/09-int-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/10-int-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/100-class-ref-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/100-class-ref-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/101-class-ref-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/102-class-ref-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/102-class-ref-SE.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/103-reference-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/104-param-1-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/104-param-1-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/104-param-1-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/105-param-2-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/105-param-2-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/106-param-constr-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/106-param-constr-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/107-param-constr-2-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/109-bit-string-NP.asn1 delete mode 100644 tests/tests-asn1c-compiler/11-int-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/110-param-3-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/110-param-3-OK.asn1.-Pfcompound-names delete mode 100644 tests/tests-asn1c-compiler/111-param-4-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/112-param-class-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/112-param-class-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/113-bit-string-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/114-bit-string-NP.asn1 delete mode 100644 tests/tests-asn1c-compiler/115-bit-string-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/116-bit-string-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/117-real-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/117-real-constraint-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/118-per-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/118-per-constraint-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/119-per-strings-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/12-int-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/121-empty-imports-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/121-empty-imports-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/122-pattern-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/123-valueassignment-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/123-valueassignment-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-X delete mode 100644 tests/tests-asn1c-compiler/126-per-extensions-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/127-per-long-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/128-enum-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/129-enum-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/129-enum-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/129-enum-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/13-resolver-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/130-enum-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/130-enum-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/131-per-empty-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/131-per-empty-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/132-per-choice-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/133-per-constraints-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/134-per-long-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/135-oer-short-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/136-oer-long-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER delete mode 100644 tests/tests-asn1c-compiler/137-oer-string-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER delete mode 100644 tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER delete mode 100644 tests/tests-asn1c-compiler/139-component-relation-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/14-resolver-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/14-resolver-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/140-component-relation-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/141-component-relation-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names delete mode 100644 tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/145-empty-information-object-set-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER delete mode 100644 tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/148-der-default-set-sequence-values-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/149-with-components-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/149-with-components-SE.asn1.-E delete mode 100644 tests/tests-asn1c-compiler/15-resolver-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/150-with-components-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/150-with-components-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/151-per-b2110-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-OER delete mode 100644 tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/156-union-ios-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/156-union-ios-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1.-Pfcompound-names delete mode 100644 tests/tests-asn1c-compiler/16-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1.-Pgen-PERfcompound-names delete mode 100644 tests/tests-asn1c-compiler/17-tags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/18-class-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/18-class-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/19-param-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/19-param-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/19-param-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/20-constr-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/20-constr-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/21-tags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/21-tags-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/22-tags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/22-tags-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/22-tags-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/23-bits-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/24-sequence-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/24-sequence-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/25-misc-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/26-sequence-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/27-set-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/28-tags-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/29-tags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/30-set-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/30-set-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/31-set-of-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/31-set-of-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfcompound-names delete mode 100644 tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/33-misc-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/34-class-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/34-class-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/34-class-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/35-set-choice-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/36-indirect-choice-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/38-comments-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/39-sequence-of-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/40-int-optional-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/41-int-optional-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/42-real-life-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/42-real-life-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/42-real-life-OK.asn1.-PR delete mode 100644 tests/tests-asn1c-compiler/43-recursion-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/45-undefined-type-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/45-undefined-type-SE.asn1.-EFfknown-extern-type=KnownExt delete mode 100644 tests/tests-asn1c-compiler/46-redefine-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/46-redefine-OK.asn1.-PR delete mode 100644 tests/tests-asn1c-compiler/47-set-ext-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/47-set-ext-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/48-real-life-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/49-real-life-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/49-real-life-OK.asn1.-E delete mode 100644 tests/tests-asn1c-compiler/50-constraint-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/51-constraint-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/52-constraint-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/53-constraint-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/54-constraint-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/55-components-of-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/55-components-of-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/56-components-of-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/57-components-of-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/58-param-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/58-param-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/59-choice-extended-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/59-choice-extended-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/60-any-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/60-any-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/60-any-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/61-any-1-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/62-any-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/62-any-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/63-any-2-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/64-oid-constr-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfnative-types delete mode 100644 tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/66-ref-simple-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/67-embedded-choice-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/68-enum-default-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/69-reserved-words-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/69-reserved-words-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/70-xer-test-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/71-duplicate-types-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/72-same-names-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/72-same-names-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/73-circular-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/73-circular-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/75-duplicate-modules-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/76-duplicate-modules-SW.asn1 delete mode 100644 tests/tests-asn1c-compiler/77-str-default-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/78-str-default-SE.asn1 delete mode 100644 tests/tests-asn1c-compiler/79-constrained-by-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/79-constrained-by-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/80-chardefs-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/81-type-default-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/82-with-comps-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/82-with-comps-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/83-with-comps-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/84-param-tags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/85-comments-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/86-atags-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/86-atags-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/87-old-syntax-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/88-integer-enum-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfcompound-names delete mode 100644 tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-EFprint-constraints delete mode 100644 tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE delete mode 100644 tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfindirect-choice delete mode 100644 tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/94-set-optionals-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/94-set-optionals-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pfwide-types delete mode 100644 tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER delete mode 100644 tests/tests-asn1c-compiler/96-type-identifier-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/97-type-identifier-SW.asn1 delete mode 100644 tests/tests-asn1c-compiler/97-type-identifier-SW.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EF delete mode 100644 tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P delete mode 100644 tests/tests-asn1c-compiler/99-class-sample-OK.asn1 delete mode 100644 tests/tests-asn1c-compiler/99-class-sample-OK.asn1.-EFprint-class-matrix delete mode 100644 tests/tests-asn1c-compiler/Makefile delete mode 100644 tests/tests-asn1c-compiler/Makefile.am delete mode 100644 tests/tests-asn1c-compiler/Makefile.in delete mode 100644 tests/tests-asn1c-compiler/README delete mode 100755 tests/tests-asn1c-compiler/check-parsing-log2diff.pl delete mode 100755 tests/tests-asn1c-compiler/check-parsing.sh delete mode 100644 tests/tests-asn1c-smoke/Makefile delete mode 100644 tests/tests-asn1c-smoke/Makefile.am delete mode 100644 tests/tests-asn1c-smoke/Makefile.in delete mode 100644 tests/tests-asn1c-smoke/README delete mode 100755 tests/tests-asn1c-smoke/check-asn1c-smoke.sh delete mode 100644 tests/tests-c-compiler/Makefile delete mode 100644 tests/tests-c-compiler/Makefile.am delete mode 100644 tests/tests-c-compiler/Makefile.in delete mode 100644 tests/tests-c-compiler/README delete mode 100755 tests/tests-c-compiler/check-assembly.sh delete mode 100644 tests/tests-c-compiler/check-src/Makefile delete mode 100644 tests/tests-c-compiler/check-src/Makefile.am delete mode 100644 tests/tests-c-compiler/check-src/Makefile.in delete mode 100644 tests/tests-c-compiler/check-src/check-03.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-119.-fwide-types.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-119.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-126.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-127.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-131.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-132.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-133.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check-135.-gen-OER.c delete mode 100644 tests/tests-c-compiler/check-src/check-137.-gen-OER.c delete mode 100644 tests/tests-c-compiler/check-src/check-148.c delete mode 100644 tests/tests-c-compiler/check-src/check-158.-fcompound-names.c delete mode 100644 tests/tests-c-compiler/check-src/check-19.c delete mode 100644 tests/tests-c-compiler/check-src/check-22.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-24.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-25.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-30.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-31.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-32.c delete mode 100644 tests/tests-c-compiler/check-src/check-33.c delete mode 100644 tests/tests-c-compiler/check-src/check-35.c delete mode 100644 tests/tests-c-compiler/check-src/check-39.c delete mode 100644 tests/tests-c-compiler/check-src/check-41.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-41.c delete mode 100644 tests/tests-c-compiler/check-src/check-42.-fwide-types.cc delete mode 100644 tests/tests-c-compiler/check-src/check-42.c delete mode 100644 tests/tests-c-compiler/check-src/check-43.c delete mode 100644 tests/tests-c-compiler/check-src/check-44.c delete mode 100644 tests/tests-c-compiler/check-src/check-46.c delete mode 100644 tests/tests-c-compiler/check-src/check-48.c delete mode 100644 tests/tests-c-compiler/check-src/check-50.c delete mode 100644 tests/tests-c-compiler/check-src/check-59.c delete mode 100644 tests/tests-c-compiler/check-src/check-60.c delete mode 100644 tests/tests-c-compiler/check-src/check-62.c delete mode 100644 tests/tests-c-compiler/check-src/check-65.c delete mode 100644 tests/tests-c-compiler/check-src/check-70.-fwide-types.c delete mode 100644 tests/tests-c-compiler/check-src/check-70.c delete mode 100644 tests/tests-c-compiler/check-src/check-72.-fcompound-names.c delete mode 100644 tests/tests-c-compiler/check-src/check-73.c delete mode 100644 tests/tests-c-compiler/check-src/check-92.-findirect-choice.c delete mode 100644 tests/tests-c-compiler/check-src/check-92.c delete mode 100644 tests/tests-c-compiler/check-src/check64-134.-gen-PER.c delete mode 100644 tests/tests-c-compiler/check-src/check64-136.-gen-OER.c delete mode 100644 tests/tests-c-compiler/data-119/README delete mode 100644 tests/tests-c-compiler/data-119/data-119-01.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-02.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-03.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-04-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-05.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-06-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-07-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-08.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-09.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-10.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-11-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-12-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-13-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-14-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-15.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-16.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-17.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-18.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-19.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-20-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-21-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-22-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-23-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-24-P.in delete mode 100644 tests/tests-c-compiler/data-119/data-119-25-P.in delete mode 100644 tests/tests-c-compiler/data-126/README delete mode 100644 tests/tests-c-compiler/data-126/data-126-01.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-01.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-02-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-02-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-03-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-03-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-04-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-04-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-05-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-05-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-06-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-06-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-07-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-07-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-08-P.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-08-P.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-09-C.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-09-C.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-10-C.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-10-C.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-11-C.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-11-C.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-12.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-12.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-13.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-13.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-14.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-14.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-15.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-15.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-16.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-16.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-17.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-17.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-18-X.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-18-X.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-19.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-19.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-20.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-20.out delete mode 100644 tests/tests-c-compiler/data-126/data-126-21.in delete mode 100644 tests/tests-c-compiler/data-126/data-126-21.out delete mode 100644 tests/tests-c-compiler/data-62/Makefile delete mode 100644 tests/tests-c-compiler/data-62/README delete mode 100644 tests/tests-c-compiler/data-62/data-62-01.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-01.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-02-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-02-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-03-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-03-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-04-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-04-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-05-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-05-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-06-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-06-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-07-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-07-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-08-L.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-08-L.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-09-L.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-09-L.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-10.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-10.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-11.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-11.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-12-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-12-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-13-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-13-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-14.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-14.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-15-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-15-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-16.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-16.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-17-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-17-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-18-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-18-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-19-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-19-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-20.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-20.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-21-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-21-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-22.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-22.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-23-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-23-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-24-L.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-24-L.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-25.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-25.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-26-B.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-26-B.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-27.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-27.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-28-D.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-28-D.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-29-L.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-29-L.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-30-L.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-30-L.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-31-D.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-31-D.xbr delete mode 100644 tests/tests-c-compiler/data-62/data-62-32.ber delete mode 100644 tests/tests-c-compiler/data-62/data-62-32.xbr delete mode 100644 tests/tests-c-compiler/data-70/README delete mode 100644 tests/tests-c-compiler/data-70/data-70-01.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-02.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-03.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-04-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-05-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-06-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-07-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-08-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-09-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-10.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-11.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-12.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-13-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-14-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-15.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-16-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-17-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-18.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-19.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-20-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-21-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-22-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-23-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-24-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-25.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-26-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-27.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-28.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-29-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-30-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-31-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-32.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-33.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-34-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-35-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-36.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-37-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-38-B.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-39.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-40-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-41-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-42-E.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-43-E.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-44-X.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-45-X.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-46-X.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-47.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-48.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-49.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-50.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-51.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-52-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-53.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-54-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-55.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-56.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-57-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-58-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-59-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-60-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-61-D.in delete mode 100644 tests/tests-c-compiler/data-70/data-70-62-D.in delete mode 100644 tests/tests-randomized/.deps/test-param-helper.Po delete mode 100644 tests/tests-randomized/Makefile delete mode 100644 tests/tests-randomized/Makefile.am delete mode 100644 tests/tests-randomized/Makefile.in delete mode 100644 tests/tests-randomized/bundles/00-NULL-bundle.txt delete mode 100644 tests/tests-randomized/bundles/01-BOOLEAN-bundle.txt delete mode 100644 tests/tests-randomized/bundles/02-INTEGER-bundle.txt delete mode 100644 tests/tests-randomized/bundles/03-ENUMERATED-bundle.txt delete mode 100644 tests/tests-randomized/bundles/04-REAL-bundle.txt delete mode 100644 tests/tests-randomized/bundles/05-BIT-STRING-bundle.txt delete mode 100644 tests/tests-randomized/bundles/06-OCTET-STRING-bundle.txt delete mode 100644 tests/tests-randomized/bundles/07-VisibleString-bundle.txt delete mode 100644 tests/tests-randomized/bundles/08-OBJECT-IDENTIFIER-bundle.txt delete mode 100644 tests/tests-randomized/bundles/09-RELATIVE-OID-bundle.txt delete mode 100644 tests/tests-randomized/bundles/10-UTF8String-bundle.txt delete mode 100644 tests/tests-randomized/bundles/11-BMPString-bundle.txt delete mode 100644 tests/tests-randomized/bundles/12-UniversalString-bundle.txt delete mode 100644 tests/tests-randomized/bundles/13-UTCTime-bundle.txt delete mode 100644 tests/tests-randomized/bundles/14-GeneralizedTime-bundle.txt delete mode 100644 tests/tests-randomized/bundles/15-CHOICE-bundle.txt delete mode 100644 tests/tests-randomized/bundles/16-SEQUENCE-bundle.txt delete mode 100644 tests/tests-randomized/bundles/17-SEQUENCE-OF-bundle.txt delete mode 100644 tests/tests-randomized/bundles/19-SET-OF-bundle.txt delete mode 100644 tests/tests-randomized/bundles/README delete mode 100755 tests/tests-randomized/check-bundles.sh delete mode 100644 tests/tests-randomized/random-test-driver.c delete mode 100644 tests/tests-randomized/test-param-helper.c delete mode 100644 tests/tests-skeletons/.deps/check-GeneralizedTime.Po delete mode 100644 tests/tests-skeletons/.deps/check-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check-OCTET_STRING.Po delete mode 100644 tests/tests-skeletons/.deps/check-OER-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check-OER-NativeEnumerated.Po delete mode 100644 tests/tests-skeletons/.deps/check-OER-support.Po delete mode 100644 tests/tests-skeletons/.deps/check-OIDs.Po delete mode 100644 tests/tests-skeletons/.deps/check-PER-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check-PER-UniversalString.Po delete mode 100644 tests/tests-skeletons/.deps/check-PER-support.Po delete mode 100644 tests/tests-skeletons/.deps/check-REAL.Po delete mode 100644 tests/tests-skeletons/.deps/check-UTCTime.Po delete mode 100644 tests/tests-skeletons/.deps/check-UTF8String.Po delete mode 100644 tests/tests-skeletons/.deps/check-XER.Po delete mode 100644 tests/tests-skeletons/.deps/check-ber_tlv_tag.Po delete mode 100644 tests/tests-skeletons/.deps/check-bits.Po delete mode 100644 tests/tests-skeletons/.deps/check-length.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_GeneralizedTime-check-GeneralizedTime.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_INTEGER-check-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_OCTET_STRING-check-OCTET_STRING.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_OER_INTEGER-check-OER-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_OER_support-check-OER-support.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_OIDs-check-OIDs.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_PER_INTEGER-check-PER-INTEGER.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_PER_UniversalString-check-PER-UniversalString.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_PER_support-check-PER-support.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_REAL-check-REAL.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_UTCTime-check-UTCTime.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_UTF8String-check-UTF8String.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_XER-check-XER.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_ber_tlv_tag-check-ber_tlv_tag.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_bits-check-bits.Po delete mode 100644 tests/tests-skeletons/.deps/check_32_length-check-length.Po delete mode 100644 tests/tests-skeletons/Makefile delete mode 100644 tests/tests-skeletons/Makefile.am delete mode 100644 tests/tests-skeletons/Makefile.in delete mode 100644 tests/tests-skeletons/check-GeneralizedTime.c delete mode 100644 tests/tests-skeletons/check-INTEGER.c delete mode 100644 tests/tests-skeletons/check-OCTET_STRING.c delete mode 100644 tests/tests-skeletons/check-OER-INTEGER.c delete mode 100644 tests/tests-skeletons/check-OER-NativeEnumerated.c delete mode 100644 tests/tests-skeletons/check-OER-support.c delete mode 100644 tests/tests-skeletons/check-OIDs.c delete mode 100644 tests/tests-skeletons/check-PER-INTEGER.c delete mode 100644 tests/tests-skeletons/check-PER-UniversalString.c delete mode 100644 tests/tests-skeletons/check-PER-support.c delete mode 100644 tests/tests-skeletons/check-REAL.c delete mode 100644 tests/tests-skeletons/check-UTCTime.c delete mode 100644 tests/tests-skeletons/check-UTF8String.c delete mode 100644 tests/tests-skeletons/check-XER.c delete mode 100644 tests/tests-skeletons/check-ber_tlv_tag.c delete mode 100644 tests/tests-skeletons/check-bits.c delete mode 100644 tests/tests-skeletons/check-length.c delete mode 100755 tests/tests-skeletons/disable-leak-check-m32.sh diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 7183a06..0000000 --- a/AUTHORS +++ /dev/null @@ -1,25 +0,0 @@ -Full list of copyright holders: - -Bartosz Marcinkiewicz -Bent Nicolaisen -Bi-Ruei, Chiu -Daniele Varrazzo -Denis Filatov (DanyaFilatov @ github) -daa @ github -Erika Thorsen (akire @ github) -gareins @ github -johvik @ github -Jon Ringle (ringlej @ github) -Lev Walkin -Max Khon (mkhon @ github) -Maxim Kuzmin (AuthenticEshkinKot @ github) -mouse07410 @ github -Oskar Holmlund (ikarso @ github) -Ray Zhang (zhanglei002 @ github) -Simo Sorce -theirix @ github -Uri Blumenthal -Vasil Velichkov (velichkov @ github) -Wim L -ymbirtt @ github -Google Inc. diff --git a/BUGS b/BUGS deleted file mode 100644 index 6427043..0000000 --- a/BUGS +++ /dev/null @@ -1,32 +0,0 @@ - -0. ASN.1 grammar parser is written mostly with respect to constructing a tree, -so a tree destruction is not fully supported and certain memory leaks are -known. Not a huge problem for run-once programs like a compiler. -NOTE: This statement does not apply to the target code _produced_ - by the compiler. - -1. For purposes of compilation, INTEGER type is modelled using a large -static type (asn_integer_t), but defined as any positive or negative value -by ASN.1. Not a problem as most specifications use very small values anyway. -NOTE: This statement does not apply to the target code _produced_ - by the compiler. - -2. A MACRO facility is part of obsolete ASN.1 standard, and is not supported. - -3. Multiple tags applied at the same level are not supported: - BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType - The same thing could be achieved by using the indirection: - GoodTags ::= [0] EXPLICIT OtherTypePtr - OtherTypePtr ::= [2] IMPLICIT OtherType - -4. Mixed definite/indefinite length in a _single_ BER tags sequence is not -supported. Should not be a problem in the real world. Please note that it -is still possible, for example, to encode a wrapper structure using definite -length, and encode its substructure member using indefinite length. The BER -decoder is perfectly capable of decoding such sequences. - -5. Encoding or decoding of structures with combined length greater than 16MB -is not tested. - -6. XER codec does not support integer (INTEGER, ENUMERATED) values -outside the signed long range. diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 2bdf002..0000000 --- a/ChangeLog +++ /dev/null @@ -1,602 +0,0 @@ - -0.9.??: - FEATURES: - * Added support for basic Information Object Sets driven code generation. - * Added OER support. - * Added LTE RRC example (Bi-Ruei, Chiu). - * Added IEEE 1609.2 example. - * Added SAE J2735 example. - - NOTABLE: - * Converter example (included by default): - * converter-sample.c renamed into converter-example.c - * make converter-example.mk file for building that converter - * asn1c -no-gen-example to stop generating converter-example.{c,mk} - * asn1c -no-gen-example option to disable converter-example generation. - * Added random value generation (-R option to converter-example). - * Added LibFuzzer-based randomized tests for supported transfer syntaxes - (DER, OER, UPER, XER) into tests/tests-randomized. See the following - article to get the latest LibFuzzer-enabled clang on macOS: - https://medium.com/@levwalkin/compile-llvm-clang-libfuzzer-b61e82718430 - then ensure the new clang is in the way: - CC=clang CXX=clang++ ./configure --enable-Werror --enable-test-fuzzer - * OBJECT IDENTIFIER and RELATIVE-OID API simplified. - * uper_encode() API got new argument (breaks API compatibility). - * asn1c -gen-XXX flags are deprecated. Use -no-gen-XXX to disable codecs. - - FIXES: - * CVE-2017-12966 verified not present. - * Fix incomplete (failed) CHOICE XER decoding memory leak. - (Severity: medium; Security impact: medium) - * Fix REAL type overwrite conversion memory leak. - (Severity: low; Security impact: medium) - * Fix UPER string decoding constrained only by lower bound > 0 - (Severity: low; Security impact: none) - * Fix UPER decoding of large [bit-]strings of size a multiple of 16K - (Severity: low; Security impact: none) - * Fix XER decoder crash on maliciously constructed ENUMERATED input. - (Severity: medium; Security impact: medium) - -0.9.28: 2017-03-26 - * PER decoding: avoid memory leak on error. By github.com/simo5 - * Constness patch #46 by Wim L (41bbf1c..78d604f). - Build issues: - * Fixed generated file permissions introduced by earlier pull (issue/32). - * Win32/MinGW patch #31 by Frank Morgner (frankmorgner). - * Autoreconf fix patch by Dave Cridland (github.com/dwd) - * Fix autoreconf-2.69 failure by github.com/brchiu - * Fix C99 warnings. Fix by Adrien Destugues (github.com/pulkomandy). - * C89 compliance fix by Jaroslav Imrich (github.com/jariq). - * C standard compliance fixes by Markus Elfring (github.com/elfring). - -0.9.27: 2014-Sep-17 - * Build structure fixes for portability. - * Disable long debug of ASN.1 operations during `make check` stage. - * Introduce --enable-ASN_DEBUG configure flag to emit long debug output. - -0.9.26: 2014-Sep-11 - * Updated asn1c-usage.pdf. - * Made -fskeletons-copy a default option; removed cmdline option. - * Made -fnative-types a default option; removed cmdline option. - Added -fwide-types for backwards compatibility. - * Add -fline-refs to avoid being unfriendly to version control systems. - * Default constraint checking fix. - Thanks to Bartosz Marcinkiewicz - * Get rid of non-standard pointer arithmetics on void* pointer. - * PER-encoding of integers wider than 32 bits. - -0.9.24: 2013-Mar-16 - - * GeneralizedTime fix for working with time offsets which are not - representable in whole hours. (Severity: low; Security impact: low) - Thanks to IP Fabrics, Inc. - * Added -fincludes-quoted to asn1c to generate #includes in "double" - instead of quotes. - * PER encoding correctness fix. (Severity: high; Security impact: low) - Reported by Grzegorz Aksamit. - * ENUMERATED extension values check relaxed. Reported by Gabriel Burca. - * Fixed decimal decoding of REAL values in -fnative-types mode - (Severity: medium; Security impact: medium) - * Removed webcgi subproject (introduced in 2004) as useless. - -0.9.22: 2008-Nov-19 - - * Added -pdu=all and -pdu= switches to asn1c. - * Added PER support for most known-multiplier string types: - IA5String, VisibleString, PrintableString, BMPString, UniversalString; - useful types: GeneralizedTime, UTCTime, ObjectDescriptor; - as well as REAL and OBJECT IDENTIFIER. - TODO: SET type. - * Added PER support for extensions in SEQUENCE. - * Multiple enhancements by Daniele Varrazzo - * Fixed explicit tagging of an in-lined constructed type. - (Severity: low; Security impact: none). - * Memory leak fixed in SET OF / SEQUENCE OF when wrong encoding - is encountered. (Severity: medium; Security impact: low) - * Fixed extensibility handling of second SEQUENCE production. - (Severity: low; Security impact: none) - * Added DEFAULT handling for known multiplier string. - * Added a sample OMA ULP decoder (./examples/sample.source.ULP). - * Added full-width 32-bit integer encoding support in PER. - * Fixed 1-byte OOB write issue with non-standard and Windows - memory allocators (Severity: low; Security impact: medium). - Reported by Sheng Yu. - -0.9.21: 2006-Sep-17 - - * skeletons/standard-modules directory is now used for standard types. - * Fixed class field access problem (Test case 98) - (Severity: medium; Security impact: none) - * Refactored Information Object Classes parsing. - * Refactored Parameterization support. - * [typedef enum foo {}] foo_e; is now e_foo, see #1287989 - * Refactored ValueSetTypeAssignment parsing. - * asn-decoder-template.c renamed into converter-sample.c - * MEGACO (Media Gateway Control Protocol) decoder sample added. - * First release of PER encoder (does not encode SETs yet). - * Added a sample LDAP decoder (./examples/sample.source.LDAP3). - * Added a sample 3GPP RRC decoder (./examples/sample.source.RRC). - * Added a sample MEGACO (H.248.1) decoder (sample.source.MEGACO). - -0.9.20: 2006-Mar-06 - - * SET OF CHOICE, SEQUENCE OF CHOICE and a certain named S/O types - are represented differently in XER. THIS IS AN INCOMPATIBLE CHANGE. - (Test case 70) (Severity: low; Security impact: low) - * asn1c: Removed -ftypes88 command line option. - * Started PER implementation. Somewhat experimental! - -0.9.19: 2005-Oct-06 - - * A proper solution to circular references. No kludge flags - should be necessary anymore to produce reference-free code: - recursive dependencies are resolved automatically. - * Test cases 73 & 92 keep track of various circular references. - * Introduced compiler directives to allow finer control over the - generated code ("----" in comments), (Test case 93). - * New feature for unber(1): -s bytes. - * Mandatory elements map for SET was not getting generated properly. - (Test case 94) (Severity: high; Security impact: low) - * asn1c: new command line option: -fskeletons-copy. - -0.9.18: 2005-Aug-14 - - * The obsolete X.208 syntax is handled gracefully now (compound types' - member names are invented on the fly). (Test case 87). - * Generating enumeration tables for INTEGER types (Test case 88). - * Generating enumeration tables for BIT STRING types (Test case 89). - * Conditional INTEGER/ENUMERATED representation: long vs. INTEGER_t - type is chosen based on PER visible constraints (Test cases 90, 91). - * Union structures for CHOICE type are not anonymous anymore. - * Made unber(1) program more verbose: effective structure length is - now displayed as L="" at the closing tag. (Test check-xxber.sh). - * Fixed unber(1)'s -1 switch for indefinite encoding length. - * New command line option for unber(1): -m to enable minimalistic mode. - -0.9.17: 2005-Aug-07 - - * Tagging mode is implicitly IMPLICIT if AUTOMATIC TAGS is used, #30.6. - (Test cases 55, 86). - * Started to use extern "C" {} in skeleton headers. - * Introduced -finline-choice command line option to fix - yet another class of circular references. - -0.9.16: 2005-July-04 - - * GeneralizedTime API now supports fractions of seconds. - Thanks to Bent Nicolaisen for support. - * ASN.1 parser has been tweaked to allow parsing something like - "SEQUENCE----comment----", which is ambiguous for many reasons. - * XER decoder better handles not-yet-defined future extensions. - -0.9.15: 2005-July-02 - - * Compiler now checks 64-bit overflows in constraints range handling - code. No effect on the code produced by the compiler. - * Compiler support for tagged and marked parametrized members. - * Empty tags to element map avoided. - * Compiled code GCC 4.x compatibility. - -0.9.14: 2005-Apr-29 - - * Fixed check-70.-fnative-integers.c test (it was failing - when no test directory was found). - -0.9.13: 2005-Apr-24 - - * Added extra const qualifiers into the support code. - * More RFC variations supported in crfc2asn1.pl. - * Refined string values compatibility. (Test cases 77, 78). - * Support for ContainedSubtype constraints. (Test case 16). - * Parsing support for CONSTRAINED BY. (Test case 79). - * Support for CharsDefn (Quadruple and Tuple, most used in - ASN1-CHARACTER-MODULE) (Test case 80). - * Pretty-printing support for WITH COMPONENT[S]. (Test case 82). - * Streamed OCTET STRING decoding of large values: fixed allocation - problem introduced in 0.9.9. (Severity: high; Security impact: medium) - Reported by Yann Grossel . - * Fixed BASIC-XER encoding of REAL numbers. - -0.9.12: 2005-Mar-10 - - * Fixed a name clash in produced constraint checking code. - * #includes are now in single quotes (to solve a name - clash with system's on a Win32 system). - * Small refinement of XML DTD generation (`asn1c -X`). - * Relaxed XER processing rules to skip extra whitespace - in some more places. It also skips XML comments (although - XML comments in XER are prohibited by X.693, #8.2.1). - (Test case 70) (Severity: medium; Security impact: none) - Reported by . - * Constraints on primitive types being defined are now supported. - (Test case 74) (Severity: low; Security impact: none) - * XMLValueList generation fixed for CHOICE type. - (Severity: medium; Security impact: none) - * Added the GSM TAP3 decoder into ./examples/sample.source.TAP3 - -0.9.11: 2005-Mar-04 - - * Released -fcompound-names to fix the name clashes in the code - produced by the asn1c. - * Released -fno-include-deps to avoid #including non-critical - external dependencies. - * Compiler is taught to produce compilable code for yet another class - of circular ASN.1 type references. - * X.693:8.3.4 prohibits anything but SignedNumber; fixed XER codec. - * Fixed ENUMERATED identifier to value conversion in XER. - Reported by . - * If the compiled file contents are the same as in already existing - file (left from previous compilation), the old file is retained. - This prevents thrashing `make` dependencies if amount of changes in - the original ASN.1 module(s) is small. - -0.9.10: 2005-Feb-25 - - * Completed the XER XMLValueList encoding and decoding. - * Native integer type is now using "long". - * Fixed #1150856. Reported by . - * Some WIN32 portability fixes. - -0.9.9: 2005-Feb-22 - - * First release of XER (XML) decoding implementation (somewhat - experimental). - * ANY allocation routine fixed. - Reported by . - * Fixed tag parsing (tags like "[ 0 ]" were not supported). - * Compiler now checks for duplicate ASN.1 types across modules. - -0.9.8: 2005-Jan-17 - - * [NEW PLATFORM] Compiled and tested on Linux @ alpha64 (LP64). - Some code needed to be fixed regarding int-long conversions - (mostly inside the test suite), and floating point handling - code needed to be restructured to handle signalling NAN and - other floating point exceptions quietly. Smooth transition! - * [NEW PLATFORM] Compiled and tested on Sun Solaris 9 @ sparc. - Improved includes/defines of/for system headers. - * -X command line option added to asn1c to generate XML DTD. - * Empty SEQUENCE and SET clauses are now allowed. - * Removed confusion between &xNN; and &#xNN; in enber and unber. - * Removed order dependency in DEFAULT references to ENUMERATED - identifiers (./tests/68-*-OK.asn1). - * ber_dec_rval_t renamed into asn_dec_rval_t: more generality. - * Extensions in CHOICE types are properly marked as non-pointers - (Test case 59) (Severity: medium; Security impact: medium) - Reported by . - * Tagged CHOICE type is now supported again. - (Test case 59) (Severity: low; Security impact: low) - Reported by . - * Implemented der_encode_to_buffer() procedure. - -0.9.7.1: 2004-Oct-12 - - * Fixed automatic tagging for extensions of compound types. - * Fixed ParametrizedReference parsing: {} are now recognized. - -0.9.7: 2004-Oct-11 - - * Finished CXER implementation by adding SET and SET OF canonical - ordering support. - * Fixed unber(1) limits controlling logic. - * Removed C99'izm from the x509dump, now understood by older compilers. - * Enhanced UTF8String constraint validation, now it checks - for the minimal encoding length; API of UTF8String_length() changed. - * Fixed SEQUENCE dealing with premature termination of the - optionals-laden indefinite length structure. The code was previously - refusing to parse such structures. - * Fixed explicitly tagged ANY type encoding and decoding - (Severity: medium; Security impact: low). - * Fixed CHOICE code spin when indefinite length structures appear - in the extensions (Severity: medium; Security impact: medium). - Reported by . - * BIT STRING now stores the number of unused octets in a separate field. - -0.9.6: 2004-Sep-29 - - * Added several security firewalls: decoder's stack usage control - and the stricter checking of the TLV length. - * Implemented BASIC-XER encoding support (X.693). - * Implemented unber(1) and enber(1) for BER<->XML translation. - * Implemented CGI for online ASN.1 compilation (asn1c/webcgi). - * Implemented the sample X.509 decoder (./examples/sample.source.PKIX1). - * NamedType is now supported for SET OF/SEQUENCE OF type. - * Added -fno-constraints option to asn1c, which disabled generation of - ASN.1 subtype constraints checking code. - * Added ASN1C_ENVIRONMENT_VERSION and get_asn1c_environment_version(). - * Fixed ANY type decoding (Severity: high; Security impact: low). - * Fixed BER decoder restartability problem with certain primitive - types (BOOLEAN, INTEGER, and REAL). The problem occured when the - encoding of such type is split between several bytes. - (Severity: high; Security impact: low) - * Support for cross-referencing type definitions (updated ./tests/43-*). - * Fixed pretty-printing of the REAL type. Added lots of test cases. - * Renamed asn1_* into asn_* in function and type names. - * Updated documentation. - -0.9.5: 2004-Sep-17 - - * Fixed CER (common BER) decoder code. See check-25.c/VisibleString - case for details. X.690 specifies that inner structures in BER - encoding must be tagged by stripping off the outer tag for each - subsequent containment level. See also X.690: 8.21.5.4 and - the "Spouse" case in A.3. - (Severity: medium; Security impact: low) - * Added converters between any generic type and the ANY type. - * Parser fixed: Information Object Class fields may be taged. - * Parser fixed: tagged types inside SEQUENCE OF/SET OF support. - * Improved DEFAULT Value parsing and pretty-printing. - * Condition on distinct tags checker was incorrectly dealing with - tagged CHOICE types. Fixed. Modified tests/37-indirect-choice-OK.asn1 - * Improved type name generation code ("struct foo" vs "foo_t"). - * Fixed constraint checking code incorrectly dealing with imported - types with constraint values defined in other modules. - * Real REAL support! (Haven't tested denormals support yet!) - See skeletons/tests/check-REAL.c - -0.9.4: 2004-Sep-10 - - * More support for recursive type definitions. - * Explicit support for ANY type decoding. - * Refactored tags processing code. - * Fixed constraints checking code: non-exploitable buffer overflow. - (Severity: medium; Security impact: low) - -0.9.3: 2004-Sep-07 - - * Extended constraints support in parametrized types. - * Better support for parametrization and constraints handling. - * Better handling of recursive type definitions. - * Added support for ANY type. - -0.9.2: 2004-Aug-24 - - * More flexible subtype constraints handling, with relaxed - PER visibility rules for actual constraints checking code generator. - * Indirect references in constraints resolver code fixed. - * Avoided compilation warning on gcc 3.3.3 systems. - * Better ValueSet printing. - -0.9.1: 2004-Aug-23 - - * Documentation updated: doc/asn1c-usage.pdf - * Fixed OBJECT IDENTIFIER human-readable printing. - Reported by . - -0.9: 2004-Aug-23 - - * Reworked subtype constraints handling, aiming at PER-applicability. - * BOOLEAN and NULL are now implemented in terms of native int type. - * Compiler now links in only necessary skeleton files. - * -t option added to asn1c to ease manual BER/CER/DER decoding. - * Added support COMPONENTS OF construct. - * Numerous parser fixes and enhancements. - * Better constraint failure reporting. - -0.8.19: 2004-Aug-18 - - * Fixed BER encoder (problem encoding large tag values) - (Severity: medium; Security impact: low) - -0.8.18: 2004-Aug-12 - - * Parser: fixed multiple IMPORTS problem (incorrect assertion). - * Parser: constraints extensibility parsing fix. - -0.8.17: 2004-Aug-11 - - * Improved compiler output: duplicate #includes eliminated. - * Win32 portability fixes. - * More compatibility with C++ or non-GCC compilers. - -0.8.16: 2004-Jul-22 - - * Fixed application-level problem in SET OF/SEQUENCE OF array cleanup. - (Severity: medium; Security impact: low) - * Improved asn_GT2time() and added asn_time2{GT,UT}() functions. - * BIT STRING pretty-printing. - -0.8.15: 2004-Jul-20 - - * Fixed parser: memory leak in free_struct code for SET OF/SEQUENCE OF. - (Severity: high; Security impact: medium) - * Fixed parser: invalid memory reference in code constructing tags. - (Test case 48) (Severity: high; Security impact: medium) - When encoding data for certain ASN.1 specifications containing - explicit tags, the tag is always written incorrectly due to - incorrect memory reference. The encoding will almost always produce - unparseable data and might well reference unmapped region so program - would produce segmentation violation. Fortunately, memory is - read, not written, so remote exploits cannot execute arbitrary - code and triggering unmapped memory reference is highly unlikely - even it attacker knows the code (basically, the compiler should place - asn1_DEF_... right before the end of the mapped memory region, which - is extremely rare). - * Improved INTEGER type printing. - -0.8.14: 2004-Jun-30 - - * Fixed compiler: extensibility of CHOICE and SET type has not been - taken into account during table construction. - (Test case 47) (Severity: high; Security impact: low) - -0.8.13: 2004-Jun-29 - - * Fixed compiler: the skip values for IMPLICIT tagging were broken - in some complex cases where one type is defined using another. - (Test case 46) (Severity: medium; Security impact: low). - * Added -fknown-extern-type command line parameter to asn1c. - * Removed -N command line flag and underlying functionality - to honor KISS principle. - -0.8.12: 2004-Jun-17 - - * RELATIVE-OID and OBJECT IDENTIFIER encoders/decoders are not bound - anymore to an integer type of specific size (unsigned long). The - size of an integer must be provided explicitly. - See {OBJECT_IDENTIFIER|RELATIVE_OID}_{get|set}_arcs(). - * SEQUENCE BER decoder fixed again for complex CHOICE case - (Test case 44) (Severity: medium; Security impact: low). - -0.8.11: 2004-Jun-05 - - * Enforced stricter conformance with C standards. - * SEQUENCE BER decoder is now equipped with the sorted map - in case of complex CHOICE descendants. Test case 44 created. - -0.8.10: 2004-Jun-02 - - * Added const qualifier where necessary. - * Changed position of outmost_tag fetcher within asn1_TYPE_descriptor_t - structure. - -0.8.9: 2004-May-26 - - * Added *_{get|set}_arcs_*() functions for OBJECT IDENTIFIER - and RELATIVE-OID, together with test cases. - -0.8.8: 2004-May-09 - - * Introduced subtype constraints support (incomplete!). - * Fixed compiler. If the last member of the SEQUENCE is OPTIONAL - and absent in the encoding, and the type is extensible (...) or - EXTENSIBILITY IMPLIED flag is set, then the structure could not - be correctly decoded. (Severity: high; Security impact: low). - * Compiler: fixed recursive ASN.1 types inclusion (Severity: low, - Security impact: none). - * Parser: IMPORTS/FROM fixes, now allowing multiple sections. - * NEW PLATFORM: Compiled and tested on MacOS X (@ PowerPC). - No major portability issues experienced. - -0.8.7: 2004-Apr-11 T-version-0-8-7 - - * Fixed SEQUENCE BER decoder: if the last member of the SEQUENCE is - OPTIONAL and absent in the encoding, RC_FAIL was returned instead - of RC_OK (Severity: high; Security impact: low). - * Added test case to check the above problem. - * Added test case to check -fnative-integers mode. - -0.8.6: 2004-Apr-03 T-version-0-8-6 - - * Fixed compiler output for embedded ASN.1 structures. - -0.8.5: 2004-Mar-28 T-version-0-8-5 - - * Fixed ber_tlv_length() computation problem (Severity: high, - Security impact: none). - Reported by - -0.8.4: 2004-Mar-22 - - * Removed RC_ITAG enumeration element from BER decoder. - This return code did not have much practical value. - -0.8.3: 2004-Mar-14 T-version-0-8-3 - - * Fixed SET::BER decoder: restart after reaching a buffer boundary - weas broken (Severity: high; Security impact: low). - * Fixed OCTET STRING::BER decoder: restart after reaching a buffer - boundary was broken (Severity: high; Security impact: low). - Reported by - * Added test cases to check decoders restartability. - * Slightly more general INTEGER2long decoder. - * Allowed nested /* C-type */ comments, as per X.680:2002. - -0.8.2: 2004-Mar-01 T-version-0-8-2 - - * Fixed SEQUENCE BER decoder: an OPTIONAL element was required, where - should not have been (Severity: major; Security impact: low). - * Fixed print_struct pointer inheritance. - * Added -fno-c99 and -funnamed-unions - -0.8.1: 2004-Feb-22 - - * -R switch to asn1c: Omit support code, compile only the tables. - * Introduced NativeInteger pseudotype. - * Corrected the informal print_struct()'s output format. - -0.8.0: 2004-Feb-03 T-version-0-8-0 - - * Some documentation is created (a .pdf and a short manual page). - * Last touches to the code. - -0.7.9: 2004-Feb-01 T-version-0-7-9 - - * Human readable printing support. - * Support for implicit (standard) constraints. - -0.7.8: 2004-Jan-31 - - * SET now rejects duplicate fields in the data stream. - -0.7.7: 2004-Jan-25 - - * Added types: GeneralizedTime and UTCTime. - -0.7.6: 2004-Jan-24 T-version-0-7-6 - - * DER encoding of a SET OF now involves dynamic sorting. - -0.7.5: 2004-Jan-24 T-version-0-7-5 - - * DER encoding of a SET with untagged CHOICE - now involves dynamic sorting. - -0.7.0: 2004-Jan-19 T-version-0-7-0 - - * A bunch of DER encoders is implemented. - -0.6.6: 2004-Jan-11 - - * Implemented CHOICE decoder. - * Implemented destructors support. - -0.6.5: 2004-Jan-03 - - * Implemented SET decoder. - * Implemented SET OF and SEQUENCE OF decoders. - -0.6.4: 2003-Dec-31 - - * Implemented BOOLEAN, NULL, ENUMERATED decoders. - * Implemented OCTET STRING decoder. - * Implemented BIT STRING decoder. - -0.6: 2003-Dec-30 - - * First decoding of a BER-encoded structure! - -0.5: 2003-Dec-28 - - * Framework and most of the compiler backbone coding done. - -0.1: 2003-Nov-28 - - * Programming started. - -=== Bug importance disclosure terms === - -SEVERITY. - This term applies to the frequence the particular construct is used - in the real world. The higher the frequency, the more chances of triggering - this bug. - low: The ASN.1 specifications which could trigger - this kind of bug are not widespread. - medium: The particular ASN.1 construct is used quite often, - so the chance of triggering an error is considerable. - high: This fix is considered urgent, or the particular ASN.1 - construct triggering this bug is in wide use. - -SECURITY IMPACT. - This term applies to the amount of potential damage a bug exploitation - could cause. - none: No malicious exploitation is possible. - low: The local exploitation is unlikely; the remote exploitation - is not possible. - medium: The remote exploitation is possible when a particular ASN.1 - construct is being used. If possible, only hard failure, spin - or memory leak are the possible outcome: no shellcode - injection could possibly be carried by the attack. - high: The remote shellcode injection is possible, or the bug is - otherwise remotely exploitable for most specifications. - diff --git a/FAQ b/FAQ deleted file mode 100644 index c07fa81..0000000 --- a/FAQ +++ /dev/null @@ -1,27 +0,0 @@ - -1.Q: Is it possible to build the asn1c compiler on Win32? -1.A: - At this point, the asn1c source code is tied to GCC-specific - extensions in several key places. The CYGWIN environment with - gcc compiler may be what are you looking for. - - Please also consider using the Online ASN.1 compiler at - http://lionet.info/asn1c - which generates platform-independent code. - - -2.Q: How to build a simplest BER (XER) encoder or decoder? -2.A: - Please check the "Quick Start Guide" on ./doc/asn1c-quick.pdf - Please check the "Examples" section of ./doc/asn1c-usage.pdf - - Also, try the following to build the X.509v3 parser: - - cd ./examples/sample.source.PKIX1 - make - ./x509dump -h - - --- -Lev Walkin -vlm@lionet.info diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index ba5c6bf..0000000 --- a/INSTALL.md +++ /dev/null @@ -1,66 +0,0 @@ - -## Compiling From Sources - -### Configure - -See [REQUIREMENTS.md](REQUIREMENTS.md) for the complete list of dependencies. - -Configure with the default settings: - - autoreconf -iv - ./configure - make - -Configure with non-standard settings: - -asn1c-specific ./configure options include: - - Option | Description ------------------------- | --------------------------------------------------- - --enable-ASN_DEBUG | produce debug log during `make check` testing - --enable-code-coverage | whether to enable code coverage support - --enable-Werror | abort compilation after any C compiler warning - --enable-test-Werror | abort compiling tests after any C compiler warning - --enable-test-32bit | enable tests for 32-bit compatibility - --disable-test-ubsan | disable Undefined Behavior Sanitizer for tests - --disable-test-asan | disable Address Sanitizer for tests - --enable-test-fuzzer | enable LLVM LibFuzzer for randomized testing - -invoke `./configure --help` for details. - -### Build - -Build the libraries and the compiler: - - make - -Ensure asn1c is still behaving well after compiling on your platform: - - make check - -### Install - -Install the compiler into a standard location: - - make install - # Use ./configure --prefix to override install location. - -Display the `asn1c` manual page: - - man asn1c - -## Quick Usage Guide - -For a usage guide and more information please refer to: - - * the [README.md](README.md) file - * the asn1c manual page `man asn1c` - * the included quick start PDF [doc/asn1c-quick.pdf](doc/asn1c-quick.pdf) - * the comprehensive usage documentation [doc/asn1c-usage.pdf](doc/asn1c-usage.pdf) - -In case of any difficulties with installing the compiler, consider using -the Online ASN.1 Compiler at http://lionet.info/asn1c. - --- -Lev Walkin -vlm@lionet.info diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 306464b..0000000 --- a/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2003-2017 Lev Walkin and contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/Makefile b/Makefile deleted file mode 100644 index 8ad520e..0000000 --- a/Makefile +++ /dev/null @@ -1,1010 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docsdir)" -DATA = $(docs_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/config/ar-lib $(top_srcdir)/config/compile \ - $(top_srcdir)/config/config.guess \ - $(top_srcdir)/config/config.sub \ - $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ - $(top_srcdir)/config/missing AUTHORS ChangeLog config/ar-lib \ - config/compile config/config.guess config/config.sub \ - config/install-sh config/ltmain.sh config/missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c -abs_srcdir = /home/nokia/mouse07410/asn1c -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = . -ACLOCAL_AMFLAGS = -I m4 -CODE_COVERAGE_IGNORE_PATTERN = "tests/*" "lex.yy.c" "y.tab.c" "asn1p_l.l" "asn1p_y.y" -SUBDIRS = \ - libasn1common libasn1parser \ - libasn1fix libasn1print \ - libasn1compiler \ - asn1c skeletons tests \ - examples doc - -docsdir = $(datadir)/doc/asn1c -docs_DATA = README.md INSTALL.md REQUIREMENTS.md FAQ ChangeLog BUGS -EXTRA_DIST = README.md INSTALL.md REQUIREMENTS.md FAQ LICENSE BUGS -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-docsDATA: $(docs_DATA) - @$(NORMAL_INSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ - done - -uninstall-docsDATA: - @$(NORMAL_UNINSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-docsDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docsDATA - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-docsDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docsDATA - -.PRECIOUS: Makefile - - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 4389e53..0000000 --- a/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ - -ACLOCAL_AMFLAGS = -I m4 - -@CODE_COVERAGE_RULES@ -CODE_COVERAGE_IGNORE_PATTERN="tests/*" "lex.yy.c" "y.tab.c" "asn1p_l.l" "asn1p_y.y" - -SUBDIRS = \ - libasn1common libasn1parser \ - libasn1fix libasn1print \ - libasn1compiler \ - asn1c skeletons tests \ - examples doc - -docsdir = $(datadir)/doc/asn1c - -docs_DATA = README.md INSTALL.md REQUIREMENTS.md FAQ ChangeLog BUGS - -EXTRA_DIST = README.md INSTALL.md REQUIREMENTS.md FAQ LICENSE BUGS diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index f396af6..0000000 --- a/Makefile.in +++ /dev/null @@ -1,912 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docsdir)" -DATA = $(docs_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/config/ar-lib $(top_srcdir)/config/compile \ - $(top_srcdir)/config/config.guess \ - $(top_srcdir)/config/config.sub \ - $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ - $(top_srcdir)/config/missing AUTHORS ChangeLog config/ar-lib \ - config/compile config/config.guess config/config.sub \ - config/install-sh config/ltmain.sh config/missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -ACLOCAL_AMFLAGS = -I m4 -CODE_COVERAGE_IGNORE_PATTERN = "tests/*" "lex.yy.c" "y.tab.c" "asn1p_l.l" "asn1p_y.y" -SUBDIRS = \ - libasn1common libasn1parser \ - libasn1fix libasn1print \ - libasn1compiler \ - asn1c skeletons tests \ - examples doc - -docsdir = $(datadir)/doc/asn1c -docs_DATA = README.md INSTALL.md REQUIREMENTS.md FAQ ChangeLog BUGS -EXTRA_DIST = README.md INSTALL.md REQUIREMENTS.md FAQ LICENSE BUGS -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-docsDATA: $(docs_DATA) - @$(NORMAL_INSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ - done - -uninstall-docsDATA: - @$(NORMAL_UNINSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-docsDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docsDATA - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-docsDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docsDATA - -.PRECIOUS: Makefile - - -@CODE_COVERAGE_RULES@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/README.md b/README.md index 7940eda..61f541b 100644 --- a/README.md +++ b/README.md @@ -1,128 +1,6 @@ # About -ASN.1 to C compiler takes the ASN.1 module files (example) and generates -the C++ compatible C source code. That code can be used to serialize -the native C structures into compact and unambiguous BER/OER/PER/XER-based -data files, and deserialize the files back. +This repo is no longer used. Many repos in O-RAN-SC use instead this +fork of the asn1c compiler: [https://github.com/nokia/asn1c](https://github.com/nokia/asn1c). -Various ASN.1 based formats are widely used in the industry, -such as to encode the X.509 certificates employed in the HTTPS handshake, -to exchange control data between mobile phones and cellular networks, -to perform car-to-car communication in intelligent transportation networks. - -The ASN.1 family of standards is large and complex, and no open source -compiler supports it in its entirety. -The asn1c is arguably the most evolved open source ASN.1 compiler. - -# ASN.1 Transfer Syntaxes -
-ASN.1 encodings interoperability table - -The ASN.1 family of standards define a number of ways to encode data, -including byte-oriented (e.g., BER), bit-oriented (e.g., PER), -and textual (e.g., XER). Some encoding variants (e.g., DER) are just stricter -variants of the more general encodings (e.g., BER). - -The interoperability table below specifies which API functions can be used -to exchange data in a compatible manner. If you need to _produce_ data -conforming to the standard specified in the column 1, -use the API function in the column 2. -If you need to _process_ data conforming to the standard(s) specified in the -column 3, use the API function specified in column 4. -See the [doc/asn1c-usage.pdf](doc/asn1c-usage.pdf) for details. - -Encoding | API function | Understood by | API function --------------- | ------------------ | ------------- | ------------- -BER | der_encode() | BER | ber_decode() -DER | der_encode() | DER, BER | ber_decode() -CER | _not supported_ | CER, BER | ber_decode() -BASIC-OER | oer_encode() | *-OER | oer_decode() -CANONICAL-OER | oer_encode() | *-OER | oer_decode() -BASIC-UPER | uper_encode() | *-UPER | uper_decode() -CANONICAL-UPER | uper_encode() | *-UPER | uper_decode() -*-APER | _not supported_ | *-APER | _not supported_ -BASIC-XER | xer_encode(XER_F_BASIC) | *-XER | xer_decode() -CANONICAL-XER | xer_encode(XER_F_CANONICAL)| *-XER | xer_decode() - -*) Asterisk means both BASIC and CANONICAL variants. -
- -# Build and Install - -If you haven't installed the asn1c yet, read the [INSTALL.md](INSTALL.md) file -for a short installation guide. - -[![Build Status](https://travis-ci.org/vlm/asn1c.svg?branch=master)](https://travis-ci.org/vlm/asn1c) - -# Documentation - -For the list of asn1c command line options, see `asn1c -h` or `man asn1c`. - -The comprehensive documentation on this compiler is in [doc/asn1c-usage.pdf](doc/asn1c-usage.pdf). - -Please also read the [FAQ](FAQ) file. - -An excellent book on ASN.1 is written by Olivier Dubuisson: -"ASN.1 Communication between heterogeneous systems", ISBN:0-12-6333361-0. - -# Quick start - -(also check out [doc/asn1c-quick.pdf](doc/asn1c-quick.pdf)) - -After installing the compiler (see [INSTALL.md](INSTALL.md)), you may use -the asn1c command to compile the ASN.1 specification: - - asn1c # Compile module - -If several specifications contain interdependencies, all of them must be -specified at the same time: - - asn1c ... # Compile interdependent modules - -The asn1c source tarball contains the [examples/](examples/) directory -with several ASN.1 modules and a [script](examples/crfc2asn1.pl) -to extract the ASN.1 modules from RFC documents. -Refer to the [examples/README](examples/README) file in that directory. - -To compile the X.509 PKI module: - - ./asn1c/asn1c -P ./examples/rfc3280-*.asn1 # Compile-n-print - -In this example, the **-P** option is to print the compiled text on the -standard output. The default behavior is that asn1c compiler creates -multiple .c and .h files for every ASN.1 type found inside the specified -ASN.1 modules. - -The compiler's **-E** and **-EF** options are used for testing the parser and -the semantic fixer, respectively. These options will instruct the compiler -to dump out the parsed (and fixed) ASN.1 specification as it was -"understood" by the compiler. It might be useful for checking -whether a particular syntactic construction is properly supported -by the compiler. - - asn1c -EF # Check semantic validity - -# Model of operation - -The asn1c compiler works by processing the ASN.1 module specifications -in several stages: - -1. During the first stage, the ASN.1 file is parsed. - (Parsing produces an ASN.1 syntax tree for the subsequent levels) -2. During the second stage, the syntax tree is "fixed". - (Fixing is a process of checking the tree for semantic errors, - accompanied by the tree transformation into the canonical form) -3. During the third stage, the syntax tree is compiled into the target language. - -There are several command-line options reserved for printing the results -after each stage of operation: - - => print (-E) - => => print (-E -F) - => => => print (-P) - => => => save-compiled [default] - - --- -Lev Walkin -vlm@lionet.info +The repo [https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/libe2ap.git;a=tree](https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/libe2ap.git;a=tree) contains some instructions on how to use asn1c to, for example, generate the E2AP encoding/decoding libraries. diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md deleted file mode 100644 index 16b27cc..0000000 --- a/REQUIREMENTS.md +++ /dev/null @@ -1,29 +0,0 @@ - -## To compile asn1c compiler itself - -A 64-bit build system is strongly recommended for asn1c operation. - -A working C99 compiler is required to compile asn1c itself, -such as gcc-4.x or clang-3.4. The asn1c compiler produces C90-compatible code, -which is also upward compatible with C++. - -### Packages - -This notation specifies a minimum required package version (-ver) -or an exact version (=ver). For example, bison=2.x requires the 2.x branch -of bison, not 3.x. - - * automake-1.15 - * libtool - * bison=2.x - * flex - -## To compile asn1c-generated code - -C: -As a minimum, a compiler supporting the C90. Pretty much any modern C compiler -will do, but gcc or clang is recommended. Note that MSVC++ is not a C compiler. - -C++: -A C++11 compliant compiler is recommended. - diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 593dbda..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,1238 +0,0 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# Copyright (C) 2011-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_AR([ACT-IF-FAIL]) -# ------------------------- -# Try to determine the archiver interface, and trigger the ar-lib wrapper -# if it is needed. If the detection of archiver interface fails, run -# ACT-IF-FAIL (default is to abort configure with a proper error message). -AC_DEFUN([AM_PROG_AR], -[AC_BEFORE([$0], [LT_INIT])dnl -AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([ar-lib])dnl -AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) -: ${AR=ar} - -AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [AC_LANG_PUSH([C]) - am_cv_ar_interface=ar - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - ]) - AC_LANG_POP([C])]) - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - m4_default([$1], - [AC_MSG_ERROR([could not determine $AR interface])]) - ;; -esac -AC_SUBST([AR])dnl -]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Copyright (C) 1998-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_LEX -# ----------- -# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a -# "missing" invocation, for better error output. -AC_DEFUN([AM_PROG_LEX], -[AC_PREREQ([2.50])dnl -AC_REQUIRE([AM_MISSING_HAS_RUN])dnl -AC_REQUIRE([AC_PROG_LEX])dnl -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/ax_check_compile_and_link_flag.m4]) -m4_include([m4/ax_check_compile_flag.m4]) -m4_include([m4/ax_code_coverage.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) diff --git a/asn1c/.deps/asn1c.Po b/asn1c/.deps/asn1c.Po deleted file mode 100644 index 1081cba..0000000 --- a/asn1c/.deps/asn1c.Po +++ /dev/null @@ -1,244 +0,0 @@ -asn1c.o: asn1c.c /usr/include/stdc-predef.h sys-common.h ../config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/sysexits.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1fix/asn1fix.h ../libasn1print/asn1print.h \ - ../libasn1compiler/asn1compiler.h ../libasn1fix/asn1fix_export.h \ - ../libasn1fix/asn1fix_tags.h ../libasn1compiler/asn1c_compat.h \ - /usr/include/dirent.h /usr/include/x86_64-linux-gnu/bits/dirent.h \ - /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h - -/usr/include/stdc-predef.h: - -sys-common.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/sysexits.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1fix/asn1fix.h: - -../libasn1print/asn1print.h: - -../libasn1compiler/asn1compiler.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: - -../libasn1compiler/asn1c_compat.h: - -/usr/include/dirent.h: - -/usr/include/x86_64-linux-gnu/bits/dirent.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: diff --git a/asn1c/.deps/enber.Po b/asn1c/.deps/enber.Po deleted file mode 100644 index 97f01ee..0000000 --- a/asn1c/.deps/enber.Po +++ /dev/null @@ -1,335 +0,0 @@ -enber.o: enber.c /usr/include/stdc-predef.h sys-common.h ../config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/sysexits.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../skeletons/asn_application.h ../skeletons/asn_system.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ - /usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \ - /usr/include/x86_64-linux-gnu/sys/uio.h \ - /usr/include/x86_64-linux-gnu/bits/uio.h \ - /usr/include/x86_64-linux-gnu/bits/socket.h \ - /usr/include/x86_64-linux-gnu/bits/socket_type.h \ - /usr/include/x86_64-linux-gnu/bits/sockaddr.h \ - /usr/include/x86_64-linux-gnu/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/x86_64-linux-gnu/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/x86_64-linux-gnu/bits/socket2.h \ - /usr/include/x86_64-linux-gnu/bits/in.h ../skeletons/asn_codecs.h \ - ../skeletons/constr_TYPE.h ../skeletons/ber_tlv_length.h \ - ../skeletons/ber_tlv_tag.h ../skeletons/ber_decoder.h \ - ../skeletons/der_encoder.h ../skeletons/xer_decoder.h \ - ../skeletons/xer_encoder.h ../skeletons/per_decoder.h \ - ../skeletons/per_support.h ../skeletons/asn_system.h \ - ../skeletons/asn_bit_data.h ../skeletons/per_encoder.h \ - ../skeletons/constraints.h ../skeletons/asn_random_fill.h \ - ../skeletons/oer_decoder.h ../skeletons/oer_support.h \ - ../skeletons/oer_encoder.h ../skeletons/constraints.c \ - ../skeletons/asn_internal.h ../skeletons/asn_application.h \ - ../skeletons/ber_tlv_tag.c ../skeletons/ber_tlv_length.c - -/usr/include/stdc-predef.h: - -sys-common.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/sysexits.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../skeletons/asn_application.h: - -../skeletons/asn_system.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/netinet/in.h: - -/usr/include/x86_64-linux-gnu/sys/socket.h: - -/usr/include/x86_64-linux-gnu/sys/uio.h: - -/usr/include/x86_64-linux-gnu/bits/uio.h: - -/usr/include/x86_64-linux-gnu/bits/socket.h: - -/usr/include/x86_64-linux-gnu/bits/socket_type.h: - -/usr/include/x86_64-linux-gnu/bits/sockaddr.h: - -/usr/include/x86_64-linux-gnu/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/x86_64-linux-gnu/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/x86_64-linux-gnu/bits/socket2.h: - -/usr/include/x86_64-linux-gnu/bits/in.h: - -../skeletons/asn_codecs.h: - -../skeletons/constr_TYPE.h: - -../skeletons/ber_tlv_length.h: - -../skeletons/ber_tlv_tag.h: - -../skeletons/ber_decoder.h: - -../skeletons/der_encoder.h: - -../skeletons/xer_decoder.h: - -../skeletons/xer_encoder.h: - -../skeletons/per_decoder.h: - -../skeletons/per_support.h: - -../skeletons/asn_system.h: - -../skeletons/asn_bit_data.h: - -../skeletons/per_encoder.h: - -../skeletons/constraints.h: - -../skeletons/asn_random_fill.h: - -../skeletons/oer_decoder.h: - -../skeletons/oer_support.h: - -../skeletons/oer_encoder.h: - -../skeletons/constraints.c: - -../skeletons/asn_internal.h: - -../skeletons/asn_application.h: - -../skeletons/ber_tlv_tag.c: - -../skeletons/ber_tlv_length.c: diff --git a/asn1c/.deps/unber.Po b/asn1c/.deps/unber.Po deleted file mode 100644 index 7779b79..0000000 --- a/asn1c/.deps/unber.Po +++ /dev/null @@ -1,355 +0,0 @@ -unber.o: unber.c /usr/include/stdc-predef.h sys-common.h ../config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/sysexits.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../skeletons/asn_application.h ../skeletons/asn_system.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ - /usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \ - /usr/include/x86_64-linux-gnu/sys/uio.h \ - /usr/include/x86_64-linux-gnu/bits/uio.h \ - /usr/include/x86_64-linux-gnu/bits/socket.h \ - /usr/include/x86_64-linux-gnu/bits/socket_type.h \ - /usr/include/x86_64-linux-gnu/bits/sockaddr.h \ - /usr/include/x86_64-linux-gnu/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/x86_64-linux-gnu/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/x86_64-linux-gnu/bits/socket2.h \ - /usr/include/x86_64-linux-gnu/bits/in.h ../skeletons/asn_codecs.h \ - ../skeletons/constr_TYPE.h ../skeletons/ber_tlv_length.h \ - ../skeletons/ber_tlv_tag.h ../skeletons/ber_decoder.h \ - ../skeletons/der_encoder.h ../skeletons/xer_decoder.h \ - ../skeletons/xer_encoder.h ../skeletons/per_decoder.h \ - ../skeletons/per_support.h ../skeletons/asn_system.h \ - ../skeletons/asn_bit_data.h ../skeletons/per_encoder.h \ - ../skeletons/constraints.h ../skeletons/asn_random_fill.h \ - ../skeletons/constraints.c ../skeletons/asn_internal.h \ - ../skeletons/asn_application.h ../skeletons/ber_tlv_tag.c \ - ../skeletons/ber_tlv_length.c ../skeletons/INTEGER.c \ - ../skeletons/INTEGER.h ../skeletons/asn_codecs_prim.h \ - ../skeletons/OBJECT_IDENTIFIER.c ../skeletons/OBJECT_IDENTIFIER.h \ - ../skeletons/OCTET_STRING.h ../skeletons/RELATIVE-OID.c \ - ../skeletons/RELATIVE-OID.h ../skeletons/asn_codecs_prim.c \ - ../libasn1parser/asn1p_integer.c ../skeletons/asn_internal.c - -/usr/include/stdc-predef.h: - -sys-common.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/sysexits.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../skeletons/asn_application.h: - -../skeletons/asn_system.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/netinet/in.h: - -/usr/include/x86_64-linux-gnu/sys/socket.h: - -/usr/include/x86_64-linux-gnu/sys/uio.h: - -/usr/include/x86_64-linux-gnu/bits/uio.h: - -/usr/include/x86_64-linux-gnu/bits/socket.h: - -/usr/include/x86_64-linux-gnu/bits/socket_type.h: - -/usr/include/x86_64-linux-gnu/bits/sockaddr.h: - -/usr/include/x86_64-linux-gnu/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/x86_64-linux-gnu/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/x86_64-linux-gnu/bits/socket2.h: - -/usr/include/x86_64-linux-gnu/bits/in.h: - -../skeletons/asn_codecs.h: - -../skeletons/constr_TYPE.h: - -../skeletons/ber_tlv_length.h: - -../skeletons/ber_tlv_tag.h: - -../skeletons/ber_decoder.h: - -../skeletons/der_encoder.h: - -../skeletons/xer_decoder.h: - -../skeletons/xer_encoder.h: - -../skeletons/per_decoder.h: - -../skeletons/per_support.h: - -../skeletons/asn_system.h: - -../skeletons/asn_bit_data.h: - -../skeletons/per_encoder.h: - -../skeletons/constraints.h: - -../skeletons/asn_random_fill.h: - -../skeletons/constraints.c: - -../skeletons/asn_internal.h: - -../skeletons/asn_application.h: - -../skeletons/ber_tlv_tag.c: - -../skeletons/ber_tlv_length.c: - -../skeletons/INTEGER.c: - -../skeletons/INTEGER.h: - -../skeletons/asn_codecs_prim.h: - -../skeletons/OBJECT_IDENTIFIER.c: - -../skeletons/OBJECT_IDENTIFIER.h: - -../skeletons/OCTET_STRING.h: - -../skeletons/RELATIVE-OID.c: - -../skeletons/RELATIVE-OID.h: - -../skeletons/asn_codecs_prim.c: - -../libasn1parser/asn1p_integer.c: - -../skeletons/asn_internal.c: diff --git a/asn1c/Makefile b/asn1c/Makefile deleted file mode 100644 index c5c9e17..0000000 --- a/asn1c/Makefile +++ /dev/null @@ -1,1176 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# asn1c/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -bin_PROGRAMS = asn1c$(EXEEXT) unber$(EXEEXT) enber$(EXEEXT) -subdir = asn1c -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -asn1c_SOURCES = asn1c.c -asn1c_OBJECTS = asn1c.$(OBJEXT) -asn1c_DEPENDENCIES = $(top_builddir)/libasn1common/libasn1common.la \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1print/libasn1print.la \ - $(top_builddir)/libasn1fix/libasn1fix.la \ - $(top_builddir)/libasn1compiler/libasn1compiler.la -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -enber_SOURCES = enber.c -enber_OBJECTS = enber.$(OBJEXT) -enber_LDADD = $(LDADD) -unber_SOURCES = unber.c -unber_OBJECTS = unber.$(OBJEXT) -unber_DEPENDENCIES = $(top_builddir)/libasn1common/libasn1common.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = asn1c.c enber.c unber.c -DIST_SOURCES = asn1c.c enber.c unber.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/asn1c -abs_srcdir = /home/nokia/mouse07410/asn1c/asn1c -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -AM_CPPFLAGS = \ - -I${top_srcdir}/libasn1compiler \ - -I${top_srcdir}/libasn1common \ - -I${top_srcdir}/libasn1parser \ - -I${top_srcdir}/libasn1print \ - -I${top_srcdir}/libasn1fix \ - -I${top_srcdir}/skeletons \ - -DDATADIR=\"$(pkgdatadir)\" - -asn1c_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1print/libasn1print.la \ - $(top_builddir)/libasn1fix/libasn1fix.la \ - $(top_builddir)/libasn1compiler/libasn1compiler.la - -unber_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la - -noinst_HEADERS = sys-common.h -dist_check_SCRIPTS = check-xxber.sh -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-xxber.*.tmp -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign asn1c/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign asn1c/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -asn1c$(EXEEXT): $(asn1c_OBJECTS) $(asn1c_DEPENDENCIES) $(EXTRA_asn1c_DEPENDENCIES) - @rm -f asn1c$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(asn1c_OBJECTS) $(asn1c_LDADD) $(LIBS) - -enber$(EXEEXT): $(enber_OBJECTS) $(enber_DEPENDENCIES) $(EXTRA_enber_DEPENDENCIES) - @rm -f enber$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(enber_OBJECTS) $(enber_LDADD) $(LIBS) - -unber$(EXEEXT): $(unber_OBJECTS) $(unber_DEPENDENCIES) $(EXTRA_unber_DEPENDENCIES) - @rm -f unber$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unber_OBJECTS) $(unber_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1c.Po -include ./$(DEPDIR)/enber.Po -include ./$(DEPDIR)/unber.Po - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-xxber.sh.log: check-xxber.sh - @p='check-xxber.sh'; \ - b='check-xxber.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(PROGRAMS) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/asn1c/Makefile.am b/asn1c/Makefile.am deleted file mode 100644 index 40f000f..0000000 --- a/asn1c/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -@CODE_COVERAGE_RULES@ - -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I${top_srcdir}/libasn1compiler \ - -I${top_srcdir}/libasn1common \ - -I${top_srcdir}/libasn1parser \ - -I${top_srcdir}/libasn1print \ - -I${top_srcdir}/libasn1fix \ - -I${top_srcdir}/skeletons \ - -DDATADIR=\"$(pkgdatadir)\" - -asn1c_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1print/libasn1print.la \ - $(top_builddir)/libasn1fix/libasn1fix.la \ - $(top_builddir)/libasn1compiler/libasn1compiler.la - -unber_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la - -bin_PROGRAMS = asn1c unber enber - -noinst_HEADERS = sys-common.h - -dist_check_SCRIPTS = check-xxber.sh -TESTS_ENVIRONMENT= top_srcdir=${top_srcdir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-xxber.*.tmp diff --git a/asn1c/Makefile.in b/asn1c/Makefile.in deleted file mode 100644 index b27be65..0000000 --- a/asn1c/Makefile.in +++ /dev/null @@ -1,1078 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = asn1c$(EXEEXT) unber$(EXEEXT) enber$(EXEEXT) -subdir = asn1c -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -asn1c_SOURCES = asn1c.c -asn1c_OBJECTS = asn1c.$(OBJEXT) -asn1c_DEPENDENCIES = $(top_builddir)/libasn1common/libasn1common.la \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1print/libasn1print.la \ - $(top_builddir)/libasn1fix/libasn1fix.la \ - $(top_builddir)/libasn1compiler/libasn1compiler.la -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -enber_SOURCES = enber.c -enber_OBJECTS = enber.$(OBJEXT) -enber_LDADD = $(LDADD) -unber_SOURCES = unber.c -unber_OBJECTS = unber.$(OBJEXT) -unber_DEPENDENCIES = $(top_builddir)/libasn1common/libasn1common.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = asn1c.c enber.c unber.c -DIST_SOURCES = asn1c.c enber.c unber.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I${top_srcdir}/libasn1compiler \ - -I${top_srcdir}/libasn1common \ - -I${top_srcdir}/libasn1parser \ - -I${top_srcdir}/libasn1print \ - -I${top_srcdir}/libasn1fix \ - -I${top_srcdir}/skeletons \ - -DDATADIR=\"$(pkgdatadir)\" - -asn1c_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1print/libasn1print.la \ - $(top_builddir)/libasn1fix/libasn1fix.la \ - $(top_builddir)/libasn1compiler/libasn1compiler.la - -unber_LDADD = \ - $(top_builddir)/libasn1common/libasn1common.la - -noinst_HEADERS = sys-common.h -dist_check_SCRIPTS = check-xxber.sh -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-xxber.*.tmp -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign asn1c/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign asn1c/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -asn1c$(EXEEXT): $(asn1c_OBJECTS) $(asn1c_DEPENDENCIES) $(EXTRA_asn1c_DEPENDENCIES) - @rm -f asn1c$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(asn1c_OBJECTS) $(asn1c_LDADD) $(LIBS) - -enber$(EXEEXT): $(enber_OBJECTS) $(enber_DEPENDENCIES) $(EXTRA_enber_DEPENDENCIES) - @rm -f enber$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(enber_OBJECTS) $(enber_LDADD) $(LIBS) - -unber$(EXEEXT): $(unber_OBJECTS) $(unber_DEPENDENCIES) $(EXTRA_unber_DEPENDENCIES) - @rm -f unber$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unber_OBJECTS) $(unber_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enber.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unber.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-xxber.sh.log: check-xxber.sh - @p='check-xxber.sh'; \ - b='check-xxber.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(PROGRAMS) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/asn1c/README b/asn1c/README deleted file mode 100644 index 47541d9..0000000 --- a/asn1c/README +++ /dev/null @@ -1,3 +0,0 @@ -asn1c - The ASN.1 Compiler -unber - The ASN.1 BER Decoder -enber - Reverse unber(1) output back into BER diff --git a/asn1c/asn1c.c b/asn1c/asn1c.c deleted file mode 100644 index b67f9e7..0000000 --- a/asn1c/asn1c.c +++ /dev/null @@ -1,585 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin and contributors. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ -/* - * This is the program that connects the libasn1* libraries together. - * It uses them in turn to parse, fix and then compile or print the ASN.1 tree. - */ -#include "sys-common.h" - -#undef COPYRIGHT -#define COPYRIGHT "Copyright (c) 2003-2017 Lev Walkin and contributors.\n" - -#include /* Parse the ASN.1 file and build a tree */ -#include /* Fix the ASN.1 tree */ -#include /* Print the ASN.1 tree */ -#include /* Compile the ASN.1 tree */ -#include - -#include /* Portable basename(3) and dirname(3) */ - -#ifdef _WIN32 -#include -#include -#else -#include -#endif - -static void usage(const char *av0); /* Print the Usage screen and exit */ -static int importStandardModules(asn1p_t *asn, const char *skeletons_dir); - -int -main(int ac, char **av) { - enum asn1p_flags asn1_parser_flags = A1P_NOFLAGS; - enum asn1f_flags asn1_fixer_flags = A1F_NOFLAGS; - enum asn1c_flags asn1_compiler_flags = - A1C_NO_C99 | A1C_GEN_OER | A1C_GEN_PER | A1C_GEN_EXAMPLE; - enum asn1print_flags asn1_printer_flags = APF_NOFLAGS; - int print_arg__print_out = 0; /* Don't compile, just print parsed */ - int print_arg__fix_n_print = 0; /* Fix and print */ - int warnings_as_errors = 0; /* Treat warnings as errors */ - char *skeletons_dir = NULL; /* Directory with supplementary stuff */ - char *destdir = NULL; /* Destination for generated files */ - char **debug_type_names = 0; /* Debug stuff */ - size_t debug_type_names_count = 0; - asn1p_t *asn = 0; /* An ASN.1 parsed tree */ - int ret; /* Return value from misc functions */ - int ch; /* Command line character */ - int i; /* Index in some loops */ - int exit_code = 0; /* Exit code */ - - /* - * Process command-line options. - */ - while((ch = getopt(ac, av, "D:d:EFf:g:hn:LPp:RS:vW:X")) != -1) switch(ch) { - case 'D': - if(optarg && *optarg) { - size_t optarg_len = strlen(optarg); - free(destdir); - destdir = calloc(1, optarg_len + 2); /* + "/\0" */ - assert(destdir); - strcpy(destdir, optarg); - if(destdir[optarg_len - 1] != '/') { - destdir[optarg_len] = '/'; - } - } else { - free(destdir); - destdir = NULL; - } - break; - case 'd': - if(strncmp(optarg, "ebug-type-naming=", 17) == 0) { - char **p = realloc(debug_type_names, - (debug_type_names_count + 2) * sizeof(*p)); - assert(p); - debug_type_names = p; - debug_type_names[debug_type_names_count++] = - strdup(optarg + 17); - debug_type_names[debug_type_names_count] = NULL; - break; - } else if(strcmp(optarg, "ebug-output-origin-lines") == 0) { - asn1_compiler_flags |= A1C_DEBUG_OUTPUT_ORIGIN_LINES; - break; - } - usage(av[0]); - case 'E': - print_arg__print_out = 1; - break; - case 'F': - print_arg__fix_n_print = 1; - break; - case 'f': - if(strcmp(optarg, "all-defs-global") == 0) { - asn1_compiler_flags |= A1C_ALL_DEFS_GLOBAL; - } else if(strcmp(optarg, "bless-SIZE") == 0) { - asn1_fixer_flags |= A1F_EXTENDED_SizeConstraint; - } else if(strcmp(optarg, "compound-names") == 0) { - asn1_compiler_flags |= A1C_COMPOUND_NAMES; - } else if(strcmp(optarg, "indirect-choice") == 0) { - asn1_compiler_flags |= A1C_INDIRECT_CHOICE; - } else if(strncmp(optarg, "known-extern-type=", 18) == 0) { - char *known_type = optarg + 18; - ret = asn1f_make_known_external_type(known_type); - assert(ret == 0 || errno == EEXIST); - } else if(strcmp(optarg, "native-types") == 0) { - fprintf(stderr, "-f%s: Deprecated option\n", optarg); - asn1_compiler_flags &= ~A1C_USE_WIDE_TYPES; - } else if(strcmp(optarg, "wide-types") == 0) { - asn1_compiler_flags |= A1C_USE_WIDE_TYPES; - } else if(strcmp(optarg, "line-refs") == 0) { - asn1_compiler_flags |= A1C_LINE_REFS; - } else if(strcmp(optarg, "no-constraints") == 0) { - asn1_compiler_flags |= A1C_NO_CONSTRAINTS; - } else if(strcmp(optarg, "no-include-deps") == 0) { - asn1_compiler_flags |= A1C_NO_INCLUDE_DEPS; - } else if(strcmp(optarg, "includes-quoted") == 0) { - asn1_compiler_flags |= A1C_INCLUDES_QUOTED; - } else if(strcmp(optarg, "unnamed-unions") == 0) { - asn1_compiler_flags |= A1C_UNNAMED_UNIONS; - } else if(strcmp(optarg, "skeletons-copy") == 0) { - fprintf(stderr, "-f%s: Deprecated option\n", optarg); - asn1_compiler_flags &= ~A1C_LINK_SKELETONS; - } else if(strcmp(optarg, "link-skeletons") == 0) { - asn1_compiler_flags |= A1C_LINK_SKELETONS; - } else { - fprintf(stderr, "-f%s: Invalid argument\n", optarg); - exit(EX_USAGE); - } - break; - case 'g': - if(strcmp(optarg, "en-PER") == 0) { - asn1_compiler_flags |= A1C_GEN_PER; - } else if(strcmp(optarg, "en-OER") == 0) { - asn1_compiler_flags |= A1C_GEN_OER; - } else if(strcmp(optarg, "en-example") == 0) { - asn1_compiler_flags |= A1C_GEN_EXAMPLE; - } else if(strcmp(optarg, "en-autotools") == 0) { - asn1_compiler_flags |= A1C_GEN_AUTOTOOLS_EXAMPLE; - } else { - fprintf(stderr, "-g%s: Invalid argument\n", optarg); - exit(EX_USAGE); - } - break; - case 'h': - usage(av[0]); - case 'n': - if(strcmp(optarg, "o-gen-PER") == 0) { - asn1_compiler_flags &= ~A1C_GEN_PER; - } else if(strcmp(optarg, "o-gen-OER") == 0) { - asn1_compiler_flags &= ~A1C_GEN_OER; - } else if(strcmp(optarg, "o-gen-example") == 0) { - asn1_compiler_flags &= ~A1C_GEN_EXAMPLE; - } else if(strcmp(optarg, "o-gen-autotools") == 0) { - asn1_compiler_flags &= ~A1C_GEN_AUTOTOOLS_EXAMPLE; - } else { - fprintf(stderr, "-n%s: Invalid argument\n", optarg); - exit(EX_USAGE); - } - break; - case 'P': - asn1_compiler_flags |= A1C_PRINT_COMPILED; - asn1_compiler_flags &= ~A1C_NO_C99; - break; - case 'p': - if(strncmp(optarg, "du=", 3) == 0) { - char *pduname = optarg + 3; - if(strcmp(pduname, "all") == 0) { - asn1_compiler_flags |= A1C_PDU_ALL; - } else if(strcmp(pduname, "auto") == 0) { - asn1_compiler_flags |= A1C_PDU_AUTO; - } else if(pduname[0] >= 'A' && pduname[0] <= 'Z') { - asn1c__add_pdu_type(pduname); - asn1_compiler_flags |= A1C_PDU_TYPE; - } else { - fprintf(stderr, "-pdu=%s: expected -pdu={all|auto|Type}\n", - pduname); - exit(EX_USAGE); - } - } else if(strcmp(optarg, "rint-class-matrix") == 0) { - asn1_printer_flags |= APF_PRINT_CLASS_MATRIX; - } else if(strcmp(optarg, "rint-constraints") == 0) { - asn1_printer_flags |= APF_PRINT_CONSTRAINTS; - } else if(strcmp(optarg, "rint-lines") == 0) { - asn1_printer_flags |= APF_LINE_COMMENTS; - } else { - fprintf(stderr, "-p%s: Invalid argument\n", optarg); - exit(EX_USAGE); - } - break; - case 'R': - asn1_compiler_flags |= A1C_OMIT_SUPPORT_CODE; - break; - case 'S': - skeletons_dir = optarg; - break; - case 'v': - fprintf(stderr, "ASN.1 Compiler, v" VERSION "\n" COPYRIGHT); - exit(0); - break; - case 'W': - if(strcmp(optarg, "error") == 0) { - warnings_as_errors = 1; - break; - } else if(strcmp(optarg, "debug-lexer") == 0) { - asn1_parser_flags |= A1P_DEBUG_LEXER; - break; - } else if(strcmp(optarg, "debug-parser") == 0) { - asn1_parser_flags |= A1P_DEBUG_PARSER; - break; - } else if(strcmp(optarg, "debug-fixer") == 0) { - asn1_fixer_flags |= A1F_DEBUG; - break; - } else if(strcmp(optarg, "debug-compiler") == 0) { - asn1_compiler_flags |= A1C_DEBUG; - break; - } else { - fprintf(stderr, "-W%s: Invalid argument\n", optarg); - exit(EX_USAGE); - } - break; - case 'X': - print_arg__print_out = 1; /* Implicit -E */ - print_arg__fix_n_print = 1; /* Implicit -F */ - asn1_printer_flags |= APF_PRINT_XML_DTD; - break; - default: - usage(av[0]); - } - - /* - * Validate the options combination. - */ - if(print_arg__print_out) { - if((asn1_printer_flags & APF_PRINT_CONSTRAINTS) - && !print_arg__fix_n_print) { - fprintf(stderr, - "Error: -print-constraints argument requires -E -F\n"); - exit(EX_USAGE); - } - } else { - if(print_arg__fix_n_print) { - fprintf(stderr, "Error: -F requires -E\n"); - exit(EX_USAGE); - } - if(asn1_printer_flags) { - fprintf(stderr, "Error: -print-... arguments require -E\n"); - exit(EX_USAGE); - } - } - - /* - * Ensure that there are some input files present. - */ - if(ac > optind) { - ac -= optind; - av += optind; - } else { - const char *bin_name = a1c_basename(av[0], NULL); - fprintf(stderr, - "%s: No input files specified. " - "Try '%s -h' for more information\n", - bin_name, bin_name); - exit(1); - } - - /* - * Make sure the skeleton directory is out there. - */ - if(skeletons_dir == NULL) { - struct stat sb; - skeletons_dir = DATADIR; - if((av[-optind][0] == '.' || av[-optind][1] == '/') - && stat(skeletons_dir, &sb)) { - /* - * The default skeletons directory does not exist, - * compute it from my file name: - * ./asn1c/asn1c -> ./skeletons - */ - const char *skel_dir; - size_t len; - - skel_dir = a1c_dirname(av[-optind]); - - len = strlen(skel_dir) + sizeof("/../skeletons"); - skeletons_dir = malloc(len); - assert(skeletons_dir); - snprintf(skeletons_dir, len, "%s/../skeletons", skel_dir); - if(stat(skeletons_dir, &sb)) { - fprintf(stderr, - "WARNING: skeletons are neither in " - "\"%s\" nor in \"%s\"!\n", - DATADIR, skeletons_dir); - if(warnings_as_errors) exit(EX_OSFILE); - } - } - } - - /* - * Iterate over input files and parse each. - * All syntax trees from all files will be bundled together. - */ - for(i = 0; i < ac; i++) { - asn1p_t *new_asn; - - new_asn = asn1p_parse_file(av[i], asn1_parser_flags); - if(new_asn == NULL) { - fprintf(stderr, "Cannot parse \"%s\"\n", av[i]); - exit_code = EX_DATAERR; - goto cleanup; - } - - /* - * Bundle the parsed tree with existing one. - */ - if(asn) { - asn1p_module_t *mod; - while((mod = TQ_REMOVE(&(new_asn->modules), mod_next))) - TQ_ADD(&(asn->modules), mod, mod_next); - asn1p_delete(new_asn); - } else { - asn = new_asn; - } - } - - /* These are mostly notes for the human readers */ - assert(asn); - assert(skeletons_dir); - - /* - * Dump the parsed ASN.1 tree if -E specified and -F is NOT given. - */ - if(print_arg__print_out && !print_arg__fix_n_print) { - if(asn1print(asn, asn1_printer_flags)) { - exit_code = EX_SOFTWARE; - goto cleanup; - } - return 0; - } - - /* - * Read in the files from skeletons/standard-modules - */ - if(importStandardModules(asn, skeletons_dir)) { - if(warnings_as_errors) { - exit_code = EX_DATAERR; - goto cleanup; - } - } else { - asn1f_use_standard_namespaces(asn); - } - - /* - * Process the ASN.1 specification: perform semantic checks, - * expand references, etc, etc. - * This function will emit necessary warnings and error messages. - */ - ret = asn1f_process(asn, asn1_fixer_flags, - NULL /* default fprintf(stderr) */); - switch(ret) { - case 0: - break; /* All clear */ - case 1: - if(!warnings_as_errors) { - break; - } - /* Fall through */ - case -1: - exit_code = EX_DATAERR; /* Fatal failure */ - goto cleanup; - } - - /* - * Dump the parsed ASN.1 tree if -E specified and -F is given. - */ - if(print_arg__print_out && print_arg__fix_n_print) { - if(asn1print(asn, asn1_printer_flags)) { - exit_code = EX_SOFTWARE; - goto cleanup; - } - return 0; - } - - /* - * -debug-type-naming=Type - */ - if(debug_type_names) { - asn1c_debug_type_naming(asn, asn1_compiler_flags, debug_type_names); - return 0; - } - - /* - * Compile the ASN.1 tree into a set of source files - * of another language. - */ - if(asn1_compile(asn, skeletons_dir, destdir ? destdir : "", - asn1_compiler_flags, ac + optind, optind, av - optind)) { - exit_code = EX_SOFTWARE; - } - -cleanup: - asn1p_delete(asn); - asn1p_lex_destroy(); - if (exit_code) exit(exit_code); - - return 0; -} - -/* - * Parse and import *.asn1 from skeletons/standard-modules - */ -static int -importStandardModules(asn1p_t *asn, const char *skeletons_dir) { - asn1p_t *new_asn; - asn1p_module_t *mod; - const char *filename; - char *fullname; - char *target_dir; - int target_dir_len; - int len; -#ifdef _WIN32 - intptr_t dir; - struct _finddata_t c_file; - char *pattern; -#else - struct dirent *dp; - DIR *dir; -#endif - int ret = 0; - - /* Notes for the human reader */ - assert(asn); - assert(skeletons_dir); - - /* - * Figure out the standard-modules directory. - */ - target_dir_len = strlen(skeletons_dir) + sizeof("/standard-modules") - 1; - target_dir = malloc(target_dir_len + 1); - assert(target_dir); - snprintf(target_dir, target_dir_len + 1, "%s/standard-modules", - skeletons_dir); - -#ifdef _WIN32 - len = target_dir_len + sizeof("/*.asn1"); - pattern = malloc(len); - assert(pattern); - snprintf(pattern, len, "%s/*.asn1", target_dir); - dir = _findfirst(pattern, &c_file); - if(dir == -1L) { -#else - dir = opendir(target_dir); - if(!dir) { -#endif - fprintf(stderr, "WARNING: Cannot find standard modules in %s\n", - target_dir); - return -1; - } - -#ifdef _WIN32 - do { - filename = c_file.name; -#else - while((dp = readdir(dir))) { - filename = dp->d_name; -#endif - len = strlen(filename); - if(len <= 5 || strcmp(filename + len - 5, ".asn1")) continue; - len = target_dir_len + 1 + len + 1; - fullname = malloc(len); - if(!fullname) continue; /* Just skip it, no big deal */ - snprintf(fullname, len, "%s/%s", target_dir, filename); - filename = fullname; - - new_asn = asn1p_parse_file(filename, A1P_NOFLAGS); - if(new_asn == NULL) { - fprintf(stderr, "WARNING: Cannot parse standard module \"%s\"\n", - filename); - ret = -1; - continue; - } - - /* Import these modules and mark them as "standard" */ - while((mod = TQ_REMOVE(&(new_asn->modules), mod_next))) { - mod->_tags |= MT_STANDARD_MODULE; - TQ_ADD(&(asn->modules), mod, mod_next); - } - asn1p_delete(new_asn); - asn1p_lex_destroy(); - -#ifdef _WIN32 - } while(_findnext(dir, &c_file) == 0); - _findclose(dir); -#else - free(fullname); - } /* while(readdir()) */ - closedir(dir); -#endif - -#ifdef _WIN32 - free(pattern); -#endif - free(target_dir); - - return ret; -} - -/* - * Print the usage screen and exit(EX_USAGE). - */ -static void __attribute__((noreturn)) -usage(const char *av0) { - /* clang-format off */ - fprintf(stderr, -"ASN.1 Compiler, v" VERSION "\n" COPYRIGHT -"Usage: %s [options] file ...\n" -"Options:\n" -" -E Run only the ASN.1 parser and print out the tree\n" -" -F During -E operation, also perform tree fixing\n" -"\n" -" -P Concatenate and print the compiled text\n" -" -R Restrict output (tables only, no support code)\n" -" -S Directory with support (skeleton?) files\n" -" (Default is \"%s\")\n" -" -D Destination directory for generated files (default current dir)\n" -" -X Generate and print the XML DTD\n" -"\n" - -" -Werror Treat warnings as errors; abort if any warning\n" -" -Wdebug-lexer Enable verbose debugging output from lexer\n" -" -Wdebug-parser Enable verbose debugging output from parser\n" -" -Wdebug-fixer --//-- semantics processor\n" -" -Wdebug-compiler --//-- compiler\n" -"\n" - -" -fbless-SIZE Allow SIZE() constraint for INTEGER etc (non-std.)\n" -" -fcompound-names Disambiguate C's struct NAME's inside top-level types\n" -" -findirect-choice Compile members of CHOICE as indirect pointers\n" -" -fincludes-quoted Generate #includes in \"double\" instead of quotes\n" -" -fknown-extern-type= Pretend the specified type is known\n" -" -fline-refs Include ASN.1 module's line numbers in comments\n" -" -fno-constraints Do not generate the constraint checking code\n" -" -fno-include-deps Do not generate the courtesy #includes for dependencies\n" -" -funnamed-unions Enable unnamed unions in structures\n" -" -fwide-types Use INTEGER_t instead of \"long\" by default, etc.\n" -"\n" - -" -no-gen-OER Do not generate the OER (X.696) support code\n" -" -no-gen-PER Do not generate the PER (X.691) support code\n" -" -no-gen-example Do not generate the ASN.1 format converter example\n" -" -gen-autotools Generate example top-level configure.ac and Makefile.am\n" -" -pdu={all|auto|Type} Generate PDU table (discover PDUs automatically)\n" -"\n" - -" -print-class-matrix Print out the collected object class matrix (debug)\n" -" -print-constraints Explain subtype constraints (debug)\n" -" -print-lines Generate \"-- #line\" comments in -E output\n" - - , - a1c_basename(av0, NULL), DATADIR); - /* clang-format on */ - exit(EX_USAGE); -} diff --git a/asn1c/check-xxber.sh b/asn1c/check-xxber.sh deleted file mode 100755 index e099707..0000000 --- a/asn1c/check-xxber.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -ORIG="./.check-xxber.orig.$$.tmp" -TEST="./.check-xxber.test.$$.tmp" - -# Test diff(1) capabilities -diff -a . . 2>/dev/null && diffArgs="-a" # Assume text files -diff -u . . 2>/dev/null && diffArgs="$diffArgs -u" # Unified diff output - -cat< $ORIG - -

US

- -

1¦ G

- -

1¦ G

-
- -

1¦ G

-
-
- - -EOM - -./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1 -diff $diffArgs "$ORIG" "$TEST" >/dev/null 2>&1 -diffExitCode=$? - -if [ "$diffExitCode" = "0" ]; then - echo "FAILED: $0: expected failure, got success" - exit 42; -fi - -# Append necessary terminator -echo '
' >> $ORIG - -# Try trancoding again -./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1 - -diff $diffArgs "$ORIG" "$TEST" -diffExitCode=$? - -rm -f $ORIG $TEST - -exit $diffExitCode diff --git a/asn1c/enber.c b/asn1c/enber.c deleted file mode 100644 index 3aeab6c..0000000 --- a/asn1c/enber.c +++ /dev/null @@ -1,404 +0,0 @@ -/*- - * Copyright (c) 2004, 2005 Lev Walkin . All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ -#include "sys-common.h" - -#include /* For static string tables */ - -#include -#include -#include -#include - -#undef COPYRIGHT -#define COPYRIGHT "Copyright (c) 2004, 2005 Lev Walkin \n" - -static void usage(const char *av0, int); /* Print the Usage screen and exit */ -static int process(const char *fname); /* Perform the BER decoding */ -static int process_line(const char *fname, char *line, int lineno); - -static int no_validation; /* -n */ - -int -main(int ac, char **av) { - int ch; /* Command line character */ - int i; /* Index in some loops */ - - /* - * Process command-line options. - */ - while((ch = getopt(ac, av, "nhv")) != -1) switch(ch) { - case 'n': - no_validation++; - break; - case 'v': - usage(av[0], 1); - break; - case 'h': - default: - usage(av[0], 0); - } - - /* - * Ensure that there are some input files present. - */ - if(ac > optind) { - ac -= optind; - av += optind; - } else { - fprintf(stderr, "%s: No input files specified\n", av[0]); - exit(1); - } - - setvbuf(stdout, 0, _IOLBF, 0); - - /* - * Iterate over input files and parse each. - * All syntax trees from all files will be bundled together. - */ - for(i = 0; i < ac; i++) { - if(process(av[i])) exit(EX_DATAERR); - } - - return 0; -} - -/* - * Print the usage screen and exit(EX_USAGE). - */ -static void -usage(const char *av0, int copyright_only) { - fprintf(stderr, - "Convert unber(1)'s output back into BER, " - "v" VERSION "\n" COPYRIGHT); - if(copyright_only) exit(0); - fprintf(stderr, - "Usage: %s [-n] [-] [file ...]\n" - "Options:\n" - " -n Disable XML input validation\n", - av0); - exit(EX_USAGE); -} - -/* - * Open the file and initiate recursive processing. - */ -static int -process(const char *fname) { - char buf[8192]; - char *collector = 0; - size_t collector_size = sizeof(buf); - size_t collector_offset = 0; - int lineno = 0; - FILE *fp; - - if(strcmp(fname, "-")) { - fp = fopen(fname, "r"); - if(!fp) { - perror(fname); - return -1; - } - } else { - fp = stdin; - } - - - while(fgets(buf, sizeof(buf), fp) || !feof(fp)) { - size_t len = strlen(buf); - - if(!len) continue; - if(collector_offset || buf[len - 1] != '\n') { - if((collector_size - collector_offset) <= len || !collector) { - collector_size <<= 1; - collector = REALLOC(collector, collector_size); - if(!collector) { - perror("realloc()"); - exit(EX_OSERR); - } - } - memcpy(collector + collector_offset, buf, len + 1); - collector_offset += len; - } - if(buf[len - 1] != '\n') continue; - - if(collector_offset) { - assert(collector[collector_offset - 1] == '\n'); - process_line(fname, collector, ++lineno); - collector_offset = 0; - } else { - process_line(fname, buf, ++lineno); - } - } - - if(fp != stdin) fclose(fp); - - return 0; -} - -static int -process_line(const char *fname, char *line, int lineno) { - char buf[32]; - char *op; /* '<' */ - char *cl; /* '>' */ - char *tcl_pos; /* tag class (T=") position */ - char *tl_pos; /* tag length (TL=") position */ - char *v_pos; /* value length (V=") position */ - int constr; - ber_tlv_tag_t tag_value; - ber_tlv_tag_t tag_class; - ber_tlv_tag_t tlv_tag; - ber_tlv_len_t tlv_len; - ber_tlv_len_t opt_tl_len; /* optional TL length */ - ssize_t ret; - - /* Skip the whitespace */ - for(; *line == ' ' || *line == '\t'; line++) - ; - - /* Find a tag opening angle bracket */ - op = line; - switch(*op) { - case '<': /* That's what we want! A tag opening */ - break; - case '\r': - case '\n': - case '#': /* This is a comment */ - return 0; - case '-': /* This is a comment (dash-dash) */ - if(op[1] == '-') { - return 0; - } - /* Fall through */ - default: - fprintf(stderr, "%s: Missing '<' after whitespace at line %d\n", fname, - lineno); - exit(EX_DATAERR); - } - - /* Find a tag closing angle bracket */ - for(; *line && *line != '>'; line++) { - if(*line < ' ') { - fprintf(stderr, "%s: Invalid charset (%d) at line %d\n", fname, - *(const unsigned char *)line, lineno); - exit(EX_DATAERR); - } - } - cl = line; - if(*cl != '>') { - fprintf(stderr, "%s: Missing '>' at line %d\n", fname, lineno); - exit(EX_DATAERR); - } - - /* Ignore closing tags */ - if(op[1] == '/') { - if(strchr(cl, '<')) { /* We are not very robust */ - fprintf(stderr, "%s: Multiple tags per line at line %d\n", fname, - lineno); - exit(EX_DATAERR); - } - /* End-of-content octets */ - if(op[2] == 'I') { - buf[0] = buf[1] = 0x00; - fwrite(buf, 1, 2, stdout); - } - return 0; - } - - switch(op[1]) { - case '!': - return 0; /* A comment */ - case '?': - return 0; /* An XML preamble */ - case 'C': - constr = 1; - break; - case 'P': - constr = 0; - break; - case 'I': - constr = 2; - break; - default: - fprintf(stderr, - "%s: Expected \"C\"/\"P\"/\"I\" as the XML tag name (%c) at " - "line %d\n", - fname, op[1], lineno); - exit(EX_DATAERR); - } - - *cl = '\0'; - if(cl[-1] == 'F') { - fprintf(stderr, - "%s: Detected pretty-printing of primitive types at line %d. " - "Re-run `unber` with -p option to disable pretty-printing.\n", - fname, lineno); - exit(EX_DATAERR); - } - - tcl_pos = strstr(op, "T=\"["); - tl_pos = strstr(op, "TL=\""); - v_pos = strstr(op, "V=\""); - if(!tcl_pos || (!v_pos && constr != 2)) { - fprintf(stderr, "%s: Mandatory attribute %s is not found at line %d\n", - fname, (!tcl_pos) ? "T" : "V", lineno); - exit(EX_DATAERR); - } - errno = 0; - opt_tl_len = tl_pos ? strtoul(tl_pos + 4, 0, 10) : 0; - if(constr == 2) { - tlv_len = 0; - } else { - tlv_len = strtoul(v_pos + 3, 0, 10); - } - if(errno || (opt_tl_len && opt_tl_len < 2) || tlv_len < 0) { - fprintf(stderr, "%s: Invalid TL or V value at line %d\n", fname, - lineno); - exit(EX_DATAERR); - } - - /* clang-format off */ - tcl_pos += 4; - switch(*tcl_pos) { - case 'U': /* UNIVERSAL */ - tag_class = ASN_TAG_CLASS_UNIVERSAL; break; - case 'P': /* PRIVATE */ - tag_class = ASN_TAG_CLASS_PRIVATE; break; - case 'A': /* APPLICATION */ - tag_class = ASN_TAG_CLASS_APPLICATION; break; - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': /* context */ - tag_class = ASN_TAG_CLASS_CONTEXT; break; - default: - fprintf(stderr, "%s: Invalid tag class (%c) at line %d\n", - fname, tcl_pos[4], lineno); - exit(EX_DATAERR); - } - for(;; tcl_pos++) { - switch(*tcl_pos) { - case '"': tcl_pos = ""; - case '\0': - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - break; - default: continue; - } - break; - } - /* clang-format on */ - - unsigned long tag_value_UL; - errno = 0; - if(!*tcl_pos || ((tag_value_UL = strtoul(tcl_pos, 0, 10)) > UINT_MAX) - || errno) { - fprintf(stderr, "%s: Invalid tag value (%c) at line %d\n", fname, - *tcl_pos, lineno); - exit(EX_DATAERR); - } else { - tag_value = tag_value_UL; - } - tlv_tag = ((tag_value << 2) | tag_class); - - ret = ber_tlv_tag_serialize(tlv_tag, buf, sizeof(buf)); - assert(ret >= 1 && (size_t)ret < sizeof(buf)); - if(constr == 2) { - buf[ret] = 0x80; - ret += 1; - } else { - ret += der_tlv_length_serialize(tlv_len, buf + ret, sizeof(buf) - ret); - assert(ret >= 2 && (size_t)ret < sizeof(buf)); - } - if(opt_tl_len && ret != opt_tl_len) { - fprintf(stderr, - "%s: Cannot encode TL at line %d " - "in the given number of bytes (%ld!=%ld)\n", - fname, lineno, (long)ret, (long)opt_tl_len); - exit(EX_DATAERR); - } - if(constr) *buf |= 0x20; /* Enable "constructed" bit */ - fwrite(buf, 1, ret, stdout); - - if(!constr) { - ber_tlv_len_t len; - for(len = 0, cl++; *cl && *cl != '<'; cl++, len++) { - unsigned char v; - int h; - if(*cl != '&') { - fputc(*cl, stdout); - continue; - } - cl++; - if(*cl != '#') { - fputc(*cl, stdout); - continue; - } - cl++; - if(*cl != 'x') { - fprintf(stderr, "%s: Expected \"&#xNN;\" at line %d\n", fname, - lineno); - exit(EX_DATAERR); - } - for(v = 0, h = 0; h < 2; h++) { - unsigned char clv = *++cl; - v <<= 4; - /* clang-format off */ - switch(clv) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - v |= clv - '0'; break; - case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': - v |= clv - 'A' + 10; break; - case 'a': case 'b': case 'c': - case 'd': case 'e': case 'f': - v |= clv - 'a' + 10; break; - default: - fprintf(stderr, - "%s: Expected \"&#xNN;\" at line %d (%c)\n", - fname, lineno, clv); - exit(EX_DATAERR); - } - /* clang-format on */ - } - cl++; - if(*cl != ';') { - fprintf(stderr, "%s: Expected \"&#xNN;\" at line %d\n", fname, - lineno); - exit(EX_DATAERR); - } - fputc(v, stdout); - } - if(len != tlv_len) { - if(no_validation) fprintf(stderr, "Warning: "); - fprintf(stderr, - "%s: Could not encode value of %ld chars " - "at line %d in %ld bytes\n", - fname, (long)len, lineno, (long)tlv_len); - if(!no_validation) exit(EX_DATAERR); - } - } - - return 0; -} diff --git a/asn1c/sys-common.h b/asn1c/sys-common.h deleted file mode 100644 index abbfd8f..0000000 --- a/asn1c/sys-common.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 2005 Lev Walkin . All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef HAVE_SYS_TYPES_H -#include -#endif - -#ifdef HAVE_SYS_STAT_H -#include /* for stat(2) */ -#endif - -#ifndef _WIN32 -#include /* for EX_USAGE & others */ -#else /* _WIN32 */ -#ifndef EX_USAGE -#define EX_USAGE 64 -#endif -#ifndef EX_DATAERR -#define EX_DATAERR 65 -#endif -#ifndef EX_SOFTWARE -#define EX_SOFTWARE 70 -#endif -#ifndef EX_OSERR -#define EX_OSERR 71 -#endif -#ifndef EX_OSFILE -#define EX_OSFILE 72 -#endif -#define snprintf _snprintf -#endif /* _WIN32 */ diff --git a/asn1c/unber.c b/asn1c/unber.c deleted file mode 100644 index a344921..0000000 --- a/asn1c/unber.c +++ /dev/null @@ -1,846 +0,0 @@ -/*- - * Copyright (c) 2004, 2005, 2006 Lev Walkin . - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ -#include "sys-common.h" - -#define ASN_DISABLE_PER_SUPPORT 1 -#define ASN_DISABLE_OER_SUPPORT 1 - -#include /* For static string tables */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#undef COPYRIGHT -#define COPYRIGHT "Copyright (c) 2004, 2005 Lev Walkin \n" - -static void usage(const char *av0); /* Print the Usage screen and exit */ -static int process(const char *fname); /* Perform the BER decoding */ -static int decode_tlv_from_string(const char *datastring); - -static int single_type_decoding = 0; /* -1 enables that */ -static int minimalistic = 0; /* -m enables that */ -static int pretty_printing = 1; /* -p disables that */ -static long skip_bytes = 0; /* -s controls that */ -static char indent_bytes[16] = " "; /* -i controls that */ - -int -main(int ac, char **av) { - int ch; /* Command line character */ - int i; /* Index in some loops */ - - /* - * Process command-line options. - */ - while((ch = getopt(ac, av, "1hi:mps:t:v")) != -1) switch(ch) { - case '1': - single_type_decoding = 1; - break; - case 'i': - i = atoi(optarg); - if(i >= 0 && i < (int)sizeof(indent_bytes)) { - memset(indent_bytes, ' ', i); - indent_bytes[i] = '\0'; - } else { - fprintf(stderr, "-i %s: Invalid indent value\n", optarg); - exit(EX_USAGE); - } - break; - case 'm': - minimalistic = 1; - break; - case 'p': - pretty_printing = 0; - break; - case 's': - skip_bytes = atol(optarg); - if(skip_bytes < 0) { - fprintf(stderr, "-s %s: positive value expected\n", optarg); - exit(EX_USAGE); - } - break; - case 't': - if(decode_tlv_from_string(optarg)) exit(EX_DATAERR); - exit(0); - case 'v': - fprintf(stderr, "ASN.1 BER Decoder, v" VERSION "\n" COPYRIGHT); - exit(0); - break; - case 'h': - default: - usage(av[0]); - } - - /* - * Ensure that there are some input files present. - */ - if(ac > optind) { - ac -= optind; - av += optind; - } else { - fprintf(stderr, "%s: No input files specified\n", av[0]); - exit(1); - } - - setvbuf(stdout, 0, _IOLBF, 0); - - /* - * Iterate over input files and parse each. - * All syntax trees from all files will be bundled together. - */ - for(i = 0; i < ac; i++) { - if(process(av[i])) exit(EX_DATAERR); - } - - return 0; -} - -/* - * Print the usage screen and exit(EX_USAGE). - */ -static void -usage(const char *av0) { - /* clang-format off */ - fprintf(stderr, -"ASN.1 BER Decoder, v" VERSION "\n" COPYRIGHT -"Usage: %s [options] [-] [file ...]\n" -"Options:\n" -" -1 Decode only the first BER structure (otherwise, until EOF)\n" -" -i Amount of spaces for output indentation (default is 4)\n" -" -m Minimalistic mode: print as little as possible\n" -" -p Do not attempt pretty-printing of known ASN.1 types\n" -" -s Ignore first bytes of input\n" -" -t Decode the given tag[/length] sequence (e.g. -t \"bf20\")\n" -"\n" -"The XML opening tag format is as follows:\n" -" \n" -"Where:\n" -" tform Which form the value is in: constructed (\"C\", \"I\") or primitive (\"P\")\n" -" off Offset of the encoded element in the unber input stream\n" -" tag The tag class and value in human readable form\n" -" tl_len The length of the TL (BER Tag and Length) encoding\n" -" v_len The length of the value (V, encoded by the L), may be \"Indefinite\"\n" -" type Likely name of the underlying ASN.1 type (for [UNIVERSAL n] tags)\n" -" [F] Indicates that the value was reformatted (pretty-printed)\n" -"See the manual page for details\n" - , av0); - /* clang-format on */ - exit(EX_USAGE); -} - -typedef enum pd_code { - PD_FAILED = -1, - PD_FINISHED = 0, - PD_EOF = 1, -} pd_code_e; -static pd_code_e process_deeper(const char *fname, FILE *fp, - size_t *offset, int level, - ssize_t limit, ber_tlv_len_t *frame_size, - ber_tlv_len_t effective_size, int expect_eoc); -static void print_TL(int fin, size_t offset, int level, int constr, - ssize_t tlen, ber_tlv_tag_t, ber_tlv_len_t, - ber_tlv_len_t effective_frame_size); -static int print_V(const char *fname, FILE *fp, ber_tlv_tag_t, ber_tlv_len_t); - -/* - * Open the file and initiate recursive processing. - */ -static int -process(const char *fname) { - FILE *fp; - pd_code_e pdc; - size_t offset = 0; /* Stream decoding position */ - ber_tlv_len_t frame_size = 0; /* Single frame size */ - - if(strcmp(fname, "-")) { - fp = fopen(fname, "rb"); - if(!fp) { - perror(fname); - return -1; - } - } else { - fp = stdin; - } - - /* - * Skip the requested amount of bytes. - */ - for(; offset < (size_t)skip_bytes; offset++) { - if(fgetc(fp) == -1) { - fprintf(stderr, "%s: input source (%zu bytes) " - "has less data than \"-s %ld\" switch " - "wants to skip\n", - fname, offset, skip_bytes); - if(fp != stdin) fclose(fp); - return -1; - } - } - - /* - * Fetch out BER-encoded data until EOF or error. - */ - do { - pdc = process_deeper(fname, fp, &offset, 0, -1, &frame_size, 0, 0); - } while(pdc == PD_FINISHED && !single_type_decoding); - - if(fp != stdin) fclose(fp); - - if(pdc == PD_FAILED) return -1; - return 0; -} - -/* - * Process the TLV recursively. - */ -static pd_code_e -process_deeper(const char *fname, FILE *fp, size_t *offset, int level, - ssize_t limit, ber_tlv_len_t *frame_size, - ber_tlv_len_t effective_size, int expect_eoc) { - unsigned char tagbuf[32]; - ssize_t tblen = 0; - pd_code_e pdc = PD_FINISHED; - ber_tlv_tag_t tlv_tag; - ber_tlv_len_t tlv_len; - ssize_t t_len; - ssize_t l_len; - - for(;;) { - ber_tlv_len_t local_esize = 0; - int constr; - int ch; - - if(limit == 0) return PD_FINISHED; - - if(limit >= 0 && tblen >= limit) { - fprintf(stderr, - "%s: Too long TL sequence (%ld >= %ld)" - " at %zu. " - "Broken or maliciously constructed file\n", - fname, (long)tblen, (long)limit, *offset); - return PD_FAILED; - } - - /* Get the next byte from the input stream */ - ch = fgetc(fp); - if(ch == -1) { - if(limit > 0 || expect_eoc) { - fprintf(stderr, - "%s: Unexpected end of file (TL)" - " at %zu\n", - fname, *offset); - return PD_FAILED; - } else { - return PD_EOF; - } - } - - tagbuf[tblen++] = ch; - - /* - * Decode the TLV tag. - */ - t_len = ber_fetch_tag(tagbuf, tblen, &tlv_tag); - switch(t_len) { - case -1: - fprintf(stderr, - "%s: Fatal error decoding tag" - " at %zu+%ld\n", - fname, *offset, (long)tblen); - return PD_FAILED; - case 0: - /* More data expected */ - continue; - } - - /* - * Decode the TLV length. - */ - constr = BER_TLV_CONSTRUCTED(tagbuf); - l_len = - ber_fetch_length(constr, tagbuf + t_len, tblen - t_len, &tlv_len); - switch(l_len) { - case -1: - fprintf(stderr, - "%s: Fatal error decoding value length" - " at %zu\n", - fname, *offset + t_len); - return PD_FAILED; - case 0: - /* More data expected */ - continue; - } - - /* Make sure the T & L decoders took exactly the whole buffer */ - assert((t_len + l_len) == tblen); - - if(!expect_eoc || tagbuf[0] || tagbuf[1]) - print_TL(0, *offset, level, constr, tblen, tlv_tag, tlv_len, - effective_size); - - if(limit != -1) { - /* If limit is set, account for the TL sequence */ - limit -= (t_len + l_len); - assert(limit >= 0); - - if(tlv_len > limit) { - fprintf(stderr, - "%s: Structure advertizes length (%ld) " - "greater than of a parent container (%ld)\n", - fname, (long)tlv_len, (long)limit); - return PD_FAILED; - } - } - - *offset += t_len + l_len; - *frame_size += t_len + l_len; - effective_size += t_len + l_len; - local_esize += t_len + l_len; - - if(expect_eoc && !tagbuf[0] && !tagbuf[1]) { - /* End of content octets */ - print_TL(1, *offset - 2, level - 1, 1, 2, 0, -1, effective_size); - return PD_FINISHED; - } - - if(constr) { - ber_tlv_len_t dec = 0; - /* - * This is a constructed type. Process recursively. - */ - printf(">\n"); /* Close the opening tag */ - if(tlv_len != -1 && limit != -1) { - assert(limit >= tlv_len); - } - pdc = process_deeper(fname, fp, offset, level + 1, - tlv_len == -1 ? limit : tlv_len, &dec, - t_len + l_len, tlv_len == -1); - if(pdc == PD_FAILED) return pdc; - if(limit != -1) { - assert(limit >= dec); - limit -= dec; - } - *frame_size += dec; - effective_size += dec; - local_esize += dec; - if(tlv_len == -1) { - tblen = 0; - if(pdc == PD_FINISHED && limit < 0 && !expect_eoc) return pdc; - continue; - } - } else { - assert(tlv_len >= 0); - if(print_V(fname, fp, tlv_tag, tlv_len)) return PD_FAILED; - - if(limit != -1) { - assert(limit >= tlv_len); - limit -= tlv_len; - } - *offset += tlv_len; - *frame_size += tlv_len; - effective_size += tlv_len; - local_esize += tlv_len; - } - - print_TL(1, *offset, level, constr, tblen, tlv_tag, tlv_len, - local_esize); - - tblen = 0; - - /* Report success for a single top level TLV */ - if(level == 0 && limit == -1 && !expect_eoc) break; - } /* for(;;) */ - - return pdc; -} - -static void -print_TL(int fin, size_t offset, int level, int constr, ssize_t tlen, - ber_tlv_tag_t tlv_tag, ber_tlv_len_t tlv_len, - ber_tlv_len_t effective_size) { - if(fin && !constr) { - printf("

\n"); - return; - } - - while(level-- > 0) fputs(indent_bytes, stdout); /* Print indent */ - printf(fin ? "\n"); - } -} - -/* - * Print the value in binary form, or reformat for pretty-printing. - */ -static int -print_V(const char *fname, FILE *fp, ber_tlv_tag_t tlv_tag, - ber_tlv_len_t tlv_len) { - asn_oid_arc_t *arcs = 0; /* Object identifier arcs */ - unsigned char *vbuf = 0; - asn1p_expr_type_e etype = 0; - asn1c_integer_t collector = 0; - int special_format = 0; - ssize_t i; - - /* Figure out what type is it */ - if(BER_TAG_CLASS(tlv_tag) == ASN_TAG_CLASS_UNIVERSAL && pretty_printing) { - ber_tlv_tag_t tvalue = BER_TAG_VALUE(tlv_tag); - etype = ASN_UNIVERSAL_TAG2TYPE(tvalue); - } - - /* - * Determine how to print the value, either in its native binary form, - * encoded with &xNN characters, or using pretty-printing. - * The basic string types (including "useful types", like UTCTime) - * are excempt from this determination logic, because their alphabets - * are subsets of the XML's native UTF-8 encoding. - */ - switch(etype) { - case ASN_BASIC_BOOLEAN: - if(tlv_len == 1) - special_format = 1; - else - etype = 0; - break; - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if((size_t)tlv_len <= sizeof(collector)) - special_format = 1; - else - etype = 0; - break; - case ASN_BASIC_OBJECT_IDENTIFIER: - case ASN_BASIC_RELATIVE_OID: - if(tlv_len > 0 && tlv_len < 128 * 1024 /* VERY long OID! */) { - arcs = MALLOC(sizeof(*arcs) * (tlv_len + 1)); - if(arcs) { - vbuf = MALLOC(tlv_len + 1); - /* Not checking is intentional */ - } - } - case ASN_BASIC_UTCTime: - case ASN_BASIC_GeneralizedTime: - case ASN_STRING_NumericString: - case ASN_STRING_PrintableString: - case ASN_STRING_VisibleString: - case ASN_STRING_IA5String: - case ASN_STRING_UTF8String: - break; /* Directly compatible with UTF-8 */ - case ASN_STRING_BMPString: - case ASN_STRING_UniversalString: - break; /* Not directly compatible with UTF-8 */ - default: - /* Conditionally compatible with UTF-8 */ - if(((etype & ASN_STRING_MASK) || (etype == ASN_BASIC_OCTET_STRING) || - /* - * AUTOMATIC TAGS or IMPLICIT TAGS in effect, - * Treat this primitive type as OCTET_STRING. - */ - (BER_TAG_CLASS(tlv_tag) != ASN_TAG_CLASS_UNIVERSAL - && pretty_printing)) - && (tlv_len > 0 && tlv_len < 128 * 1024)) { - vbuf = MALLOC(tlv_len + 1); - /* Not checking is intentional */ - } - break; - } - - /* If collection vbuf is present, defer printing the F flag. */ - if(!vbuf) printf(special_format ? " F>" : ">"); - - /* - * Print the value in binary or text form, - * or collect the bytes into vbuf. - */ - for(i = 0; i < tlv_len; i++) { - int ch = fgetc(fp); - if(ch == -1) { - fprintf(stderr, "%s: Unexpected end of file (V)\n", fname); - if(vbuf) FREEMEM(vbuf); - if(arcs) FREEMEM(arcs); - return -1; - } - switch(etype) { - case ASN_BASIC_UTCTime: - case ASN_BASIC_GeneralizedTime: - case ASN_STRING_NumericString: - case ASN_STRING_PrintableString: - case ASN_STRING_VisibleString: - case ASN_STRING_IA5String: - case ASN_STRING_UTF8String: - switch(ch) { - default: - if(((etype == ASN_STRING_UTF8String) || !(ch & 0x80)) - && (ch >= 0x20)) { - printf("%c", ch); - break; - } - /* Fall through */ - case 0x3c: - case 0x3e: - case 0x26: - printf("&#x%02x;", ch); - } - break; - case ASN_BASIC_BOOLEAN: - switch(ch) { - case 0: - printf(""); - break; - case 0xff: - printf(""); - break; - default: - printf("", ch); - } - break; - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(i) - collector = collector * 256 + ch; - else - collector = (int)(signed char)ch; - break; - default: - if(vbuf) { - vbuf[i] = ch; - } else { - printf("&#x%02x;", ch); - } - } - } - - /* Do post-processing */ - switch(etype) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - printf("%s", asn1p_itoa(collector)); - break; - case ASN_BASIC_OBJECT_IDENTIFIER: - if(vbuf) { - OBJECT_IDENTIFIER_t oid = {0, 0}; - ssize_t arcno; - - oid.buf = vbuf; - oid.size = tlv_len; - - arcno = OBJECT_IDENTIFIER_get_arcs(&oid, arcs, tlv_len + 1); - if(arcno >= 0) { - assert(arcno <= (tlv_len + 1)); - printf(" F>"); - for(i = 0; i < arcno; i++) { - if(i) printf("."); - printf("%" PRIu32, arcs[i]); - } - FREEMEM(vbuf); - vbuf = 0; - } - } - break; - case ASN_BASIC_RELATIVE_OID: - if(vbuf) { - RELATIVE_OID_t oid; - int arcno; - - oid.buf = vbuf; - oid.size = tlv_len; - - arcno = RELATIVE_OID_get_arcs(&oid, arcs, tlv_len); - if(arcno >= 0) { - assert(arcno <= tlv_len); - printf(" F>"); - for(i = 0; i < arcno; i++) { - if(i) printf("."); - printf("%" PRIu32, arcs[i]); - } - FREEMEM(vbuf); - vbuf = 0; - } - } - break; - default: - break; - } - - /* - * If the buffer was not consumed, print it out. - * It might be an OCTET STRING or other primitive type, - * which might actually be printable, but we need to figure it out. - */ - if(vbuf) { - int binary; - - /* - * Check whether the data could be represented as text - */ - binary = -1 * (tlv_len >> 3); /* Threshold is 12.5% binary */ - for(i = 0; i < tlv_len; i++) { - switch(vbuf[i]) { - case 0x1b: - binary = 1; - break; - case 0x09: - case 0x0a: - case 0x0d: - continue; - default: - if(vbuf[i] < 0x20 || vbuf[i] >= 0x7f) - if(++binary > 0) /* Way too many */ - break; - continue; - } - break; - } - printf(">"); - for(i = 0; i < tlv_len; i++) { - if(binary > 0 || vbuf[i] < 0x20 || vbuf[i] >= 0x7f - || vbuf[i] == 0x26 /* '&' */ - || vbuf[i] == 0x3c /* '<' */ - || vbuf[i] == 0x3e /* '>' */ - ) - printf("&#x%02x;", vbuf[i]); - else - printf("%c", vbuf[i]); - } - FREEMEM(vbuf); - } - - if(arcs) FREEMEM(arcs); - return 0; -} - - -static int -decode_tlv_from_string(const char *datastring) { - unsigned char *data, *dp; - size_t dsize; /* Data size */ - ssize_t len; - ber_tlv_tag_t tlv_tag; - ber_tlv_len_t tlv_len; - const char *p; - int half; - - dsize = strlen(datastring) + 1; - dp = data = CALLOC(1, dsize); - assert(data); - - for(half = 0, p = datastring; *p; p++) { - /* clang-format off */ - switch(*p) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - *dp |= *p - '0'; break; - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - *dp |= *p - 'A' + 10; break; - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - *dp |= *p - 'a' + 10; break; - case ' ': case '\t': case '\r': case '\n': - continue; - default: - fprintf(stderr, "Unexpected symbols in data string:\n"); - fprintf(stderr, "%s\n", datastring); - for(dp = data; datastring < p; datastring++, dp++) - *dp = ' '; - *dp = '\0'; - fprintf(stderr, "%s^ <- here\n", (char *)data); - return -1; - } - /* clang-format on */ - if(half) - dp++; - else - (*dp) <<= 4; - half = !half; - } - - assert((size_t)(dp - data) <= dsize); - dsize = dp - data; - - printf("BER: "); - for(dp = data; dp < data + dsize; dp++) printf("%02X", *dp); - printf("\n"); - - len = ber_fetch_tag(data, dsize, &tlv_tag); - switch(len) { - case -1: - fprintf(stderr, "TAG: Fatal error decoding tag\n"); - return -1; - case 0: - fprintf(stderr, "TAG: More data expected\n"); - return -1; - default: - printf("TAG: "); - ber_tlv_tag_fwrite(tlv_tag, stdout); - if(BER_TLV_CONSTRUCTED(data)) { - printf(" (constructed)"); - } else if(dsize >= 2 && data[0] == 0 && data[1] == 0) { - printf(" (end-of-content)"); - } else { - printf(" (primitive)"); - } - if(BER_TAG_CLASS(tlv_tag) == ASN_TAG_CLASS_UNIVERSAL) { - const char *str; - ber_tlv_tag_t tvalue = BER_TAG_VALUE(tlv_tag); - str = ASN_UNIVERSAL_TAG2STR(tvalue); - if(str) printf(" \"%s\"", str); - } - printf("\n"); - } - - if(dsize > (size_t)len) { - len = ber_fetch_length(BER_TLV_CONSTRUCTED(data), data + len, - dsize - len, &tlv_len); - switch(len) { - case -1: - fprintf(stderr, "LEN: Fatal error decoding length\n"); - return -1; - case 0: - fprintf(stderr, "LEN: More data expected\n"); - return -1; - default: - if(tlv_len == (ber_tlv_len_t)-1) - printf("LEN: Indefinite length encoding\n"); - else - printf("LEN: %ld bytes\n", (long)tlv_len); - } - } - - return 0; -} - -/* - * Dummy functions. - */ -asn_dec_rval_t -ber_check_tags(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, asn_struct_ctx_t *opt_ctx, - const void *ptr, size_t size, int tag_mode, int last_tag_form, - ber_tlv_len_t *last_length, int *opt_tlv_form) { - asn_dec_rval_t rv = {0, 0}; - (void)opt_codec_ctx; - (void)td; - (void)opt_ctx; - (void)ptr; - (void)size; - (void)tag_mode; - (void)last_tag_form; - (void)last_length; - (void)opt_tlv_form; - return rv; -} - -ssize_t -der_write_tags(const asn_TYPE_descriptor_t *td, size_t slen, int tag_mode, - int last_tag_form, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - (void)td; - (void)slen; - (void)tag_mode; - (void)last_tag_form; - (void)tag; - (void)cb; - (void)app_key; - return -1; -} - -asn_dec_rval_t -xer_decode_general(const asn_codec_ctx_t *opt_codec_ctx, asn_struct_ctx_t *ctx, - void *struct_key, const char *xml_tag, const void *buf_ptr, - size_t size, - int (*otd)(void *struct_key, const void *chunk_buf, - size_t chunk_size), - ssize_t (*br)(void *struct_key, const void *chunk_buf, - size_t chunk_size, int have_more)) { - asn_dec_rval_t rv = {0, 0}; - (void)opt_codec_ctx; - (void)ctx; - (void)struct_key; - (void)xml_tag; - (void)buf_ptr; - (void)size; - (void)otd; - (void)br; - return rv; -} - -size_t -xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { - (void)chunk_buf; - (void)chunk_size; - return 0; -} - -int -OCTET_STRING_compare(const asn_TYPE_descriptor_t *td, const void *a, - const void *b) { - (void)td; - (void)a; - (void)b; - return 0; -} - -intmax_t -asn_random_between(intmax_t a, intmax_t b) { - (void)b; - return a; -}; - diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 deleted file mode 100644 index bc1c70d..0000000 --- a/autom4te.cache/output.0 +++ /dev/null @@ -1,21483 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for asn1c 0.9.29. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and vlm@lionet.info -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='asn1c' -PACKAGE_TARNAME='asn1c' -PACKAGE_VERSION='0.9.29' -PACKAGE_STRING='asn1c 0.9.29' -PACKAGE_BUGREPORT='vlm@lionet.info' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIB@&t@OBJS -HAVE_PANDOC_FALSE -HAVE_PANDOC_TRUE -PANDOC -TEST_64BIT_FALSE -TEST_64BIT_TRUE -ASAN_ENV_FLAGS -SKELETONS_CFLAGS -TESTSUITE_CFLAGS -SANITIZER_CFLAGS -LIBFUZZER_CFLAGS -ADD_CFLAGS -EXPLICIT_M32_FALSE -EXPLICIT_M32_TRUE -CFLAGS_M32 -CODE_COVERAGE_RULES -CODE_COVERAGE_LDFLAGS -CODE_COVERAGE_LIBS -CODE_COVERAGE_CXXFLAGS -CODE_COVERAGE_CFLAGS -CODE_COVERAGE_CPPFLAGS -GENHTML -LCOV -GCOV -CODE_COVERAGE_ENABLED -CODE_COVERAGE_ENABLED_FALSE -CODE_COVERAGE_ENABLED_TRUE -CXXCPP -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -DLLTOOL -OBJDUMP -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -ac_ct_AR -AR -LEXLIB -LEX_OUTPUT_ROOT -LEX -YFLAGS -YACC -LN_S -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_ASN_DEBUG -with_gcov -enable_code_coverage -enable_Werror -enable_test_Werror -enable_test_32bit -enable_test_ubsan -enable_test_asan -enable_test_fuzzer -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -YACC -YFLAGS -CXX -CXXFLAGS -CCC -LT_SYS_LIBRARY_PATH -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures asn1c 0.9.29 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/asn1c@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of asn1c 0.9.29:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ - --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ - --enable-fast-install@<:@=PKGS@:>@ - optimize for fast installation @<:@default=yes@:>@ - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ASN_DEBUG produce debug log during `make check` testing - --enable-code-coverage enable code coverage statistics collection - --enable-Werror abort compilation after any C compiler warning - --enable-test-Werror abort compiling tests after any C compiler warning - --enable-test-32bit enable tests for 32-bit compatibility - --disable-test-ubsan disable Undefined Behavior Sanitizer for tests - --disable-test-asan disable Address Sanitizer for tests - --enable-test-fuzzer enable LLVM LibFuzzer for randomized testing - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use - both@:>@ - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, @<:@default=aix@:>@. - --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ - --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - YACC The `Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: `bison -y', `byacc', - `yacc'. - YFLAGS The list of arguments that will be passed by default to @S|@YACC. - This script will default YFLAGS to the empty string to avoid a - default value of `-d' given by some make applications. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -asn1c configure 0.9.29 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_func LINENO FUNC VAR -@%:@ ---------------------------------- -@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_func - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_cxx_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_link - -@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using -@%:@ the include files in INCLUDES and setting the cache variable VAR -@%:@ accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------ ## -## Report this to vlm@lionet.info ## -## ------------------------------ ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_mongrel - -@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES -@%:@ ------------------------------------------- -@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache -@%:@ variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_type - -@%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -@%:@ -------------------------------------------- -@%:@ Tries to find the compile-time value of EXPR in a program that includes -@%:@ INCLUDES, setting VAR accordingly. Returns whether the value could be -@%:@ computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in @%:@(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -@%:@include -@%:@include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -@%:@ifndef $as_decl_name -@%:@ifdef __cplusplus - (void) $as_decl_use; -@%:@else - (void) $as_decl_name; -@%:@endif -@%:@endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in config "$srcdir"/config; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -ac_config_headers="$ac_config_headers config.h" - -am__api_version='1.15' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='asn1c' - VERSION='0.9.29' - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -@%:@ Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_YACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -$as_echo "$YACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - - -for ac_prog in flex lex -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LEX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LEX=$ac_cv_prog_LEX -if test -n "$LEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 -$as_echo "$LEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$LEX" && break -done -test -n "$LEX" || LEX=":" - -if test "x$LEX" != "x:"; then - cat >conftest.l <<_ACEOF -%% -a { ECHO; } -b { REJECT; } -c { yymore (); } -d { yyless (1); } -e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ - yyless ((input () != 0)); } -f { unput (yytext[0]); } -. { BEGIN INITIAL; } -%% -#ifdef YYTEXT_POINTER -extern char *yytext; -#endif -int -main (void) -{ - return ! yylex () + ! yywrap (); -} -_ACEOF -{ { ac_try="$LEX conftest.l" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$LEX conftest.l") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 -$as_echo_n "checking lex output file root... " >&6; } -if ${ac_cv_prog_lex_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - -if test -f lex.yy.c; then - ac_cv_prog_lex_root=lex.yy -elif test -f lexyy.c; then - ac_cv_prog_lex_root=lexyy -else - as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 -$as_echo "$ac_cv_prog_lex_root" >&6; } -LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root - -if test -z "${LEXLIB+set}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 -$as_echo_n "checking lex library... " >&6; } -if ${ac_cv_lib_lex+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS=$LIBS - ac_cv_lib_lex='none needed' - for ac_lib in '' -lfl -ll; do - LIBS="$ac_lib $ac_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lex=$ac_lib -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - test "$ac_cv_lib_lex" != 'none needed' && break - done - LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 -$as_echo "$ac_cv_lib_lex" >&6; } - test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 -$as_echo_n "checking whether yytext is a pointer... " >&6; } -if ${ac_cv_prog_lex_yytext_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -ac_save_LIBS=$LIBS -LIBS="$LEXLIB $ac_save_LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define YYTEXT_POINTER 1 -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_prog_lex_yytext_pointer=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 -$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } -if test $ac_cv_prog_lex_yytext_pointer = yes; then - -$as_echo "@%:@define YYTEXT_POINTER 1" >>confdefs.h - -fi -rm -f conftest.l $LEX_OUTPUT_ROOT.c - -fi -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi -if test -n "$ac_tool_prefix"; then - for ac_prog in ar lib "link -lib" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar lib "link -lib" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - am_cv_ar_interface=ar - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int some_variable = 0; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - as_fn_error $? "could not determine $AR interface" "$LINENO" 5 - ;; -esac - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -CXXFLAGS="-std=c++11" - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -@%:@ Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -@%:@ Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - @%:@ Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - @%:@ Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -@%:@ Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - @%:@ Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -@%:@ Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - 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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - link_all_deplibs=no - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -case "$host_os" in -cygwin) - case "$target" in - *mingw*) - CC="$CC -mno-cygwin" - esac - ;; -esac - -@%:@ Check whether --enable-ASN_DEBUG was given. -if test "${enable_ASN_DEBUG+set}" = set; then : - enableval=$enable_ASN_DEBUG; enable_asn_debug=$enableval -else - enable_asn_debug=no -fi - - if test x$enable_asn_debug != xno; then : - - TESTSUITE_CFLAGS="-DASN_EMIT_DEBUG" - SKELETONS_CFLAGS="-DASN_EMIT_DEBUG" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wall" >&5 -$as_echo_n "checking whether C compiler accepts -Wall... " >&6; } -if ${ax_cv_check_cflags___Wall+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wall" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wall=yes -else - ax_cv_check_cflags___Wall=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wall" >&5 -$as_echo "$ax_cv_check_cflags___Wall" >&6; } -if test x"$ax_cv_check_cflags___Wall" = xyes; then : - CFLAGS="$CFLAGS -Wall" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wcast-qual" >&5 -$as_echo_n "checking whether C compiler accepts -Wcast-qual... " >&6; } -if ${ax_cv_check_cflags___Wcast_qual+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wcast-qual" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wcast_qual=yes -else - ax_cv_check_cflags___Wcast_qual=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wcast_qual" >&5 -$as_echo "$ax_cv_check_cflags___Wcast_qual" >&6; } -if test x"$ax_cv_check_cflags___Wcast_qual" = xyes; then : - CFLAGS="$CFLAGS -Wcast-qual" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wchar-subscripts" >&5 -$as_echo_n "checking whether C compiler accepts -Wchar-subscripts... " >&6; } -if ${ax_cv_check_cflags___Wchar_subscripts+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wchar-subscripts" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wchar_subscripts=yes -else - ax_cv_check_cflags___Wchar_subscripts=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wchar_subscripts" >&5 -$as_echo "$ax_cv_check_cflags___Wchar_subscripts" >&6; } -if test x"$ax_cv_check_cflags___Wchar_subscripts" = xyes; then : - CFLAGS="$CFLAGS -Wchar-subscripts" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-prototypes" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-prototypes... " >&6; } -if ${ax_cv_check_cflags___Wmissing_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-prototypes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_prototypes=yes -else - ax_cv_check_cflags___Wmissing_prototypes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_prototypes" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_prototypes" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_prototypes" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-prototypes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-declarations" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-declarations... " >&6; } -if ${ax_cv_check_cflags___Wmissing_declarations+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-declarations" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_declarations=yes -else - ax_cv_check_cflags___Wmissing_declarations=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_declarations" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_declarations" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_declarations" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-declarations" -else - : -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=attributes" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=attributes... " >&6; } -if ${ax_cv_check_cflags___Wno_error_attributes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=attributes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_attributes=yes -else - ax_cv_check_cflags___Wno_error_attributes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_attributes" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_attributes" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_attributes" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=attributes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=cast-align" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=cast-align... " >&6; } -if ${ax_cv_check_cflags___Wno_error_cast_align+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=cast-align" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_cast_align=yes -else - ax_cv_check_cflags___Wno_error_cast_align=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_cast_align" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_cast_align" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_cast_align" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=cast-align" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=visibility" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=visibility... " >&6; } -if ${ax_cv_check_cflags___Wno_error_visibility+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=visibility" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_visibility=yes -else - ax_cv_check_cflags___Wno_error_visibility=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_visibility" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_visibility" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_visibility" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=visibility" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=parentheses-equality" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=parentheses-equality... " >&6; } -if ${ax_cv_check_cflags___Wno_error_parentheses_equality+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_parentheses_equality=yes -else - ax_cv_check_cflags___Wno_error_parentheses_equality=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_parentheses_equality" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_parentheses_equality" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_parentheses_equality" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=gnu99" >&5 -$as_echo_n "checking whether C compiler accepts -std=gnu99... " >&6; } -if ${ax_cv_check_cflags___std_gnu99+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=gnu99" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_gnu99=yes -else - ax_cv_check_cflags___std_gnu99=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_gnu99" >&5 -$as_echo "$ax_cv_check_cflags___std_gnu99" >&6; } -if test x"$ax_cv_check_cflags___std_gnu99" = xyes; then : - CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=unused-variable" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=unused-variable... " >&6; } -if ${ax_cv_check_cflags___Wno_error_unused_variable+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=unused-variable" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_unused_variable=yes -else - ax_cv_check_cflags___Wno_error_unused_variable=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_unused_variable" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_unused_variable" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_unused_variable" = xyes; then : - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable" -else - : -fi - - - - - - - # allow to override gcov location - -@%:@ Check whether --with-gcov was given. -if test "${with_gcov+set}" = set; then : - withval=$with_gcov; _AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov -else - _AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5 -$as_echo_n "checking whether to build with code coverage support... " >&6; } - @%:@ Check whether --enable-code-coverage was given. -if test "${enable_code_coverage+set}" = set; then : - enableval=$enable_code_coverage; -else - enable_code_coverage=no -fi - - - if test x$enable_code_coverage = xyes; then - CODE_COVERAGE_ENABLED_TRUE= - CODE_COVERAGE_ENABLED_FALSE='#' -else - CODE_COVERAGE_ENABLED_TRUE='#' - CODE_COVERAGE_ENABLED_FALSE= -fi - - CODE_COVERAGE_ENABLED=$enable_code_coverage - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5 -$as_echo "$enable_code_coverage" >&6; } - - if test "$enable_code_coverage" = "yes" ; then : - - # check for gcov - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy ${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCOV"; then - ac_cv_prog_GCOV="$GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCOV="${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCOV=$ac_cv_prog_GCOV -if test -n "$GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5 -$as_echo "$GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCOV"; then - ac_ct_GCOV=$GCOV - # Extract the first word of "$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy $_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCOV"; then - ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCOV="$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV -if test -n "$ac_ct_GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5 -$as_echo "$ac_ct_GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCOV" = x; then - GCOV=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCOV=$ac_ct_GCOV - fi -else - GCOV="$ac_cv_prog_GCOV" -fi - - if test "X$GCOV" = "X:"; then : - as_fn_error $? "gcov is needed to do coverage" "$LINENO" 5 -fi - - - if test "$GCC" = "no" ; then : - - as_fn_error $? "not compiling with gcc, which is required for gcov code coverage" "$LINENO" 5 - -fi - - # Extract the first word of "lcov", so it can be a program name with args. -set dummy lcov; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LCOV"; then - ac_cv_prog_LCOV="$LCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LCOV="lcov" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LCOV=$ac_cv_prog_LCOV -if test -n "$LCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5 -$as_echo "$LCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "genhtml", so it can be a program name with args. -set dummy genhtml; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GENHTML+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GENHTML"; then - ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GENHTML="genhtml" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GENHTML=$ac_cv_prog_GENHTML -if test -n "$GENHTML"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5 -$as_echo "$GENHTML" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - if test -z "$LCOV" ; then : - - as_fn_error $? "To enable code coverage reporting you must have lcov installed" "$LINENO" 5 - -fi - - if test -z "$GENHTML" ; then : - - as_fn_error $? "Could not find genhtml from the lcov package" "$LINENO" 5 - -fi - - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -coverage" >&5 -$as_echo_n "checking whether C compiler accepts -coverage... " >&6; } -if ${ax_cv_check_cflags___coverage+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -coverage" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___coverage=yes -else - ax_cv_check_cflags___coverage=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___coverage" >&5 -$as_echo "$ax_cv_check_cflags___coverage" >&6; } -if test x"$ax_cv_check_cflags___coverage" = xyes; then : - - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - -else - - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - -fi - - - - - - - - - CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -' - CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -' - CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -' - -else - - CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -' - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - -fi - -CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -' - - - - -if test x$enable_code_coverage != xno; then : - - CFLAGS="$CFLAGS $CODE_COVERAGE_CFLAGS" - # The CODE_COVERAGE_CPPFLAGS contains -DNDEBUG flag - # which removes assert(...) macros from code coverage and improves the - # branches score. But when it is defined it results in few - # unsed-but-set-variable warnings that are treated as errors in the travis-ci - # build because these variables are only used inside assert macros. - # error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable] - #CPPFLAGS="$CPPFLAGS $CODE_COVERAGE_CPPFLAGS" - CXXFLAGS="$CXXFLAGS $CODE_COVERAGE_CXXFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gcov_open" >&5 -$as_echo_n "checking for library containing gcov_open... " >&6; } -if ${ac_cv_search_gcov_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gcov_open (); -int -main () -{ -return gcov_open (); - ; - return 0; -} -_ACEOF -for ac_lib in '' gcov; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gcov_open=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_gcov_open+:} false; then : - break -fi -done -if ${ac_cv_search_gcov_open+:} false; then : - -else - ac_cv_search_gcov_open=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gcov_open" >&5 -$as_echo "$ac_cv_search_gcov_open" >&6; } -ac_res=$ac_cv_search_gcov_open -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - LDFLAGS="$LDFLAGS $CODE_COVERAGE_LDFLAGS" -fi - - -fi - -SKELETONS_CFLAGS="${ADD_CFLAGS} ${SKELETONS_CFLAGS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=c89" >&5 -$as_echo_n "checking whether C compiler accepts -std=c89... " >&6; } -if ${ax_cv_check_cflags___std_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=c89" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_c89=yes -else - ax_cv_check_cflags___std_c89=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_c89" >&5 -$as_echo "$ax_cv_check_cflags___std_c89" >&6; } -if test x"$ax_cv_check_cflags___std_c89" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wpedantic" >&5 -$as_echo_n "checking whether C compiler accepts -Wpedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__Wpedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -Wpedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__Wpedantic=yes -else - ax_cv_check_cflags__Werror__Wpedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wpedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__Wpedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__Wpedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic" -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -pedantic" >&5 -$as_echo_n "checking whether C compiler accepts -pedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__pedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -pedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__pedantic=yes -else - ax_cv_check_cflags__Werror__pedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__pedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__pedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__pedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic" -else - : -fi - - -fi - #clang 3.0 prints warning when the flag is not supported - -@%:@ Check whether --enable-Werror was given. -if test "${enable_Werror+set}" = set; then : - enableval=$enable_Werror; enable_werror=$enableval -else - enable_werror=no -fi - - if test x$enable_werror != xno; then : - - ADD_CFLAGS="${ADD_CFLAGS} -Werror -W -Wall -Wpointer-arith" - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Werror -W -Wall -Wpointer-arith" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wgnu" >&5 -$as_echo_n "checking whether C compiler accepts -Wgnu... " >&6; } -if ${ax_cv_check_cflags___Wgnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wgnu" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wgnu=yes -else - ax_cv_check_cflags___Wgnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wgnu" >&5 -$as_echo "$ax_cv_check_cflags___Wgnu" >&6; } -if test x"$ax_cv_check_cflags___Wgnu" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu" -else - : -fi - - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-long-long" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-long-long... " >&6; } -if ${ax_cv_check_cflags___Wno_long_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-long-long" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_long_long=yes -else - ax_cv_check_cflags___Wno_long_long=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_long_long" >&5 -$as_echo "$ax_cv_check_cflags___Wno_long_long" >&6; } -if test x"$ax_cv_check_cflags___Wno_long_long" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long" -else - : -fi - - -@%:@ Check whether --enable-test-Werror was given. -if test "${enable_test_Werror+set}" = set; then : - enableval=$enable_test_Werror; enable_test_werror=$enableval -else - enable_test_werror=no -fi - - if test x$enable_test_werror != xno; then : - - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Werror -W -Wpointer-arith" - -fi - -@%:@ Check whether --enable-test-32bit was given. -if test "${enable_test_32bit+set}" = set; then : - enableval=$enable_test_32bit; enable_test_32bit=$enableval -else - enable_test_32bit=no -fi - -if test "x$enable_test_32bit" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -m32" >&5 -$as_echo_n "checking whether C compiler accepts -m32... " >&6; } -if ${ax_cv_check_cflags___m32+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -m32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___m32=yes -else - ax_cv_check_cflags___m32=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___m32" >&5 -$as_echo "$ax_cv_check_cflags___m32" >&6; } -if test x"$ax_cv_check_cflags___m32" = xyes; then : - CFLAGS_M32="-m32 -DEXPLICIT_32BIT" -else - - CFLAGS_M32="" - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-32bit=$enable_test_32bit is requested but not supported by the C compiler -See \`config.log' for more details" "$LINENO" 5; } - -fi - - -fi - - if test "x${CFLAGS_M32}" != "x"; then - EXPLICIT_M32_TRUE= - EXPLICIT_M32_FALSE='#' -else - EXPLICIT_M32_TRUE='#' - EXPLICIT_M32_FALSE= -fi - - -SANITIZER_CFLAGS="" - -@%:@ Check whether --enable-test-ubsan was given. -if test "${enable_test_ubsan+set}" = set; then : - enableval=$enable_test_ubsan; disable_test_ubsan=$enableval -else - disable_test_ubsan=maybe -fi - -if test "x$disable_test_ubsan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=undefined" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=undefined... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void test(int *);void test(int *n) { *n = 0; } -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_undefined=yes -else - ax_cv_check_cclflags___fsanitize_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_undefined" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_undefined" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined" -else - - if test "x$disable_test_ubsan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=undefined" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=undefined... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_undefined=yes -else - ax_cv_check_cflags___fno_sanitize_recover_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_undefined" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_undefined" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int test(unsigned); int test(unsigned n) { return n + 1; } -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=yes -else - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=yes -else - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=nullability" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=nullability... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_nullability=yes -else - ax_cv_check_cclflags___fsanitize_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_nullability" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_nullability" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=nullability" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=nullability... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_nullability=yes -else - ax_cv_check_cflags___fno_sanitize_recover_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_nullability" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_nullability" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -ASAN_ENV_FLAGS="" -@%:@ Check whether --enable-test-asan was given. -if test "${enable_test_asan+set}" = set; then : - enableval=$enable_test_asan; disable_test_asan=$enableval -else - disable_test_asan=maybe -fi - -if test "x$disable_test_asan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=address" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=address... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_address+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=address" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_address=yes -else - ax_cv_check_cclflags___fsanitize_address=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_address" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_address" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_address" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address" -else - - if test "x$disable_test_asan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - - ASAN_OPTIONS="detect_leaks=1" - export ASAN_OPTIONS - save_cflags="${CFLAGS}" - CFLAGS="${CFLAGS} ${SANITIZER_CFLAGS}" - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - - ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="${save_cflags}" - unset ASAN_OPTIONS - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -LIBFUZZER_CFLAGS="" -@%:@ Check whether --enable-test-fuzzer was given. -if test "${enable_test_fuzzer+set}" = set; then : - enableval=$enable_test_fuzzer; enable_test_fuzzer=$enableval -else - enable_test_fuzzer=no -fi - -if test "x$enable_test_fuzzer" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=fuzzer" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=fuzzer... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_fuzzer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=fuzzer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_fuzzer=yes -else - ax_cv_check_cclflags___fsanitize_fuzzer=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_fuzzer" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_fuzzer" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_fuzzer" = xyes; then : - LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER" -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html -See \`config.log' for more details" "$LINENO" 5; } -fi - - -fi - -TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} ${SANITIZER_CFLAGS}" -SKELETONS_CFLAGS="${SKELETONS_CFLAGS} ${SANITIZER_CFLAGS}" - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -for ac_header in sys/param.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_SYS_PARAM_H 1 -_ACEOF - -fi - -done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define size_t unsigned int -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "@%:@define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "__int128" "ac_cv_type___int128" "$ac_includes_default" -if test "x$ac_cv_type___int128" = xyes; then : - -$as_echo "@%:@define HAVE_128_BIT_INT 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default" -if test "x$ac_cv_type_intmax_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define intmax_t int64_t -_ACEOF - -fi - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if ${ac_cv_sizeof_void_p+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -@%:@define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - - if test "$ac_cv_sizeof_void_p" -eq 8; then - TEST_64BIT_TRUE= - TEST_64BIT_FALSE='#' -else - TEST_64BIT_TRUE='#' - TEST_64BIT_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getopt" >&5 -$as_echo_n "checking for library containing getopt... " >&6; } -if ${ac_cv_search_getopt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getopt (); -int -main () -{ -return getopt (); - ; - return 0; -} -_ACEOF -for ac_lib in '' iberty; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getopt=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getopt+:} false; then : - break -fi -done -if ${ac_cv_search_getopt+:} false; then : - -else - ac_cv_search_getopt=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getopt" >&5 -$as_echo "$ac_cv_search_getopt" >&6; } -ac_res=$ac_cv_search_getopt -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - -for ac_func in strtoimax strtoll -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -for ac_func in mergesort -do : - ac_fn_c_check_func "$LINENO" "mergesort" "ac_cv_func_mergesort" -if test "x$ac_cv_func_mergesort" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MERGESORT 1 -_ACEOF - -fi -done - -for ac_func in mkstemps -do : - ac_fn_c_check_func "$LINENO" "mkstemps" "ac_cv_func_mkstemps" -if test "x$ac_cv_func_mkstemps" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MKSTEMPS 1 -_ACEOF - -fi -done - -for ac_func in timegm -do : - ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm" -if test "x$ac_cv_func_timegm" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_TIMEGM 1 -_ACEOF - -fi -done - -ac_fn_c_check_decl "$LINENO" "strcasecmp" "ac_cv_have_decl_strcasecmp" "$ac_includes_default" -if test "x$ac_cv_have_decl_strcasecmp" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_STRCASECMP $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vasprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_VASPRINTF $ac_have_decl -_ACEOF - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char symlink (); -int -main () -{ -return symlink (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "@%:@define HAVE_SYMLINK 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -# Extract the first word of "pandoc", so it can be a program name with args. -set dummy pandoc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PANDOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PANDOC in - [\\/]* | ?:[\\/]*) - ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PANDOC=$ac_cv_path_PANDOC -if test -n "$PANDOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 -$as_echo "$PANDOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test -n "$PANDOC"; then - HAVE_PANDOC_TRUE= - HAVE_PANDOC_FALSE='#' -else - HAVE_PANDOC_TRUE='#' - HAVE_PANDOC_FALSE= -fi - - -ac_config_files="$ac_config_files tests/tests-c-compiler/check-src/Makefile tests/tests-asn1c-compiler/Makefile tests/tests-asn1c-smoke/Makefile tests/tests-randomized/Makefile tests/tests-c-compiler/Makefile tests/tests-skeletons/Makefile libasn1compiler/Makefile libasn1common/Makefile libasn1parser/Makefile libasn1print/Makefile libasn1fix/Makefile doc/docsrc/Makefile skeletons/Makefile examples/Makefile doc/man/Makefile tests/Makefile asn1c/Makefile doc/Makefile Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then - as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EXPLICIT_M32_TRUE}" && test -z "${EXPLICIT_M32_FALSE}"; then - as_fn_error $? "conditional \"EXPLICIT_M32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${TEST_64BIT_TRUE}" && test -z "${TEST_64BIT_FALSE}"; then - as_fn_error $? "conditional \"TEST_64BIT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_PANDOC_TRUE}" && test -z "${HAVE_PANDOC_FALSE}"; then - as_fn_error $? "conditional \"HAVE_PANDOC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -asn1c config.status 0.9.29 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -reload_flag_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_separator_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX \ -postlink_cmds_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "tests/tests-c-compiler/check-src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/check-src/Makefile" ;; - "tests/tests-asn1c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-compiler/Makefile" ;; - "tests/tests-asn1c-smoke/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-smoke/Makefile" ;; - "tests/tests-randomized/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-randomized/Makefile" ;; - "tests/tests-c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/Makefile" ;; - "tests/tests-skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-skeletons/Makefile" ;; - "libasn1compiler/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1compiler/Makefile" ;; - "libasn1common/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1common/Makefile" ;; - "libasn1parser/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1parser/Makefile" ;; - "libasn1print/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1print/Makefile" ;; - "libasn1fix/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1fix/Makefile" ;; - "doc/docsrc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/docsrc/Makefile" ;; - "skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES skeletons/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "asn1c/Makefile") CONFIG_FILES="$CONFIG_FILES asn1c/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1 deleted file mode 100644 index bc1c70d..0000000 --- a/autom4te.cache/output.1 +++ /dev/null @@ -1,21483 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for asn1c 0.9.29. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and vlm@lionet.info -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='asn1c' -PACKAGE_TARNAME='asn1c' -PACKAGE_VERSION='0.9.29' -PACKAGE_STRING='asn1c 0.9.29' -PACKAGE_BUGREPORT='vlm@lionet.info' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIB@&t@OBJS -HAVE_PANDOC_FALSE -HAVE_PANDOC_TRUE -PANDOC -TEST_64BIT_FALSE -TEST_64BIT_TRUE -ASAN_ENV_FLAGS -SKELETONS_CFLAGS -TESTSUITE_CFLAGS -SANITIZER_CFLAGS -LIBFUZZER_CFLAGS -ADD_CFLAGS -EXPLICIT_M32_FALSE -EXPLICIT_M32_TRUE -CFLAGS_M32 -CODE_COVERAGE_RULES -CODE_COVERAGE_LDFLAGS -CODE_COVERAGE_LIBS -CODE_COVERAGE_CXXFLAGS -CODE_COVERAGE_CFLAGS -CODE_COVERAGE_CPPFLAGS -GENHTML -LCOV -GCOV -CODE_COVERAGE_ENABLED -CODE_COVERAGE_ENABLED_FALSE -CODE_COVERAGE_ENABLED_TRUE -CXXCPP -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -DLLTOOL -OBJDUMP -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -ac_ct_AR -AR -LEXLIB -LEX_OUTPUT_ROOT -LEX -YFLAGS -YACC -LN_S -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_ASN_DEBUG -with_gcov -enable_code_coverage -enable_Werror -enable_test_Werror -enable_test_32bit -enable_test_ubsan -enable_test_asan -enable_test_fuzzer -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -YACC -YFLAGS -CXX -CXXFLAGS -CCC -LT_SYS_LIBRARY_PATH -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures asn1c 0.9.29 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/asn1c@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of asn1c 0.9.29:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ - --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ - --enable-fast-install@<:@=PKGS@:>@ - optimize for fast installation @<:@default=yes@:>@ - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ASN_DEBUG produce debug log during `make check` testing - --enable-code-coverage enable code coverage statistics collection - --enable-Werror abort compilation after any C compiler warning - --enable-test-Werror abort compiling tests after any C compiler warning - --enable-test-32bit enable tests for 32-bit compatibility - --disable-test-ubsan disable Undefined Behavior Sanitizer for tests - --disable-test-asan disable Address Sanitizer for tests - --enable-test-fuzzer enable LLVM LibFuzzer for randomized testing - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use - both@:>@ - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, @<:@default=aix@:>@. - --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ - --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - YACC The `Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: `bison -y', `byacc', - `yacc'. - YFLAGS The list of arguments that will be passed by default to @S|@YACC. - This script will default YFLAGS to the empty string to avoid a - default value of `-d' given by some make applications. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -asn1c configure 0.9.29 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_func LINENO FUNC VAR -@%:@ ---------------------------------- -@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_func - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_cxx_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_link - -@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using -@%:@ the include files in INCLUDES and setting the cache variable VAR -@%:@ accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------ ## -## Report this to vlm@lionet.info ## -## ------------------------------ ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_mongrel - -@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES -@%:@ ------------------------------------------- -@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache -@%:@ variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_type - -@%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -@%:@ -------------------------------------------- -@%:@ Tries to find the compile-time value of EXPR in a program that includes -@%:@ INCLUDES, setting VAR accordingly. Returns whether the value could be -@%:@ computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in @%:@(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -@%:@include -@%:@include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -@%:@ifndef $as_decl_name -@%:@ifdef __cplusplus - (void) $as_decl_use; -@%:@else - (void) $as_decl_name; -@%:@endif -@%:@endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in config "$srcdir"/config; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -ac_config_headers="$ac_config_headers config.h" - -am__api_version='1.15' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='asn1c' - VERSION='0.9.29' - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -@%:@ Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_YACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -$as_echo "$YACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - - -for ac_prog in flex lex -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LEX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LEX=$ac_cv_prog_LEX -if test -n "$LEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 -$as_echo "$LEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$LEX" && break -done -test -n "$LEX" || LEX=":" - -if test "x$LEX" != "x:"; then - cat >conftest.l <<_ACEOF -%% -a { ECHO; } -b { REJECT; } -c { yymore (); } -d { yyless (1); } -e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ - yyless ((input () != 0)); } -f { unput (yytext[0]); } -. { BEGIN INITIAL; } -%% -#ifdef YYTEXT_POINTER -extern char *yytext; -#endif -int -main (void) -{ - return ! yylex () + ! yywrap (); -} -_ACEOF -{ { ac_try="$LEX conftest.l" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$LEX conftest.l") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 -$as_echo_n "checking lex output file root... " >&6; } -if ${ac_cv_prog_lex_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - -if test -f lex.yy.c; then - ac_cv_prog_lex_root=lex.yy -elif test -f lexyy.c; then - ac_cv_prog_lex_root=lexyy -else - as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 -$as_echo "$ac_cv_prog_lex_root" >&6; } -LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root - -if test -z "${LEXLIB+set}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 -$as_echo_n "checking lex library... " >&6; } -if ${ac_cv_lib_lex+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS=$LIBS - ac_cv_lib_lex='none needed' - for ac_lib in '' -lfl -ll; do - LIBS="$ac_lib $ac_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lex=$ac_lib -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - test "$ac_cv_lib_lex" != 'none needed' && break - done - LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 -$as_echo "$ac_cv_lib_lex" >&6; } - test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 -$as_echo_n "checking whether yytext is a pointer... " >&6; } -if ${ac_cv_prog_lex_yytext_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -ac_save_LIBS=$LIBS -LIBS="$LEXLIB $ac_save_LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define YYTEXT_POINTER 1 -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_prog_lex_yytext_pointer=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 -$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } -if test $ac_cv_prog_lex_yytext_pointer = yes; then - -$as_echo "@%:@define YYTEXT_POINTER 1" >>confdefs.h - -fi -rm -f conftest.l $LEX_OUTPUT_ROOT.c - -fi -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi -if test -n "$ac_tool_prefix"; then - for ac_prog in ar lib "link -lib" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar lib "link -lib" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - am_cv_ar_interface=ar - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int some_variable = 0; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - as_fn_error $? "could not determine $AR interface" "$LINENO" 5 - ;; -esac - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -CXXFLAGS="-std=c++11" - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -@%:@ Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -@%:@ Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - @%:@ Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - @%:@ Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -@%:@ Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - @%:@ Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -@%:@ Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - 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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - link_all_deplibs=no - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -case "$host_os" in -cygwin) - case "$target" in - *mingw*) - CC="$CC -mno-cygwin" - esac - ;; -esac - -@%:@ Check whether --enable-ASN_DEBUG was given. -if test "${enable_ASN_DEBUG+set}" = set; then : - enableval=$enable_ASN_DEBUG; enable_asn_debug=$enableval -else - enable_asn_debug=no -fi - - if test x$enable_asn_debug != xno; then : - - TESTSUITE_CFLAGS="-DASN_EMIT_DEBUG" - SKELETONS_CFLAGS="-DASN_EMIT_DEBUG" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wall" >&5 -$as_echo_n "checking whether C compiler accepts -Wall... " >&6; } -if ${ax_cv_check_cflags___Wall+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wall" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wall=yes -else - ax_cv_check_cflags___Wall=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wall" >&5 -$as_echo "$ax_cv_check_cflags___Wall" >&6; } -if test x"$ax_cv_check_cflags___Wall" = xyes; then : - CFLAGS="$CFLAGS -Wall" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wcast-qual" >&5 -$as_echo_n "checking whether C compiler accepts -Wcast-qual... " >&6; } -if ${ax_cv_check_cflags___Wcast_qual+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wcast-qual" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wcast_qual=yes -else - ax_cv_check_cflags___Wcast_qual=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wcast_qual" >&5 -$as_echo "$ax_cv_check_cflags___Wcast_qual" >&6; } -if test x"$ax_cv_check_cflags___Wcast_qual" = xyes; then : - CFLAGS="$CFLAGS -Wcast-qual" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wchar-subscripts" >&5 -$as_echo_n "checking whether C compiler accepts -Wchar-subscripts... " >&6; } -if ${ax_cv_check_cflags___Wchar_subscripts+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wchar-subscripts" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wchar_subscripts=yes -else - ax_cv_check_cflags___Wchar_subscripts=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wchar_subscripts" >&5 -$as_echo "$ax_cv_check_cflags___Wchar_subscripts" >&6; } -if test x"$ax_cv_check_cflags___Wchar_subscripts" = xyes; then : - CFLAGS="$CFLAGS -Wchar-subscripts" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-prototypes" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-prototypes... " >&6; } -if ${ax_cv_check_cflags___Wmissing_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-prototypes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_prototypes=yes -else - ax_cv_check_cflags___Wmissing_prototypes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_prototypes" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_prototypes" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_prototypes" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-prototypes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-declarations" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-declarations... " >&6; } -if ${ax_cv_check_cflags___Wmissing_declarations+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-declarations" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_declarations=yes -else - ax_cv_check_cflags___Wmissing_declarations=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_declarations" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_declarations" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_declarations" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-declarations" -else - : -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=attributes" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=attributes... " >&6; } -if ${ax_cv_check_cflags___Wno_error_attributes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=attributes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_attributes=yes -else - ax_cv_check_cflags___Wno_error_attributes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_attributes" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_attributes" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_attributes" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=attributes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=cast-align" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=cast-align... " >&6; } -if ${ax_cv_check_cflags___Wno_error_cast_align+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=cast-align" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_cast_align=yes -else - ax_cv_check_cflags___Wno_error_cast_align=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_cast_align" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_cast_align" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_cast_align" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=cast-align" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=visibility" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=visibility... " >&6; } -if ${ax_cv_check_cflags___Wno_error_visibility+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=visibility" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_visibility=yes -else - ax_cv_check_cflags___Wno_error_visibility=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_visibility" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_visibility" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_visibility" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=visibility" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=parentheses-equality" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=parentheses-equality... " >&6; } -if ${ax_cv_check_cflags___Wno_error_parentheses_equality+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_parentheses_equality=yes -else - ax_cv_check_cflags___Wno_error_parentheses_equality=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_parentheses_equality" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_parentheses_equality" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_parentheses_equality" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=gnu99" >&5 -$as_echo_n "checking whether C compiler accepts -std=gnu99... " >&6; } -if ${ax_cv_check_cflags___std_gnu99+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=gnu99" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_gnu99=yes -else - ax_cv_check_cflags___std_gnu99=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_gnu99" >&5 -$as_echo "$ax_cv_check_cflags___std_gnu99" >&6; } -if test x"$ax_cv_check_cflags___std_gnu99" = xyes; then : - CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=unused-variable" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=unused-variable... " >&6; } -if ${ax_cv_check_cflags___Wno_error_unused_variable+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=unused-variable" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_unused_variable=yes -else - ax_cv_check_cflags___Wno_error_unused_variable=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_unused_variable" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_unused_variable" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_unused_variable" = xyes; then : - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable" -else - : -fi - - - - - - - # allow to override gcov location - -@%:@ Check whether --with-gcov was given. -if test "${with_gcov+set}" = set; then : - withval=$with_gcov; _AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov -else - _AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5 -$as_echo_n "checking whether to build with code coverage support... " >&6; } - @%:@ Check whether --enable-code-coverage was given. -if test "${enable_code_coverage+set}" = set; then : - enableval=$enable_code_coverage; -else - enable_code_coverage=no -fi - - - if test x$enable_code_coverage = xyes; then - CODE_COVERAGE_ENABLED_TRUE= - CODE_COVERAGE_ENABLED_FALSE='#' -else - CODE_COVERAGE_ENABLED_TRUE='#' - CODE_COVERAGE_ENABLED_FALSE= -fi - - CODE_COVERAGE_ENABLED=$enable_code_coverage - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5 -$as_echo "$enable_code_coverage" >&6; } - - if test "$enable_code_coverage" = "yes" ; then : - - # check for gcov - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy ${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCOV"; then - ac_cv_prog_GCOV="$GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCOV="${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCOV=$ac_cv_prog_GCOV -if test -n "$GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5 -$as_echo "$GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCOV"; then - ac_ct_GCOV=$GCOV - # Extract the first word of "$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy $_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCOV"; then - ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCOV="$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV -if test -n "$ac_ct_GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5 -$as_echo "$ac_ct_GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCOV" = x; then - GCOV=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCOV=$ac_ct_GCOV - fi -else - GCOV="$ac_cv_prog_GCOV" -fi - - if test "X$GCOV" = "X:"; then : - as_fn_error $? "gcov is needed to do coverage" "$LINENO" 5 -fi - - - if test "$GCC" = "no" ; then : - - as_fn_error $? "not compiling with gcc, which is required for gcov code coverage" "$LINENO" 5 - -fi - - # Extract the first word of "lcov", so it can be a program name with args. -set dummy lcov; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LCOV"; then - ac_cv_prog_LCOV="$LCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LCOV="lcov" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LCOV=$ac_cv_prog_LCOV -if test -n "$LCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5 -$as_echo "$LCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "genhtml", so it can be a program name with args. -set dummy genhtml; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GENHTML+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GENHTML"; then - ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GENHTML="genhtml" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GENHTML=$ac_cv_prog_GENHTML -if test -n "$GENHTML"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5 -$as_echo "$GENHTML" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - if test -z "$LCOV" ; then : - - as_fn_error $? "To enable code coverage reporting you must have lcov installed" "$LINENO" 5 - -fi - - if test -z "$GENHTML" ; then : - - as_fn_error $? "Could not find genhtml from the lcov package" "$LINENO" 5 - -fi - - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -coverage" >&5 -$as_echo_n "checking whether C compiler accepts -coverage... " >&6; } -if ${ax_cv_check_cflags___coverage+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -coverage" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___coverage=yes -else - ax_cv_check_cflags___coverage=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___coverage" >&5 -$as_echo "$ax_cv_check_cflags___coverage" >&6; } -if test x"$ax_cv_check_cflags___coverage" = xyes; then : - - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - -else - - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - -fi - - - - - - - - - CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -' - CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -' - CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -' - -else - - CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -' - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - -fi - -CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -' - - - - -if test x$enable_code_coverage != xno; then : - - CFLAGS="$CFLAGS $CODE_COVERAGE_CFLAGS" - # The CODE_COVERAGE_CPPFLAGS contains -DNDEBUG flag - # which removes assert(...) macros from code coverage and improves the - # branches score. But when it is defined it results in few - # unsed-but-set-variable warnings that are treated as errors in the travis-ci - # build because these variables are only used inside assert macros. - # error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable] - #CPPFLAGS="$CPPFLAGS $CODE_COVERAGE_CPPFLAGS" - CXXFLAGS="$CXXFLAGS $CODE_COVERAGE_CXXFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gcov_open" >&5 -$as_echo_n "checking for library containing gcov_open... " >&6; } -if ${ac_cv_search_gcov_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gcov_open (); -int -main () -{ -return gcov_open (); - ; - return 0; -} -_ACEOF -for ac_lib in '' gcov; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gcov_open=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_gcov_open+:} false; then : - break -fi -done -if ${ac_cv_search_gcov_open+:} false; then : - -else - ac_cv_search_gcov_open=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gcov_open" >&5 -$as_echo "$ac_cv_search_gcov_open" >&6; } -ac_res=$ac_cv_search_gcov_open -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - LDFLAGS="$LDFLAGS $CODE_COVERAGE_LDFLAGS" -fi - - -fi - -SKELETONS_CFLAGS="${ADD_CFLAGS} ${SKELETONS_CFLAGS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=c89" >&5 -$as_echo_n "checking whether C compiler accepts -std=c89... " >&6; } -if ${ax_cv_check_cflags___std_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=c89" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_c89=yes -else - ax_cv_check_cflags___std_c89=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_c89" >&5 -$as_echo "$ax_cv_check_cflags___std_c89" >&6; } -if test x"$ax_cv_check_cflags___std_c89" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wpedantic" >&5 -$as_echo_n "checking whether C compiler accepts -Wpedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__Wpedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -Wpedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__Wpedantic=yes -else - ax_cv_check_cflags__Werror__Wpedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wpedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__Wpedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__Wpedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic" -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -pedantic" >&5 -$as_echo_n "checking whether C compiler accepts -pedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__pedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -pedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__pedantic=yes -else - ax_cv_check_cflags__Werror__pedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__pedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__pedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__pedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic" -else - : -fi - - -fi - #clang 3.0 prints warning when the flag is not supported - -@%:@ Check whether --enable-Werror was given. -if test "${enable_Werror+set}" = set; then : - enableval=$enable_Werror; enable_werror=$enableval -else - enable_werror=no -fi - - if test x$enable_werror != xno; then : - - ADD_CFLAGS="${ADD_CFLAGS} -Werror -W -Wall -Wpointer-arith" - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Werror -W -Wall -Wpointer-arith" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wgnu" >&5 -$as_echo_n "checking whether C compiler accepts -Wgnu... " >&6; } -if ${ax_cv_check_cflags___Wgnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wgnu" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wgnu=yes -else - ax_cv_check_cflags___Wgnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wgnu" >&5 -$as_echo "$ax_cv_check_cflags___Wgnu" >&6; } -if test x"$ax_cv_check_cflags___Wgnu" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu" -else - : -fi - - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-long-long" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-long-long... " >&6; } -if ${ax_cv_check_cflags___Wno_long_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-long-long" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_long_long=yes -else - ax_cv_check_cflags___Wno_long_long=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_long_long" >&5 -$as_echo "$ax_cv_check_cflags___Wno_long_long" >&6; } -if test x"$ax_cv_check_cflags___Wno_long_long" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long" -else - : -fi - - -@%:@ Check whether --enable-test-Werror was given. -if test "${enable_test_Werror+set}" = set; then : - enableval=$enable_test_Werror; enable_test_werror=$enableval -else - enable_test_werror=no -fi - - if test x$enable_test_werror != xno; then : - - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Werror -W -Wpointer-arith" - -fi - -@%:@ Check whether --enable-test-32bit was given. -if test "${enable_test_32bit+set}" = set; then : - enableval=$enable_test_32bit; enable_test_32bit=$enableval -else - enable_test_32bit=no -fi - -if test "x$enable_test_32bit" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -m32" >&5 -$as_echo_n "checking whether C compiler accepts -m32... " >&6; } -if ${ax_cv_check_cflags___m32+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -m32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___m32=yes -else - ax_cv_check_cflags___m32=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___m32" >&5 -$as_echo "$ax_cv_check_cflags___m32" >&6; } -if test x"$ax_cv_check_cflags___m32" = xyes; then : - CFLAGS_M32="-m32 -DEXPLICIT_32BIT" -else - - CFLAGS_M32="" - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-32bit=$enable_test_32bit is requested but not supported by the C compiler -See \`config.log' for more details" "$LINENO" 5; } - -fi - - -fi - - if test "x${CFLAGS_M32}" != "x"; then - EXPLICIT_M32_TRUE= - EXPLICIT_M32_FALSE='#' -else - EXPLICIT_M32_TRUE='#' - EXPLICIT_M32_FALSE= -fi - - -SANITIZER_CFLAGS="" - -@%:@ Check whether --enable-test-ubsan was given. -if test "${enable_test_ubsan+set}" = set; then : - enableval=$enable_test_ubsan; disable_test_ubsan=$enableval -else - disable_test_ubsan=maybe -fi - -if test "x$disable_test_ubsan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=undefined" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=undefined... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void test(int *);void test(int *n) { *n = 0; } -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_undefined=yes -else - ax_cv_check_cclflags___fsanitize_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_undefined" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_undefined" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined" -else - - if test "x$disable_test_ubsan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=undefined" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=undefined... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_undefined=yes -else - ax_cv_check_cflags___fno_sanitize_recover_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_undefined" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_undefined" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int test(unsigned); int test(unsigned n) { return n + 1; } -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=yes -else - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=yes -else - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=nullability" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=nullability... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_nullability=yes -else - ax_cv_check_cclflags___fsanitize_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_nullability" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_nullability" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=nullability" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=nullability... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_nullability=yes -else - ax_cv_check_cflags___fno_sanitize_recover_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_nullability" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_nullability" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -ASAN_ENV_FLAGS="" -@%:@ Check whether --enable-test-asan was given. -if test "${enable_test_asan+set}" = set; then : - enableval=$enable_test_asan; disable_test_asan=$enableval -else - disable_test_asan=maybe -fi - -if test "x$disable_test_asan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=address" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=address... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_address+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=address" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_address=yes -else - ax_cv_check_cclflags___fsanitize_address=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_address" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_address" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_address" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address" -else - - if test "x$disable_test_asan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - - ASAN_OPTIONS="detect_leaks=1" - export ASAN_OPTIONS - save_cflags="${CFLAGS}" - CFLAGS="${CFLAGS} ${SANITIZER_CFLAGS}" - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - - ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="${save_cflags}" - unset ASAN_OPTIONS - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -LIBFUZZER_CFLAGS="" -@%:@ Check whether --enable-test-fuzzer was given. -if test "${enable_test_fuzzer+set}" = set; then : - enableval=$enable_test_fuzzer; enable_test_fuzzer=$enableval -else - enable_test_fuzzer=no -fi - -if test "x$enable_test_fuzzer" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=fuzzer" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=fuzzer... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_fuzzer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=fuzzer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_fuzzer=yes -else - ax_cv_check_cclflags___fsanitize_fuzzer=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_fuzzer" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_fuzzer" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_fuzzer" = xyes; then : - LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER" -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html -See \`config.log' for more details" "$LINENO" 5; } -fi - - -fi - -TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} ${SANITIZER_CFLAGS}" -SKELETONS_CFLAGS="${SKELETONS_CFLAGS} ${SANITIZER_CFLAGS}" - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -for ac_header in sys/param.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_SYS_PARAM_H 1 -_ACEOF - -fi - -done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define size_t unsigned int -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "@%:@define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "__int128" "ac_cv_type___int128" "$ac_includes_default" -if test "x$ac_cv_type___int128" = xyes; then : - -$as_echo "@%:@define HAVE_128_BIT_INT 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default" -if test "x$ac_cv_type_intmax_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define intmax_t int64_t -_ACEOF - -fi - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if ${ac_cv_sizeof_void_p+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -@%:@define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - - if test "$ac_cv_sizeof_void_p" -eq 8; then - TEST_64BIT_TRUE= - TEST_64BIT_FALSE='#' -else - TEST_64BIT_TRUE='#' - TEST_64BIT_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getopt" >&5 -$as_echo_n "checking for library containing getopt... " >&6; } -if ${ac_cv_search_getopt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getopt (); -int -main () -{ -return getopt (); - ; - return 0; -} -_ACEOF -for ac_lib in '' iberty; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getopt=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getopt+:} false; then : - break -fi -done -if ${ac_cv_search_getopt+:} false; then : - -else - ac_cv_search_getopt=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getopt" >&5 -$as_echo "$ac_cv_search_getopt" >&6; } -ac_res=$ac_cv_search_getopt -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - -for ac_func in strtoimax strtoll -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -for ac_func in mergesort -do : - ac_fn_c_check_func "$LINENO" "mergesort" "ac_cv_func_mergesort" -if test "x$ac_cv_func_mergesort" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MERGESORT 1 -_ACEOF - -fi -done - -for ac_func in mkstemps -do : - ac_fn_c_check_func "$LINENO" "mkstemps" "ac_cv_func_mkstemps" -if test "x$ac_cv_func_mkstemps" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MKSTEMPS 1 -_ACEOF - -fi -done - -for ac_func in timegm -do : - ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm" -if test "x$ac_cv_func_timegm" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_TIMEGM 1 -_ACEOF - -fi -done - -ac_fn_c_check_decl "$LINENO" "strcasecmp" "ac_cv_have_decl_strcasecmp" "$ac_includes_default" -if test "x$ac_cv_have_decl_strcasecmp" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_STRCASECMP $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vasprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_VASPRINTF $ac_have_decl -_ACEOF - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char symlink (); -int -main () -{ -return symlink (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "@%:@define HAVE_SYMLINK 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -# Extract the first word of "pandoc", so it can be a program name with args. -set dummy pandoc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PANDOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PANDOC in - [\\/]* | ?:[\\/]*) - ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PANDOC=$ac_cv_path_PANDOC -if test -n "$PANDOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 -$as_echo "$PANDOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test -n "$PANDOC"; then - HAVE_PANDOC_TRUE= - HAVE_PANDOC_FALSE='#' -else - HAVE_PANDOC_TRUE='#' - HAVE_PANDOC_FALSE= -fi - - -ac_config_files="$ac_config_files tests/tests-c-compiler/check-src/Makefile tests/tests-asn1c-compiler/Makefile tests/tests-asn1c-smoke/Makefile tests/tests-randomized/Makefile tests/tests-c-compiler/Makefile tests/tests-skeletons/Makefile libasn1compiler/Makefile libasn1common/Makefile libasn1parser/Makefile libasn1print/Makefile libasn1fix/Makefile doc/docsrc/Makefile skeletons/Makefile examples/Makefile doc/man/Makefile tests/Makefile asn1c/Makefile doc/Makefile Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then - as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EXPLICIT_M32_TRUE}" && test -z "${EXPLICIT_M32_FALSE}"; then - as_fn_error $? "conditional \"EXPLICIT_M32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${TEST_64BIT_TRUE}" && test -z "${TEST_64BIT_FALSE}"; then - as_fn_error $? "conditional \"TEST_64BIT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_PANDOC_TRUE}" && test -z "${HAVE_PANDOC_FALSE}"; then - as_fn_error $? "conditional \"HAVE_PANDOC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -asn1c config.status 0.9.29 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -reload_flag_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_separator_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX \ -postlink_cmds_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "tests/tests-c-compiler/check-src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/check-src/Makefile" ;; - "tests/tests-asn1c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-compiler/Makefile" ;; - "tests/tests-asn1c-smoke/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-smoke/Makefile" ;; - "tests/tests-randomized/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-randomized/Makefile" ;; - "tests/tests-c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/Makefile" ;; - "tests/tests-skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-skeletons/Makefile" ;; - "libasn1compiler/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1compiler/Makefile" ;; - "libasn1common/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1common/Makefile" ;; - "libasn1parser/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1parser/Makefile" ;; - "libasn1print/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1print/Makefile" ;; - "libasn1fix/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1fix/Makefile" ;; - "doc/docsrc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/docsrc/Makefile" ;; - "skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES skeletons/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "asn1c/Makefile") CONFIG_FILES="$CONFIG_FILES asn1c/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - diff --git a/autom4te.cache/output.2 b/autom4te.cache/output.2 deleted file mode 100644 index bc1c70d..0000000 --- a/autom4te.cache/output.2 +++ /dev/null @@ -1,21483 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for asn1c 0.9.29. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and vlm@lionet.info -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='asn1c' -PACKAGE_TARNAME='asn1c' -PACKAGE_VERSION='0.9.29' -PACKAGE_STRING='asn1c 0.9.29' -PACKAGE_BUGREPORT='vlm@lionet.info' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIB@&t@OBJS -HAVE_PANDOC_FALSE -HAVE_PANDOC_TRUE -PANDOC -TEST_64BIT_FALSE -TEST_64BIT_TRUE -ASAN_ENV_FLAGS -SKELETONS_CFLAGS -TESTSUITE_CFLAGS -SANITIZER_CFLAGS -LIBFUZZER_CFLAGS -ADD_CFLAGS -EXPLICIT_M32_FALSE -EXPLICIT_M32_TRUE -CFLAGS_M32 -CODE_COVERAGE_RULES -CODE_COVERAGE_LDFLAGS -CODE_COVERAGE_LIBS -CODE_COVERAGE_CXXFLAGS -CODE_COVERAGE_CFLAGS -CODE_COVERAGE_CPPFLAGS -GENHTML -LCOV -GCOV -CODE_COVERAGE_ENABLED -CODE_COVERAGE_ENABLED_FALSE -CODE_COVERAGE_ENABLED_TRUE -CXXCPP -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -DLLTOOL -OBJDUMP -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -ac_ct_AR -AR -LEXLIB -LEX_OUTPUT_ROOT -LEX -YFLAGS -YACC -LN_S -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_ASN_DEBUG -with_gcov -enable_code_coverage -enable_Werror -enable_test_Werror -enable_test_32bit -enable_test_ubsan -enable_test_asan -enable_test_fuzzer -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -YACC -YFLAGS -CXX -CXXFLAGS -CCC -LT_SYS_LIBRARY_PATH -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures asn1c 0.9.29 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/asn1c@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of asn1c 0.9.29:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ - --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ - --enable-fast-install@<:@=PKGS@:>@ - optimize for fast installation @<:@default=yes@:>@ - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ASN_DEBUG produce debug log during `make check` testing - --enable-code-coverage enable code coverage statistics collection - --enable-Werror abort compilation after any C compiler warning - --enable-test-Werror abort compiling tests after any C compiler warning - --enable-test-32bit enable tests for 32-bit compatibility - --disable-test-ubsan disable Undefined Behavior Sanitizer for tests - --disable-test-asan disable Address Sanitizer for tests - --enable-test-fuzzer enable LLVM LibFuzzer for randomized testing - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use - both@:>@ - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, @<:@default=aix@:>@. - --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ - --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - YACC The `Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: `bison -y', `byacc', - `yacc'. - YFLAGS The list of arguments that will be passed by default to @S|@YACC. - This script will default YFLAGS to the empty string to avoid a - default value of `-d' given by some make applications. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -asn1c configure 0.9.29 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_func LINENO FUNC VAR -@%:@ ---------------------------------- -@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_func - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_cxx_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_link - -@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using -@%:@ the include files in INCLUDES and setting the cache variable VAR -@%:@ accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------ ## -## Report this to vlm@lionet.info ## -## ------------------------------ ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_mongrel - -@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES -@%:@ ------------------------------------------- -@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache -@%:@ variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_type - -@%:@ ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -@%:@ -------------------------------------------- -@%:@ Tries to find the compile-time value of EXPR in a program that includes -@%:@ INCLUDES, setting VAR accordingly. Returns whether the value could be -@%:@ computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) < 0)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) >= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array @<:@1 - 2 * !(($2) <= $ac_mid)@:>@; -test_array @<:@0@:>@ = 0; -return test_array @<:@0@:>@; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in @%:@(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -@%:@include -@%:@include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -@%:@ifndef $as_decl_name -@%:@ifdef __cplusplus - (void) $as_decl_use; -@%:@else - (void) $as_decl_name; -@%:@endif -@%:@endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in config "$srcdir"/config; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -ac_config_headers="$ac_config_headers config.h" - -am__api_version='1.15' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='asn1c' - VERSION='0.9.29' - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -@%:@ Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_YACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -$as_echo "$YACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - - -for ac_prog in flex lex -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LEX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LEX=$ac_cv_prog_LEX -if test -n "$LEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 -$as_echo "$LEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$LEX" && break -done -test -n "$LEX" || LEX=":" - -if test "x$LEX" != "x:"; then - cat >conftest.l <<_ACEOF -%% -a { ECHO; } -b { REJECT; } -c { yymore (); } -d { yyless (1); } -e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ - yyless ((input () != 0)); } -f { unput (yytext[0]); } -. { BEGIN INITIAL; } -%% -#ifdef YYTEXT_POINTER -extern char *yytext; -#endif -int -main (void) -{ - return ! yylex () + ! yywrap (); -} -_ACEOF -{ { ac_try="$LEX conftest.l" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$LEX conftest.l") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 -$as_echo_n "checking lex output file root... " >&6; } -if ${ac_cv_prog_lex_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - -if test -f lex.yy.c; then - ac_cv_prog_lex_root=lex.yy -elif test -f lexyy.c; then - ac_cv_prog_lex_root=lexyy -else - as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 -$as_echo "$ac_cv_prog_lex_root" >&6; } -LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root - -if test -z "${LEXLIB+set}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 -$as_echo_n "checking lex library... " >&6; } -if ${ac_cv_lib_lex+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS=$LIBS - ac_cv_lib_lex='none needed' - for ac_lib in '' -lfl -ll; do - LIBS="$ac_lib $ac_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lex=$ac_lib -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - test "$ac_cv_lib_lex" != 'none needed' && break - done - LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 -$as_echo "$ac_cv_lib_lex" >&6; } - test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 -$as_echo_n "checking whether yytext is a pointer... " >&6; } -if ${ac_cv_prog_lex_yytext_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -ac_save_LIBS=$LIBS -LIBS="$LEXLIB $ac_save_LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define YYTEXT_POINTER 1 -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_prog_lex_yytext_pointer=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 -$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } -if test $ac_cv_prog_lex_yytext_pointer = yes; then - -$as_echo "@%:@define YYTEXT_POINTER 1" >>confdefs.h - -fi -rm -f conftest.l $LEX_OUTPUT_ROOT.c - -fi -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi -if test -n "$ac_tool_prefix"; then - for ac_prog in ar lib "link -lib" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar lib "link -lib" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - am_cv_ar_interface=ar - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int some_variable = 0; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - as_fn_error $? "could not determine $AR interface" "$LINENO" 5 - ;; -esac - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -CXXFLAGS="-std=c++11" - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -@%:@ Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -@%:@ Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - @%:@ Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - @%:@ Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -@%:@ Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - @%:@ Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -@%:@ Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - 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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - link_all_deplibs=no - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -case "$host_os" in -cygwin) - case "$target" in - *mingw*) - CC="$CC -mno-cygwin" - esac - ;; -esac - -@%:@ Check whether --enable-ASN_DEBUG was given. -if test "${enable_ASN_DEBUG+set}" = set; then : - enableval=$enable_ASN_DEBUG; enable_asn_debug=$enableval -else - enable_asn_debug=no -fi - - if test x$enable_asn_debug != xno; then : - - TESTSUITE_CFLAGS="-DASN_EMIT_DEBUG" - SKELETONS_CFLAGS="-DASN_EMIT_DEBUG" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wall" >&5 -$as_echo_n "checking whether C compiler accepts -Wall... " >&6; } -if ${ax_cv_check_cflags___Wall+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wall" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wall=yes -else - ax_cv_check_cflags___Wall=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wall" >&5 -$as_echo "$ax_cv_check_cflags___Wall" >&6; } -if test x"$ax_cv_check_cflags___Wall" = xyes; then : - CFLAGS="$CFLAGS -Wall" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wcast-qual" >&5 -$as_echo_n "checking whether C compiler accepts -Wcast-qual... " >&6; } -if ${ax_cv_check_cflags___Wcast_qual+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wcast-qual" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wcast_qual=yes -else - ax_cv_check_cflags___Wcast_qual=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wcast_qual" >&5 -$as_echo "$ax_cv_check_cflags___Wcast_qual" >&6; } -if test x"$ax_cv_check_cflags___Wcast_qual" = xyes; then : - CFLAGS="$CFLAGS -Wcast-qual" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wchar-subscripts" >&5 -$as_echo_n "checking whether C compiler accepts -Wchar-subscripts... " >&6; } -if ${ax_cv_check_cflags___Wchar_subscripts+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wchar-subscripts" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wchar_subscripts=yes -else - ax_cv_check_cflags___Wchar_subscripts=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wchar_subscripts" >&5 -$as_echo "$ax_cv_check_cflags___Wchar_subscripts" >&6; } -if test x"$ax_cv_check_cflags___Wchar_subscripts" = xyes; then : - CFLAGS="$CFLAGS -Wchar-subscripts" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-prototypes" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-prototypes... " >&6; } -if ${ax_cv_check_cflags___Wmissing_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-prototypes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_prototypes=yes -else - ax_cv_check_cflags___Wmissing_prototypes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_prototypes" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_prototypes" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_prototypes" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-prototypes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-declarations" >&5 -$as_echo_n "checking whether C compiler accepts -Wmissing-declarations... " >&6; } -if ${ax_cv_check_cflags___Wmissing_declarations+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wmissing-declarations" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wmissing_declarations=yes -else - ax_cv_check_cflags___Wmissing_declarations=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_declarations" >&5 -$as_echo "$ax_cv_check_cflags___Wmissing_declarations" >&6; } -if test x"$ax_cv_check_cflags___Wmissing_declarations" = xyes; then : - CFLAGS="$CFLAGS -Wmissing-declarations" -else - : -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=attributes" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=attributes... " >&6; } -if ${ax_cv_check_cflags___Wno_error_attributes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=attributes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_attributes=yes -else - ax_cv_check_cflags___Wno_error_attributes=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_attributes" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_attributes" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_attributes" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=attributes" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=cast-align" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=cast-align... " >&6; } -if ${ax_cv_check_cflags___Wno_error_cast_align+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=cast-align" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_cast_align=yes -else - ax_cv_check_cflags___Wno_error_cast_align=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_cast_align" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_cast_align" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_cast_align" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=cast-align" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=visibility" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=visibility... " >&6; } -if ${ax_cv_check_cflags___Wno_error_visibility+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=visibility" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_visibility=yes -else - ax_cv_check_cflags___Wno_error_visibility=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_visibility" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_visibility" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_visibility" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=visibility" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=parentheses-equality" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=parentheses-equality... " >&6; } -if ${ax_cv_check_cflags___Wno_error_parentheses_equality+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_parentheses_equality=yes -else - ax_cv_check_cflags___Wno_error_parentheses_equality=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_parentheses_equality" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_parentheses_equality" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_parentheses_equality" = xyes; then : - CFLAGS="$CFLAGS -Wno-error=parentheses-equality" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=gnu99" >&5 -$as_echo_n "checking whether C compiler accepts -std=gnu99... " >&6; } -if ${ax_cv_check_cflags___std_gnu99+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=gnu99" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_gnu99=yes -else - ax_cv_check_cflags___std_gnu99=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_gnu99" >&5 -$as_echo "$ax_cv_check_cflags___std_gnu99" >&6; } -if test x"$ax_cv_check_cflags___std_gnu99" = xyes; then : - CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-error=unused-variable" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-error=unused-variable... " >&6; } -if ${ax_cv_check_cflags___Wno_error_unused_variable+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-error=unused-variable" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_error_unused_variable=yes -else - ax_cv_check_cflags___Wno_error_unused_variable=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_error_unused_variable" >&5 -$as_echo "$ax_cv_check_cflags___Wno_error_unused_variable" >&6; } -if test x"$ax_cv_check_cflags___Wno_error_unused_variable" = xyes; then : - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable" -else - : -fi - - - - - - - # allow to override gcov location - -@%:@ Check whether --with-gcov was given. -if test "${with_gcov+set}" = set; then : - withval=$with_gcov; _AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov -else - _AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5 -$as_echo_n "checking whether to build with code coverage support... " >&6; } - @%:@ Check whether --enable-code-coverage was given. -if test "${enable_code_coverage+set}" = set; then : - enableval=$enable_code_coverage; -else - enable_code_coverage=no -fi - - - if test x$enable_code_coverage = xyes; then - CODE_COVERAGE_ENABLED_TRUE= - CODE_COVERAGE_ENABLED_FALSE='#' -else - CODE_COVERAGE_ENABLED_TRUE='#' - CODE_COVERAGE_ENABLED_FALSE= -fi - - CODE_COVERAGE_ENABLED=$enable_code_coverage - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5 -$as_echo "$enable_code_coverage" >&6; } - - if test "$enable_code_coverage" = "yes" ; then : - - # check for gcov - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy ${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCOV"; then - ac_cv_prog_GCOV="$GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCOV="${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCOV=$ac_cv_prog_GCOV -if test -n "$GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5 -$as_echo "$GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCOV"; then - ac_ct_GCOV=$GCOV - # Extract the first word of "$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args. -set dummy $_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCOV"; then - ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCOV="$_AX_CODE_COVERAGE_GCOV_PROG_WITH" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV -if test -n "$ac_ct_GCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5 -$as_echo "$ac_ct_GCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCOV" = x; then - GCOV=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCOV=$ac_ct_GCOV - fi -else - GCOV="$ac_cv_prog_GCOV" -fi - - if test "X$GCOV" = "X:"; then : - as_fn_error $? "gcov is needed to do coverage" "$LINENO" 5 -fi - - - if test "$GCC" = "no" ; then : - - as_fn_error $? "not compiling with gcc, which is required for gcov code coverage" "$LINENO" 5 - -fi - - # Extract the first word of "lcov", so it can be a program name with args. -set dummy lcov; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LCOV+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LCOV"; then - ac_cv_prog_LCOV="$LCOV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LCOV="lcov" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LCOV=$ac_cv_prog_LCOV -if test -n "$LCOV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5 -$as_echo "$LCOV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - # Extract the first word of "genhtml", so it can be a program name with args. -set dummy genhtml; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GENHTML+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GENHTML"; then - ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GENHTML="genhtml" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GENHTML=$ac_cv_prog_GENHTML -if test -n "$GENHTML"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5 -$as_echo "$GENHTML" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - if test -z "$LCOV" ; then : - - as_fn_error $? "To enable code coverage reporting you must have lcov installed" "$LINENO" 5 - -fi - - if test -z "$GENHTML" ; then : - - as_fn_error $? "Could not find genhtml from the lcov package" "$LINENO" 5 - -fi - - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -coverage" >&5 -$as_echo_n "checking whether C compiler accepts -coverage... " >&6; } -if ${ax_cv_check_cflags___coverage+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -coverage" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___coverage=yes -else - ax_cv_check_cflags___coverage=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___coverage" >&5 -$as_echo "$ax_cv_check_cflags___coverage" >&6; } -if test x"$ax_cv_check_cflags___coverage" = xyes; then : - - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - -else - - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - -fi - - - - - - - - - CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -' - CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -' - CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -' - -else - - CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -' - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - -fi - -CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -' - - - - -if test x$enable_code_coverage != xno; then : - - CFLAGS="$CFLAGS $CODE_COVERAGE_CFLAGS" - # The CODE_COVERAGE_CPPFLAGS contains -DNDEBUG flag - # which removes assert(...) macros from code coverage and improves the - # branches score. But when it is defined it results in few - # unsed-but-set-variable warnings that are treated as errors in the travis-ci - # build because these variables are only used inside assert macros. - # error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable] - #CPPFLAGS="$CPPFLAGS $CODE_COVERAGE_CPPFLAGS" - CXXFLAGS="$CXXFLAGS $CODE_COVERAGE_CXXFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gcov_open" >&5 -$as_echo_n "checking for library containing gcov_open... " >&6; } -if ${ac_cv_search_gcov_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gcov_open (); -int -main () -{ -return gcov_open (); - ; - return 0; -} -_ACEOF -for ac_lib in '' gcov; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gcov_open=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_gcov_open+:} false; then : - break -fi -done -if ${ac_cv_search_gcov_open+:} false; then : - -else - ac_cv_search_gcov_open=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gcov_open" >&5 -$as_echo "$ac_cv_search_gcov_open" >&6; } -ac_res=$ac_cv_search_gcov_open -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - LDFLAGS="$LDFLAGS $CODE_COVERAGE_LDFLAGS" -fi - - -fi - -SKELETONS_CFLAGS="${ADD_CFLAGS} ${SKELETONS_CFLAGS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -std=c89" >&5 -$as_echo_n "checking whether C compiler accepts -std=c89... " >&6; } -if ${ax_cv_check_cflags___std_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -std=c89" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___std_c89=yes -else - ax_cv_check_cflags___std_c89=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___std_c89" >&5 -$as_echo "$ax_cv_check_cflags___std_c89" >&6; } -if test x"$ax_cv_check_cflags___std_c89" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89" -else - : -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wpedantic" >&5 -$as_echo_n "checking whether C compiler accepts -Wpedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__Wpedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -Wpedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__Wpedantic=yes -else - ax_cv_check_cflags__Werror__Wpedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wpedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__Wpedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__Wpedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic" -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -pedantic" >&5 -$as_echo_n "checking whether C compiler accepts -pedantic... " >&6; } -if ${ax_cv_check_cflags__Werror__pedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Werror -pedantic" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags__Werror__pedantic=yes -else - ax_cv_check_cflags__Werror__pedantic=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__pedantic" >&5 -$as_echo "$ax_cv_check_cflags__Werror__pedantic" >&6; } -if test x"$ax_cv_check_cflags__Werror__pedantic" = xyes; then : - SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic" -else - : -fi - - -fi - #clang 3.0 prints warning when the flag is not supported - -@%:@ Check whether --enable-Werror was given. -if test "${enable_Werror+set}" = set; then : - enableval=$enable_Werror; enable_werror=$enableval -else - enable_werror=no -fi - - if test x$enable_werror != xno; then : - - ADD_CFLAGS="${ADD_CFLAGS} -Werror -W -Wall -Wpointer-arith" - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Werror -W -Wall -Wpointer-arith" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wgnu" >&5 -$as_echo_n "checking whether C compiler accepts -Wgnu... " >&6; } -if ${ax_cv_check_cflags___Wgnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wgnu" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wgnu=yes -else - ax_cv_check_cflags___Wgnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wgnu" >&5 -$as_echo "$ax_cv_check_cflags___Wgnu" >&6; } -if test x"$ax_cv_check_cflags___Wgnu" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu" -else - : -fi - - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-long-long" >&5 -$as_echo_n "checking whether C compiler accepts -Wno-long-long... " >&6; } -if ${ax_cv_check_cflags___Wno_long_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -Wno-long-long" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___Wno_long_long=yes -else - ax_cv_check_cflags___Wno_long_long=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_long_long" >&5 -$as_echo "$ax_cv_check_cflags___Wno_long_long" >&6; } -if test x"$ax_cv_check_cflags___Wno_long_long" = xyes; then : - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long" -else - : -fi - - -@%:@ Check whether --enable-test-Werror was given. -if test "${enable_test_Werror+set}" = set; then : - enableval=$enable_test_Werror; enable_test_werror=$enableval -else - enable_test_werror=no -fi - - if test x$enable_test_werror != xno; then : - - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Werror -W -Wpointer-arith" - -fi - -@%:@ Check whether --enable-test-32bit was given. -if test "${enable_test_32bit+set}" = set; then : - enableval=$enable_test_32bit; enable_test_32bit=$enableval -else - enable_test_32bit=no -fi - -if test "x$enable_test_32bit" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -m32" >&5 -$as_echo_n "checking whether C compiler accepts -m32... " >&6; } -if ${ax_cv_check_cflags___m32+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -m32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___m32=yes -else - ax_cv_check_cflags___m32=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___m32" >&5 -$as_echo "$ax_cv_check_cflags___m32" >&6; } -if test x"$ax_cv_check_cflags___m32" = xyes; then : - CFLAGS_M32="-m32 -DEXPLICIT_32BIT" -else - - CFLAGS_M32="" - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-32bit=$enable_test_32bit is requested but not supported by the C compiler -See \`config.log' for more details" "$LINENO" 5; } - -fi - - -fi - - if test "x${CFLAGS_M32}" != "x"; then - EXPLICIT_M32_TRUE= - EXPLICIT_M32_FALSE='#' -else - EXPLICIT_M32_TRUE='#' - EXPLICIT_M32_FALSE= -fi - - -SANITIZER_CFLAGS="" - -@%:@ Check whether --enable-test-ubsan was given. -if test "${enable_test_ubsan+set}" = set; then : - enableval=$enable_test_ubsan; disable_test_ubsan=$enableval -else - disable_test_ubsan=maybe -fi - -if test "x$disable_test_ubsan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=undefined" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=undefined... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void test(int *);void test(int *n) { *n = 0; } -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_undefined=yes -else - ax_cv_check_cclflags___fsanitize_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_undefined" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_undefined" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined" -else - - if test "x$disable_test_ubsan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=undefined" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=undefined... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=undefined" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_undefined=yes -else - ax_cv_check_cflags___fno_sanitize_recover_undefined=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_undefined" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_undefined" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_undefined" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int test(unsigned); int test(unsigned n) { return n + 1; } -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=yes -else - ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=unsigned-integer-overflow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=yes -else - ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=nullability" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=nullability... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_nullability=yes -else - ax_cv_check_cclflags___fsanitize_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_nullability" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_nullability" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability" -else - : -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-sanitize-recover=nullability" >&5 -$as_echo_n "checking whether C compiler accepts -fno-sanitize-recover=nullability... " >&6; } -if ${ax_cv_check_cflags___fno_sanitize_recover_nullability+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-sanitize-recover=nullability" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_sanitize_recover_nullability=yes -else - ax_cv_check_cflags___fno_sanitize_recover_nullability=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_recover_nullability" >&5 -$as_echo "$ax_cv_check_cflags___fno_sanitize_recover_nullability" >&6; } -if test x"$ax_cv_check_cflags___fno_sanitize_recover_nullability" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability" -else - : -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -ASAN_ENV_FLAGS="" -@%:@ Check whether --enable-test-asan was given. -if test "${enable_test_asan+set}" = set; then : - enableval=$enable_test_asan; disable_test_asan=$enableval -else - disable_test_asan=maybe -fi - -if test "x$disable_test_asan" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=address" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=address... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_address+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=address" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_address=yes -else - ax_cv_check_cclflags___fsanitize_address=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_address" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_address" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_address" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address" -else - - if test "x$disable_test_asan" != xmaybe; then : - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build -See \`config.log' for more details" "$LINENO" 5; } -fi - -fi - - - ASAN_OPTIONS="detect_leaks=1" - export ASAN_OPTIONS - save_cflags="${CFLAGS}" - CFLAGS="${CFLAGS} ${SANITIZER_CFLAGS}" - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - - ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1" - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="${save_cflags}" - unset ASAN_OPTIONS - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-omit-frame-pointer" >&5 -$as_echo_n "checking whether C compiler accepts -fno-omit-frame-pointer... " >&6; } -if ${ax_cv_check_cflags___fno_omit_frame_pointer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fno-omit-frame-pointer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ax_cv_check_cflags___fno_omit_frame_pointer=yes -else - ax_cv_check_cflags___fno_omit_frame_pointer=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_omit_frame_pointer" >&5 -$as_echo "$ax_cv_check_cflags___fno_omit_frame_pointer" >&6; } -if test x"$ax_cv_check_cflags___fno_omit_frame_pointer" = xyes; then : - SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer" -else - : -fi - - -fi - -LIBFUZZER_CFLAGS="" -@%:@ Check whether --enable-test-fuzzer was given. -if test "${enable_test_fuzzer+set}" = set; then : - enableval=$enable_test_fuzzer; enable_test_fuzzer=$enableval -else - enable_test_fuzzer=no -fi - -if test "x$enable_test_fuzzer" != xno; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler and linker accept -fsanitize=fuzzer" >&5 -$as_echo_n "checking whether C compiler and linker accept -fsanitize=fuzzer... " >&6; } -if ${ax_cv_check_cclflags___fsanitize_fuzzer+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=fuzzer" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_check_cclflags___fsanitize_fuzzer=yes -else - ax_cv_check_cclflags___fsanitize_fuzzer=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cclflags___fsanitize_fuzzer" >&5 -$as_echo "$ax_cv_check_cclflags___fsanitize_fuzzer" >&6; } -if test x"$ax_cv_check_cclflags___fsanitize_fuzzer" = xyes; then : - LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER" -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html -See \`config.log' for more details" "$LINENO" 5; } -fi - - -fi - -TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} ${SANITIZER_CFLAGS}" -SKELETONS_CFLAGS="${SKELETONS_CFLAGS} ${SANITIZER_CFLAGS}" - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -for ac_header in sys/param.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_SYS_PARAM_H 1 -_ACEOF - -fi - -done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define size_t unsigned int -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "@%:@define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "__int128" "ac_cv_type___int128" "$ac_includes_default" -if test "x$ac_cv_type___int128" = xyes; then : - -$as_echo "@%:@define HAVE_128_BIT_INT 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default" -if test "x$ac_cv_type_intmax_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -@%:@define intmax_t int64_t -_ACEOF - -fi - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if ${ac_cv_sizeof_void_p+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -@%:@define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - - if test "$ac_cv_sizeof_void_p" -eq 8; then - TEST_64BIT_TRUE= - TEST_64BIT_FALSE='#' -else - TEST_64BIT_TRUE='#' - TEST_64BIT_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getopt" >&5 -$as_echo_n "checking for library containing getopt... " >&6; } -if ${ac_cv_search_getopt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getopt (); -int -main () -{ -return getopt (); - ; - return 0; -} -_ACEOF -for ac_lib in '' iberty; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getopt=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getopt+:} false; then : - break -fi -done -if ${ac_cv_search_getopt+:} false; then : - -else - ac_cv_search_getopt=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getopt" >&5 -$as_echo "$ac_cv_search_getopt" >&6; } -ac_res=$ac_cv_search_getopt -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - -for ac_func in strtoimax strtoll -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -for ac_func in mergesort -do : - ac_fn_c_check_func "$LINENO" "mergesort" "ac_cv_func_mergesort" -if test "x$ac_cv_func_mergesort" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MERGESORT 1 -_ACEOF - -fi -done - -for ac_func in mkstemps -do : - ac_fn_c_check_func "$LINENO" "mkstemps" "ac_cv_func_mkstemps" -if test "x$ac_cv_func_mkstemps" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_MKSTEMPS 1 -_ACEOF - -fi -done - -for ac_func in timegm -do : - ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm" -if test "x$ac_cv_func_timegm" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_TIMEGM 1 -_ACEOF - -fi -done - -ac_fn_c_check_decl "$LINENO" "strcasecmp" "ac_cv_have_decl_strcasecmp" "$ac_includes_default" -if test "x$ac_cv_have_decl_strcasecmp" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_STRCASECMP $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vasprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_VASPRINTF $ac_have_decl -_ACEOF - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char symlink (); -int -main () -{ -return symlink (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "@%:@define HAVE_SYMLINK 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -# Extract the first word of "pandoc", so it can be a program name with args. -set dummy pandoc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PANDOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PANDOC in - [\\/]* | ?:[\\/]*) - ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PANDOC=$ac_cv_path_PANDOC -if test -n "$PANDOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 -$as_echo "$PANDOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test -n "$PANDOC"; then - HAVE_PANDOC_TRUE= - HAVE_PANDOC_FALSE='#' -else - HAVE_PANDOC_TRUE='#' - HAVE_PANDOC_FALSE= -fi - - -ac_config_files="$ac_config_files tests/tests-c-compiler/check-src/Makefile tests/tests-asn1c-compiler/Makefile tests/tests-asn1c-smoke/Makefile tests/tests-randomized/Makefile tests/tests-c-compiler/Makefile tests/tests-skeletons/Makefile libasn1compiler/Makefile libasn1common/Makefile libasn1parser/Makefile libasn1print/Makefile libasn1fix/Makefile doc/docsrc/Makefile skeletons/Makefile examples/Makefile doc/man/Makefile tests/Makefile asn1c/Makefile doc/Makefile Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then - as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EXPLICIT_M32_TRUE}" && test -z "${EXPLICIT_M32_FALSE}"; then - as_fn_error $? "conditional \"EXPLICIT_M32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${TEST_64BIT_TRUE}" && test -z "${TEST_64BIT_FALSE}"; then - as_fn_error $? "conditional \"TEST_64BIT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_PANDOC_TRUE}" && test -z "${HAVE_PANDOC_FALSE}"; then - as_fn_error $? "conditional \"HAVE_PANDOC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -asn1c config.status 0.9.29 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -reload_flag_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_separator_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX \ -postlink_cmds_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "tests/tests-c-compiler/check-src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/check-src/Makefile" ;; - "tests/tests-asn1c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-compiler/Makefile" ;; - "tests/tests-asn1c-smoke/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-smoke/Makefile" ;; - "tests/tests-randomized/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-randomized/Makefile" ;; - "tests/tests-c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/Makefile" ;; - "tests/tests-skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-skeletons/Makefile" ;; - "libasn1compiler/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1compiler/Makefile" ;; - "libasn1common/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1common/Makefile" ;; - "libasn1parser/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1parser/Makefile" ;; - "libasn1print/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1print/Makefile" ;; - "libasn1fix/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1fix/Makefile" ;; - "doc/docsrc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/docsrc/Makefile" ;; - "skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES skeletons/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "asn1c/Makefile") CONFIG_FILES="$CONFIG_FILES asn1c/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - diff --git a/autom4te.cache/requests b/autom4te.cache/requests deleted file mode 100644 index 2c763cc..0000000 --- a/autom4te.cache/requests +++ /dev/null @@ -1,539 +0,0 @@ -# This file was generated by Autom4te Fri Oct 23 20:57:39 UTC 2015. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - '-', - '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', - '/usr/share/aclocal/libtool.m4', - '/usr/share/aclocal/ltargz.m4', - '/usr/share/aclocal/ltdl.m4', - '/usr/share/aclocal/ltoptions.m4', - '/usr/share/aclocal/ltsugar.m4', - '/usr/share/aclocal/ltversion.m4', - '/usr/share/aclocal/lt~obsolete.m4', - '/usr/share/aclocal-1.15/amversion.m4', - '/usr/share/aclocal-1.15/ar-lib.m4', - '/usr/share/aclocal-1.15/auxdir.m4', - '/usr/share/aclocal-1.15/cond.m4', - '/usr/share/aclocal-1.15/depend.m4', - '/usr/share/aclocal-1.15/depout.m4', - '/usr/share/aclocal-1.15/init.m4', - '/usr/share/aclocal-1.15/install-sh.m4', - '/usr/share/aclocal-1.15/lead-dot.m4', - '/usr/share/aclocal-1.15/lex.m4', - '/usr/share/aclocal-1.15/make.m4', - '/usr/share/aclocal-1.15/missing.m4', - '/usr/share/aclocal-1.15/options.m4', - '/usr/share/aclocal-1.15/prog-cc-c-o.m4', - '/usr/share/aclocal-1.15/runlog.m4', - '/usr/share/aclocal-1.15/sanity.m4', - '/usr/share/aclocal-1.15/silent.m4', - '/usr/share/aclocal-1.15/strip.m4', - '/usr/share/aclocal-1.15/substnot.m4', - '/usr/share/aclocal-1.15/tar.m4', - 'm4/ax_check_compile_and_link_flag.m4', - 'm4/ax_check_compile_flag.m4', - 'm4/ax_code_coverage.m4', - 'configure.ac' - ], - { - 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, - '_LT_PROG_ECHO_BACKSLASH' => 1, - 'AC_PROG_EGREP' => 1, - 'LT_AC_PROG_RC' => 1, - '_LT_LINKER_OPTION' => 1, - 'AC_DISABLE_SHARED' => 1, - 'AC_LIBTOOL_FC' => 1, - 'AX_CHECK_COMPILE_AND_LINK_FLAG' => 1, - '_AC_PROG_LIBTOOL' => 1, - 'AM_SUBST_NOTMAKE' => 1, - '_LT_AC_FILE_LTDLL_C' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, - 'AC_LTDL_SHLIBPATH' => 1, - '_LT_CC_BASENAME' => 1, - 'AC_LIBTOOL_DLOPEN' => 1, - 'AC_LTDL_OBJDIR' => 1, - 'AC_LTDL_SHLIBEXT' => 1, - '_LT_AC_PROG_CXXCPP' => 1, - 'AC_LIBTOOL_SETUP' => 1, - 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - '_LT_AC_LANG_F77_CONFIG' => 1, - 'AC_DEFUN_ONCE' => 1, - 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, - '_LT_PROG_F77' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'LT_OUTPUT' => 1, - 'AC_LIBTOOL_COMPILER_OPTION' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_LTDL_PREOPEN' => 1, - 'AC_PATH_TOOL_PREFIX' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AC_WITH_LTDL' => 1, - 'LT_INIT' => 1, - 'LTOPTIONS_VERSION' => 1, - 'AC_ENABLE_STATIC' => 1, - 'AC_LTDL_DLSYM_USCORE' => 1, - 'AC_CHECK_LIBM' => 1, - 'AM_PROG_INSTALL_STRIP' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, - 'AC_LTDL_DLLIB' => 1, - '_LT_PROG_LTMAIN' => 1, - 'LT_CMD_MAX_LEN' => 1, - 'LT_PROG_GO' => 1, - 'AM_DEP_TRACK' => 1, - 'AC_ENABLE_FAST_INSTALL' => 1, - 'm4_pattern_forbid' => 1, - 'LTSUGAR_VERSION' => 1, - 'LT_PATH_NM' => 1, - 'LT_PATH_LD' => 1, - 'LT_SYS_DLOPEN_DEPLIBS' => 1, - 'LT_AC_PROG_GCJ' => 1, - 'AM_PROG_LEX' => 1, - 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, - '_LT_AC_LANG_C_CONFIG' => 1, - 'LT_AC_PROG_SED' => 1, - 'AC_PROG_LD' => 1, - 'AC_PATH_MAGIC' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'LT_FUNC_DLSYM_USCORE' => 1, - 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - 'AC_LIB_LTDL' => 1, - '_LT_AC_TAGVAR' => 1, - 'AM_PROG_AR' => 1, - '_m4_warn' => 1, - '_LT_AC_LANG_GCJ' => 1, - '_LT_AC_LOCK' => 1, - 'LT_AC_PROG_EGREP' => 1, - 'AM_MISSING_HAS_RUN' => 1, - 'LT_FUNC_ARGZ' => 1, - 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, - 'LTDL_INSTALLABLE' => 1, - '_LT_LINKER_BOILERPLATE' => 1, - 'AM_AUX_DIR_EXPAND' => 1, - 'LT_SYS_MODULE_EXT' => 1, - 'AM_DISABLE_SHARED' => 1, - '_LT_WITH_SYSROOT' => 1, - 'm4_include' => 1, - 'AC_LIBTOOL_CXX' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - 'AC_ENABLE_SHARED' => 1, - 'LTVERSION_VERSION' => 1, - 'AX_CHECK_COMPILE_FLAG' => 1, - '_AM_SET_OPTION' => 1, - '_AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_CONFIG' => 1, - '_LT_DLL_DEF_P' => 1, - '_AM_SET_OPTIONS' => 1, - 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, - 'AM_SET_LEADING_DOT' => 1, - 'AC_CONFIG_MACRO_DIR' => 1, - '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'AC_LTDL_SYSSEARCHPATH' => 1, - 'AC_LIBLTDL_CONVENIENCE' => 1, - '_LT_AC_TRY_DLOPEN_SELF' => 1, - 'AM_SANITY_CHECK' => 1, - 'LT_LIB_DLLOAD' => 1, - 'AX_CODE_COVERAGE' => 1, - 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, - '_LT_REQUIRED_DARWIN_CHECKS' => 1, - 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, - 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, - 'AC_LIBTOOL_WIN32_DLL' => 1, - '_LTDL_SETUP' => 1, - '_LT_LIBOBJ' => 1, - 'include' => 1, - 'AC_LIBTOOL_F77' => 1, - 'AC_DEPLIBS_CHECK_METHOD' => 1, - 'AC_LTDL_SYMBOL_USCORE' => 1, - 'LT_PROG_GCJ' => 1, - 'AM_SET_DEPDIR' => 1, - 'AM_PROG_LD' => 1, - 'AC_LIBTOOL_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - '_LT_AC_SYS_COMPILER' => 1, - '_LT_AC_LANG_CXX' => 1, - 'AM_PROG_NM' => 1, - 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, - 'AC_DEFUN' => 1, - 'AC_LIBTOOL_GCJ' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AM_DISABLE_STATIC' => 1, - '_LT_AC_LANG_RC_CONFIG' => 1, - 'LTDL_INIT' => 1, - 'AM_RUN_LOG' => 1, - '_AM_AUTOCONF_VERSION' => 1, - 'AC_LIBLTDL_INSTALLABLE' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, - '_AM_MANGLE_OPTION' => 1, - '_LT_PROG_CXX' => 1, - 'LTOBSOLETE_VERSION' => 1, - 'AM_CONDITIONAL' => 1, - 'AM_ENABLE_STATIC' => 1, - 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AC_LIBTOOL_OBJDIR' => 1, - 'AM_MISSING_PROG' => 1, - 'AC_LIBTOOL_LINKER_OPTION' => 1, - '_LT_AC_SHELL_INIT' => 1, - 'AU_DEFUN' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AC_PROG_LD_GNU' => 1, - '_LT_PREPARE_SED_QUOTE_VARS' => 1, - 'AC_LIBTOOL_PICMODE' => 1, - 'AM_PROG_INSTALL_SH' => 1, - 'AM_ENABLE_SHARED' => 1, - '_LT_COMPILER_OPTION' => 1, - 'AC_LTDL_ENABLE_INSTALL' => 1, - 'LT_SYS_DLSEARCH_PATH' => 1, - 'LT_WITH_LTDL' => 1, - 'LT_SYS_SYMBOL_USCORE' => 1, - '_AM_DEPENDENCIES' => 1, - 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, - '_LT_PATH_TOOL_PREFIX' => 1, - '_LT_PROG_FC' => 1, - 'LT_PROG_RC' => 1, - '_AM_PROG_TAR' => 1, - 'AC_LIBTOOL_DLOPEN_SELF' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - '_LT_COMPILER_BOILERPLATE' => 1, - 'LT_SYS_MODULE_PATH' => 1, - 'AC_DISABLE_STATIC' => 1, - 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - '_AM_IF_OPTION' => 1, - 'LTDL_CONVENIENCE' => 1, - 'AC_LIBTOOL_RC' => 1, - 'LT_LIB_M' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, - 'm4_pattern_allow' => 1, - 'AC_PROG_LIBTOOL' => 1, - '_LT_AC_LANG_F77' => 1, - '_LT_AC_PROG_ECHO_BACKSLASH' => 1, - 'AM_MAKE_INCLUDE' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - 'LT_SYS_DLOPEN_SELF' => 1, - '_LT_AC_CHECK_DLFCN' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_PROG_NM' => 1, - 'AC_PROG_LD_RELOAD_FLAG' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'LT_LANG' => 1 - } - ], 'Autom4te::Request' ), - bless( [ - '1', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'aclocal.m4', - 'configure.ac' - ], - { - 'AC_CANONICAL_TARGET' => 1, - 'AC_SUBST_TRACE' => 1, - 'include' => 1, - '_AM_COND_IF' => 1, - 'AM_PROG_MOC' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, - 'AM_PROG_FC_C_O' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'm4_pattern_forbid' => 1, - 'AM_PATH_GUILE' => 1, - 'AM_POT_TOOLS' => 1, - 'AM_MAINTAINER_MODE' => 1, - 'AM_XGETTEXT_OPTION' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'm4_sinclude' => 1, - 'AM_PROG_AR' => 1, - '_m4_warn' => 1, - 'AM_GNU_GETTEXT' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'AC_CONFIG_LINKS' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AC_CONFIG_FILES' => 1, - 'AC_CANONICAL_BUILD' => 1, - 'AM_PROG_MKDIR_P' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AC_FC_SRCEXT' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_INIT' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AC_CONFIG_HEADERS' => 1, - '_AM_COND_ELSE' => 1, - 'AH_OUTPUT' => 1, - 'm4_pattern_allow' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AM_PROG_F77_C_O' => 1, - 'AC_FC_PP_DEFINE' => 1, - 'sinclude' => 1, - 'm4_include' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AM_MAKEFILE_INCLUDE' => 1, - 'AM_NLS' => 1, - 'AC_SUBST' => 1, - 'AM_ENABLE_MULTILIB' => 1, - 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, - '_AM_COND_ENDIF' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'AC_LIBSOURCE' => 1, - 'AM_CONDITIONAL' => 1, - 'AM_EXTRA_RECURSIVE_TARGETS' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AM_PROG_CXX_C_O' => 1, - '_AM_MAKEFILE_INCLUDE' => 1, - 'AC_FC_PP_SRCEXT' => 1, - 'AC_FC_FREEFORM' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'LT_INIT' => 1 - } - ], 'Autom4te::Request' ), - bless( [ - '2', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - '-', - '/usr/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', - '/usr/share/aclocal/ltargz.m4', - '/usr/share/aclocal/ltdl.m4', - '/usr/share/aclocal-1.15/amversion.m4', - '/usr/share/aclocal-1.15/ar-lib.m4', - '/usr/share/aclocal-1.15/auxdir.m4', - '/usr/share/aclocal-1.15/cond.m4', - '/usr/share/aclocal-1.15/depend.m4', - '/usr/share/aclocal-1.15/depout.m4', - '/usr/share/aclocal-1.15/init.m4', - '/usr/share/aclocal-1.15/install-sh.m4', - '/usr/share/aclocal-1.15/lead-dot.m4', - '/usr/share/aclocal-1.15/lex.m4', - '/usr/share/aclocal-1.15/make.m4', - '/usr/share/aclocal-1.15/missing.m4', - '/usr/share/aclocal-1.15/options.m4', - '/usr/share/aclocal-1.15/prog-cc-c-o.m4', - '/usr/share/aclocal-1.15/runlog.m4', - '/usr/share/aclocal-1.15/sanity.m4', - '/usr/share/aclocal-1.15/silent.m4', - '/usr/share/aclocal-1.15/strip.m4', - '/usr/share/aclocal-1.15/substnot.m4', - '/usr/share/aclocal-1.15/tar.m4', - 'm4/ax_check_compile_and_link_flag.m4', - 'm4/ax_check_compile_flag.m4', - 'm4/ax_code_coverage.m4', - 'm4/libtool.m4', - 'm4/ltoptions.m4', - 'm4/ltsugar.m4', - 'm4/ltversion.m4', - 'm4/lt~obsolete.m4', - 'configure.ac' - ], - { - 'LT_PATH_NM' => 1, - 'LTSUGAR_VERSION' => 1, - 'AM_DEP_TRACK' => 1, - 'LT_PROG_GO' => 1, - 'AC_ENABLE_FAST_INSTALL' => 1, - 'm4_pattern_forbid' => 1, - 'AM_PROG_LEX' => 1, - 'LT_AC_PROG_GCJ' => 1, - 'LT_SYS_DLOPEN_DEPLIBS' => 1, - 'LT_PATH_LD' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'AC_PATH_MAGIC' => 1, - 'LT_FUNC_DLSYM_USCORE' => 1, - 'AC_PROG_LD' => 1, - 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, - 'LT_AC_PROG_SED' => 1, - '_LT_AC_LANG_C_CONFIG' => 1, - 'AM_MISSING_HAS_RUN' => 1, - '_m4_warn' => 1, - 'AC_LIB_LTDL' => 1, - '_LT_AC_TAGVAR' => 1, - 'AM_PROG_AR' => 1, - 'LT_AC_PROG_EGREP' => 1, - '_LT_AC_LOCK' => 1, - '_LT_AC_LANG_GCJ' => 1, - 'AC_LIBTOOL_CXX' => 1, - 'm4_include' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - 'AC_ENABLE_SHARED' => 1, - 'LT_FUNC_ARGZ' => 1, - '_LT_WITH_SYSROOT' => 1, - 'AM_DISABLE_SHARED' => 1, - 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, - 'LTDL_INSTALLABLE' => 1, - 'LT_SYS_MODULE_EXT' => 1, - '_LT_LINKER_BOILERPLATE' => 1, - 'AM_AUX_DIR_EXPAND' => 1, - '_AM_SET_OPTION' => 1, - '_AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_CONFIG' => 1, - 'AX_CHECK_COMPILE_FLAG' => 1, - 'LTVERSION_VERSION' => 1, - 'AC_CONFIG_MACRO_DIR' => 1, - 'AM_SET_LEADING_DOT' => 1, - '_AM_SET_OPTIONS' => 1, - '_LT_DLL_DEF_P' => 1, - 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, - 'AX_CODE_COVERAGE' => 1, - 'AC_LIBLTDL_CONVENIENCE' => 1, - 'AC_LTDL_SYSSEARCHPATH' => 1, - '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'AM_SANITY_CHECK' => 1, - '_LT_AC_TRY_DLOPEN_SELF' => 1, - 'LT_LIB_DLLOAD' => 1, - 'LT_AC_PROG_RC' => 1, - 'AC_PROG_EGREP' => 1, - 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, - '_LT_PROG_ECHO_BACKSLASH' => 1, - 'AC_LIBTOOL_FC' => 1, - 'AC_DISABLE_SHARED' => 1, - 'AX_CHECK_COMPILE_AND_LINK_FLAG' => 1, - '_LT_LINKER_OPTION' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, - 'AC_LTDL_SHLIBPATH' => 1, - '_LT_AC_FILE_LTDLL_C' => 1, - 'AC_LTDL_OBJDIR' => 1, - '_LT_CC_BASENAME' => 1, - 'AC_LIBTOOL_DLOPEN' => 1, - 'AM_SUBST_NOTMAKE' => 1, - '_AC_PROG_LIBTOOL' => 1, - 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - 'AC_DEFUN_ONCE' => 1, - '_LT_AC_LANG_F77_CONFIG' => 1, - 'AC_LTDL_SHLIBEXT' => 1, - '_LT_AC_PROG_CXXCPP' => 1, - 'AC_LIBTOOL_SETUP' => 1, - 'AM_INIT_AUTOMAKE' => 1, - '_LT_PROG_F77' => 1, - 'AC_LIBTOOL_COMPILER_OPTION' => 1, - 'LT_OUTPUT' => 1, - 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_LTDL_DLSYM_USCORE' => 1, - 'AC_CHECK_LIBM' => 1, - 'AC_ENABLE_STATIC' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AC_PATH_TOOL_PREFIX' => 1, - 'AC_LTDL_PREOPEN' => 1, - 'AC_WITH_LTDL' => 1, - 'LTOPTIONS_VERSION' => 1, - 'LT_INIT' => 1, - 'LT_CMD_MAX_LEN' => 1, - 'AM_PROG_INSTALL_STRIP' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, - '_LT_PROG_LTMAIN' => 1, - 'AC_LTDL_DLLIB' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AC_PROG_LD_GNU' => 1, - 'AU_DEFUN' => 1, - '_LT_PREPARE_SED_QUOTE_VARS' => 1, - 'AM_PROG_INSTALL_SH' => 1, - 'AC_LIBTOOL_PICMODE' => 1, - '_AM_DEPENDENCIES' => 1, - 'LT_WITH_LTDL' => 1, - 'AC_LTDL_ENABLE_INSTALL' => 1, - 'LT_SYS_DLSEARCH_PATH' => 1, - '_LT_COMPILER_OPTION' => 1, - 'AM_ENABLE_SHARED' => 1, - 'LT_SYS_SYMBOL_USCORE' => 1, - 'LT_PROG_RC' => 1, - '_AM_PROG_TAR' => 1, - '_LT_PROG_FC' => 1, - '_LT_PATH_TOOL_PREFIX' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - 'AC_LIBTOOL_DLOPEN_SELF' => 1, - 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, - 'AC_LIBTOOL_RC' => 1, - 'LTDL_CONVENIENCE' => 1, - '_LT_COMPILER_BOILERPLATE' => 1, - 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - '_AM_IF_OPTION' => 1, - 'LT_SYS_MODULE_PATH' => 1, - 'AC_DISABLE_STATIC' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'm4_pattern_allow' => 1, - 'LT_LIB_M' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, - 'AM_MAKE_INCLUDE' => 1, - '_LT_AC_PROG_ECHO_BACKSLASH' => 1, - '_LT_AC_LANG_F77' => 1, - 'LT_LANG' => 1, - 'AC_PROG_LD_RELOAD_FLAG' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - '_LT_AC_CHECK_DLFCN' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - 'LT_SYS_DLOPEN_SELF' => 1, - 'AC_PROG_NM' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, - 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, - 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - '_LT_LIBOBJ' => 1, - 'AC_LIBTOOL_WIN32_DLL' => 1, - '_LTDL_SETUP' => 1, - 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, - '_LT_REQUIRED_DARWIN_CHECKS' => 1, - 'AC_LTDL_SYMBOL_USCORE' => 1, - 'LT_PROG_GCJ' => 1, - 'AM_PROG_LD' => 1, - 'AM_SET_DEPDIR' => 1, - 'AC_LIBTOOL_F77' => 1, - 'include' => 1, - 'AC_DEPLIBS_CHECK_METHOD' => 1, - 'AC_LIBTOOL_PROG_CC_C_O' => 1, - '_LT_AC_SYS_COMPILER' => 1, - 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - 'AC_LIBTOOL_GCJ' => 1, - '_LT_AC_TAGCONFIG' => 1, - '_LT_AC_LANG_CXX' => 1, - 'AM_PROG_NM' => 1, - 'AC_DEFUN' => 1, - 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, - 'AM_RUN_LOG' => 1, - '_AM_AUTOCONF_VERSION' => 1, - 'AM_DISABLE_STATIC' => 1, - '_LT_AC_LANG_RC_CONFIG' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'LTDL_INIT' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AC_LIBLTDL_INSTALLABLE' => 1, - '_AM_MANGLE_OPTION' => 1, - '_LT_PROG_CXX' => 1, - 'LTOBSOLETE_VERSION' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, - '_LT_AC_SHELL_INIT' => 1, - 'AC_LIBTOOL_LINKER_OPTION' => 1, - 'AM_MISSING_PROG' => 1, - 'AM_ENABLE_STATIC' => 1, - 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_LIBTOOL_OBJDIR' => 1, - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1 - } - ], 'Autom4te::Request' ) - ); - diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 deleted file mode 100644 index 3ca87dc..0000000 --- a/autom4te.cache/traces.0 +++ /dev/null @@ -1,3157 +0,0 @@ -m4trace:/usr/share/aclocal/libtool.m4:61: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -]) -m4trace:/usr/share/aclocal/libtool.m4:99: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:99: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:100: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:100: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:619: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -]) -m4trace:/usr/share/aclocal/libtool.m4:812: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) -m4trace:/usr/share/aclocal/libtool.m4:823: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -]) -m4trace:/usr/share/aclocal/libtool.m4:915: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -m4trace:/usr/share/aclocal/libtool.m4:915: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. -You should run autoupdate.])dnl -LT_LANG(C++)]) -m4trace:/usr/share/aclocal/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -m4trace:/usr/share/aclocal/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran 77)]) -m4trace:/usr/share/aclocal/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -m4trace:/usr/share/aclocal/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran)]) -m4trace:/usr/share/aclocal/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -m4trace:/usr/share/aclocal/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Java)]) -m4trace:/usr/share/aclocal/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -m4trace:/usr/share/aclocal/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Windows Resource)]) -m4trace:/usr/share/aclocal/libtool.m4:1247: -1- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) -m4trace:/usr/share/aclocal/libtool.m4:1578: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -]) -m4trace:/usr/share/aclocal/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1629: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -]) -m4trace:/usr/share/aclocal/libtool.m4:1664: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1664: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1671: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -]) -m4trace:/usr/share/aclocal/libtool.m4:1810: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1810: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:1921: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -]) -m4trace:/usr/share/aclocal/libtool.m4:2046: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:2046: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3167: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -]) -m4trace:/usr/share/aclocal/libtool.m4:3229: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3229: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3252: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -]) -m4trace:/usr/share/aclocal/libtool.m4:3766: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3766: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3767: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3767: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3838: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -]) -m4trace:/usr/share/aclocal/libtool.m4:3852: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -]) -m4trace:/usr/share/aclocal/libtool.m4:3871: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:3871: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8141: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) -m4trace:/usr/share/aclocal/libtool.m4:8150: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8150: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8157: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) -]) -m4trace:/usr/share/aclocal/libtool.m4:8164: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) -]) -m4trace:/usr/share/aclocal/libtool.m4:8169: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8169: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8289: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:/usr/share/aclocal/libtool.m4:8289: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:/usr/share/aclocal/ltargz.m4:12: -1- AC_DEFUN([LT_FUNC_ARGZ], [ -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for 'error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -LT_ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$LT_ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test yes = "$lt_cv_sys_argz_works"], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [LT_ARGZ_H=lt__argz.h - AC_LIBOBJ([lt__argz])])]) - -AC_SUBST([LT_ARGZ_H]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -]) -m4trace:/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -]) -m4trace:/usr/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test yes != "$with_included_ltdl"; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL=-I$with_ltdl_include - ;; -esac -INCLTDL=$LTDLINCL - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([LT_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -m4_pattern_allow([LT_LIBEXT])dnl -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name= -eval "lt_libprefix=\"$libname_spec\"" -m4_pattern_allow([LT_LIBPREFIX])dnl -AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" -AC_SUBST([LTDLOPEN]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:443: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd* | netbsdelf*-gnu) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:552: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_SHARED_EXT])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], - [Define to the shared library suffix, say, ".dylib".]) -fi -if test -n "$shared_archive_member_spec"; then - m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], - [Define to the shared archive member specification, say "(shr.o)".]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:587: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:653: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS=$lt_save_LIBS -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -LIBS=$lt_dlload_save_LIBS -AC_LANG_POP -]) -m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:756: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:800: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; }] -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - ]) - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) -m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. -You should run autoupdate.])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_SHARED($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_SHARED($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_STATIC($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_STATIC($@)]) -m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:/usr/share/aclocal/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) -m4trace:/usr/share/aclocal/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) -m4trace:/usr/share/aclocal/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) -m4trace:/usr/share/aclocal-1.15/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) -m4trace:/usr/share/aclocal-1.15/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -m4trace:/usr/share/aclocal-1.15/ar-lib.m4:13: -1- AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl -AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([ar-lib])dnl -AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) -: ${AR=ar} - -AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [AC_LANG_PUSH([C]) - am_cv_ar_interface=ar - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - ]) - AC_LANG_POP([C])]) - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - m4_default([$1], - [AC_MSG_ERROR([could not determine $AR interface])]) - ;; -esac -AC_SUBST([AR])dnl -]) -m4trace:/usr/share/aclocal-1.15/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) -m4trace:/usr/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) -m4trace:/usr/share/aclocal-1.15/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) -m4trace:/usr/share/aclocal-1.15/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) -m4trace:/usr/share/aclocal-1.15/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) -m4trace:/usr/share/aclocal-1.15/depout.m4:12: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -]) -m4trace:/usr/share/aclocal-1.15/depout.m4:71: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) -m4trace:/usr/share/aclocal-1.15/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) -m4trace:/usr/share/aclocal-1.15/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -m4trace:/usr/share/aclocal-1.15/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) -m4trace:/usr/share/aclocal-1.15/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) -m4trace:/usr/share/aclocal-1.15/lex.m4:13: -1- AC_DEFUN([AM_PROG_LEX], [AC_PREREQ([2.50])dnl -AC_REQUIRE([AM_MISSING_HAS_RUN])dnl -AC_REQUIRE([AC_PROG_LEX])dnl -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi]) -m4trace:/usr/share/aclocal-1.15/make.m4:12: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) -m4trace:/usr/share/aclocal-1.15/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) -m4trace:/usr/share/aclocal-1.15/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) -m4trace:/usr/share/aclocal-1.15/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) -m4trace:/usr/share/aclocal-1.15/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) -m4trace:/usr/share/aclocal-1.15/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -m4trace:/usr/share/aclocal-1.15/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) -m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -m4trace:/usr/share/aclocal-1.15/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) -m4trace:/usr/share/aclocal-1.15/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) -m4trace:/usr/share/aclocal-1.15/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) -m4trace:/usr/share/aclocal-1.15/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) -m4trace:/usr/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) -m4trace:/usr/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) -m4trace:/usr/share/aclocal-1.15/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) -m4trace:m4/ax_check_compile_and_link_flag.m4:57: -1- AC_DEFUN([AX_CHECK_COMPILE_AND_LINK_FLAG], [AC_PREREQ(2.61)dnl -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]clflags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler and linker accept $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -]) -m4trace:m4/ax_check_compile_flag.m4:60: -1- AC_DEFUN([AX_CHECK_COMPILE_FLAG], [AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -]) -m4trace:m4/ax_code_coverage.m4:75: -1- AC_DEFUN([AX_CODE_COVERAGE], [ - dnl Check for --enable-code-coverage - AC_REQUIRE([AC_PROG_SED]) - - # allow to override gcov location - AC_ARG_WITH([gcov], - [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) - - AC_MSG_CHECKING([whether to build with code coverage support]) - AC_ARG_ENABLE([code-coverage], - AS_HELP_STRING([--enable-code-coverage], - [enable code coverage statistics collection]),, - enable_code_coverage=no) - - AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) - AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) - AC_MSG_RESULT($enable_code_coverage) - - AS_IF([ test "$enable_code_coverage" = "yes" ], [ - # check for gcov - AC_CHECK_TOOL([GCOV], - [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], - [:]) - AS_IF([test "X$GCOV" = "X:"], - [AC_MSG_ERROR([gcov is needed to do coverage])]) - AC_SUBST([GCOV]) - - dnl Check if gcc is being used - AS_IF([ test "$GCC" = "no" ], [ - AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) - ]) - - AC_CHECK_PROG([LCOV], [lcov], [lcov]) - AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) - - AS_IF([ test -z "$LCOV" ], [ - AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) - ]) - - AS_IF([ test -z "$GENHTML" ], [ - AC_MSG_ERROR([Could not find genhtml from the lcov package]) - ]) - - dnl Build the code coverage flags - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - AX_CHECK_COMPILE_FLAG([-coverage], [ - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - ], [ - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - ]) - - AC_SUBST([CODE_COVERAGE_CPPFLAGS]) - AC_SUBST([CODE_COVERAGE_CFLAGS]) - AC_SUBST([CODE_COVERAGE_CXXFLAGS]) - AC_SUBST([CODE_COVERAGE_LIBS]) - AC_SUBST([CODE_COVERAGE_LDFLAGS]) - - [CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -'] - [CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -'] - [CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -'] - ], [ - [CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -'] - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - ]) - -[CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -'] - - AC_SUBST([CODE_COVERAGE_RULES]) - m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) -]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^runstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:5: -1- AM_INIT_AUTOMAKE([foreign]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:5: -1- AM_SET_CURRENT_AUTOMAKE_VERSION -m4trace:configure.ac:5: -1- AM_AUTOMAKE_VERSION([1.15]) -m4trace:configure.ac:5: -1- _AM_AUTOCONF_VERSION([2.69]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__isrc$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([am__isrc]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CYGPATH_W$]) -m4trace:configure.ac:5: -1- _AM_SET_OPTIONS([foreign]) -m4trace:configure.ac:5: -1- _AM_SET_OPTION([foreign]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([foreign]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([no-define]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- AM_SANITY_CHECK -m4trace:configure.ac:5: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -m4trace:configure.ac:5: -1- AM_MISSING_HAS_RUN -m4trace:configure.ac:5: -1- AM_AUX_DIR_EXPAND -m4trace:configure.ac:5: -1- m4_pattern_allow([^ACLOCAL$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOCONF$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOMAKE$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOHEADER$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MAKEINFO$]) -m4trace:configure.ac:5: -1- AM_PROG_INSTALL_SH -m4trace:configure.ac:5: -1- m4_pattern_allow([^install_sh$]) -m4trace:configure.ac:5: -1- AM_PROG_INSTALL_STRIP -m4trace:configure.ac:5: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MKDIR_P$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^mkdir_p$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:5: -1- AM_SET_LEADING_DOT -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__leading_dot$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([tar-ustar]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([tar-pax]) -m4trace:configure.ac:5: -1- _AM_PROG_TAR([v7]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AMTAR$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__tar$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__untar$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([no-dependencies]) -m4trace:configure.ac:5: -1- AM_SILENT_RULES -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:5: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:5: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:6: -1- AC_CONFIG_MACRO_DIR([m4]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:9: -1- _AM_PROG_CC_C_O -m4trace:configure.ac:9: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) -m4trace:configure.ac:9: -1- _AM_DEPENDENCIES([CC]) -m4trace:configure.ac:9: -1- AM_SET_DEPDIR -m4trace:configure.ac:9: -1- m4_pattern_allow([^DEPDIR$]) -m4trace:configure.ac:9: -1- AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:9: -1- AM_MAKE_INCLUDE -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__include$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__quote$]) -m4trace:configure.ac:9: -1- AM_DEP_TRACK -m4trace:configure.ac:9: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_TRUE$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__nodep$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__nodep]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CCDEPMODE$]) -m4trace:configure.ac:9: -1- AM_CONDITIONAL([am__fastdepCC], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:12: -1- m4_pattern_allow([^LN_S$]) -m4trace:configure.ac:13: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YFLAGS$]) -m4trace:configure.ac:15: -1- AM_PROG_LEX -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEXLIB$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^YYTEXT_POINTER$]) -m4trace:configure.ac:17: -1- AM_PROG_AR -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:21: -1- _AM_DEPENDENCIES([CXX]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXDEPMODE$]) -m4trace:configure.ac:21: -1- AM_CONDITIONAL([am__fastdepCXX], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:24: -1- LT_INIT -m4trace:configure.ac:24: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) -m4trace:configure.ac:24: -1- LTOPTIONS_VERSION -m4trace:configure.ac:24: -1- LTSUGAR_VERSION -m4trace:configure.ac:24: -1- LTVERSION_VERSION -m4trace:configure.ac:24: -1- LTOBSOLETE_VERSION -m4trace:configure.ac:24: -1- _LT_PROG_LTMAIN -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:24: -1- _LT_PREPARE_SED_QUOTE_VARS -m4trace:configure.ac:24: -1- _LT_PROG_ECHO_BACKSLASH -m4trace:configure.ac:24: -1- LT_PATH_LD -m4trace:configure.ac:24: -1- m4_pattern_allow([^SED$]) -m4trace:configure.ac:24: -1- AC_PROG_EGREP -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^FGREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- LT_PATH_NM -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NM$]) -m4trace:configure.ac:24: -1- LT_CMD_MAX_LEN -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:24: -1- _LT_WITH_SYSROOT -m4trace:configure.ac:24: -1- m4_pattern_allow([LT_OBJDIR]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_OBJDIR$]) -m4trace:configure.ac:24: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:24: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:24: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CC]) -m4trace:configure.ac:24: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^MANIFEST_TOOL$]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_REQUIRED_DARWIN_CHECKS -m4trace:configure.ac:24: -1- m4_pattern_allow([^DSYMUTIL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NMEDIT$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIPO$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL64$]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:24: -1- LT_SYS_DLOPEN_SELF -m4trace:configure.ac:24: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) -m4trace:configure.ac:24: -1- LT_LANG([CXX]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CXX]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:24: -1- LT_PATH_LD -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:27: -1- AM_SILENT_RULES([yes]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:27: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:27: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:47: -1- AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) -m4trace:configure.ac:48: -1- AX_CHECK_COMPILE_FLAG([-Wcast-qual], [CFLAGS="$CFLAGS -Wcast-qual"]) -m4trace:configure.ac:49: -1- AX_CHECK_COMPILE_FLAG([-Wchar-subscripts], [CFLAGS="$CFLAGS -Wchar-subscripts"]) -m4trace:configure.ac:51: -1- AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"]) -m4trace:configure.ac:53: -1- AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], [CFLAGS="$CFLAGS -Wmissing-declarations"]) -m4trace:configure.ac:57: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=attributes], [CFLAGS="$CFLAGS -Wno-error=attributes"]) -m4trace:configure.ac:59: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=cast-align], [CFLAGS="$CFLAGS -Wno-error=cast-align"]) -m4trace:configure.ac:61: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=visibility], [CFLAGS="$CFLAGS -Wno-error=visibility"]) -m4trace:configure.ac:63: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=parentheses-equality], [CFLAGS="$CFLAGS -Wno-error=parentheses-equality"]) -m4trace:configure.ac:65: -1- AX_CHECK_COMPILE_FLAG([-std=gnu99], [CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99"]) -m4trace:configure.ac:68: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=unused-variable], [TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable"]) -m4trace:configure.ac:77: -1- AX_CODE_COVERAGE -m4trace:configure.ac:77: -1- AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_TRUE$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_FALSE$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_TRUE]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_FALSE]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^LCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GENHTML$]) -m4trace:configure.ac:77: -1- AX_CHECK_COMPILE_FLAG([-coverage], [ - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - ], [ - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - ]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CPPFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CXXFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LIBS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LDFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_RULES$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES]) -m4trace:configure.ac:94: -1- AX_CHECK_COMPILE_FLAG([-std=c89], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89"]) -m4trace:configure.ac:96: -1- AX_CHECK_COMPILE_FLAG([-Wpedantic], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic"], [ - dnl When -Wpedantic is not supported try the -pedantic instead. (gcc-4.7) - dnl See https://gcc.gnu.org/gcc-4.8/changes.html - AX_CHECK_COMPILE_FLAG([-pedantic], - [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic"], [], [-Werror]) - ], [-Werror]) -m4trace:configure.ac:96: -1- AX_CHECK_COMPILE_FLAG([-pedantic], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic"], [], [-Werror]) -m4trace:configure.ac:110: -1- AX_CHECK_COMPILE_FLAG([-Wgnu], [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu"]) -m4trace:configure.ac:117: -1- AX_CHECK_COMPILE_FLAG([-Wno-long-long], [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long"]) -m4trace:configure.ac:134: -1- AX_CHECK_COMPILE_FLAG([-m32], [CFLAGS_M32="-m32 -DEXPLICIT_32BIT"], [ - CFLAGS_M32="" - AC_MSG_FAILURE([--enable-test-32bit=$enable_test_32bit is requested but not supported by the _AC_LANG compiler]) - ]) -m4trace:configure.ac:141: -1- m4_pattern_allow([^CFLAGS_M32$]) -m4trace:configure.ac:142: -1- AM_CONDITIONAL([EXPLICIT_M32], [test "x${CFLAGS_M32}" != "x"]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_TRUE$]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_FALSE$]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_TRUE]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_FALSE]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=undefined], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined"], [ - AS_IF([test "x$disable_test_ubsan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build])]) - ], [], [AC_LANG_PROGRAM([void test(int *);void test(int *n) { *n = 0; }]) - ]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=undefined], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=unsigned-integer-overflow], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow"], [], [], [AC_LANG_PROGRAM([int test(unsigned); int test(unsigned n) { return n + 1; }])]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=unsigned-integer-overflow], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=nullability], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=nullability], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -m4trace:configure.ac:192: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=address], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address"], [ - AS_IF([test "x$disable_test_asan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build])]) - ]) -m4trace:configure.ac:192: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... -../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... -configure.ac:192: the top level]) -m4trace:configure.ac:192: -1- AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -m4trace:configure.ac:228: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=fuzzer], [LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER"], [AC_MSG_FAILURE( -[--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html])], [], [AC_LANG_SOURCE([[ - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - ]])]) -m4trace:configure.ac:249: -1- m4_pattern_allow([^ADD_CFLAGS$]) -m4trace:configure.ac:250: -1- m4_pattern_allow([^LIBFUZZER_CFLAGS$]) -m4trace:configure.ac:251: -1- m4_pattern_allow([^SANITIZER_CFLAGS$]) -m4trace:configure.ac:252: -1- m4_pattern_allow([^TESTSUITE_CFLAGS$]) -m4trace:configure.ac:253: -1- m4_pattern_allow([^SKELETONS_CFLAGS$]) -m4trace:configure.ac:254: -1- m4_pattern_allow([^ASAN_ENV_FLAGS$]) -m4trace:configure.ac:257: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:258: -1- m4_pattern_allow([^HAVE_SYS_PARAM_H$]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) -m4trace:configure.ac:262: -1- m4_pattern_allow([^off_t$]) -m4trace:configure.ac:263: -1- m4_pattern_allow([^size_t$]) -m4trace:configure.ac:264: -1- m4_pattern_allow([^TM_IN_SYS_TIME$]) -m4trace:configure.ac:265: -1- m4_pattern_allow([^HAVE_128_BIT_INT$]) -m4trace:configure.ac:267: -1- m4_pattern_allow([^intmax_t$]) -m4trace:configure.ac:270: -1- m4_pattern_allow([^SIZEOF_VOID_P$]) -m4trace:configure.ac:271: -1- AM_CONDITIONAL([TEST_64BIT], [test "$ac_cv_sizeof_void_p" -eq 8]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_TRUE$]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_FALSE$]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_TRUE]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_FALSE]) -m4trace:configure.ac:277: -1- m4_pattern_allow([^HAVE_MERGESORT$]) -m4trace:configure.ac:278: -1- m4_pattern_allow([^HAVE_MKSTEMPS$]) -m4trace:configure.ac:279: -1- m4_pattern_allow([^HAVE_TIMEGM$]) -m4trace:configure.ac:280: -1- m4_pattern_allow([^HAVE_DECL_STRCASECMP$]) -m4trace:configure.ac:281: -1- m4_pattern_allow([^HAVE_DECL_VASPRINTF$]) -m4trace:configure.ac:282: -1- m4_pattern_allow([^HAVE_SYMLINK$]) -m4trace:configure.ac:285: -1- m4_pattern_allow([^PANDOC$]) -m4trace:configure.ac:286: -1- AM_CONDITIONAL([HAVE_PANDOC], [test -n "$PANDOC"]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_TRUE$]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_FALSE$]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_TRUE]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_FALSE]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:309: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) -m4trace:configure.ac:309: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) -m4trace:configure.ac:309: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:309: -1- _LT_PROG_LTMAIN diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1 deleted file mode 100644 index 0875255..0000000 --- a/autom4te.cache/traces.1 +++ /dev/null @@ -1,820 +0,0 @@ -m4trace:aclocal.m4:1231: -1- m4_include([m4/ax_check_compile_and_link_flag.m4]) -m4trace:aclocal.m4:1232: -1- m4_include([m4/ax_check_compile_flag.m4]) -m4trace:aclocal.m4:1233: -1- m4_include([m4/ax_code_coverage.m4]) -m4trace:aclocal.m4:1234: -1- m4_include([m4/libtool.m4]) -m4trace:aclocal.m4:1235: -1- m4_include([m4/ltoptions.m4]) -m4trace:aclocal.m4:1236: -1- m4_include([m4/ltsugar.m4]) -m4trace:aclocal.m4:1237: -1- m4_include([m4/ltversion.m4]) -m4trace:aclocal.m4:1238: -1- m4_include([m4/lt~obsolete.m4]) -m4trace:configure.ac:1: -1- AC_INIT([asn1c], [0.9.29], [vlm@lionet.info]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:1: -1- AC_SUBST([SHELL]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([SHELL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:1: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_NAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_STRING]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_URL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([exec_prefix]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:1: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([prefix]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:1: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([program_transform_name]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:1: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([bindir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sbindir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:1: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libexecdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([datarootdir], ['${prefix}/share']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datarootdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([datadir], ['${datarootdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datadir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sysconfdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sharedstatedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([runstatedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^runstatedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([oldincludedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datarootdir}/doc/${PACKAGE_TARNAME}'], - ['${datarootdir}/doc/${PACKAGE}'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([docdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([infodir], ['${datarootdir}/info']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([infodir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:1: -1- AC_SUBST([htmldir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([htmldir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:1: -1- AC_SUBST([dvidir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([dvidir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:1: -1- AC_SUBST([pdfdir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([pdfdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([psdir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([psdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([mandir], ['${datarootdir}/man']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([mandir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -@%:@undef PACKAGE_NAME]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -@%:@undef PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -@%:@undef PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -@%:@undef PACKAGE_STRING]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -@%:@undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ -@%:@undef PACKAGE_URL]) -m4trace:configure.ac:1: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([DEFS]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_C]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_N]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_T]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:1: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:1: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([build_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:1: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([host_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:1: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([target_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:3: -1- AC_CONFIG_AUX_DIR([config]) -m4trace:configure.ac:4: -1- AC_CONFIG_HEADERS([config.h]) -m4trace:configure.ac:5: -1- AM_INIT_AUTOMAKE([foreign]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:5: -1- AM_AUTOMAKE_VERSION([1.15]) -m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:5: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:5: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:5: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([INSTALL_DATA]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:5: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([am__isrc]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__isrc$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([am__isrc]) -m4trace:configure.ac:5: -1- AC_SUBST([CYGPATH_W]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CYGPATH_W]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CYGPATH_W$]) -m4trace:configure.ac:5: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([PACKAGE]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([VERSION]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ -@%:@undef PACKAGE]) -m4trace:configure.ac:5: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- AH_OUTPUT([VERSION], [/* Version number of package */ -@%:@undef VERSION]) -m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([missing]) -m4trace:configure.ac:5: -1- AC_SUBST([ACLOCAL]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([ACLOCAL]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^ACLOCAL$]) -m4trace:configure.ac:5: -1- AC_SUBST([AUTOCONF]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AUTOCONF]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOCONF$]) -m4trace:configure.ac:5: -1- AC_SUBST([AUTOMAKE]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AUTOMAKE]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOMAKE$]) -m4trace:configure.ac:5: -1- AC_SUBST([AUTOHEADER]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AUTOHEADER]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOHEADER$]) -m4trace:configure.ac:5: -1- AC_SUBST([MAKEINFO]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([MAKEINFO]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MAKEINFO$]) -m4trace:configure.ac:5: -1- AC_SUBST([install_sh]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([install_sh]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^install_sh$]) -m4trace:configure.ac:5: -1- AC_SUBST([STRIP]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([STRIP]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:5: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) -m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:5: -1- AC_SUBST([MKDIR_P]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([MKDIR_P]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MKDIR_P$]) -m4trace:configure.ac:5: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([mkdir_p]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^mkdir_p$]) -m4trace:configure.ac:5: -1- AC_SUBST([AWK]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AWK]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:5: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([SET_MAKE]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:5: -1- AC_SUBST([am__leading_dot]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([am__leading_dot]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__leading_dot$]) -m4trace:configure.ac:5: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AMTAR]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AMTAR$]) -m4trace:configure.ac:5: -1- AC_SUBST([am__tar]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([am__tar]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__tar$]) -m4trace:configure.ac:5: -1- AC_SUBST([am__untar]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([am__untar]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__untar$]) -m4trace:configure.ac:5: -1- AM_SILENT_RULES -m4trace:configure.ac:5: -1- AC_SUBST([AM_V]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AM_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:5: -1- AC_SUBST([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:5: -1- AC_SUBST([AM_BACKSLASH]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AM_BACKSLASH]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:9: -1- AC_SUBST([CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CFLAGS]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:9: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:9: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:9: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:9: -1- AC_SUBST([CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([ac_ct_CC]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:9: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([EXEEXT]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:9: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([OBJEXT]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([compile]) -m4trace:configure.ac:9: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([DEPDIR]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^DEPDIR$]) -m4trace:configure.ac:9: -1- AC_SUBST([am__include]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__include]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__include$]) -m4trace:configure.ac:9: -1- AC_SUBST([am__quote]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__quote]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__quote$]) -m4trace:configure.ac:9: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:9: -1- AC_SUBST([AMDEP_TRUE]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AMDEP_TRUE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_TRUE$]) -m4trace:configure.ac:9: -1- AC_SUBST([AMDEP_FALSE]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AMDEP_FALSE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) -m4trace:configure.ac:9: -1- AC_SUBST([AMDEPBACKSLASH]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) -m4trace:configure.ac:9: -1- AC_SUBST([am__nodep]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__nodep]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__nodep$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__nodep]) -m4trace:configure.ac:9: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CCDEPMODE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CCDEPMODE$]) -m4trace:configure.ac:9: -1- AM_CONDITIONAL([am__fastdepCC], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:9: -1- AC_SUBST([am__fastdepCC_TRUE]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) -m4trace:configure.ac:9: -1- AC_SUBST([am__fastdepCC_FALSE]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) -m4trace:configure.ac:10: -1- AC_SUBST([CPP]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:10: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:10: -1- AC_SUBST([CPP]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:12: -1- AC_SUBST([LN_S], [$as_ln_s]) -m4trace:configure.ac:12: -1- AC_SUBST_TRACE([LN_S]) -m4trace:configure.ac:12: -1- m4_pattern_allow([^LN_S$]) -m4trace:configure.ac:13: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:13: -1- AC_SUBST_TRACE([SET_MAKE]) -m4trace:configure.ac:13: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:14: -1- AC_SUBST([YACC]) -m4trace:configure.ac:14: -1- AC_SUBST_TRACE([YACC]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- AC_SUBST([YACC]) -m4trace:configure.ac:14: -1- AC_SUBST_TRACE([YACC]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- AC_SUBST([YFLAGS]) -m4trace:configure.ac:14: -1- AC_SUBST_TRACE([YFLAGS]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YFLAGS$]) -m4trace:configure.ac:15: -1- AC_SUBST([LEX]) -m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LEX]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX$]) -m4trace:configure.ac:15: -1- AC_SUBST([LEX_OUTPUT_ROOT], [$ac_cv_prog_lex_root]) -m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LEX_OUTPUT_ROOT]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$]) -m4trace:configure.ac:15: -1- AC_SUBST([LEXLIB]) -m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LEXLIB]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEXLIB$]) -m4trace:configure.ac:15: -1- AC_DEFINE_TRACE_LITERAL([YYTEXT_POINTER]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^YYTEXT_POINTER$]) -m4trace:configure.ac:15: -1- AH_OUTPUT([YYTEXT_POINTER], [/* Define to 1 if `lex\' declares `yytext\' as a `char *\' by default, not a - `char@<:@@:>@\'. */ -@%:@undef YYTEXT_POINTER]) -m4trace:configure.ac:17: -1- AM_PROG_AR -m4trace:configure.ac:17: -1- AC_REQUIRE_AUX_FILE([ar-lib]) -m4trace:configure.ac:17: -1- AC_SUBST([AR]) -m4trace:configure.ac:17: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:17: -1- AC_SUBST([ac_ct_AR]) -m4trace:configure.ac:17: -1- AC_SUBST_TRACE([ac_ct_AR]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:17: -1- AC_SUBST([AR]) -m4trace:configure.ac:17: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:21: -1- AC_SUBST([CXX]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- AC_SUBST([CXXFLAGS]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CXXFLAGS]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:21: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:21: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:21: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:21: -1- AC_SUBST([CXX]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- AC_SUBST([ac_ct_CXX]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([ac_ct_CXX]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:21: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CXXDEPMODE]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXDEPMODE$]) -m4trace:configure.ac:21: -1- AM_CONDITIONAL([am__fastdepCXX], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:21: -1- AC_SUBST([am__fastdepCXX_TRUE]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) -m4trace:configure.ac:21: -1- AC_SUBST([am__fastdepCXX_FALSE]) -m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:24: -1- LT_INIT -m4trace:configure.ac:24: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) -m4trace:configure.ac:24: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) -m4trace:configure.ac:24: -1- AC_SUBST([LIBTOOL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LIBTOOL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBTOOL$]) -m4trace:configure.ac:24: -1- AC_CANONICAL_HOST -m4trace:configure.ac:24: -1- AC_CANONICAL_BUILD -m4trace:configure.ac:24: -1- AC_REQUIRE_AUX_FILE([config.sub]) -m4trace:configure.ac:24: -1- AC_REQUIRE_AUX_FILE([config.guess]) -m4trace:configure.ac:24: -1- AC_SUBST([build], [$ac_cv_build]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([build]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:24: -1- AC_SUBST([build_cpu], [$[1]]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([build_cpu]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:24: -1- AC_SUBST([build_vendor], [$[2]]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([build_vendor]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:24: -1- AC_SUBST([build_os]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([build_os]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:24: -1- AC_SUBST([host], [$ac_cv_host]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([host]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:24: -1- AC_SUBST([host_cpu], [$[1]]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([host_cpu]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:24: -1- AC_SUBST([host_vendor], [$[2]]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([host_vendor]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:24: -1- AC_SUBST([host_os]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([host_os]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:24: -1- AC_SUBST([SED]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([SED]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^SED$]) -m4trace:configure.ac:24: -1- AC_SUBST([GREP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([GREP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- AC_SUBST([EGREP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([EGREP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:24: -1- AC_SUBST([FGREP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([FGREP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^FGREP$]) -m4trace:configure.ac:24: -1- AC_SUBST([GREP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([GREP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- AC_SUBST([LD]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LD]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- AC_SUBST([DUMPBIN]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([DUMPBIN]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- AC_SUBST([ac_ct_DUMPBIN]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) -m4trace:configure.ac:24: -1- AC_SUBST([DUMPBIN]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([DUMPBIN]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- AC_SUBST([NM]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([NM]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NM$]) -m4trace:configure.ac:24: -1- AC_SUBST([OBJDUMP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([OBJDUMP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- AC_SUBST([OBJDUMP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([OBJDUMP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- AC_SUBST([DLLTOOL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([DLLTOOL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- AC_SUBST([DLLTOOL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([DLLTOOL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- AC_SUBST([AR]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:24: -1- AC_SUBST([ac_ct_AR]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([ac_ct_AR]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:24: -1- AC_SUBST([STRIP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([STRIP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:24: -1- AC_SUBST([RANLIB]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([RANLIB]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([LT_OBJDIR]) -m4trace:configure.ac:24: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_OBJDIR$]) -m4trace:configure.ac:24: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ -@%:@undef LT_OBJDIR]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CC]) -m4trace:configure.ac:24: -1- AC_SUBST([MANIFEST_TOOL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^MANIFEST_TOOL$]) -m4trace:configure.ac:24: -1- AC_SUBST([DSYMUTIL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([DSYMUTIL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DSYMUTIL$]) -m4trace:configure.ac:24: -1- AC_SUBST([NMEDIT]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([NMEDIT]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NMEDIT$]) -m4trace:configure.ac:24: -1- AC_SUBST([LIPO]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LIPO]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIPO$]) -m4trace:configure.ac:24: -1- AC_SUBST([OTOOL]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([OTOOL]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL$]) -m4trace:configure.ac:24: -1- AC_SUBST([OTOOL64]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([OTOOL64]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL64$]) -m4trace:configure.ac:24: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_DLFCN_H]) -m4trace:configure.ac:24: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:24: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ -@%:@undef STDC_HEADERS]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_TYPES_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_STAT_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDLIB_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRING_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_MEMORY_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRINGS_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_INTTYPES_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDINT_H]) -m4trace:configure.ac:24: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:24: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CXX]) -m4trace:configure.ac:24: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:24: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- AC_SUBST([LD]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LD]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:27: -1- AM_SILENT_RULES([yes]) -m4trace:configure.ac:27: -1- AC_SUBST([AM_V]) -m4trace:configure.ac:27: -1- AC_SUBST_TRACE([AM_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:27: -1- AC_SUBST([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:27: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:27: -1- AC_SUBST([AM_BACKSLASH]) -m4trace:configure.ac:27: -1- AC_SUBST_TRACE([AM_BACKSLASH]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:77: -1- AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_ENABLED_TRUE]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_ENABLED_TRUE]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_TRUE$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_ENABLED_FALSE]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_ENABLED_FALSE]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_FALSE$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_TRUE]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_FALSE]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_ENABLED]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED$]) -m4trace:configure.ac:77: -1- AC_SUBST([GCOV]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([GCOV]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- AC_SUBST([GCOV]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([GCOV]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- AC_SUBST([LCOV]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([LCOV]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^LCOV$]) -m4trace:configure.ac:77: -1- AC_SUBST([GENHTML]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([GENHTML]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GENHTML$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_CPPFLAGS]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_CPPFLAGS]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CPPFLAGS$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_CFLAGS]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_CFLAGS]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CFLAGS$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_CXXFLAGS]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_CXXFLAGS]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CXXFLAGS$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_LIBS]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_LIBS]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LIBS$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_LDFLAGS]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_LDFLAGS]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LDFLAGS$]) -m4trace:configure.ac:77: -1- AC_SUBST([CODE_COVERAGE_RULES]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([CODE_COVERAGE_RULES]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_RULES$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES]) -m4trace:configure.ac:141: -1- AC_SUBST([CFLAGS_M32]) -m4trace:configure.ac:141: -1- AC_SUBST_TRACE([CFLAGS_M32]) -m4trace:configure.ac:141: -1- m4_pattern_allow([^CFLAGS_M32$]) -m4trace:configure.ac:142: -1- AM_CONDITIONAL([EXPLICIT_M32], [test "x${CFLAGS_M32}" != "x"]) -m4trace:configure.ac:142: -1- AC_SUBST([EXPLICIT_M32_TRUE]) -m4trace:configure.ac:142: -1- AC_SUBST_TRACE([EXPLICIT_M32_TRUE]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_TRUE$]) -m4trace:configure.ac:142: -1- AC_SUBST([EXPLICIT_M32_FALSE]) -m4trace:configure.ac:142: -1- AC_SUBST_TRACE([EXPLICIT_M32_FALSE]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_FALSE$]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_TRUE]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_FALSE]) -m4trace:configure.ac:192: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... -../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... -configure.ac:192: the top level]) -m4trace:configure.ac:249: -1- AC_SUBST([ADD_CFLAGS]) -m4trace:configure.ac:249: -1- AC_SUBST_TRACE([ADD_CFLAGS]) -m4trace:configure.ac:249: -1- m4_pattern_allow([^ADD_CFLAGS$]) -m4trace:configure.ac:250: -1- AC_SUBST([LIBFUZZER_CFLAGS]) -m4trace:configure.ac:250: -1- AC_SUBST_TRACE([LIBFUZZER_CFLAGS]) -m4trace:configure.ac:250: -1- m4_pattern_allow([^LIBFUZZER_CFLAGS$]) -m4trace:configure.ac:251: -1- AC_SUBST([SANITIZER_CFLAGS]) -m4trace:configure.ac:251: -1- AC_SUBST_TRACE([SANITIZER_CFLAGS]) -m4trace:configure.ac:251: -1- m4_pattern_allow([^SANITIZER_CFLAGS$]) -m4trace:configure.ac:252: -1- AC_SUBST([TESTSUITE_CFLAGS]) -m4trace:configure.ac:252: -1- AC_SUBST_TRACE([TESTSUITE_CFLAGS]) -m4trace:configure.ac:252: -1- m4_pattern_allow([^TESTSUITE_CFLAGS$]) -m4trace:configure.ac:253: -1- AC_SUBST([SKELETONS_CFLAGS]) -m4trace:configure.ac:253: -1- AC_SUBST_TRACE([SKELETONS_CFLAGS]) -m4trace:configure.ac:253: -1- m4_pattern_allow([^SKELETONS_CFLAGS$]) -m4trace:configure.ac:254: -1- AC_SUBST([ASAN_ENV_FLAGS]) -m4trace:configure.ac:254: -1- AC_SUBST_TRACE([ASAN_ENV_FLAGS]) -m4trace:configure.ac:254: -1- m4_pattern_allow([^ASAN_ENV_FLAGS$]) -m4trace:configure.ac:257: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) -m4trace:configure.ac:257: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:257: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ -@%:@undef STDC_HEADERS]) -m4trace:configure.ac:258: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_PARAM_H]) -m4trace:configure.ac:258: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_PARAM_H]) -m4trace:configure.ac:258: -1- m4_pattern_allow([^HAVE_SYS_PARAM_H$]) -m4trace:configure.ac:261: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif]) -m4trace:configure.ac:261: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) -m4trace:configure.ac:261: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) -m4trace:configure.ac:261: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */ -@%:@undef AC_APPLE_UNIVERSAL_BUILD]) -m4trace:configure.ac:262: -1- AC_DEFINE_TRACE_LITERAL([off_t]) -m4trace:configure.ac:262: -1- m4_pattern_allow([^off_t$]) -m4trace:configure.ac:262: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if does not define. */ -@%:@undef off_t]) -m4trace:configure.ac:263: -1- AC_DEFINE_TRACE_LITERAL([size_t]) -m4trace:configure.ac:263: -1- m4_pattern_allow([^size_t$]) -m4trace:configure.ac:263: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if does not define. */ -@%:@undef size_t]) -m4trace:configure.ac:264: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME]) -m4trace:configure.ac:264: -1- m4_pattern_allow([^TM_IN_SYS_TIME$]) -m4trace:configure.ac:264: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your declares `struct tm\'. */ -@%:@undef TM_IN_SYS_TIME]) -m4trace:configure.ac:265: -1- AC_DEFINE_TRACE_LITERAL([HAVE_128_BIT_INT]) -m4trace:configure.ac:265: -1- m4_pattern_allow([^HAVE_128_BIT_INT$]) -m4trace:configure.ac:265: -1- AH_OUTPUT([HAVE_128_BIT_INT], [/* Have 128-bit integer */ -@%:@undef HAVE_128_BIT_INT]) -m4trace:configure.ac:267: -1- AC_DEFINE_TRACE_LITERAL([intmax_t]) -m4trace:configure.ac:267: -1- m4_pattern_allow([^intmax_t$]) -m4trace:configure.ac:267: -1- AH_OUTPUT([intmax_t], [/* Define to `int64_t\' if does not define. */ -@%:@undef intmax_t]) -m4trace:configure.ac:270: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_VOID_P]) -m4trace:configure.ac:270: -1- m4_pattern_allow([^SIZEOF_VOID_P$]) -m4trace:configure.ac:270: -1- AH_OUTPUT([SIZEOF_VOID_P], [/* The size of `void *\', as computed by sizeof. */ -@%:@undef SIZEOF_VOID_P]) -m4trace:configure.ac:271: -1- AM_CONDITIONAL([TEST_64BIT], [test "$ac_cv_sizeof_void_p" -eq 8]) -m4trace:configure.ac:271: -1- AC_SUBST([TEST_64BIT_TRUE]) -m4trace:configure.ac:271: -1- AC_SUBST_TRACE([TEST_64BIT_TRUE]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_TRUE$]) -m4trace:configure.ac:271: -1- AC_SUBST([TEST_64BIT_FALSE]) -m4trace:configure.ac:271: -1- AC_SUBST_TRACE([TEST_64BIT_FALSE]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_FALSE$]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_TRUE]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_FALSE]) -m4trace:configure.ac:276: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */ -@%:@undef HAVE_STRTOIMAX]) -m4trace:configure.ac:276: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */ -@%:@undef HAVE_STRTOLL]) -m4trace:configure.ac:277: -1- AH_OUTPUT([HAVE_MERGESORT], [/* Define to 1 if you have the `mergesort\' function. */ -@%:@undef HAVE_MERGESORT]) -m4trace:configure.ac:277: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MERGESORT]) -m4trace:configure.ac:277: -1- m4_pattern_allow([^HAVE_MERGESORT$]) -m4trace:configure.ac:278: -1- AH_OUTPUT([HAVE_MKSTEMPS], [/* Define to 1 if you have the `mkstemps\' function. */ -@%:@undef HAVE_MKSTEMPS]) -m4trace:configure.ac:278: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MKSTEMPS]) -m4trace:configure.ac:278: -1- m4_pattern_allow([^HAVE_MKSTEMPS$]) -m4trace:configure.ac:279: -1- AH_OUTPUT([HAVE_TIMEGM], [/* Define to 1 if you have the `timegm\' function. */ -@%:@undef HAVE_TIMEGM]) -m4trace:configure.ac:279: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEGM]) -m4trace:configure.ac:279: -1- m4_pattern_allow([^HAVE_TIMEGM$]) -m4trace:configure.ac:280: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCASECMP]) -m4trace:configure.ac:280: -1- m4_pattern_allow([^HAVE_DECL_STRCASECMP$]) -m4trace:configure.ac:280: -1- AH_OUTPUT([HAVE_DECL_STRCASECMP], [/* Define to 1 if you have the declaration of `strcasecmp\', and to 0 if you - don\'t. */ -@%:@undef HAVE_DECL_STRCASECMP]) -m4trace:configure.ac:281: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_VASPRINTF]) -m4trace:configure.ac:281: -1- m4_pattern_allow([^HAVE_DECL_VASPRINTF$]) -m4trace:configure.ac:281: -1- AH_OUTPUT([HAVE_DECL_VASPRINTF], [/* Define to 1 if you have the declaration of `vasprintf\', and to 0 if you - don\'t. */ -@%:@undef HAVE_DECL_VASPRINTF]) -m4trace:configure.ac:282: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYMLINK]) -m4trace:configure.ac:282: -1- m4_pattern_allow([^HAVE_SYMLINK$]) -m4trace:configure.ac:282: -1- AH_OUTPUT([HAVE_SYMLINK], [/* Define to 1 if you have the symlink function. */ -@%:@undef HAVE_SYMLINK]) -m4trace:configure.ac:285: -1- AC_SUBST([PANDOC]) -m4trace:configure.ac:285: -1- AC_SUBST_TRACE([PANDOC]) -m4trace:configure.ac:285: -1- m4_pattern_allow([^PANDOC$]) -m4trace:configure.ac:286: -1- AM_CONDITIONAL([HAVE_PANDOC], [test -n "$PANDOC"]) -m4trace:configure.ac:286: -1- AC_SUBST([HAVE_PANDOC_TRUE]) -m4trace:configure.ac:286: -1- AC_SUBST_TRACE([HAVE_PANDOC_TRUE]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_TRUE$]) -m4trace:configure.ac:286: -1- AC_SUBST([HAVE_PANDOC_FALSE]) -m4trace:configure.ac:286: -1- AC_SUBST_TRACE([HAVE_PANDOC_FALSE]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_FALSE$]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_TRUE]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_FALSE]) -m4trace:configure.ac:288: -1- AC_CONFIG_FILES([\ -tests/tests-c-compiler/check-src/Makefile \ -tests/tests-asn1c-compiler/Makefile \ -tests/tests-asn1c-smoke/Makefile \ -tests/tests-randomized/Makefile \ -tests/tests-c-compiler/Makefile \ -tests/tests-skeletons/Makefile \ -libasn1compiler/Makefile \ -libasn1common/Makefile \ -libasn1parser/Makefile \ -libasn1print/Makefile \ -libasn1fix/Makefile \ -doc/docsrc/Makefile \ -skeletons/Makefile \ -examples/Makefile \ -doc/man/Makefile \ -tests/Makefile \ -asn1c/Makefile \ -doc/Makefile \ -Makefile \ -]) -m4trace:configure.ac:309: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:309: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:309: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) -m4trace:configure.ac:309: -1- AC_SUBST([am__EXEEXT_TRUE]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) -m4trace:configure.ac:309: -1- AC_SUBST([am__EXEEXT_FALSE]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([INSTALL]) -m4trace:configure.ac:309: -1- AC_SUBST_TRACE([MKDIR_P]) -m4trace:configure.ac:309: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/autom4te.cache/traces.2 b/autom4te.cache/traces.2 deleted file mode 100644 index 4813498..0000000 --- a/autom4te.cache/traces.2 +++ /dev/null @@ -1,3157 +0,0 @@ -m4trace:/usr/share/aclocal/ltargz.m4:12: -1- AC_DEFUN([LT_FUNC_ARGZ], [ -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for 'error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -LT_ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$LT_ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test yes = "$lt_cv_sys_argz_works"], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [LT_ARGZ_H=lt__argz.h - AC_LIBOBJ([lt__argz])])]) - -AC_SUBST([LT_ARGZ_H]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -]) -m4trace:/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -]) -m4trace:/usr/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test yes != "$with_included_ltdl"; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL=-I$with_ltdl_include - ;; -esac -INCLTDL=$LTDLINCL - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:/usr/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([LT_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -m4_pattern_allow([LT_LIBEXT])dnl -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name= -eval "lt_libprefix=\"$libname_spec\"" -m4_pattern_allow([LT_LIBPREFIX])dnl -AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" -AC_SUBST([LTDLOPEN]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:443: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd* | netbsdelf*-gnu) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:545: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:552: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_SHARED_EXT])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], - [Define to the shared library suffix, say, ".dylib".]) -fi -if test -n "$shared_archive_member_spec"; then - m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], - [Define to the shared archive member specification, say "(shr.o)".]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:580: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:587: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:599: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:627: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:653: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS=$lt_save_LIBS -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -LIBS=$lt_dlload_save_LIBS -AC_LANG_POP -]) -m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:748: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:756: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -]) -m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:793: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:800: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; }] -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - ]) - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -]) -m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:/usr/share/aclocal/ltdl.m4:907: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:/usr/share/aclocal-1.15/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) -m4trace:/usr/share/aclocal-1.15/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -m4trace:/usr/share/aclocal-1.15/ar-lib.m4:13: -1- AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl -AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([ar-lib])dnl -AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) -: ${AR=ar} - -AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [AC_LANG_PUSH([C]) - am_cv_ar_interface=ar - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - ]) - AC_LANG_POP([C])]) - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - m4_default([$1], - [AC_MSG_ERROR([could not determine $AR interface])]) - ;; -esac -AC_SUBST([AR])dnl -]) -m4trace:/usr/share/aclocal-1.15/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) -m4trace:/usr/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) -m4trace:/usr/share/aclocal-1.15/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) -m4trace:/usr/share/aclocal-1.15/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) -m4trace:/usr/share/aclocal-1.15/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) -m4trace:/usr/share/aclocal-1.15/depout.m4:12: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -]) -m4trace:/usr/share/aclocal-1.15/depout.m4:71: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) -m4trace:/usr/share/aclocal-1.15/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) -m4trace:/usr/share/aclocal-1.15/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -m4trace:/usr/share/aclocal-1.15/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) -m4trace:/usr/share/aclocal-1.15/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) -m4trace:/usr/share/aclocal-1.15/lex.m4:13: -1- AC_DEFUN([AM_PROG_LEX], [AC_PREREQ([2.50])dnl -AC_REQUIRE([AM_MISSING_HAS_RUN])dnl -AC_REQUIRE([AC_PROG_LEX])dnl -if test "$LEX" = :; then - LEX=${am_missing_run}flex -fi]) -m4trace:/usr/share/aclocal-1.15/make.m4:12: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) -m4trace:/usr/share/aclocal-1.15/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) -m4trace:/usr/share/aclocal-1.15/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) -m4trace:/usr/share/aclocal-1.15/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) -m4trace:/usr/share/aclocal-1.15/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) -m4trace:/usr/share/aclocal-1.15/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -m4trace:/usr/share/aclocal-1.15/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) -m4trace:/usr/share/aclocal-1.15/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -m4trace:/usr/share/aclocal-1.15/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) -m4trace:/usr/share/aclocal-1.15/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) -m4trace:/usr/share/aclocal-1.15/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) -m4trace:/usr/share/aclocal-1.15/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) -m4trace:/usr/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) -m4trace:/usr/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) -m4trace:/usr/share/aclocal-1.15/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) -m4trace:m4/ax_check_compile_and_link_flag.m4:57: -1- AC_DEFUN([AX_CHECK_COMPILE_AND_LINK_FLAG], [AC_PREREQ(2.61)dnl -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]clflags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler and linker accept $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -]) -m4trace:m4/ax_check_compile_flag.m4:60: -1- AC_DEFUN([AX_CHECK_COMPILE_FLAG], [AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -]) -m4trace:m4/ax_code_coverage.m4:75: -1- AC_DEFUN([AX_CODE_COVERAGE], [ - dnl Check for --enable-code-coverage - AC_REQUIRE([AC_PROG_SED]) - - # allow to override gcov location - AC_ARG_WITH([gcov], - [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) - - AC_MSG_CHECKING([whether to build with code coverage support]) - AC_ARG_ENABLE([code-coverage], - AS_HELP_STRING([--enable-code-coverage], - [enable code coverage statistics collection]),, - enable_code_coverage=no) - - AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) - AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) - AC_MSG_RESULT($enable_code_coverage) - - AS_IF([ test "$enable_code_coverage" = "yes" ], [ - # check for gcov - AC_CHECK_TOOL([GCOV], - [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], - [:]) - AS_IF([test "X$GCOV" = "X:"], - [AC_MSG_ERROR([gcov is needed to do coverage])]) - AC_SUBST([GCOV]) - - dnl Check if gcc is being used - AS_IF([ test "$GCC" = "no" ], [ - AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) - ]) - - AC_CHECK_PROG([LCOV], [lcov], [lcov]) - AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) - - AS_IF([ test -z "$LCOV" ], [ - AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) - ]) - - AS_IF([ test -z "$GENHTML" ], [ - AC_MSG_ERROR([Could not find genhtml from the lcov package]) - ]) - - dnl Build the code coverage flags - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - AX_CHECK_COMPILE_FLAG([-coverage], [ - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - ], [ - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - ]) - - AC_SUBST([CODE_COVERAGE_CPPFLAGS]) - AC_SUBST([CODE_COVERAGE_CFLAGS]) - AC_SUBST([CODE_COVERAGE_CXXFLAGS]) - AC_SUBST([CODE_COVERAGE_LIBS]) - AC_SUBST([CODE_COVERAGE_LDFLAGS]) - - [CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -'] - [CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -'] - [CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -'] - ], [ - [CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -'] - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - ]) - -[CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -'] - - AC_SUBST([CODE_COVERAGE_RULES]) - m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) -]) -m4trace:m4/libtool.m4:61: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -]) -m4trace:m4/libtool.m4:99: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:99: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:100: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:100: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:619: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -]) -m4trace:m4/libtool.m4:812: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) -m4trace:m4/libtool.m4:823: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -]) -m4trace:m4/libtool.m4:915: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -m4trace:m4/libtool.m4:915: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. -You should run autoupdate.])dnl -LT_LANG(C++)]) -m4trace:m4/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -m4trace:m4/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran 77)]) -m4trace:m4/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -m4trace:m4/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran)]) -m4trace:m4/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -m4trace:m4/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Java)]) -m4trace:m4/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -m4trace:m4/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Windows Resource)]) -m4trace:m4/libtool.m4:1247: -1- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) -m4trace:m4/libtool.m4:1578: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -]) -m4trace:m4/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:m4/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:m4/libtool.m4:1629: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -]) -m4trace:m4/libtool.m4:1664: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:m4/libtool.m4:1664: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:m4/libtool.m4:1671: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -]) -m4trace:m4/libtool.m4:1810: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:m4/libtool.m4:1810: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:m4/libtool.m4:1921: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -]) -m4trace:m4/libtool.m4:2046: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:m4/libtool.m4:2046: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:m4/libtool.m4:3167: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -]) -m4trace:m4/libtool.m4:3229: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:m4/libtool.m4:3229: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:m4/libtool.m4:3252: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -]) -m4trace:m4/libtool.m4:3766: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3766: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3767: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3767: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3838: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -]) -m4trace:m4/libtool.m4:3852: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -]) -m4trace:m4/libtool.m4:3871: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:m4/libtool.m4:3871: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:m4/libtool.m4:8141: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) -m4trace:m4/libtool.m4:8150: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:m4/libtool.m4:8150: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:m4/libtool.m4:8157: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) -]) -m4trace:m4/libtool.m4:8164: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) -]) -m4trace:m4/libtool.m4:8169: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:m4/libtool.m4:8169: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:m4/libtool.m4:8289: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:m4/libtool.m4:8289: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:m4/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) -m4trace:m4/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. -You should run autoupdate.])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) -m4trace:m4/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) -m4trace:m4/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) -m4trace:m4/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) -]) -m4trace:m4/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) -m4trace:m4/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) -m4trace:m4/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) -m4trace:m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) -m4trace:m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) -m4trace:m4/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) -m4trace:m4/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) -m4trace:m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) -m4trace:m4/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) -m4trace:m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) -m4trace:m4/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) -m4trace:m4/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) -m4trace:m4/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) -m4trace:m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) -m4trace:m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) -m4trace:m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) -m4trace:m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) -m4trace:m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) -m4trace:m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) -m4trace:m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) -m4trace:m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) -m4trace:m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) -m4trace:m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) -m4trace:m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) -m4trace:m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) -m4trace:m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) -m4trace:m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) -m4trace:m4/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) -m4trace:m4/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) -m4trace:m4/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) -m4trace:m4/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) -m4trace:m4/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) -m4trace:m4/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) -m4trace:m4/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) -m4trace:m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) -m4trace:m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) -m4trace:m4/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) -m4trace:m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) -m4trace:m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) -m4trace:m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) -m4trace:m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) -m4trace:m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) -m4trace:m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) -m4trace:m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) -m4trace:m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) -m4trace:m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) -m4trace:m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) -m4trace:m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) -m4trace:m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) -m4trace:m4/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) -m4trace:m4/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) -m4trace:m4/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) -m4trace:m4/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^runstatedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:5: -1- AM_INIT_AUTOMAKE([foreign]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:5: -1- AM_SET_CURRENT_AUTOMAKE_VERSION -m4trace:configure.ac:5: -1- AM_AUTOMAKE_VERSION([1.15]) -m4trace:configure.ac:5: -1- _AM_AUTOCONF_VERSION([2.69]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__isrc$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([am__isrc]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CYGPATH_W$]) -m4trace:configure.ac:5: -1- _AM_SET_OPTIONS([foreign]) -m4trace:configure.ac:5: -1- _AM_SET_OPTION([foreign]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([foreign]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([no-define]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:5: -1- AM_SANITY_CHECK -m4trace:configure.ac:5: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -m4trace:configure.ac:5: -1- AM_MISSING_HAS_RUN -m4trace:configure.ac:5: -1- AM_AUX_DIR_EXPAND -m4trace:configure.ac:5: -1- m4_pattern_allow([^ACLOCAL$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOCONF$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOMAKE$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AUTOHEADER$]) -m4trace:configure.ac:5: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MAKEINFO$]) -m4trace:configure.ac:5: -1- AM_PROG_INSTALL_SH -m4trace:configure.ac:5: -1- m4_pattern_allow([^install_sh$]) -m4trace:configure.ac:5: -1- AM_PROG_INSTALL_STRIP -m4trace:configure.ac:5: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^MKDIR_P$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^mkdir_p$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:5: -1- AM_SET_LEADING_DOT -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__leading_dot$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([tar-ustar]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([tar-pax]) -m4trace:configure.ac:5: -1- _AM_PROG_TAR([v7]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AMTAR$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__tar$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^am__untar$]) -m4trace:configure.ac:5: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -m4trace:configure.ac:5: -2- _AM_MANGLE_OPTION([no-dependencies]) -m4trace:configure.ac:5: -1- AM_SILENT_RULES -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:5: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:5: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:5: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:6: -1- AC_CONFIG_MACRO_DIR([m4]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:9: -1- _AM_PROG_CC_C_O -m4trace:configure.ac:9: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) -m4trace:configure.ac:9: -1- _AM_DEPENDENCIES([CC]) -m4trace:configure.ac:9: -1- AM_SET_DEPDIR -m4trace:configure.ac:9: -1- m4_pattern_allow([^DEPDIR$]) -m4trace:configure.ac:9: -1- AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:9: -1- AM_MAKE_INCLUDE -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__include$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__quote$]) -m4trace:configure.ac:9: -1- AM_DEP_TRACK -m4trace:configure.ac:9: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_TRUE$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEP_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__nodep$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__nodep]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^CCDEPMODE$]) -m4trace:configure.ac:9: -1- AM_CONDITIONAL([am__fastdepCC], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) -m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:12: -1- m4_pattern_allow([^LN_S$]) -m4trace:configure.ac:13: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^YFLAGS$]) -m4trace:configure.ac:15: -1- AM_PROG_LEX -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^LEXLIB$]) -m4trace:configure.ac:15: -1- m4_pattern_allow([^YYTEXT_POINTER$]) -m4trace:configure.ac:17: -1- AM_PROG_AR -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:21: -1- _AM_DEPENDENCIES([CXX]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^CXXDEPMODE$]) -m4trace:configure.ac:21: -1- AM_CONDITIONAL([am__fastdepCXX], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) -m4trace:configure.ac:21: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:24: -1- LT_INIT -m4trace:configure.ac:24: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) -m4trace:configure.ac:24: -1- LTOPTIONS_VERSION -m4trace:configure.ac:24: -1- LTSUGAR_VERSION -m4trace:configure.ac:24: -1- LTVERSION_VERSION -m4trace:configure.ac:24: -1- LTOBSOLETE_VERSION -m4trace:configure.ac:24: -1- _LT_PROG_LTMAIN -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:24: -1- _LT_PREPARE_SED_QUOTE_VARS -m4trace:configure.ac:24: -1- _LT_PROG_ECHO_BACKSLASH -m4trace:configure.ac:24: -1- LT_PATH_LD -m4trace:configure.ac:24: -1- m4_pattern_allow([^SED$]) -m4trace:configure.ac:24: -1- AC_PROG_EGREP -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^FGREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- LT_PATH_NM -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NM$]) -m4trace:configure.ac:24: -1- LT_CMD_MAX_LEN -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:24: -1- _LT_WITH_SYSROOT -m4trace:configure.ac:24: -1- m4_pattern_allow([LT_OBJDIR]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_OBJDIR$]) -m4trace:configure.ac:24: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:24: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:24: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CC]) -m4trace:configure.ac:24: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^MANIFEST_TOOL$]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_REQUIRED_DARWIN_CHECKS -m4trace:configure.ac:24: -1- m4_pattern_allow([^DSYMUTIL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^NMEDIT$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LIPO$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^OTOOL64$]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:24: -1- LT_SYS_DLOPEN_SELF -m4trace:configure.ac:24: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) -m4trace:configure.ac:24: -1- LT_LANG([CXX]) -m4trace:configure.ac:24: -1- LT_SUPPORTED_TAG([CXX]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:24: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:24: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:24: -1- LT_PATH_LD -m4trace:configure.ac:24: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:24: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) -m4trace:configure.ac:24: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) -m4trace:configure.ac:24: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:27: -1- AM_SILENT_RULES([yes]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:27: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:27: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:27: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:47: -1- AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) -m4trace:configure.ac:48: -1- AX_CHECK_COMPILE_FLAG([-Wcast-qual], [CFLAGS="$CFLAGS -Wcast-qual"]) -m4trace:configure.ac:49: -1- AX_CHECK_COMPILE_FLAG([-Wchar-subscripts], [CFLAGS="$CFLAGS -Wchar-subscripts"]) -m4trace:configure.ac:51: -1- AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"]) -m4trace:configure.ac:53: -1- AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], [CFLAGS="$CFLAGS -Wmissing-declarations"]) -m4trace:configure.ac:57: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=attributes], [CFLAGS="$CFLAGS -Wno-error=attributes"]) -m4trace:configure.ac:59: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=cast-align], [CFLAGS="$CFLAGS -Wno-error=cast-align"]) -m4trace:configure.ac:61: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=visibility], [CFLAGS="$CFLAGS -Wno-error=visibility"]) -m4trace:configure.ac:63: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=parentheses-equality], [CFLAGS="$CFLAGS -Wno-error=parentheses-equality"]) -m4trace:configure.ac:65: -1- AX_CHECK_COMPILE_FLAG([-std=gnu99], [CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99"]) -m4trace:configure.ac:68: -1- AX_CHECK_COMPILE_FLAG([-Wno-error=unused-variable], [TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable"]) -m4trace:configure.ac:77: -1- AX_CODE_COVERAGE -m4trace:configure.ac:77: -1- AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_TRUE$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED_FALSE$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_TRUE]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_ENABLED_FALSE]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_ENABLED$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^LCOV$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^GENHTML$]) -m4trace:configure.ac:77: -1- AX_CHECK_COMPILE_FLAG([-coverage], [ - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - ], [ - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - ]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CPPFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_CXXFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LIBS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_LDFLAGS$]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^CODE_COVERAGE_RULES$]) -m4trace:configure.ac:77: -1- _AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES]) -m4trace:configure.ac:94: -1- AX_CHECK_COMPILE_FLAG([-std=c89], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89"]) -m4trace:configure.ac:96: -1- AX_CHECK_COMPILE_FLAG([-Wpedantic], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic"], [ - dnl When -Wpedantic is not supported try the -pedantic instead. (gcc-4.7) - dnl See https://gcc.gnu.org/gcc-4.8/changes.html - AX_CHECK_COMPILE_FLAG([-pedantic], - [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic"], [], [-Werror]) - ], [-Werror]) -m4trace:configure.ac:96: -1- AX_CHECK_COMPILE_FLAG([-pedantic], [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic"], [], [-Werror]) -m4trace:configure.ac:110: -1- AX_CHECK_COMPILE_FLAG([-Wgnu], [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu"]) -m4trace:configure.ac:117: -1- AX_CHECK_COMPILE_FLAG([-Wno-long-long], [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long"]) -m4trace:configure.ac:134: -1- AX_CHECK_COMPILE_FLAG([-m32], [CFLAGS_M32="-m32 -DEXPLICIT_32BIT"], [ - CFLAGS_M32="" - AC_MSG_FAILURE([--enable-test-32bit=$enable_test_32bit is requested but not supported by the _AC_LANG compiler]) - ]) -m4trace:configure.ac:141: -1- m4_pattern_allow([^CFLAGS_M32$]) -m4trace:configure.ac:142: -1- AM_CONDITIONAL([EXPLICIT_M32], [test "x${CFLAGS_M32}" != "x"]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_TRUE$]) -m4trace:configure.ac:142: -1- m4_pattern_allow([^EXPLICIT_M32_FALSE$]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_TRUE]) -m4trace:configure.ac:142: -1- _AM_SUBST_NOTMAKE([EXPLICIT_M32_FALSE]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=undefined], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined"], [ - AS_IF([test "x$disable_test_ubsan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build])]) - ], [], [AC_LANG_PROGRAM([void test(int *);void test(int *n) { *n = 0; }]) - ]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=undefined], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=unsigned-integer-overflow], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow"], [], [], [AC_LANG_PROGRAM([int test(unsigned); int test(unsigned n) { return n + 1; }])]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=unsigned-integer-overflow], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=nullability], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=nullability], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability"]) -m4trace:configure.ac:151: -1- AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -m4trace:configure.ac:192: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=address], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address"], [ - AS_IF([test "x$disable_test_asan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build])]) - ]) -m4trace:configure.ac:192: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... -../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... -configure.ac:192: the top level]) -m4trace:configure.ac:192: -1- AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -m4trace:configure.ac:228: -1- AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=fuzzer], [LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER"], [AC_MSG_FAILURE( -[--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html])], [], [AC_LANG_SOURCE([[ - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - ]])]) -m4trace:configure.ac:249: -1- m4_pattern_allow([^ADD_CFLAGS$]) -m4trace:configure.ac:250: -1- m4_pattern_allow([^LIBFUZZER_CFLAGS$]) -m4trace:configure.ac:251: -1- m4_pattern_allow([^SANITIZER_CFLAGS$]) -m4trace:configure.ac:252: -1- m4_pattern_allow([^TESTSUITE_CFLAGS$]) -m4trace:configure.ac:253: -1- m4_pattern_allow([^SKELETONS_CFLAGS$]) -m4trace:configure.ac:254: -1- m4_pattern_allow([^ASAN_ENV_FLAGS$]) -m4trace:configure.ac:257: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:258: -1- m4_pattern_allow([^HAVE_SYS_PARAM_H$]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) -m4trace:configure.ac:261: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) -m4trace:configure.ac:262: -1- m4_pattern_allow([^off_t$]) -m4trace:configure.ac:263: -1- m4_pattern_allow([^size_t$]) -m4trace:configure.ac:264: -1- m4_pattern_allow([^TM_IN_SYS_TIME$]) -m4trace:configure.ac:265: -1- m4_pattern_allow([^HAVE_128_BIT_INT$]) -m4trace:configure.ac:267: -1- m4_pattern_allow([^intmax_t$]) -m4trace:configure.ac:270: -1- m4_pattern_allow([^SIZEOF_VOID_P$]) -m4trace:configure.ac:271: -1- AM_CONDITIONAL([TEST_64BIT], [test "$ac_cv_sizeof_void_p" -eq 8]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_TRUE$]) -m4trace:configure.ac:271: -1- m4_pattern_allow([^TEST_64BIT_FALSE$]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_TRUE]) -m4trace:configure.ac:271: -1- _AM_SUBST_NOTMAKE([TEST_64BIT_FALSE]) -m4trace:configure.ac:277: -1- m4_pattern_allow([^HAVE_MERGESORT$]) -m4trace:configure.ac:278: -1- m4_pattern_allow([^HAVE_MKSTEMPS$]) -m4trace:configure.ac:279: -1- m4_pattern_allow([^HAVE_TIMEGM$]) -m4trace:configure.ac:280: -1- m4_pattern_allow([^HAVE_DECL_STRCASECMP$]) -m4trace:configure.ac:281: -1- m4_pattern_allow([^HAVE_DECL_VASPRINTF$]) -m4trace:configure.ac:282: -1- m4_pattern_allow([^HAVE_SYMLINK$]) -m4trace:configure.ac:285: -1- m4_pattern_allow([^PANDOC$]) -m4trace:configure.ac:286: -1- AM_CONDITIONAL([HAVE_PANDOC], [test -n "$PANDOC"]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_TRUE$]) -m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_PANDOC_FALSE$]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_TRUE]) -m4trace:configure.ac:286: -1- _AM_SUBST_NOTMAKE([HAVE_PANDOC_FALSE]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:309: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) -m4trace:configure.ac:309: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) -m4trace:configure.ac:309: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) -m4trace:configure.ac:309: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) -m4trace:configure.ac:309: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:309: -1- _LT_PROG_LTMAIN diff --git a/config.h.in b/config.h.in deleted file mode 100644 index 779c62f..0000000 --- a/config.h.in +++ /dev/null @@ -1,127 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Have 128-bit integer */ -#undef HAVE_128_BIT_INT - -/* Define to 1 if you have the declaration of `strcasecmp', and to 0 if you - don't. */ -#undef HAVE_DECL_STRCASECMP - -/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_VASPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mergesort' function. */ -#undef HAVE_MERGESORT - -/* Define to 1 if you have the `mkstemps' function. */ -#undef HAVE_MKSTEMPS - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strtoimax' function. */ -#undef HAVE_STRTOIMAX - -/* Define to 1 if you have the `strtoll' function. */ -#undef HAVE_STRTOLL - -/* Define to 1 if you have the symlink function. */ -#undef HAVE_SYMLINK - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the `timegm' function. */ -#undef HAVE_TIMEGM - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* The size of `void *', as computed by sizeof. */ -#undef SIZEOF_VOID_P - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ -#undef YYTEXT_POINTER - -/* Define to `int64_t' if does not define. */ -#undef intmax_t - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t diff --git a/config.log b/config.log deleted file mode 100644 index f3545bb..0000000 --- a/config.log +++ /dev/null @@ -1,3733 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by asn1c configure 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ ./configure - -## --------- ## -## Platform. ## -## --------- ## - -hostname = blueman-HP-ZBook-15 -uname -m = x86_64 -uname -r = 4.4.0-116-lowlatency -uname -s = Linux -uname -v = #140-Ubuntu SMP PREEMPT Mon Feb 12 22:41:05 UTC 2018 - -/usr/bin/uname -p = unknown -/bin/uname -X = unknown - -/bin/arch = unknown -/usr/bin/arch -k = unknown -/usr/convex/getsysinfo = unknown -/usr/bin/hostinfo = unknown -/bin/machine = unknown -/usr/bin/oslevel = unknown -/bin/universe = unknown - -PATH: /opt/ltebox/bin -PATH: /opt/ltebox/tools -PATH: /usr/local/sbin -PATH: /usr/local/bin -PATH: /usr/sbin -PATH: /usr/bin -PATH: /sbin -PATH: /bin -PATH: /usr/games -PATH: /usr/local/games - - -## ----------- ## -## Core tests. ## -## ----------- ## - -configure:2747: checking for a BSD-compatible install -configure:2815: result: /usr/bin/install -c -configure:2826: checking whether build environment is sane -configure:2881: result: yes -configure:3032: checking for a thread-safe mkdir -p -configure:3071: result: /bin/mkdir -p -configure:3078: checking for gawk -configure:3094: found /usr/bin/gawk -configure:3105: result: gawk -configure:3116: checking whether make sets $(MAKE) -configure:3138: result: yes -configure:3167: checking whether make supports nested variables -configure:3184: result: yes -configure:3360: checking for gcc -configure:3376: found /usr/bin/gcc -configure:3387: result: gcc -configure:3616: checking for C compiler version -configure:3625: gcc --version >&5 -gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 -Copyright (C) 2015 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:3636: $? = 0 -configure:3625: gcc -v >&5 -Using built-in specs. -COLLECT_GCC=gcc -COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) -configure:3636: $? = 0 -configure:3625: gcc -V >&5 -gcc: error: unrecognized command line option '-V' -gcc: fatal error: no input files -compilation terminated. -configure:3636: $? = 1 -configure:3625: gcc -qversion >&5 -gcc: error: unrecognized command line option '-qversion' -gcc: fatal error: no input files -compilation terminated. -configure:3636: $? = 1 -configure:3656: checking whether the C compiler works -configure:3678: gcc conftest.c >&5 -configure:3682: $? = 0 -configure:3730: result: yes -configure:3733: checking for C compiler default output file name -configure:3735: result: a.out -configure:3741: checking for suffix of executables -configure:3748: gcc -o conftest conftest.c >&5 -configure:3752: $? = 0 -configure:3774: result: -configure:3796: checking whether we are cross compiling -configure:3804: gcc -o conftest conftest.c >&5 -configure:3808: $? = 0 -configure:3815: ./conftest -configure:3819: $? = 0 -configure:3834: result: no -configure:3839: checking for suffix of object files -configure:3861: gcc -c conftest.c >&5 -configure:3865: $? = 0 -configure:3886: result: o -configure:3890: checking whether we are using the GNU C compiler -configure:3909: gcc -c conftest.c >&5 -configure:3909: $? = 0 -configure:3918: result: yes -configure:3927: checking whether gcc accepts -g -configure:3947: gcc -c -g conftest.c >&5 -configure:3947: $? = 0 -configure:3988: result: yes -configure:4005: checking for gcc option to accept ISO C89 -configure:4068: gcc -c -g -O2 conftest.c >&5 -configure:4068: $? = 0 -configure:4081: result: none needed -configure:4106: checking whether gcc understands -c and -o together -configure:4128: gcc -c conftest.c -o conftest2.o -configure:4131: $? = 0 -configure:4128: gcc -c conftest.c -o conftest2.o -configure:4131: $? = 0 -configure:4143: result: yes -configure:4171: checking for style of include used by make -configure:4199: result: GNU -configure:4225: checking dependency style of gcc -configure:4336: result: gcc3 -configure:4356: checking how to run the C preprocessor -configure:4387: gcc -E conftest.c -configure:4387: $? = 0 -configure:4401: gcc -E conftest.c -conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory -compilation terminated. -configure:4401: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| /* end confdefs.h. */ -| #include -configure:4426: result: gcc -E -configure:4446: gcc -E conftest.c -configure:4446: $? = 0 -configure:4460: gcc -E conftest.c -conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory -compilation terminated. -configure:4460: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| /* end confdefs.h. */ -| #include -configure:4489: checking whether ln -s works -configure:4493: result: yes -configure:4500: checking whether make sets $(MAKE) -configure:4522: result: yes -configure:4535: checking for bison -configure:4551: found /usr/bin/bison -configure:4562: result: bison -y -configure:4579: checking for flex -configure:4595: found /usr/bin/flex -configure:4606: result: flex -configure:4644: flex conftest.l -configure:4648: $? = 0 -configure:4650: checking lex output file root -configure:4664: result: lex.yy -configure:4669: checking lex library -configure:4683: gcc -o conftest -g -O2 conftest.c >&5 -/tmp/cce5iy9z.o: In function `input': -/home/nokia/mouse07410/asn1c/lex.yy.c:1200: undefined reference to `yywrap' -/tmp/cce5iy9z.o: In function `yylex': -/home/nokia/mouse07410/asn1c/lex.yy.c:894: undefined reference to `yywrap' -/tmp/cce5iy9z.o: In function `main': -/home/nokia/mouse07410/asn1c/conftest.l:18: undefined reference to `yywrap' -collect2: error: ld returned 1 exit status -configure:4683: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| /* end confdefs.h. */ -| -| #line 3 "lex.yy.c" -| -| #define YY_INT_ALIGNED short int -| -| /* A lexical scanner generated by flex */ -| -| #define FLEX_SCANNER -| #define YY_FLEX_MAJOR_VERSION 2 -| #define YY_FLEX_MINOR_VERSION 6 -| #define YY_FLEX_SUBMINOR_VERSION 0 -| #if YY_FLEX_SUBMINOR_VERSION > 0 -| #define FLEX_BETA -| #endif -| -| /* First, we deal with platform-specific or compiler-specific issues. */ -| -| /* begin standard C headers. */ -| #include -| #include -| #include -| #include -| -| /* end standard C headers. */ -| -| /* flex integer type definitions */ -| -| #ifndef FLEXINT_H -| #define FLEXINT_H -| -| /* C99 systems have . Non-C99 systems may or may not. */ -| -| #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -| -| /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, -| * if you want the limit (max/min) macros for int types. -| */ -| #ifndef __STDC_LIMIT_MACROS -| #define __STDC_LIMIT_MACROS 1 -| #endif -| -| #include -| typedef int8_t flex_int8_t; -| typedef uint8_t flex_uint8_t; -| typedef int16_t flex_int16_t; -| typedef uint16_t flex_uint16_t; -| typedef int32_t flex_int32_t; -| typedef uint32_t flex_uint32_t; -| #else -| typedef signed char flex_int8_t; -| typedef short int flex_int16_t; -| typedef int flex_int32_t; -| typedef unsigned char flex_uint8_t; -| typedef unsigned short int flex_uint16_t; -| typedef unsigned int flex_uint32_t; -| -| /* Limits of integral types. */ -| #ifndef INT8_MIN -| #define INT8_MIN (-128) -| #endif -| #ifndef INT16_MIN -| #define INT16_MIN (-32767-1) -| #endif -| #ifndef INT32_MIN -| #define INT32_MIN (-2147483647-1) -| #endif -| #ifndef INT8_MAX -| #define INT8_MAX (127) -| #endif -| #ifndef INT16_MAX -| #define INT16_MAX (32767) -| #endif -| #ifndef INT32_MAX -| #define INT32_MAX (2147483647) -| #endif -| #ifndef UINT8_MAX -| #define UINT8_MAX (255U) -| #endif -| #ifndef UINT16_MAX -| #define UINT16_MAX (65535U) -| #endif -| #ifndef UINT32_MAX -| #define UINT32_MAX (4294967295U) -| #endif -| -| #endif /* ! C99 */ -| -| #endif /* ! FLEXINT_H */ -| -| #ifdef __cplusplus -| -| /* The "const" storage-class-modifier is valid. */ -| #define YY_USE_CONST -| -| #else /* ! __cplusplus */ -| -| /* C99 requires __STDC__ to be defined as 1. */ -| #if defined (__STDC__) -| -| #define YY_USE_CONST -| -| #endif /* defined (__STDC__) */ -| #endif /* ! __cplusplus */ -| -| #ifdef YY_USE_CONST -| #define yyconst const -| #else -| #define yyconst -| #endif -| -| /* Returned upon end-of-file. */ -| #define YY_NULL 0 -| -| /* Promotes a possibly negative, possibly signed char to an unsigned -| * integer for use as an array index. If the signed char is negative, -| * we want to instead treat it as an 8-bit unsigned char, hence the -| * double cast. -| */ -| #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) -| -| /* Enter a start condition. This macro really ought to take a parameter, -| * but we do it the disgusting crufty way forced on us by the ()-less -| * definition of BEGIN. -| */ -| #define BEGIN (yy_start) = 1 + 2 * -| -| /* Translate the current start state into a value that can be later handed -| * to BEGIN to return to the state. The YYSTATE alias is for lex -| * compatibility. -| */ -| #define YY_START (((yy_start) - 1) / 2) -| #define YYSTATE YY_START -| -| /* Action number for EOF rule of a given start state. */ -| #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) -| -| /* Special action meaning "start processing a new file". */ -| #define YY_NEW_FILE yyrestart(yyin ) -| -| #define YY_END_OF_BUFFER_CHAR 0 -| -| /* Size of default input buffer. */ -| #ifndef YY_BUF_SIZE -| #ifdef __ia64__ -| /* On IA-64, the buffer size is 16k, not 8k. -| * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. -| * Ditto for the __ia64__ case accordingly. -| */ -| #define YY_BUF_SIZE 32768 -| #else -| #define YY_BUF_SIZE 16384 -| #endif /* __ia64__ */ -| #endif -| -| /* The state buf must be large enough to hold one state per character in the main buffer. -| */ -| #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) -| -| #ifndef YY_TYPEDEF_YY_BUFFER_STATE -| #define YY_TYPEDEF_YY_BUFFER_STATE -| typedef struct yy_buffer_state *YY_BUFFER_STATE; -| #endif -| -| #ifndef YY_TYPEDEF_YY_SIZE_T -| #define YY_TYPEDEF_YY_SIZE_T -| typedef size_t yy_size_t; -| #endif -| -| extern yy_size_t yyleng; -| -| extern FILE *yyin, *yyout; -| -| #define EOB_ACT_CONTINUE_SCAN 0 -| #define EOB_ACT_END_OF_FILE 1 -| #define EOB_ACT_LAST_MATCH 2 -| -| #define YY_LESS_LINENO(n) -| #define YY_LINENO_REWIND_TO(ptr) -| -| /* Return all but the first "n" matched characters back to the input stream. */ -| #define yyless(n) \ -| do \ -| { \ -| /* Undo effects of setting up yytext. */ \ -| int yyless_macro_arg = (n); \ -| YY_LESS_LINENO(yyless_macro_arg);\ -| *yy_cp = (yy_hold_char); \ -| YY_RESTORE_YY_MORE_OFFSET \ -| (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ -| YY_DO_BEFORE_ACTION; /* set up yytext again */ \ -| } \ -| while ( 0 ) -| -| #define unput(c) yyunput( c, (yytext_ptr) ) -| -| #ifndef YY_STRUCT_YY_BUFFER_STATE -| #define YY_STRUCT_YY_BUFFER_STATE -| struct yy_buffer_state -| { -| FILE *yy_input_file; -| -| char *yy_ch_buf; /* input buffer */ -| char *yy_buf_pos; /* current position in input buffer */ -| -| /* Size of input buffer in bytes, not including room for EOB -| * characters. -| */ -| yy_size_t yy_buf_size; -| -| /* Number of characters read into yy_ch_buf, not including EOB -| * characters. -| */ -| int yy_n_chars; -| -| /* Whether we "own" the buffer - i.e., we know we created it, -| * and can realloc() it to grow it, and should free() it to -| * delete it. -| */ -| int yy_is_our_buffer; -| -| /* Whether this is an "interactive" input source; if so, and -| * if we're using stdio for input, then we want to use getc() -| * instead of fread(), to make sure we stop fetching input after -| * each newline. -| */ -| int yy_is_interactive; -| -| /* Whether we're considered to be at the beginning of a line. -| * If so, '^' rules will be active on the next match, otherwise -| * not. -| */ -| int yy_at_bol; -| -| int yy_bs_lineno; /**< The line count. */ -| int yy_bs_column; /**< The column count. */ -| -| /* Whether to try to fill the input buffer when we reach the -| * end of it. -| */ -| int yy_fill_buffer; -| -| int yy_buffer_status; -| -| #define YY_BUFFER_NEW 0 -| #define YY_BUFFER_NORMAL 1 -| /* When an EOF's been seen but there's still some text to process -| * then we mark the buffer as YY_EOF_PENDING, to indicate that we -| * shouldn't try reading from the input source any more. We might -| * still have a bunch of tokens to match, though, because of -| * possible backing-up. -| * -| * When we actually see the EOF, we change the status to "new" -| * (via yyrestart()), so that the user can continue scanning by -| * just pointing yyin at a new input file. -| */ -| #define YY_BUFFER_EOF_PENDING 2 -| -| }; -| #endif /* !YY_STRUCT_YY_BUFFER_STATE */ -| -| /* Stack of input buffers. */ -| static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ -| static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -| static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ -| -| /* We provide macros for accessing buffer states in case in the -| * future we want to put the buffer states in a more general -| * "scanner state". -| * -| * Returns the top of the stack, or NULL. -| */ -| #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ -| ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ -| : NULL) -| -| /* Same as previous macro, but useful when we know that the buffer stack is not -| * NULL or when we need an lvalue. For internal use only. -| */ -| #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] -| -| /* yy_hold_char holds the character lost when yytext is formed. */ -| static char yy_hold_char; -| static int yy_n_chars; /* number of characters read into yy_ch_buf */ -| yy_size_t yyleng; -| -| /* Points to current character in buffer. */ -| static char *yy_c_buf_p = (char *) 0; -| static int yy_init = 0; /* whether we need to initialize */ -| static int yy_start = 0; /* start state number */ -| -| /* Flag which is used to allow yywrap()'s to do buffer switches -| * instead of setting up a fresh yyin. A bit of a hack ... -| */ -| static int yy_did_buffer_switch_on_eof; -| -| void yyrestart (FILE *input_file ); -| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -| YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); -| void yy_delete_buffer (YY_BUFFER_STATE b ); -| void yy_flush_buffer (YY_BUFFER_STATE b ); -| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); -| void yypop_buffer_state (void ); -| -| static void yyensure_buffer_stack (void ); -| static void yy_load_buffer_state (void ); -| static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); -| -| #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) -| -| YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); -| YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -| YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); -| -| void *yyalloc (yy_size_t ); -| void *yyrealloc (void *,yy_size_t ); -| void yyfree (void * ); -| -| #define yy_new_buffer yy_create_buffer -| -| #define yy_set_interactive(is_interactive) \ -| { \ -| if ( ! YY_CURRENT_BUFFER ){ \ -| yyensure_buffer_stack (); \ -| YY_CURRENT_BUFFER_LVALUE = \ -| yy_create_buffer(yyin,YY_BUF_SIZE ); \ -| } \ -| YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ -| } -| -| #define yy_set_bol(at_bol) \ -| { \ -| if ( ! YY_CURRENT_BUFFER ){\ -| yyensure_buffer_stack (); \ -| YY_CURRENT_BUFFER_LVALUE = \ -| yy_create_buffer(yyin,YY_BUF_SIZE ); \ -| } \ -| YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ -| } -| -| #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) -| -| /* Begin user sect3 */ -| -| typedef unsigned char YY_CHAR; -| -| FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -| -| typedef int yy_state_type; -| -| extern int yylineno; -| -| int yylineno = 1; -| -| extern char *yytext; -| #ifdef yytext_ptr -| #undef yytext_ptr -| #endif -| #define yytext_ptr yytext -| -| static yy_state_type yy_get_previous_state (void ); -| static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -| static int yy_get_next_buffer (void ); -| #if defined(__GNUC__) && __GNUC__ >= 3 -| __attribute__((__noreturn__)) -| #endif -| static void yy_fatal_error (yyconst char msg[] ); -| -| /* Done after the current pattern has been matched and before the -| * corresponding action - sets up yytext. -| */ -| #define YY_DO_BEFORE_ACTION \ -| (yytext_ptr) = yy_bp; \ -| (yytext_ptr) -= (yy_more_len); \ -| yyleng = (size_t) (yy_cp - (yytext_ptr)); \ -| (yy_hold_char) = *yy_cp; \ -| *yy_cp = '\0'; \ -| (yy_c_buf_p) = yy_cp; -| -| #define YY_NUM_RULES 8 -| #define YY_END_OF_BUFFER 9 -| /* This struct is not used in this scanner, -| but its presence is necessary. */ -| struct yy_trans_info -| { -| flex_int32_t yy_verify; -| flex_int32_t yy_nxt; -| }; -| static yyconst flex_int16_t yy_acclist[23] = -| { 0, -| 9, 7, 8, 8, 1, 7, 8, 2, 7, 8, -| 3, 7, 8, 4, 7, 8, 5, 7, 8, 6, -| 7, 8 -| } ; -| -| static yyconst flex_int16_t yy_accept[14] = -| { 0, -| 1, 1, 1, 2, 4, 5, 8, 11, 14, 17, -| 20, 23, 23 -| } ; -| -| static yyconst YY_CHAR yy_ec[256] = -| { 0, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 3, 4, 5, 6, -| -| 7, 8, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -| 1, 1, 1, 1, 1 -| } ; -| -| static yyconst YY_CHAR yy_meta[9] = -| { 0, -| 1, 1, 1, 1, 1, 1, 1, 1 -| } ; -| -| static yyconst flex_uint16_t yy_base[13] = -| { 0, -| 0, 0, 9, 10, 10, 10, 10, 10, 10, 10, -| 10, 10 -| } ; -| -| static yyconst flex_int16_t yy_def[13] = -| { 0, -| 12, 1, 12, 12, 12, 12, 12, 12, 12, 12, -| 12, 0 -| } ; -| -| static yyconst flex_uint16_t yy_nxt[19] = -| { 0, -| 4, 5, 6, 7, 8, 9, 10, 11, 12, 3, -| 12, 12, 12, 12, 12, 12, 12, 12 -| } ; -| -| static yyconst flex_int16_t yy_chk[19] = -| { 0, -| 1, 1, 1, 1, 1, 1, 1, 1, 3, 12, -| 12, 12, 12, 12, 12, 12, 12, 12 -| } ; -| -| extern int yy_flex_debug; -| int yy_flex_debug = 0; -| -| static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; -| static char *yy_full_match; -| static int yy_lp; -| #define REJECT \ -| { \ -| *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ -| yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ -| ++(yy_lp); \ -| goto find_rule; \ -| } -| -| static int yy_more_flag = 0; -| static int yy_more_len = 0; -| #define yymore() ((yy_more_flag) = 1) -| #define YY_MORE_ADJ (yy_more_len) -| #define YY_RESTORE_YY_MORE_OFFSET -| char *yytext; -| #line 1 "conftest.l" -| #line 484 "lex.yy.c" -| -| #define INITIAL 0 -| -| #ifndef YY_NO_UNISTD_H -| /* Special case for "unistd.h", since it is non-ANSI. We include it way -| * down here because we want the user's section 1 to have been scanned first. -| * The user has a chance to override it with an option. -| */ -| #include -| #endif -| -| #ifndef YY_EXTRA_TYPE -| #define YY_EXTRA_TYPE void * -| #endif -| -| static int yy_init_globals (void ); -| -| /* Accessor methods to globals. -| These are made visible to non-reentrant scanners for convenience. */ -| -| int yylex_destroy (void ); -| -| int yyget_debug (void ); -| -| void yyset_debug (int debug_flag ); -| -| YY_EXTRA_TYPE yyget_extra (void ); -| -| void yyset_extra (YY_EXTRA_TYPE user_defined ); -| -| FILE *yyget_in (void ); -| -| void yyset_in (FILE * _in_str ); -| -| FILE *yyget_out (void ); -| -| void yyset_out (FILE * _out_str ); -| -| yy_size_t yyget_leng (void ); -| -| char *yyget_text (void ); -| -| int yyget_lineno (void ); -| -| void yyset_lineno (int _line_number ); -| -| /* Macros after this point can all be overridden by user definitions in -| * section 1. -| */ -| -| #ifndef YY_SKIP_YYWRAP -| #ifdef __cplusplus -| extern "C" int yywrap (void ); -| #else -| extern int yywrap (void ); -| #endif -| #endif -| -| #ifndef YY_NO_UNPUT -| -| static void yyunput (int c,char *buf_ptr ); -| -| #endif -| -| #ifndef yytext_ptr -| static void yy_flex_strncpy (char *,yyconst char *,int ); -| #endif -| -| #ifdef YY_NEED_STRLEN -| static int yy_flex_strlen (yyconst char * ); -| #endif -| -| #ifndef YY_NO_INPUT -| -| #ifdef __cplusplus -| static int yyinput (void ); -| #else -| static int input (void ); -| #endif -| -| #endif -| -| /* Amount of stuff to slurp up with each read. */ -| #ifndef YY_READ_BUF_SIZE -| #ifdef __ia64__ -| /* On IA-64, the buffer size is 16k, not 8k */ -| #define YY_READ_BUF_SIZE 16384 -| #else -| #define YY_READ_BUF_SIZE 8192 -| #endif /* __ia64__ */ -| #endif -| -| /* Copy whatever the last rule matched to the standard output. */ -| #ifndef ECHO -| /* This used to be an fputs(), but since the string might contain NUL's, -| * we now use fwrite(). -| */ -| #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) -| #endif -| -| /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, -| * is returned in "result". -| */ -| #ifndef YY_INPUT -| #define YY_INPUT(buf,result,max_size) \ -| if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ -| { \ -| int c = '*'; \ -| size_t n; \ -| for ( n = 0; n < max_size && \ -| (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ -| buf[n] = (char) c; \ -| if ( c == '\n' ) \ -| buf[n++] = (char) c; \ -| if ( c == EOF && ferror( yyin ) ) \ -| YY_FATAL_ERROR( "input in flex scanner failed" ); \ -| result = n; \ -| } \ -| else \ -| { \ -| errno=0; \ -| while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ -| { \ -| if( errno != EINTR) \ -| { \ -| YY_FATAL_ERROR( "input in flex scanner failed" ); \ -| break; \ -| } \ -| errno=0; \ -| clearerr(yyin); \ -| } \ -| }\ -| \ -| -| #endif -| -| /* No semi-colon after return; correct usage is to write "yyterminate();" - -| * we don't want an extra ';' after the "return" because that will cause -| * some compilers to complain about unreachable statements. -| */ -| #ifndef yyterminate -| #define yyterminate() return YY_NULL -| #endif -| -| /* Number of entries by which start-condition stack grows. */ -| #ifndef YY_START_STACK_INCR -| #define YY_START_STACK_INCR 25 -| #endif -| -| /* Report a fatal error. */ -| #ifndef YY_FATAL_ERROR -| #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -| #endif -| -| /* end tables serialization structures and prototypes */ -| -| /* Default declaration of generated scanner - a define so the user can -| * easily add parameters. -| */ -| #ifndef YY_DECL -| #define YY_DECL_IS_OURS 1 -| -| extern int yylex (void); -| -| #define YY_DECL int yylex (void) -| #endif /* !YY_DECL */ -| -| /* Code executed at the beginning of each rule, after yytext and yyleng -| * have been set up. -| */ -| #ifndef YY_USER_ACTION -| #define YY_USER_ACTION -| #endif -| -| /* Code executed at the end of each rule. */ -| #ifndef YY_BREAK -| #define YY_BREAK /*LINTED*/break; -| #endif -| -| #define YY_RULE_SETUP \ -| YY_USER_ACTION -| -| /** The main scanner function which does all the work. -| */ -| YY_DECL -| { -| yy_state_type yy_current_state; -| char *yy_cp, *yy_bp; -| int yy_act; -| -| if ( !(yy_init) ) -| { -| (yy_init) = 1; -| -| #ifdef YY_USER_INIT -| YY_USER_INIT; -| #endif -| -| /* Create the reject buffer large enough to save one state per allowed character. */ -| if ( ! (yy_state_buf) ) -| (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); -| if ( ! (yy_state_buf) ) -| YY_FATAL_ERROR( "out of dynamic memory in yylex()" ); -| -| if ( ! (yy_start) ) -| (yy_start) = 1; /* first start state */ -| -| if ( ! yyin ) -| yyin = stdin; -| -| if ( ! yyout ) -| yyout = stdout; -| -| if ( ! YY_CURRENT_BUFFER ) { -| yyensure_buffer_stack (); -| YY_CURRENT_BUFFER_LVALUE = -| yy_create_buffer(yyin,YY_BUF_SIZE ); -| } -| -| yy_load_buffer_state( ); -| } -| -| { -| #line 1 "conftest.l" -| -| #line 710 "lex.yy.c" -| -| while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ -| { -| (yy_more_len) = 0; -| if ( (yy_more_flag) ) -| { -| (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); -| (yy_more_flag) = 0; -| } -| yy_cp = (yy_c_buf_p); -| -| /* Support of yytext. */ -| *yy_cp = (yy_hold_char); -| -| /* yy_bp points to the position in yy_ch_buf of the start of -| * the current run. -| */ -| yy_bp = yy_cp; -| -| yy_current_state = (yy_start); -| -| (yy_state_ptr) = (yy_state_buf); -| *(yy_state_ptr)++ = yy_current_state; -| -| yy_match: -| do -| { -| YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; -| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) -| { -| yy_current_state = (int) yy_def[yy_current_state]; -| if ( yy_current_state >= 13 ) -| yy_c = yy_meta[(unsigned int) yy_c]; -| } -| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -| *(yy_state_ptr)++ = yy_current_state; -| ++yy_cp; -| } -| while ( yy_base[yy_current_state] != 10 ); -| -| yy_find_action: -| yy_current_state = *--(yy_state_ptr); -| (yy_lp) = yy_accept[yy_current_state]; -| find_rule: /* we branch to this label when backing up */ -| for ( ; ; ) /* until we find what rule we matched */ -| { -| if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) -| { -| yy_act = yy_acclist[(yy_lp)]; -| { -| (yy_full_match) = yy_cp; -| break; -| } -| } -| --yy_cp; -| yy_current_state = *--(yy_state_ptr); -| (yy_lp) = yy_accept[yy_current_state]; -| } -| -| YY_DO_BEFORE_ACTION; -| -| do_action: /* This label is used only to access EOF actions. */ -| -| switch ( yy_act ) -| { /* beginning of action switch */ -| case 1: -| YY_RULE_SETUP -| #line 2 "conftest.l" -| { ECHO; } -| YY_BREAK -| case 2: -| YY_RULE_SETUP -| #line 3 "conftest.l" -| { REJECT; } -| YY_BREAK -| case 3: -| YY_RULE_SETUP -| #line 4 "conftest.l" -| { yymore (); } -| YY_BREAK -| case 4: -| YY_RULE_SETUP -| #line 5 "conftest.l" -| { yyless (1); } -| YY_BREAK -| case 5: -| YY_RULE_SETUP -| #line 6 "conftest.l" -| { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ -| yyless ((input () != 0)); } -| YY_BREAK -| case 6: -| YY_RULE_SETUP -| #line 8 "conftest.l" -| { unput (yytext[0]); } -| YY_BREAK -| case 7: -| YY_RULE_SETUP -| #line 9 "conftest.l" -| { BEGIN INITIAL; } -| YY_BREAK -| case 8: -| YY_RULE_SETUP -| #line 10 "conftest.l" -| ECHO; -| YY_BREAK -| #line 817 "lex.yy.c" -| case YY_STATE_EOF(INITIAL): -| yyterminate(); -| -| case YY_END_OF_BUFFER: -| { -| /* Amount of text matched not including the EOB char. */ -| int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; -| -| /* Undo the effects of YY_DO_BEFORE_ACTION. */ -| *yy_cp = (yy_hold_char); -| YY_RESTORE_YY_MORE_OFFSET -| -| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) -| { -| /* We're scanning a new file or input source. It's -| * possible that this happened because the user -| * just pointed yyin at a new source and called -| * yylex(). If so, then we have to assure -| * consistency between YY_CURRENT_BUFFER and our -| * globals. Here is the right place to do so, because -| * this is the first action (other than possibly a -| * back-up) that will match for the new input source. -| */ -| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; -| YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; -| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; -| } -| -| /* Note that here we test for yy_c_buf_p "<=" to the position -| * of the first EOB in the buffer, since yy_c_buf_p will -| * already have been incremented past the NUL character -| * (since all states make transitions on EOB to the -| * end-of-buffer state). Contrast this with the test -| * in input(). -| */ -| if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) -| { /* This was really a NUL. */ -| yy_state_type yy_next_state; -| -| (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; -| -| yy_current_state = yy_get_previous_state( ); -| -| /* Okay, we're now positioned to make the NUL -| * transition. We couldn't have -| * yy_get_previous_state() go ahead and do it -| * for us because it doesn't know how to deal -| * with the possibility of jamming (and we don't -| * want to build jamming into it because then it -| * will run more slowly). -| */ -| -| yy_next_state = yy_try_NUL_trans( yy_current_state ); -| -| yy_bp = (yytext_ptr) + YY_MORE_ADJ; -| -| if ( yy_next_state ) -| { -| /* Consume the NUL. */ -| yy_cp = ++(yy_c_buf_p); -| yy_current_state = yy_next_state; -| goto yy_match; -| } -| -| else -| { -| yy_cp = (yy_c_buf_p); -| goto yy_find_action; -| } -| } -| -| else switch ( yy_get_next_buffer( ) ) -| { -| case EOB_ACT_END_OF_FILE: -| { -| (yy_did_buffer_switch_on_eof) = 0; -| -| if ( yywrap( ) ) -| { -| /* Note: because we've taken care in -| * yy_get_next_buffer() to have set up -| * yytext, we can now set up -| * yy_c_buf_p so that if some total -| * hoser (like flex itself) wants to -| * call the scanner after we return the -| * YY_NULL, it'll still work - another -| * YY_NULL will get returned. -| */ -| (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; -| -| yy_act = YY_STATE_EOF(YY_START); -| goto do_action; -| } -| -| else -| { -| if ( ! (yy_did_buffer_switch_on_eof) ) -| YY_NEW_FILE; -| } -| break; -| } -| -| case EOB_ACT_CONTINUE_SCAN: -| (yy_c_buf_p) = -| (yytext_ptr) + yy_amount_of_matched_text; -| -| yy_current_state = yy_get_previous_state( ); -| -| yy_cp = (yy_c_buf_p); -| yy_bp = (yytext_ptr) + YY_MORE_ADJ; -| goto yy_match; -| -| case EOB_ACT_LAST_MATCH: -| (yy_c_buf_p) = -| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; -| -| yy_current_state = yy_get_previous_state( ); -| -| yy_cp = (yy_c_buf_p); -| yy_bp = (yytext_ptr) + YY_MORE_ADJ; -| goto yy_find_action; -| } -| break; -| } -| -| default: -| YY_FATAL_ERROR( -| "fatal flex scanner internal error--no action found" ); -| } /* end of action switch */ -| } /* end of scanning one token */ -| } /* end of user's declarations */ -| } /* end of yylex */ -| -| /* yy_get_next_buffer - try to read in a new buffer -| * -| * Returns a code representing an action: -| * EOB_ACT_LAST_MATCH - -| * EOB_ACT_CONTINUE_SCAN - continue scanning from current position -| * EOB_ACT_END_OF_FILE - end of file -| */ -| static int yy_get_next_buffer (void) -| { -| char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; -| char *source = (yytext_ptr); -| yy_size_t number_to_move, i; -| int ret_val; -| -| if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) -| YY_FATAL_ERROR( -| "fatal flex scanner internal error--end of buffer missed" ); -| -| if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) -| { /* Don't try to fill the buffer, so this is an EOF. */ -| if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) -| { -| /* We matched a single character, the EOB, so -| * treat this as a final EOF. -| */ -| return EOB_ACT_END_OF_FILE; -| } -| -| else -| { -| /* We matched some text prior to the EOB, first -| * process it. -| */ -| return EOB_ACT_LAST_MATCH; -| } -| } -| -| /* Try to read more data. */ -| -| /* First move last chars to start of buffer. */ -| number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; -| -| for ( i = 0; i < number_to_move; ++i ) -| *(dest++) = *(source++); -| -| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) -| /* don't do the read, it's not guaranteed to return an EOF, -| * just force an EOF -| */ -| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; -| -| else -| { -| yy_size_t num_to_read = -| YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; -| -| while ( num_to_read <= 0 ) -| { /* Not enough room in the buffer - grow it. */ -| -| YY_FATAL_ERROR( -| "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -| -| } -| -| if ( num_to_read > YY_READ_BUF_SIZE ) -| num_to_read = YY_READ_BUF_SIZE; -| -| /* Read in more data. */ -| YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), -| (yy_n_chars), num_to_read ); -| -| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); -| } -| -| if ( (yy_n_chars) == 0 ) -| { -| if ( number_to_move == YY_MORE_ADJ ) -| { -| ret_val = EOB_ACT_END_OF_FILE; -| yyrestart(yyin ); -| } -| -| else -| { -| ret_val = EOB_ACT_LAST_MATCH; -| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = -| YY_BUFFER_EOF_PENDING; -| } -| } -| -| else -| ret_val = EOB_ACT_CONTINUE_SCAN; -| -| if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { -| /* Extend the array by 50%, plus the number we really need. */ -| int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); -| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); -| if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) -| YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); -| } -| -| (yy_n_chars) += number_to_move; -| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; -| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; -| -| (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; -| -| return ret_val; -| } -| -| /* yy_get_previous_state - get the state just before the EOB char was reached */ -| -| static yy_state_type yy_get_previous_state (void) -| { -| yy_state_type yy_current_state; -| char *yy_cp; -| -| yy_current_state = (yy_start); -| -| (yy_state_ptr) = (yy_state_buf); -| *(yy_state_ptr)++ = yy_current_state; -| -| for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) -| { -| YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); -| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) -| { -| yy_current_state = (int) yy_def[yy_current_state]; -| if ( yy_current_state >= 13 ) -| yy_c = yy_meta[(unsigned int) yy_c]; -| } -| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -| *(yy_state_ptr)++ = yy_current_state; -| } -| -| return yy_current_state; -| } -| -| /* yy_try_NUL_trans - try to make a transition on the NUL character -| * -| * synopsis -| * next_state = yy_try_NUL_trans( current_state ); -| */ -| static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -| { -| int yy_is_jam; -| -| YY_CHAR yy_c = 1; -| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) -| { -| yy_current_state = (int) yy_def[yy_current_state]; -| if ( yy_current_state >= 13 ) -| yy_c = yy_meta[(unsigned int) yy_c]; -| } -| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -| yy_is_jam = (yy_current_state == 12); -| if ( ! yy_is_jam ) -| *(yy_state_ptr)++ = yy_current_state; -| -| return yy_is_jam ? 0 : yy_current_state; -| } -| -| #ifndef YY_NO_UNPUT -| -| static void yyunput (int c, char * yy_bp ) -| { -| char *yy_cp; -| -| yy_cp = (yy_c_buf_p); -| -| /* undo effects of setting up yytext */ -| *yy_cp = (yy_hold_char); -| -| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) -| { /* need to shift things up to make room */ -| /* +2 for EOB chars. */ -| yy_size_t number_to_move = (yy_n_chars) + 2; -| char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ -| YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; -| char *source = -| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; -| -| while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) -| *--dest = *--source; -| -| yy_cp += (int) (dest - source); -| yy_bp += (int) (dest - source); -| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = -| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; -| -| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) -| YY_FATAL_ERROR( "flex scanner push-back overflow" ); -| } -| -| *--yy_cp = (char) c; -| -| (yytext_ptr) = yy_bp; -| (yy_hold_char) = *yy_cp; -| (yy_c_buf_p) = yy_cp; -| } -| -| #endif -| -| #ifndef YY_NO_INPUT -| #ifdef __cplusplus -| static int yyinput (void) -| #else -| static int input (void) -| #endif -| -| { -| int c; -| -| *(yy_c_buf_p) = (yy_hold_char); -| -| if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) -| { -| /* yy_c_buf_p now points to the character we want to return. -| * If this occurs *before* the EOB characters, then it's a -| * valid NUL; if not, then we've hit the end of the buffer. -| */ -| if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) -| /* This was really a NUL. */ -| *(yy_c_buf_p) = '\0'; -| -| else -| { /* need more input */ -| yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); -| ++(yy_c_buf_p); -| -| switch ( yy_get_next_buffer( ) ) -| { -| case EOB_ACT_LAST_MATCH: -| /* This happens because yy_g_n_b() -| * sees that we've accumulated a -| * token and flags that we need to -| * try matching the token before -| * proceeding. But for input(), -| * there's no matching to consider. -| * So convert the EOB_ACT_LAST_MATCH -| * to EOB_ACT_END_OF_FILE. -| */ -| -| /* Reset buffer status. */ -| yyrestart(yyin ); -| -| /*FALLTHROUGH*/ -| -| case EOB_ACT_END_OF_FILE: -| { -| if ( yywrap( ) ) -| return EOF; -| -| if ( ! (yy_did_buffer_switch_on_eof) ) -| YY_NEW_FILE; -| #ifdef __cplusplus -| return yyinput(); -| #else -| return input(); -| #endif -| } -| -| case EOB_ACT_CONTINUE_SCAN: -| (yy_c_buf_p) = (yytext_ptr) + offset; -| break; -| } -| } -| } -| -| c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ -| *(yy_c_buf_p) = '\0'; /* preserve yytext */ -| (yy_hold_char) = *++(yy_c_buf_p); -| -| return c; -| } -| #endif /* ifndef YY_NO_INPUT */ -| -| /** Immediately switch to a different input stream. -| * @param input_file A readable stream. -| * -| * @note This function does not reset the start condition to @c INITIAL . -| */ -| void yyrestart (FILE * input_file ) -| { -| -| if ( ! YY_CURRENT_BUFFER ){ -| yyensure_buffer_stack (); -| YY_CURRENT_BUFFER_LVALUE = -| yy_create_buffer(yyin,YY_BUF_SIZE ); -| } -| -| yy_init_buffer(YY_CURRENT_BUFFER,input_file ); -| yy_load_buffer_state( ); -| } -| -| /** Switch to a different input buffer. -| * @param new_buffer The new input buffer. -| * -| */ -| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) -| { -| -| /* TODO. We should be able to replace this entire function body -| * with -| * yypop_buffer_state(); -| * yypush_buffer_state(new_buffer); -| */ -| yyensure_buffer_stack (); -| if ( YY_CURRENT_BUFFER == new_buffer ) -| return; -| -| if ( YY_CURRENT_BUFFER ) -| { -| /* Flush out information for old buffer. */ -| *(yy_c_buf_p) = (yy_hold_char); -| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); -| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); -| } -| -| YY_CURRENT_BUFFER_LVALUE = new_buffer; -| yy_load_buffer_state( ); -| -| /* We don't actually know whether we did this switch during -| * EOF (yywrap()) processing, but the only time this flag -| * is looked at is after yywrap() is called, so it's safe -| * to go ahead and always set it. -| */ -| (yy_did_buffer_switch_on_eof) = 1; -| } -| -| static void yy_load_buffer_state (void) -| { -| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; -| (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; -| yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; -| (yy_hold_char) = *(yy_c_buf_p); -| } -| -| /** Allocate and initialize an input buffer state. -| * @param file A readable stream. -| * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. -| * -| * @return the allocated buffer state. -| */ -| YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) -| { -| YY_BUFFER_STATE b; -| -| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); -| if ( ! b ) -| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); -| -| b->yy_buf_size = (yy_size_t)size; -| -| /* yy_ch_buf has to be 2 characters longer than the size given because -| * we need to put in 2 end-of-buffer characters. -| */ -| b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); -| if ( ! b->yy_ch_buf ) -| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); -| -| b->yy_is_our_buffer = 1; -| -| yy_init_buffer(b,file ); -| -| return b; -| } -| -| /** Destroy the buffer. -| * @param b a buffer created with yy_create_buffer() -| * -| */ -| void yy_delete_buffer (YY_BUFFER_STATE b ) -| { -| -| if ( ! b ) -| return; -| -| if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ -| YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; -| -| if ( b->yy_is_our_buffer ) -| yyfree((void *) b->yy_ch_buf ); -| -| yyfree((void *) b ); -| } -| -| /* Initializes or reinitializes a buffer. -| * This function is sometimes called more than once on the same buffer, -| * such as during a yyrestart() or at EOF. -| */ -| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) -| -| { -| int oerrno = errno; -| -| yy_flush_buffer(b ); -| -| b->yy_input_file = file; -| b->yy_fill_buffer = 1; -| -| /* If b is the current buffer, then yy_init_buffer was _probably_ -| * called from yyrestart() or through yy_get_next_buffer. -| * In that case, we don't want to reset the lineno or column. -| */ -| if (b != YY_CURRENT_BUFFER){ -| b->yy_bs_lineno = 1; -| b->yy_bs_column = 0; -| } -| -| b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -| -| errno = oerrno; -| } -| -| /** Discard all buffered characters. On the next scan, YY_INPUT will be called. -| * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. -| * -| */ -| void yy_flush_buffer (YY_BUFFER_STATE b ) -| { -| if ( ! b ) -| return; -| -| b->yy_n_chars = 0; -| -| /* We always need two end-of-buffer characters. The first causes -| * a transition to the end-of-buffer state. The second causes -| * a jam in that state. -| */ -| b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; -| b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; -| -| b->yy_buf_pos = &b->yy_ch_buf[0]; -| -| b->yy_at_bol = 1; -| b->yy_buffer_status = YY_BUFFER_NEW; -| -| if ( b == YY_CURRENT_BUFFER ) -| yy_load_buffer_state( ); -| } -| -| /** Pushes the new state onto the stack. The new state becomes -| * the current state. This function will allocate the stack -| * if necessary. -| * @param new_buffer The new state. -| * -| */ -| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) -| { -| if (new_buffer == NULL) -| return; -| -| yyensure_buffer_stack(); -| -| /* This block is copied from yy_switch_to_buffer. */ -| if ( YY_CURRENT_BUFFER ) -| { -| /* Flush out information for old buffer. */ -| *(yy_c_buf_p) = (yy_hold_char); -| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); -| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); -| } -| -| /* Only push if top exists. Otherwise, replace top. */ -| if (YY_CURRENT_BUFFER) -| (yy_buffer_stack_top)++; -| YY_CURRENT_BUFFER_LVALUE = new_buffer; -| -| /* copied from yy_switch_to_buffer. */ -| yy_load_buffer_state( ); -| (yy_did_buffer_switch_on_eof) = 1; -| } -| -| /** Removes and deletes the top of the stack, if present. -| * The next element becomes the new top. -| * -| */ -| void yypop_buffer_state (void) -| { -| if (!YY_CURRENT_BUFFER) -| return; -| -| yy_delete_buffer(YY_CURRENT_BUFFER ); -| YY_CURRENT_BUFFER_LVALUE = NULL; -| if ((yy_buffer_stack_top) > 0) -| --(yy_buffer_stack_top); -| -| if (YY_CURRENT_BUFFER) { -| yy_load_buffer_state( ); -| (yy_did_buffer_switch_on_eof) = 1; -| } -| } -| -| /* Allocates the stack if it does not exist. -| * Guarantees space for at least one push. -| */ -| static void yyensure_buffer_stack (void) -| { -| yy_size_t num_to_alloc; -| -| if (!(yy_buffer_stack)) { -| -| /* First allocation is just for 2 elements, since we don't know if this -| * scanner will even need a stack. We use 2 instead of 1 to avoid an -| * immediate realloc on the next call. -| */ -| num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ -| (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc -| (num_to_alloc * sizeof(struct yy_buffer_state*) -| ); -| if ( ! (yy_buffer_stack) ) -| YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); -| -| memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); -| -| (yy_buffer_stack_max) = num_to_alloc; -| (yy_buffer_stack_top) = 0; -| return; -| } -| -| if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ -| -| /* Increase the buffer to prepare for a possible push. */ -| yy_size_t grow_size = 8 /* arbitrary grow size */; -| -| num_to_alloc = (yy_buffer_stack_max) + grow_size; -| (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc -| ((yy_buffer_stack), -| num_to_alloc * sizeof(struct yy_buffer_state*) -| ); -| if ( ! (yy_buffer_stack) ) -| YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); -| -| /* zero only the new slots.*/ -| memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); -| (yy_buffer_stack_max) = num_to_alloc; -| } -| } -| -| /** Setup the input buffer state to scan directly from a user-specified character buffer. -| * @param base the character buffer -| * @param size the size in bytes of the character buffer -| * -| * @return the newly allocated buffer state object. -| */ -| YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) -| { -| YY_BUFFER_STATE b; -| -| if ( size < 2 || -| base[size-2] != YY_END_OF_BUFFER_CHAR || -| base[size-1] != YY_END_OF_BUFFER_CHAR ) -| /* They forgot to leave room for the EOB's. */ -| return 0; -| -| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); -| if ( ! b ) -| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); -| -| b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ -| b->yy_buf_pos = b->yy_ch_buf = base; -| b->yy_is_our_buffer = 0; -| b->yy_input_file = 0; -| b->yy_n_chars = b->yy_buf_size; -| b->yy_is_interactive = 0; -| b->yy_at_bol = 1; -| b->yy_fill_buffer = 0; -| b->yy_buffer_status = YY_BUFFER_NEW; -| -| yy_switch_to_buffer(b ); -| -| return b; -| } -| -| /** Setup the input buffer state to scan a string. The next call to yylex() will -| * scan from a @e copy of @a str. -| * @param yystr a NUL-terminated string to scan -| * -| * @return the newly allocated buffer state object. -| * @note If you want to scan bytes that may contain NUL values, then use -| * yy_scan_bytes() instead. -| */ -| YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) -| { -| -| return yy_scan_bytes(yystr,strlen(yystr) ); -| } -| -| /** Setup the input buffer state to scan the given bytes. The next call to yylex() will -| * scan from a @e copy of @a bytes. -| * @param yybytes the byte buffer to scan -| * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. -| * -| * @return the newly allocated buffer state object. -| */ -| YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) -| { -| YY_BUFFER_STATE b; -| char *buf; -| yy_size_t n; -| yy_size_t i; -| -| /* Get memory for full buffer, including space for trailing EOB's. */ -| n = _yybytes_len + 2; -| buf = (char *) yyalloc(n ); -| if ( ! buf ) -| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); -| -| for ( i = 0; i < _yybytes_len; ++i ) -| buf[i] = yybytes[i]; -| -| buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; -| -| b = yy_scan_buffer(buf,n ); -| if ( ! b ) -| YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); -| -| /* It's okay to grow etc. this buffer, and we should throw it -| * away when we're done. -| */ -| b->yy_is_our_buffer = 1; -| -| return b; -| } -| -| #ifndef YY_EXIT_FAILURE -| #define YY_EXIT_FAILURE 2 -| #endif -| -| static void yy_fatal_error (yyconst char* msg ) -| { -| (void) fprintf( stderr, "%s\n", msg ); -| exit( YY_EXIT_FAILURE ); -| } -| -| /* Redefine yyless() so it works in section 3 code. */ -| -| #undef yyless -| #define yyless(n) \ -| do \ -| { \ -| /* Undo effects of setting up yytext. */ \ -| int yyless_macro_arg = (n); \ -| YY_LESS_LINENO(yyless_macro_arg);\ -| yytext[yyleng] = (yy_hold_char); \ -| (yy_c_buf_p) = yytext + yyless_macro_arg; \ -| (yy_hold_char) = *(yy_c_buf_p); \ -| *(yy_c_buf_p) = '\0'; \ -| yyleng = yyless_macro_arg; \ -| } \ -| while ( 0 ) -| -| /* Accessor methods (get/set functions) to struct members. */ -| -| /** Get the current line number. -| * -| */ -| int yyget_lineno (void) -| { -| -| return yylineno; -| } -| -| /** Get the input stream. -| * -| */ -| FILE *yyget_in (void) -| { -| return yyin; -| } -| -| /** Get the output stream. -| * -| */ -| FILE *yyget_out (void) -| { -| return yyout; -| } -| -| /** Get the length of the current token. -| * -| */ -| yy_size_t yyget_leng (void) -| { -| return yyleng; -| } -| -| /** Get the current token. -| * -| */ -| -| char *yyget_text (void) -| { -| return yytext; -| } -| -| /** Set the current line number. -| * @param _line_number line number -| * -| */ -| void yyset_lineno (int _line_number ) -| { -| -| yylineno = _line_number; -| } -| -| /** Set the input stream. This does not discard the current -| * input buffer. -| * @param _in_str A readable stream. -| * -| * @see yy_switch_to_buffer -| */ -| void yyset_in (FILE * _in_str ) -| { -| yyin = _in_str ; -| } -| -| void yyset_out (FILE * _out_str ) -| { -| yyout = _out_str ; -| } -| -| int yyget_debug (void) -| { -| return yy_flex_debug; -| } -| -| void yyset_debug (int _bdebug ) -| { -| yy_flex_debug = _bdebug ; -| } -| -| static int yy_init_globals (void) -| { -| /* Initialization is the same as for the non-reentrant scanner. -| * This function is called from yylex_destroy(), so don't allocate here. -| */ -| -| (yy_buffer_stack) = 0; -| (yy_buffer_stack_top) = 0; -| (yy_buffer_stack_max) = 0; -| (yy_c_buf_p) = (char *) 0; -| (yy_init) = 0; -| (yy_start) = 0; -| -| (yy_state_buf) = 0; -| (yy_state_ptr) = 0; -| (yy_full_match) = 0; -| (yy_lp) = 0; -| -| /* Defined in main.c */ -| #ifdef YY_STDINIT -| yyin = stdin; -| yyout = stdout; -| #else -| yyin = (FILE *) 0; -| yyout = (FILE *) 0; -| #endif -| -| /* For future reference: Set errno on error, since we are called by -| * yylex_init() -| */ -| return 0; -| } -| -| /* yylex_destroy is for both reentrant and non-reentrant scanners. */ -| int yylex_destroy (void) -| { -| -| /* Pop the buffer stack, destroying each element. */ -| while(YY_CURRENT_BUFFER){ -| yy_delete_buffer(YY_CURRENT_BUFFER ); -| YY_CURRENT_BUFFER_LVALUE = NULL; -| yypop_buffer_state(); -| } -| -| /* Destroy the stack itself. */ -| yyfree((yy_buffer_stack) ); -| (yy_buffer_stack) = NULL; -| -| yyfree ( (yy_state_buf) ); -| (yy_state_buf) = NULL; -| -| /* Reset the globals. This is important in a non-reentrant scanner so the next time -| * yylex() is called, initialization will occur. */ -| yy_init_globals( ); -| -| return 0; -| } -| -| /* -| * Internal utility routines. -| */ -| -| #ifndef yytext_ptr -| static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -| { -| -| int i; -| for ( i = 0; i < n; ++i ) -| s1[i] = s2[i]; -| } -| #endif -| -| #ifdef YY_NEED_STRLEN -| static int yy_flex_strlen (yyconst char * s ) -| { -| int n; -| for ( n = 0; s[n]; ++n ) -| ; -| -| return n; -| } -| #endif -| -| void *yyalloc (yy_size_t size ) -| { -| return (void *) malloc( size ); -| } -| -| void *yyrealloc (void * ptr, yy_size_t size ) -| { -| -| /* The cast to (char *) in the following accommodates both -| * implementations that use char* generic pointers, and those -| * that use void* generic pointers. It works with the latter -| * because both ANSI C and C++ allow castless assignment from -| * any pointer type to void*, and deal with argument conversions -| * as though doing an assignment. -| */ -| return (void *) realloc( (char *) ptr, size ); -| } -| -| void yyfree (void * ptr ) -| { -| free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ -| } -| -| #define YYTABLES_NAME "yytables" -| -| #line 10 "conftest.l" -| -| -| #ifdef YYTEXT_POINTER -| extern char *yytext; -| #endif -| int -| main (void) -| { -| return ! yylex () + ! yywrap (); -| } -configure:4683: gcc -o conftest -g -O2 conftest.c -lfl >&5 -configure:4683: $? = 0 -configure:4693: result: -lfl -configure:4699: checking whether yytext is a pointer -configure:4716: gcc -o conftest -g -O2 conftest.c -lfl >&5 -configure:4716: $? = 0 -configure:4724: result: yes -configure:4786: checking for ar -configure:4802: found /usr/bin/ar -configure:4813: result: ar -configure:4839: checking the archiver (ar) interface -configure:4855: gcc -c -g -O2 conftest.c >&5 -configure:4855: $? = 0 -configure:4857: ar cru libconftest.a conftest.o >&5 -ar: `u' modifier ignored since `D' is the default (see `U') -configure:4860: $? = 0 -configure:4888: result: ar -configure:4967: checking for g++ -configure:4983: found /usr/bin/g++ -configure:4994: result: g++ -configure:5021: checking for C++ compiler version -configure:5030: g++ --version >&5 -g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 -Copyright (C) 2015 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:5041: $? = 0 -configure:5030: g++ -v >&5 -Using built-in specs. -COLLECT_GCC=g++ -COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) -configure:5041: $? = 0 -configure:5030: g++ -V >&5 -g++: error: unrecognized command line option '-V' -g++: fatal error: no input files -compilation terminated. -configure:5041: $? = 1 -configure:5030: g++ -qversion >&5 -g++: error: unrecognized command line option '-qversion' -g++: fatal error: no input files -compilation terminated. -configure:5041: $? = 1 -configure:5045: checking whether we are using the GNU C++ compiler -configure:5064: g++ -c conftest.cpp >&5 -configure:5064: $? = 0 -configure:5073: result: yes -configure:5082: checking whether g++ accepts -g -configure:5102: g++ -c -g conftest.cpp >&5 -configure:5102: $? = 0 -configure:5143: result: yes -configure:5168: checking dependency style of g++ -configure:5279: result: gcc3 -configure:5325: checking build system type -configure:5339: result: x86_64-pc-linux-gnu -configure:5359: checking host system type -configure:5372: result: x86_64-pc-linux-gnu -configure:5413: checking how to print strings -configure:5440: result: printf -configure:5461: checking for a sed that does not truncate output -configure:5525: result: /bin/sed -configure:5543: checking for grep that handles long lines and -e -configure:5601: result: /bin/grep -configure:5606: checking for egrep -configure:5668: result: /bin/grep -E -configure:5673: checking for fgrep -configure:5735: result: /bin/grep -F -configure:5770: checking for ld used by gcc -configure:5837: result: /usr/bin/ld -configure:5844: checking if the linker (/usr/bin/ld) is GNU ld -configure:5859: result: yes -configure:5871: checking for BSD- or MS-compatible name lister (nm) -configure:5925: result: /usr/bin/nm -B -configure:6055: checking the name lister (/usr/bin/nm -B) interface -configure:6062: gcc -c -g -O2 conftest.c >&5 -configure:6065: /usr/bin/nm -B "conftest.o" -configure:6068: output -0000000000000000 B some_variable -configure:6075: result: BSD nm -configure:6079: checking the maximum length of command line arguments -configure:6210: result: 1572864 -configure:6258: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format -configure:6298: result: func_convert_file_noop -configure:6305: checking how to convert x86_64-pc-linux-gnu file names to toolchain format -configure:6325: result: func_convert_file_noop -configure:6332: checking for /usr/bin/ld option to reload object files -configure:6339: result: -r -configure:6413: checking for objdump -configure:6429: found /usr/bin/objdump -configure:6440: result: objdump -configure:6472: checking how to recognize dependent libraries -configure:6672: result: pass_all -configure:6757: checking for dlltool -configure:6787: result: no -configure:6817: checking how to associate runtime and link libraries -configure:6844: result: printf %s\n -configure:6968: checking for archiver @FILE support -configure:6985: gcc -c -g -O2 conftest.c >&5 -configure:6985: $? = 0 -configure:6988: ar cru libconftest.a @conftest.lst >&5 -ar: `u' modifier ignored since `D' is the default (see `U') -configure:6991: $? = 0 -configure:6996: ar cru libconftest.a @conftest.lst >&5 -ar: `u' modifier ignored since `D' is the default (see `U') -ar: conftest.o: No such file or directory -configure:6999: $? = 1 -configure:7011: result: @ -configure:7069: checking for strip -configure:7085: found /usr/bin/strip -configure:7096: result: strip -configure:7168: checking for ranlib -configure:7184: found /usr/bin/ranlib -configure:7195: result: ranlib -configure:7297: checking command to parse /usr/bin/nm -B output from gcc object -configure:7450: gcc -c -g -O2 conftest.c >&5 -configure:7453: $? = 0 -configure:7457: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm -configure:7460: $? = 0 -configure:7526: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 -configure:7529: $? = 0 -configure:7567: result: ok -configure:7614: checking for sysroot -configure:7644: result: no -configure:7651: checking for a working dd -configure:7689: result: /bin/dd -configure:7693: checking how to truncate binary pipes -configure:7708: result: /bin/dd bs=4096 count=1 -configure:7844: gcc -c -g -O2 conftest.c >&5 -configure:7847: $? = 0 -configure:8037: checking for mt -configure:8053: found /bin/mt -configure:8064: result: mt -configure:8087: checking if mt is a manifest tool -configure:8093: mt '-?' -configure:8101: result: no -configure:8774: checking for ANSI C header files -configure:8794: gcc -c -g -O2 conftest.c >&5 -configure:8794: $? = 0 -configure:8867: gcc -o conftest -g -O2 conftest.c >&5 -configure:8867: $? = 0 -configure:8867: ./conftest -configure:8867: $? = 0 -configure:8878: result: yes -configure:8891: checking for sys/types.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for sys/stat.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for stdlib.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for string.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for memory.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for strings.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for inttypes.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for stdint.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8891: checking for unistd.h -configure:8891: gcc -c -g -O2 conftest.c >&5 -configure:8891: $? = 0 -configure:8891: result: yes -configure:8905: checking for dlfcn.h -configure:8905: gcc -c -g -O2 conftest.c >&5 -configure:8905: $? = 0 -configure:8905: result: yes -configure:9172: checking for objdir -configure:9187: result: .libs -configure:9451: checking if gcc supports -fno-rtti -fno-exceptions -configure:9469: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 -cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C -configure:9473: $? = 0 -configure:9486: result: no -configure:9844: checking for gcc option to produce PIC -configure:9851: result: -fPIC -DPIC -configure:9859: checking if gcc PIC flag -fPIC -DPIC works -configure:9877: gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5 -configure:9881: $? = 0 -configure:9894: result: yes -configure:9923: checking if gcc static flag -static works -configure:9951: result: yes -configure:9966: checking if gcc supports -c -o file.o -configure:9987: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 -configure:9991: $? = 0 -configure:10013: result: yes -configure:10021: checking if gcc supports -c -o file.o -configure:10068: result: yes -configure:10101: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries -configure:11364: result: yes -configure:11401: checking whether -lc should be explicitly linked in -configure:11409: gcc -c -g -O2 conftest.c >&5 -configure:11412: $? = 0 -configure:11427: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 -configure:11430: $? = 0 -configure:11444: result: no -configure:11604: checking dynamic linker characteristics -configure:12185: gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5 -configure:12185: $? = 0 -configure:12434: result: GNU/Linux ld.so -configure:12556: checking how to hardcode library paths into programs -configure:12581: result: immediate -configure:13129: checking whether stripping libraries is possible -configure:13134: result: yes -configure:13169: checking if libtool supports shared libraries -configure:13171: result: yes -configure:13174: checking whether to build shared libraries -configure:13199: result: yes -configure:13202: checking whether to build static libraries -configure:13206: result: yes -configure:13229: checking how to run the C++ preprocessor -configure:13256: g++ -E conftest.cpp -configure:13256: $? = 0 -configure:13270: g++ -E conftest.cpp -conftest.cpp:24:28: fatal error: ac_nonexistent.h: No such file or directory -compilation terminated. -configure:13270: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| #include -configure:13295: result: g++ -E -configure:13315: g++ -E conftest.cpp -configure:13315: $? = 0 -configure:13329: g++ -E conftest.cpp -conftest.cpp:24:28: fatal error: ac_nonexistent.h: No such file or directory -compilation terminated. -configure:13329: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| #include -configure:13491: checking for ld used by g++ -configure:13558: result: /usr/bin/ld -m elf_x86_64 -configure:13565: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld -configure:13580: result: yes -configure:13635: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries -configure:14708: result: yes -configure:14744: g++ -c -std=c++11 conftest.cpp >&5 -configure:14747: $? = 0 -configure:15228: checking for g++ option to produce PIC -configure:15235: result: -fPIC -DPIC -configure:15243: checking if g++ PIC flag -fPIC -DPIC works -configure:15261: g++ -c -std=c++11 -fPIC -DPIC -DPIC conftest.cpp >&5 -configure:15265: $? = 0 -configure:15278: result: yes -configure:15301: checking if g++ static flag -static works -configure:15329: result: yes -configure:15341: checking if g++ supports -c -o file.o -configure:15362: g++ -c -std=c++11 -o out/conftest2.o conftest.cpp >&5 -configure:15366: $? = 0 -configure:15388: result: yes -configure:15393: checking if g++ supports -c -o file.o -configure:15440: result: yes -configure:15470: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries -configure:15513: result: yes -configure:15654: checking dynamic linker characteristics -configure:16411: result: GNU/Linux ld.so -configure:16476: checking how to hardcode library paths into programs -configure:16501: result: immediate -configure:16574: checking whether make supports nested variables -configure:16591: result: yes -configure:16626: checking whether C compiler accepts -Wall -configure:16645: gcc -c -g -O2 -Wall conftest.c >&5 -configure:16645: $? = 0 -configure:16653: result: yes -configure:16661: checking whether C compiler accepts -Wcast-qual -configure:16680: gcc -c -g -O2 -Wall -Wcast-qual conftest.c >&5 -configure:16680: $? = 0 -configure:16688: result: yes -configure:16696: checking whether C compiler accepts -Wchar-subscripts -configure:16715: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts conftest.c >&5 -configure:16715: $? = 0 -configure:16723: result: yes -configure:16731: checking whether C compiler accepts -Wmissing-prototypes -configure:16750: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes conftest.c >&5 -configure:16750: $? = 0 -configure:16758: result: yes -configure:16766: checking whether C compiler accepts -Wmissing-declarations -configure:16785: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations conftest.c >&5 -configure:16785: $? = 0 -configure:16793: result: yes -configure:16802: checking whether C compiler accepts -Wno-error=attributes -configure:16821: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes conftest.c >&5 -configure:16821: $? = 0 -configure:16829: result: yes -configure:16837: checking whether C compiler accepts -Wno-error=cast-align -configure:16856: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align conftest.c >&5 -configure:16856: $? = 0 -configure:16864: result: yes -configure:16872: checking whether C compiler accepts -Wno-error=visibility -configure:16891: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -Wno-error=visibility conftest.c >&5 -cc1: error: -Werror=visibility: no option -Wvisibility -configure:16891: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| -| int -| main () -| { -| -| ; -| return 0; -| } -configure:16899: result: no -configure:16907: checking whether C compiler accepts -Wno-error=parentheses-equality -configure:16926: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -Wno-error=parentheses-equality conftest.c >&5 -cc1: error: -Werror=parentheses-equality: no option -Wparentheses-equality -configure:16926: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| -| int -| main () -| { -| -| ; -| return 0; -| } -configure:16934: result: no -configure:16942: checking whether C compiler accepts -std=gnu99 -configure:16961: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:16961: $? = 0 -configure:16969: result: yes -configure:16978: checking whether C compiler accepts -Wno-error=unused-variable -configure:16997: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -Wno-error=unused-variable conftest.c >&5 -configure:16997: $? = 0 -configure:17005: result: yes -configure:17028: checking whether to build with code coverage support -configure:17048: result: no -configure:17497: checking whether C compiler accepts -std=c89 -configure:17516: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -std=c89 conftest.c >&5 -configure:17516: $? = 0 -configure:17524: result: yes -configure:17532: checking whether C compiler accepts -Wpedantic -configure:17551: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -Werror -Wpedantic conftest.c >&5 -configure:17551: $? = 0 -configure:17559: result: yes -configure:17653: checking whether C compiler accepts -Wno-long-long -configure:17672: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -Wno-long-long conftest.c >&5 -configure:17672: $? = 0 -configure:17680: result: yes -configure:17775: checking whether C compiler and linker accept -fsanitize=undefined -configure:17795: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fsanitize=undefined conftest.c >&5 -configure:17795: $? = 0 -configure:17804: result: yes -configure:17821: checking whether C compiler accepts -fno-sanitize-recover=undefined -configure:17840: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fno-sanitize-recover=undefined conftest.c >&5 -configure:17840: $? = 0 -configure:17848: result: yes -configure:17857: checking whether C compiler and linker accept -fsanitize=unsigned-integer-overflow -configure:17876: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fsanitize=unsigned-integer-overflow conftest.c >&5 -gcc: error: unrecognized argument to -fsanitize= option: 'unsigned-integer-overflow' -configure:17876: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| int test(unsigned); int test(unsigned n) { return n + 1; } -| int -| main () -| { -| -| ; -| return 0; -| } -configure:17885: result: no -configure:17893: checking whether C compiler accepts -fno-sanitize-recover=unsigned-integer-overflow -configure:17912: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fno-sanitize-recover=unsigned-integer-overflow conftest.c >&5 -cc1: error: unrecognized argument to -fsanitize-recover= option: 'unsigned-integer-overflow' -configure:17912: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| -| int -| main () -| { -| -| ; -| return 0; -| } -configure:17920: result: no -configure:17929: checking whether C compiler and linker accept -fsanitize=nullability -configure:17948: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fsanitize=nullability conftest.c >&5 -gcc: error: unrecognized argument to -fsanitize= option: 'nullability' -configure:17948: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| -| int -| main () -| { -| -| ; -| return 0; -| } -configure:17957: result: no -configure:17965: checking whether C compiler accepts -fno-sanitize-recover=nullability -configure:17984: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fno-sanitize-recover=nullability conftest.c >&5 -cc1: error: unrecognized argument to -fsanitize-recover= option: 'nullability' -configure:17984: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| -| int -| main () -| { -| -| ; -| return 0; -| } -configure:17992: result: no -configure:18001: checking whether C compiler accepts -fno-omit-frame-pointer -configure:18020: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fno-omit-frame-pointer conftest.c >&5 -configure:18020: $? = 0 -configure:18028: result: yes -configure:18049: checking whether C compiler and linker accept -fsanitize=address -configure:18068: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fsanitize=address conftest.c >&5 -configure:18068: $? = 0 -configure:18077: result: yes -configure:18116: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address conftest.c >&5 -configure:18116: $? = 0 -configure:18116: ./conftest -configure:18116: $? = 0 -configure:18128: checking whether C compiler accepts -fno-omit-frame-pointer -configure:18155: result: yes -configure:18230: checking for ANSI C header files -configure:18334: result: yes -configure:18344: checking sys/param.h usability -configure:18344: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18344: $? = 0 -configure:18344: result: yes -configure:18344: checking sys/param.h presence -configure:18344: gcc -E conftest.c -configure:18344: $? = 0 -configure:18344: result: yes -configure:18344: checking for sys/param.h -configure:18344: result: yes -configure:18355: checking whether byte ordering is bigendian -configure:18370: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c:27:9: error: unknown type name 'not' - not a universal capable compiler - ^ -conftest.c:27:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'universal' - not a universal capable compiler - ^ -conftest.c:27:15: error: unknown type name 'universal' -configure:18370: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| /* end confdefs.h. */ -| #ifndef __APPLE_CC__ -| not a universal capable compiler -| #endif -| typedef int dummy; -| -configure:18415: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18415: $? = 0 -configure:18433: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:33:4: error: unknown type name 'not' - not big endian - ^ -conftest.c:33:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian' - not big endian - ^ -configure:18433: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| /* end confdefs.h. */ -| #include -| #include -| -| int -| main () -| { -| #if BYTE_ORDER != BIG_ENDIAN -| not big endian -| #endif -| -| ; -| return 0; -| } -configure:18561: result: no -configure:18579: checking for off_t -configure:18579: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18579: $? = 0 -configure:18579: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:62:20: error: expected expression before ')' token - if (sizeof ((off_t))) - ^ -configure:18579: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| int -| main () -| { -| if (sizeof ((off_t))) -| return 0; -| ; -| return 0; -| } -configure:18579: result: yes -configure:18590: checking for size_t -configure:18590: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18590: $? = 0 -configure:18590: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:62:21: error: expected expression before ')' token - if (sizeof ((size_t))) - ^ -configure:18590: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| int -| main () -| { -| if (sizeof ((size_t))) -| return 0; -| ; -| return 0; -| } -configure:18590: result: yes -configure:18601: checking whether struct tm is in sys/time.h or time.h -configure:18621: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18621: $? = 0 -configure:18628: result: time.h -configure:18636: checking for __int128 -configure:18636: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18636: $? = 0 -configure:18636: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:62:23: error: expected expression before ')' token - if (sizeof ((__int128))) - ^ -configure:18636: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| int -| main () -| { -| if (sizeof ((__int128))) -| return 0; -| ; -| return 0; -| } -configure:18636: result: yes -configure:18643: checking for intmax_t -configure:18643: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18643: $? = 0 -configure:18643: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:63:23: error: expected expression before ')' token - if (sizeof ((intmax_t))) - ^ -configure:18643: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| #define HAVE_128_BIT_INT 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| int -| main () -| { -| if (sizeof ((intmax_t))) -| return 0; -| ; -| return 0; -| } -configure:18643: result: yes -configure:18659: checking size of void * -configure:18664: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18664: $? = 0 -configure:18664: ./conftest -configure:18664: $? = 0 -configure:18678: result: 8 -configure:18697: checking for library containing getopt -configure:18728: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18728: $? = 0 -configure:18745: result: none required -configure:18757: checking for strtoimax -configure:18757: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18757: $? = 0 -configure:18757: result: yes -configure:18757: checking for strtoll -configure:18757: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18757: $? = 0 -configure:18757: result: yes -configure:18768: checking for mergesort -configure:18768: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -/tmp/ccH8gUH5.o: In function `main': -/home/nokia/mouse07410/asn1c/conftest.c:64: undefined reference to `mergesort' -collect2: error: ld returned 1 exit status -configure:18768: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| #define HAVE_128_BIT_INT 1 -| #define SIZEOF_VOID_P 8 -| #define HAVE_STRTOIMAX 1 -| #define HAVE_STRTOLL 1 -| /* end confdefs.h. */ -| /* Define mergesort to an innocuous variant, in case declares mergesort. -| For example, HP-UX 11i declares gettimeofday. */ -| #define mergesort innocuous_mergesort -| -| /* System header to define __stub macros and hopefully few prototypes, -| which can conflict with char mergesort (); below. -| Prefer to if __STDC__ is defined, since -| exists even on freestanding compilers. */ -| -| #ifdef __STDC__ -| # include -| #else -| # include -| #endif -| -| #undef mergesort -| -| /* Override any GCC internal prototype to avoid an error. -| Use char because int might match the return type of a GCC -| builtin and then its argument prototype would still apply. */ -| #ifdef __cplusplus -| extern "C" -| #endif -| char mergesort (); -| /* The GNU C library defines this for functions which it implements -| to always fail with ENOSYS. Some functions are actually named -| something starting with __ and the normal name is an alias. */ -| #if defined __stub_mergesort || defined __stub___mergesort -| choke me -| #endif -| -| int -| main () -| { -| return mergesort (); -| ; -| return 0; -| } -configure:18768: result: no -configure:18779: checking for mkstemps -configure:18779: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18779: $? = 0 -configure:18779: result: yes -configure:18790: checking for timegm -configure:18790: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18790: $? = 0 -configure:18790: result: yes -configure:18799: checking whether strcasecmp is declared -configure:18799: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18799: $? = 0 -configure:18799: result: yes -configure:18810: checking whether vasprintf is declared -configure:18810: gcc -c -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -conftest.c: In function 'main': -conftest.c:73:10: error: 'vasprintf' undeclared (first use in this function) - (void) vasprintf; - ^ -conftest.c:73:10: note: each undeclared identifier is reported only once for each function it appears in -configure:18810: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "asn1c" -| #define PACKAGE_TARNAME "asn1c" -| #define PACKAGE_VERSION "0.9.29" -| #define PACKAGE_STRING "asn1c 0.9.29" -| #define PACKAGE_BUGREPORT "vlm@lionet.info" -| #define PACKAGE_URL "" -| #define PACKAGE "asn1c" -| #define VERSION "0.9.29" -| #define YYTEXT_POINTER 1 -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_PARAM_H 1 -| #define HAVE_128_BIT_INT 1 -| #define SIZEOF_VOID_P 8 -| #define HAVE_STRTOIMAX 1 -| #define HAVE_STRTOLL 1 -| #define HAVE_MKSTEMPS 1 -| #define HAVE_TIMEGM 1 -| #define HAVE_DECL_STRCASECMP 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| int -| main () -| { -| #ifndef vasprintf -| #ifdef __cplusplus -| (void) vasprintf; -| #else -| (void) vasprintf; -| #endif -| #endif -| -| ; -| return 0; -| } -configure:18810: result: no -configure:18839: gcc -o conftest -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 conftest.c >&5 -configure:18839: $? = 0 -configure:18849: checking for pandoc -configure:18882: result: no -configure:19007: checking that generated files are newer than configure -configure:19013: result: done -configure:19057: creating ./config.status - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by asn1c config.status 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on blueman-HP-ZBook-15 - -config.status:1308: creating tests/tests-c-compiler/check-src/Makefile -config.status:1308: creating tests/tests-asn1c-compiler/Makefile -config.status:1308: creating tests/tests-asn1c-smoke/Makefile -config.status:1308: creating tests/tests-randomized/Makefile -config.status:1308: creating tests/tests-c-compiler/Makefile -config.status:1308: creating tests/tests-skeletons/Makefile -config.status:1308: creating libasn1compiler/Makefile -config.status:1308: creating libasn1common/Makefile -config.status:1308: creating libasn1parser/Makefile -config.status:1308: creating libasn1print/Makefile -config.status:1308: creating libasn1fix/Makefile -config.status:1308: creating doc/docsrc/Makefile -config.status:1308: creating skeletons/Makefile -config.status:1308: creating examples/Makefile -config.status:1308: creating doc/man/Makefile -config.status:1308: creating tests/Makefile -config.status:1308: creating asn1c/Makefile -config.status:1308: creating doc/Makefile -config.status:1308: creating Makefile -config.status:1308: creating config.h -config.status:1537: executing depfiles commands -config.status:1537: executing libtool commands - -## ---------------- ## -## Cache variables. ## -## ---------------- ## - -ac_cv_build=x86_64-pc-linux-gnu -ac_cv_c_bigendian=no -ac_cv_c_compiler_gnu=yes -ac_cv_cxx_compiler_gnu=yes -ac_cv_env_CCC_set= -ac_cv_env_CCC_value= -ac_cv_env_CC_set= -ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set= -ac_cv_env_CFLAGS_value= -ac_cv_env_CPPFLAGS_set= -ac_cv_env_CPPFLAGS_value= -ac_cv_env_CPP_set= -ac_cv_env_CPP_value= -ac_cv_env_CXXCPP_set= -ac_cv_env_CXXCPP_value= -ac_cv_env_CXXFLAGS_set= -ac_cv_env_CXXFLAGS_value= -ac_cv_env_CXX_set= -ac_cv_env_CXX_value= -ac_cv_env_LDFLAGS_set= -ac_cv_env_LDFLAGS_value= -ac_cv_env_LIBS_set= -ac_cv_env_LIBS_value= -ac_cv_env_LT_SYS_LIBRARY_PATH_set= -ac_cv_env_LT_SYS_LIBRARY_PATH_value= -ac_cv_env_YACC_set= -ac_cv_env_YACC_value= -ac_cv_env_YFLAGS_set= -ac_cv_env_YFLAGS_value= -ac_cv_env_build_alias_set= -ac_cv_env_build_alias_value= -ac_cv_env_host_alias_set= -ac_cv_env_host_alias_value= -ac_cv_env_target_alias_set= -ac_cv_env_target_alias_value= -ac_cv_func_mergesort=no -ac_cv_func_mkstemps=yes -ac_cv_func_strtoimax=yes -ac_cv_func_strtoll=yes -ac_cv_func_timegm=yes -ac_cv_have_decl_strcasecmp=yes -ac_cv_have_decl_vasprintf=no -ac_cv_header_dlfcn_h=yes -ac_cv_header_inttypes_h=yes -ac_cv_header_memory_h=yes -ac_cv_header_stdc=yes -ac_cv_header_stdint_h=yes -ac_cv_header_stdlib_h=yes -ac_cv_header_string_h=yes -ac_cv_header_strings_h=yes -ac_cv_header_sys_param_h=yes -ac_cv_header_sys_stat_h=yes -ac_cv_header_sys_types_h=yes -ac_cv_header_unistd_h=yes -ac_cv_host=x86_64-pc-linux-gnu -ac_cv_lib_lex=-lfl -ac_cv_objext=o -ac_cv_path_EGREP='/bin/grep -E' -ac_cv_path_FGREP='/bin/grep -F' -ac_cv_path_GREP=/bin/grep -ac_cv_path_SED=/bin/sed -ac_cv_path_install='/usr/bin/install -c' -ac_cv_path_lt_DD=/bin/dd -ac_cv_path_mkdir=/bin/mkdir -ac_cv_prog_AWK=gawk -ac_cv_prog_CPP='gcc -E' -ac_cv_prog_CXXCPP='g++ -E' -ac_cv_prog_LEX=flex -ac_cv_prog_YACC='bison -y' -ac_cv_prog_ac_ct_AR=ar -ac_cv_prog_ac_ct_CC=gcc -ac_cv_prog_ac_ct_CXX=g++ -ac_cv_prog_ac_ct_MANIFEST_TOOL=mt -ac_cv_prog_ac_ct_OBJDUMP=objdump -ac_cv_prog_ac_ct_RANLIB=ranlib -ac_cv_prog_ac_ct_STRIP=strip -ac_cv_prog_cc_c89= -ac_cv_prog_cc_g=yes -ac_cv_prog_cxx_g=yes -ac_cv_prog_lex_root=lex.yy -ac_cv_prog_lex_yytext_pointer=yes -ac_cv_prog_make_make_set=yes -ac_cv_search_getopt='none required' -ac_cv_sizeof_void_p=8 -ac_cv_struct_tm=time.h -ac_cv_type___int128=yes -ac_cv_type_intmax_t=yes -ac_cv_type_off_t=yes -ac_cv_type_size_t=yes -am_cv_CC_dependencies_compiler_type=gcc3 -am_cv_CXX_dependencies_compiler_type=gcc3 -am_cv_ar_interface=ar -am_cv_make_support_nested_variables=yes -am_cv_prog_cc_c_o=yes -ax_cv_check_cclflags___fsanitize_address=yes -ax_cv_check_cclflags___fsanitize_nullability=no -ax_cv_check_cclflags___fsanitize_undefined=yes -ax_cv_check_cclflags___fsanitize_unsigned_integer_overflow=no -ax_cv_check_cflags__Werror__Wpedantic=yes -ax_cv_check_cflags___Wall=yes -ax_cv_check_cflags___Wcast_qual=yes -ax_cv_check_cflags___Wchar_subscripts=yes -ax_cv_check_cflags___Wmissing_declarations=yes -ax_cv_check_cflags___Wmissing_prototypes=yes -ax_cv_check_cflags___Wno_error_attributes=yes -ax_cv_check_cflags___Wno_error_cast_align=yes -ax_cv_check_cflags___Wno_error_parentheses_equality=no -ax_cv_check_cflags___Wno_error_unused_variable=yes -ax_cv_check_cflags___Wno_error_visibility=no -ax_cv_check_cflags___Wno_long_long=yes -ax_cv_check_cflags___fno_omit_frame_pointer=yes -ax_cv_check_cflags___fno_sanitize_recover_nullability=no -ax_cv_check_cflags___fno_sanitize_recover_undefined=yes -ax_cv_check_cflags___fno_sanitize_recover_unsigned_integer_overflow=no -ax_cv_check_cflags___std_c89=yes -ax_cv_check_cflags___std_gnu99=yes -lt_cv_ar_at_file=@ -lt_cv_archive_cmds_need_lc=no -lt_cv_deplibs_check_method=pass_all -lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_ld_reload_flag=-r -lt_cv_nm_interface='BSD nm' -lt_cv_objdir=.libs -lt_cv_path_LD=/usr/bin/ld -lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64' -lt_cv_path_NM='/usr/bin/nm -B' -lt_cv_path_mainfest_tool=no -lt_cv_prog_compiler_c_o=yes -lt_cv_prog_compiler_c_o_CXX=yes -lt_cv_prog_compiler_pic='-fPIC -DPIC' -lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC' -lt_cv_prog_compiler_pic_works=yes -lt_cv_prog_compiler_pic_works_CXX=yes -lt_cv_prog_compiler_rtti_exceptions=no -lt_cv_prog_compiler_static_works=yes -lt_cv_prog_compiler_static_works_CXX=yes -lt_cv_prog_gnu_ld=yes -lt_cv_prog_gnu_ldcxx=yes -lt_cv_sharedlib_from_linklib_cmd='printf %s\n' -lt_cv_shlibpath_overrides_runpath=no -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_import= -lt_cv_sys_max_cmd_len=1572864 -lt_cv_to_host_file_cmd=func_convert_file_noop -lt_cv_to_tool_file_cmd=func_convert_file_noop -lt_cv_truncate_bin='/bin/dd bs=4096 count=1' - -## ----------------- ## -## Output variables. ## -## ----------------- ## - - - - - - - - - - - - - - - @echo "Need to reconfigure with --enable-code-coverage" - @echo "Need to reconfigure with --enable-code-coverage" - $(CODE_COVERAGE_IGNORE_PATTERN); - $(CODE_COVERAGE_OUTPUT_FILE); -# -# -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# (Default: $(top_builddir)) -# (Default: empty) -# Multiple directories may be specified, separated by whitespace. -# by lcov for code coverage. (Default: -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# lcov instance. (Default: empty) -# reports to be created. (Default: -# set to 0 to disable it and leave empty to stay with the default. -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# Capture code coverage data -# Code coverage -# Hook rule executed before code-coverage-capture, overridable by the user -# Optional variables -# Optional: -# The generated report will be titled using the $(PACKAGE_NAME) and -# Use recursive makes in order to ignore errors during check -# sanitizes the test-name: replaces with underscores: dashes and dots -# use the git-version-gen script, available online. -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ -' ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -ACLOCAL='${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15' -ADD_CFLAGS='' -AMDEPBACKSLASH='\' -AMDEP_FALSE='#' -AMDEP_TRUE='' -AMTAR='$${TAR-tar}' -AM_BACKSLASH='\' -AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -AM_DEFAULT_VERBOSITY='0' -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_V='$(V)' -AR='ar' -ASAN_ENV_FLAGS=' ASAN_OPTIONS=detect_leaks=1' -AUTOCONF='${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf' -AUTOHEADER='${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader' -AUTOMAKE='${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15' -AWK='gawk' -CC='gcc' -CCDEPMODE='depmode=gcc3' -CFLAGS='-g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99' -CFLAGS_M32='' -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_CFLAGS='' -CODE_COVERAGE_CPPFLAGS='' -CODE_COVERAGE_CXXFLAGS='' -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_ENABLED='no' -CODE_COVERAGE_ENABLED_FALSE='' -CODE_COVERAGE_ENABLED_TRUE='#' -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -CODE_COVERAGE_IGNORE_PATTERN ?= -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ -CODE_COVERAGE_LDFLAGS='' -CODE_COVERAGE_LIBS='' -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_RULES=' -CPP='gcc -E' -CPPFLAGS='' -CXX='g++' -CXXCPP='g++ -E' -CXXDEPMODE='depmode=gcc3' -CXXFLAGS='-std=c++11' -CYGPATH_W='echo' -DEFS='-DHAVE_CONFIG_H' -DEPDIR='.deps' -DLLTOOL='false' -DSYMUTIL='' -DUMPBIN='' -ECHO_C='' -ECHO_N='-n' -ECHO_T='' -EGREP='/bin/grep -E' -EXEEXT='' -EXPLICIT_M32_FALSE='' -EXPLICIT_M32_TRUE='#' -FGREP='/bin/grep -F' -GCOV='' -GENHTML='' -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) -GITIGNOREFILES ?= -GREP='/bin/grep' -HAVE_PANDOC_FALSE='' -HAVE_PANDOC_TRUE='#' -INSTALL_DATA='${INSTALL} -m 644' -INSTALL_PROGRAM='${INSTALL}' -INSTALL_SCRIPT='${INSTALL}' -INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' -LCOV='' -LD='/usr/bin/ld -m elf_x86_64' -LDFLAGS='' -LEX='flex' -LEXLIB='-lfl' -LEX_OUTPUT_ROOT='lex.yy' -LIBFUZZER_CFLAGS='' -LIBOBJS='' -LIBS='' -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -LIPO='' -LN_S='ln -s' -LTLIBOBJS='' -LT_SYS_LIBRARY_PATH='' -MAKEINFO='${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo' -MANIFEST_TOOL=':' -MKDIR_P='/bin/mkdir -p' -NM='/usr/bin/nm -B' -NMEDIT='' -OBJDUMP='objdump' -OBJEXT='o' -OTOOL64='' -OTOOL='' -PACKAGE='asn1c' -PACKAGE_BUGREPORT='vlm@lionet.info' -PACKAGE_NAME='asn1c' -PACKAGE_STRING='asn1c 0.9.29' -PACKAGE_TARNAME='asn1c' -PACKAGE_URL='' -PACKAGE_VERSION='0.9.29' -PANDOC='' -PATH_SEPARATOR=':' -RANLIB='ranlib' -SANITIZER_CFLAGS=' -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer' -SED='/bin/sed' -SET_MAKE='' -SHELL='/bin/bash' -SKELETONS_CFLAGS=' -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer' -STRIP='strip' -TESTSUITE_CFLAGS=' -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer' -TEST_64BIT_FALSE='#' -TEST_64BIT_TRUE='' -VERSION='0.9.29' -YACC='bison -y' -YFLAGS='' -ac_ct_AR='ar' -ac_ct_CC='gcc' -ac_ct_CXX='g++' -ac_ct_DUMPBIN='' -am__EXEEXT_FALSE='' -am__EXEEXT_TRUE='#' -am__fastdepCC_FALSE='#' -am__fastdepCC_TRUE='' -am__fastdepCXX_FALSE='#' -am__fastdepCXX_TRUE='' -am__include='include' -am__isrc='' -am__leading_dot='.' -am__nodep='_no' -am__quote='' -am__tar='$${TAR-tar} chof - "$$tardir"' -am__untar='$${TAR-tar} xf -' -bindir='${exec_prefix}/bin' -build='x86_64-pc-linux-gnu' -build_alias='' -build_cpu='x86_64' -build_os='linux-gnu' -build_vendor='pc' -check-code-coverage: -code-coverage-capture-hook: -code-coverage-capture: code-coverage-capture-hook -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ -datadir='${datarootdir}' -datarootdir='${prefix}/share' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -dvidir='${docdir}' -exec_prefix='${prefix}' -host='x86_64-pc-linux-gnu' -host_alias='' -host_cpu='x86_64' -host_os='linux-gnu' -host_vendor='pc' -htmldir='${docdir}' -includedir='${prefix}/include' -infodir='${datarootdir}/info' -install_sh='${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh' -libdir='${exec_prefix}/lib' -libexecdir='${exec_prefix}/libexec' -localedir='${datarootdir}/locale' -localstatedir='${prefix}/var' -mandir='${datarootdir}/man' -mkdir_p='$(MKDIR_P)' -oldincludedir='/usr/include' -pdfdir='${docdir}' -prefix='/usr/local' -program_transform_name='s,x,x,' -psdir='${docdir}' -runstatedir='${localstatedir}/run' -sbindir='${exec_prefix}/sbin' -sharedstatedir='${prefix}/com' -sysconfdir='${prefix}/etc' -target_alias='' - -## ----------- ## -## confdefs.h. ## -## ----------- ## - -/* confdefs.h */ -#define PACKAGE_NAME "asn1c" -#define PACKAGE_TARNAME "asn1c" -#define PACKAGE_VERSION "0.9.29" -#define PACKAGE_STRING "asn1c 0.9.29" -#define PACKAGE_BUGREPORT "vlm@lionet.info" -#define PACKAGE_URL "" -#define PACKAGE "asn1c" -#define VERSION "0.9.29" -#define YYTEXT_POINTER 1 -#define STDC_HEADERS 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_DLFCN_H 1 -#define LT_OBJDIR ".libs/" -#define STDC_HEADERS 1 -#define HAVE_SYS_PARAM_H 1 -#define HAVE_128_BIT_INT 1 -#define SIZEOF_VOID_P 8 -#define HAVE_STRTOIMAX 1 -#define HAVE_STRTOLL 1 -#define HAVE_MKSTEMPS 1 -#define HAVE_TIMEGM 1 -#define HAVE_DECL_STRCASECMP 1 -#define HAVE_DECL_VASPRINTF 0 -#define HAVE_SYMLINK 1 - -configure: exit 0 diff --git a/config.status b/config.status deleted file mode 100644 index b0d92c3..0000000 --- a/config.status +++ /dev/null @@ -1,2352 +0,0 @@ -#! /bin/bash -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=${CONFIG_SHELL-/bin/bash} -export SHELL -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by asn1c $as_me 0.9.29, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -# Files that config.status was made for. -config_files=" tests/tests-c-compiler/check-src/Makefile tests/tests-asn1c-compiler/Makefile tests/tests-asn1c-smoke/Makefile tests/tests-randomized/Makefile tests/tests-c-compiler/Makefile tests/tests-skeletons/Makefile libasn1compiler/Makefile libasn1common/Makefile libasn1parser/Makefile libasn1print/Makefile libasn1fix/Makefile doc/docsrc/Makefile skeletons/Makefile examples/Makefile doc/man/Makefile tests/Makefile asn1c/Makefile doc/Makefile Makefile" -config_headers=" config.h" -config_commands=" depfiles libtool" - -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -ac_cs_config="" -ac_cs_version="\ -asn1c config.status 0.9.29 -configured by ./configure, generated by GNU Autoconf 2.69, - with options \"$ac_cs_config\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='/home/nokia/mouse07410/asn1c' -srcdir='.' -INSTALL='/usr/bin/install -c' -MKDIR_P='/bin/mkdir -p' -AWK='gawk' -test -n "$AWK" || AWK=awk -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - set X /bin/bash './configure' $ac_configure_extra_args --no-create --no-recursion - shift - $as_echo "running CONFIG_SHELL=/bin/bash $*" >&6 - CONFIG_SHELL='/bin/bash' - export CONFIG_SHELL - exec "$@" -fi - -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -# -# INIT-COMMANDS -# -AMDEP_TRUE="" ac_aux_dir="config" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -double_quote_subst='s/\(["`\\]\)/\\\1/g' -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -macro_version='2.4.6' -macro_revision='2.4.6' -enable_shared='yes' -enable_static='yes' -pic_mode='default' -enable_fast_install='yes' -shared_archive_member_spec='' -SHELL='/bin/bash' -ECHO='printf %s\n' -PATH_SEPARATOR=':' -host_alias='' -host='x86_64-pc-linux-gnu' -host_os='linux-gnu' -build_alias='' -build='x86_64-pc-linux-gnu' -build_os='linux-gnu' -SED='/bin/sed' -Xsed='/bin/sed -e 1s/^X//' -GREP='/bin/grep' -EGREP='/bin/grep -E' -FGREP='/bin/grep -F' -LD='/usr/bin/ld -m elf_x86_64' -NM='/usr/bin/nm -B' -LN_S='ln -s' -max_cmd_len='1572864' -ac_objext='o' -exeext='' -lt_unset='unset' -lt_SP2NL='tr \040 \012' -lt_NL2SP='tr \015\012 \040\040' -lt_cv_to_host_file_cmd='func_convert_file_noop' -lt_cv_to_tool_file_cmd='func_convert_file_noop' -reload_flag=' -r' -reload_cmds='$LD$reload_flag -o $output$reload_objs' -OBJDUMP='objdump' -deplibs_check_method='pass_all' -file_magic_cmd='$MAGIC_CMD' -file_magic_glob='' -want_nocaseglob='no' -DLLTOOL='false' -sharedlib_from_linklib_cmd='printf %s\n' -AR='ar' -AR_FLAGS='cru' -archiver_list_spec='@' -STRIP='strip' -RANLIB='ranlib' -old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $tool_oldlib' -old_postuninstall_cmds='' -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -lock_old_archive_extraction='no' -CC='gcc' -CFLAGS='-g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99' -compiler='g++' -GCC='yes' -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_import='' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' -lt_cv_nm_interface='BSD nm' -nm_file_list_spec='@' -lt_sysroot='' -lt_cv_truncate_bin='/bin/dd bs=4096 count=1' -objdir='.libs' -MAGIC_CMD='file' -lt_prog_compiler_no_builtin_flag=' -fno-builtin' -lt_prog_compiler_pic=' -fPIC -DPIC' -lt_prog_compiler_wl='-Wl,' -lt_prog_compiler_static='-static' -lt_cv_prog_compiler_c_o='yes' -need_locks='no' -MANIFEST_TOOL=':' -DSYMUTIL='' -NMEDIT='' -LIPO='' -OTOOL='' -OTOOL64='' -libext='a' -shrext_cmds='.so' -extract_expsyms_cmds='' -archive_cmds_need_lc='no' -enable_shared_with_static_runtimes='no' -export_dynamic_flag_spec='$wl--export-dynamic' -whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' -compiler_needs_object='no' -old_archive_from_new_cmds='' -old_archive_from_expsyms_cmds='' -archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' -archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' -module_cmds='' -module_expsym_cmds='' -with_gnu_ld='yes' -allow_undefined_flag='' -no_undefined_flag='' -hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' -hardcode_libdir_separator='' -hardcode_direct='no' -hardcode_direct_absolute='no' -hardcode_minus_L='no' -hardcode_shlibpath_var='unsupported' -hardcode_automatic='no' -inherit_rpath='no' -link_all_deplibs='no' -always_export_symbols='no' -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms='' -prelink_cmds='' -postlink_cmds='' -file_list_spec='' -variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' -need_lib_prefix='no' -need_version='no' -version_type='linux' -runpath_var='LD_RUN_PATH' -shlibpath_var='LD_LIBRARY_PATH' -shlibpath_overrides_runpath='no' -libname_spec='lib$name' -library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' -soname_spec='$libname$release$shared_ext$major' -install_override_mode='' -postinstall_cmds='' -postuninstall_cmds='' -finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -finish_eval='' -hardcode_into_libs='yes' -sys_lib_search_path_spec='/usr/lib/gcc/x86_64-linux-gnu/5 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib ' -configure_time_dlsearch_path='/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/mesa-egl /usr/lib/x86_64-linux-gnu/mesa ' -configure_time_lt_sys_library_path='' -hardcode_action='immediate' -enable_dlopen='unknown' -enable_dlopen_self='unknown' -enable_dlopen_self_static='unknown' -old_striplib='strip --strip-debug' -striplib='strip --strip-unneeded' -compiler_lib_search_dirs='' -predep_objects='' -postdep_objects='' -predeps='' -postdeps='' -compiler_lib_search_path='' -LD_CXX='/usr/bin/ld -m elf_x86_64' -reload_flag_CXX=' -r' -reload_cmds_CXX='$LD$reload_flag -o $output$reload_objs' -old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -compiler_CXX='g++' -GCC_CXX='yes' -lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -lt_prog_compiler_pic_CXX=' -fPIC -DPIC' -lt_prog_compiler_wl_CXX='-Wl,' -lt_prog_compiler_static_CXX='-static' -lt_cv_prog_compiler_c_o_CXX='yes' -archive_cmds_need_lc_CXX='no' -enable_shared_with_static_runtimes_CXX='no' -export_dynamic_flag_spec_CXX='$wl--export-dynamic' -whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' -compiler_needs_object_CXX='no' -old_archive_from_new_cmds_CXX='' -old_archive_from_expsyms_cmds_CXX='' -archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' -archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' -module_cmds_CXX='' -module_expsym_cmds_CXX='' -with_gnu_ld_CXX='yes' -allow_undefined_flag_CXX='' -no_undefined_flag_CXX='' -hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' -hardcode_libdir_separator_CXX='' -hardcode_direct_CXX='no' -hardcode_direct_absolute_CXX='no' -hardcode_minus_L_CXX='no' -hardcode_shlibpath_var_CXX='unsupported' -hardcode_automatic_CXX='no' -inherit_rpath_CXX='no' -link_all_deplibs_CXX='no' -always_export_symbols_CXX='no' -export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms_CXX='' -prelink_cmds_CXX='' -postlink_cmds_CXX='' -file_list_spec_CXX='' -hardcode_action_CXX='immediate' -compiler_lib_search_dirs_CXX='/usr/lib/gcc/x86_64-linux-gnu/5 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/5/../../..' -predep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o' -postdep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o' -predeps_CXX='' -postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s' -compiler_lib_search_path_CXX='-L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../..' - -LTCC='gcc' -LTCFLAGS='-g -O2' -compiler='gcc' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL ECHO PATH_SEPARATOR SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag OBJDUMP deplibs_check_method file_magic_cmd file_magic_glob want_nocaseglob DLLTOOL sharedlib_from_linklib_cmd AR AR_FLAGS archiver_list_spec STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_import lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix lt_cv_nm_interface nm_file_list_spec lt_cv_truncate_bin lt_prog_compiler_no_builtin_flag lt_prog_compiler_pic lt_prog_compiler_wl lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks MANIFEST_TOOL DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_separator exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec install_override_mode finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX reload_flag_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_pic_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_static_CXX lt_cv_prog_compiler_c_o_CXX export_dynamic_flag_spec_CXX whole_archive_flag_spec_CXX compiler_needs_object_CXX with_gnu_ld_CXX allow_undefined_flag_CXX no_undefined_flag_CXX hardcode_libdir_flag_spec_CXX hardcode_libdir_separator_CXX exclude_expsyms_CXX include_expsyms_CXX file_list_spec_CXX compiler_lib_search_dirs_CXX predep_objects_CXX postdep_objects_CXX predeps_CXX postdeps_CXX compiler_lib_search_path_CXX; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED \"\$sed_quote_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postlink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec configure_time_dlsearch_path configure_time_lt_sys_library_path reload_cmds_CXX old_archive_cmds_CXX old_archive_from_new_cmds_CXX old_archive_from_expsyms_cmds_CXX archive_cmds_CXX archive_expsym_cmds_CXX module_cmds_CXX module_expsym_cmds_CXX export_symbols_cmds_CXX prelink_cmds_CXX postlink_cmds_CXX; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -ac_aux_dir='config' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='asn1c' - VERSION='0.9.29' - RM='rm -f' - ofile='libtool' - - - - - - - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "tests/tests-c-compiler/check-src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/check-src/Makefile" ;; - "tests/tests-asn1c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-compiler/Makefile" ;; - "tests/tests-asn1c-smoke/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-asn1c-smoke/Makefile" ;; - "tests/tests-randomized/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-randomized/Makefile" ;; - "tests/tests-c-compiler/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-c-compiler/Makefile" ;; - "tests/tests-skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES tests/tests-skeletons/Makefile" ;; - "libasn1compiler/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1compiler/Makefile" ;; - "libasn1common/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1common/Makefile" ;; - "libasn1parser/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1parser/Makefile" ;; - "libasn1print/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1print/Makefile" ;; - "libasn1fix/Makefile") CONFIG_FILES="$CONFIG_FILES libasn1fix/Makefile" ;; - "doc/docsrc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/docsrc/Makefile" ;; - "skeletons/Makefile") CONFIG_FILES="$CONFIG_FILES skeletons/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "asn1c/Makefile") CONFIG_FILES="$CONFIG_FILES asn1c/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && -S["am__EXEEXT_FALSE"]="" -S["am__EXEEXT_TRUE"]="#" -S["LTLIBOBJS"]="" -S["LIBOBJS"]="" -S["HAVE_PANDOC_FALSE"]="" -S["HAVE_PANDOC_TRUE"]="#" -S["PANDOC"]="" -S["TEST_64BIT_FALSE"]="#" -S["TEST_64BIT_TRUE"]="" -S["ASAN_ENV_FLAGS"]=" ASAN_OPTIONS=detect_leaks=1" -S["SKELETONS_CFLAGS"]=" -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-fram"\ -"e-pointer" -S["TESTSUITE_CFLAGS"]=" -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-fr"\ -"ame-pointer" -S["SANITIZER_CFLAGS"]=" -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer" -S["LIBFUZZER_CFLAGS"]="" -S["ADD_CFLAGS"]="" -S["EXPLICIT_M32_FALSE"]="" -S["EXPLICIT_M32_TRUE"]="#" -S["CFLAGS_M32"]="" -S["CODE_COVERAGE_RULES"]="\n"\ -"# Code coverage\n"\ -"#\n"\ -"# Optional:\n"\ -"# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.\n"\ -"# Multiple directories may be specified, separated by whitespace.\n"\ -"# (Default: $(top_builddir))\n"\ -"# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated\n"\ -"# by lcov for code coverage. (Default:\n"\ -"# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)\n"\ -"# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage\n"\ -"# reports to be created. (Default:\n"\ -"# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)\n"\ -"# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage,\n"\ -"# set to 0 to disable it and leave empty to stay with the default.\n"\ -"# (Default: empty)\n"\ -"# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov\n"\ -"# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)\n"\ -"# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov\n"\ -"# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)\n"\ -"# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov\n"\ -"# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the\n"\ -"# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)\n"\ -"# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov\n"\ -"# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)\n"\ -"# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering\n"\ -"# lcov instance. (Default: empty)\n"\ -"# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov\n"\ -"# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)\n"\ -"# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the\n"\ -"# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)\n"\ -"# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml\n"\ -"# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)\n"\ -"# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore\n"\ -"#\n"\ -"# The generated report will be titled using the $(PACKAGE_NAME) and\n"\ -"# $(PACKAGE_VERSION). In order to add the current git hash to the title,\n"\ -"# use the git-version-gen script, available online.\n"\ -"\n"\ -"# Optional variables\n"\ -"CODE_COVERAGE_DIRECTORY ?= $(top_builddir)\n"\ -"CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info\n"\ -"CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage\n"\ -"CODE_COVERAGE_BRANCH_COVERAGE ?=\n"\ -"CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\\\n"\ -"--rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))\n"\ -"CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)\n"\ -"CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool \"$(GCOV)\"\n"\ -"CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)\n"\ -"CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)\n"\ -"CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?=\n"\ -"CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)\n"\ -"CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\\\n"\ -"$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\\\n"\ -"--rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))\n"\ -"CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)\n"\ -"CODE_COVERAGE_IGNORE_PATTERN ?=\n"\ -"\n"\ -"code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V))\n"\ -"code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY))\n"\ -"code_coverage_v_lcov_cap_0 = @echo \" LCOV --capture\"\\\n"\ -" $(CODE_COVERAGE_OUTPUT_FILE);\n"\ -"code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V))\n"\ -"code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY))\n"\ -"code_coverage_v_lcov_ign_0 = @echo \" LCOV --remove /tmp/*\"\\\n"\ -" $(CODE_COVERAGE_IGNORE_PATTERN);\n"\ -"code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V))\n"\ -"code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY))\n"\ -"code_coverage_v_genhtml_0 = @echo \" GEN \" $(CODE_COVERAGE_OUTPUT_DIRECTORY);\n"\ -"code_coverage_quiet = $(code_coverage_quiet_$(V))\n"\ -"code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))\n"\ -"code_coverage_quiet_0 = --quiet\n"\ -"\n"\ -"# sanitizes the test-name: replaces with underscores: dashes and dots\n"\ -"code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1)))\n"\ -"\n"\ -"# Use recursive makes in order to ignore errors during check\n"\ -"check-code-coverage:\n"\ -" @echo \"Need to reconfigure with --enable-code-coverage\"\n"\ -"\n"\ -"\n"\ -"# Capture code coverage data\n"\ -"code-coverage-capture: code-coverage-capture-hook\n"\ -" @echo \"Need to reconfigure with --enable-code-coverage\"\n"\ -"\n"\ -"\n"\ -"# Hook rule executed before code-coverage-capture, overridable by the user\n"\ -"code-coverage-capture-hook:\n"\ -"\n"\ -"\n"\ -"\n"\ -"GITIGNOREFILES ?=\n"\ -"GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)\n"\ -"\n"\ -"AM_DISTCHECK_CONFIGURE_FLAGS ?=\n"\ -"AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage\n"\ -"\n"\ -".PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean\n"\ -"" -S["CODE_COVERAGE_LDFLAGS"]="" -S["CODE_COVERAGE_LIBS"]="" -S["CODE_COVERAGE_CXXFLAGS"]="" -S["CODE_COVERAGE_CFLAGS"]="" -S["CODE_COVERAGE_CPPFLAGS"]="" -S["GENHTML"]="" -S["LCOV"]="" -S["GCOV"]="" -S["CODE_COVERAGE_ENABLED"]="no" -S["CODE_COVERAGE_ENABLED_FALSE"]="" -S["CODE_COVERAGE_ENABLED_TRUE"]="#" -S["CXXCPP"]="g++ -E" -S["LT_SYS_LIBRARY_PATH"]="" -S["OTOOL64"]="" -S["OTOOL"]="" -S["LIPO"]="" -S["NMEDIT"]="" -S["DSYMUTIL"]="" -S["MANIFEST_TOOL"]=":" -S["RANLIB"]="ranlib" -S["DLLTOOL"]="false" -S["OBJDUMP"]="objdump" -S["NM"]="/usr/bin/nm -B" -S["ac_ct_DUMPBIN"]="" -S["DUMPBIN"]="" -S["LD"]="/usr/bin/ld -m elf_x86_64" -S["FGREP"]="/bin/grep -F" -S["EGREP"]="/bin/grep -E" -S["GREP"]="/bin/grep" -S["SED"]="/bin/sed" -S["host_os"]="linux-gnu" -S["host_vendor"]="pc" -S["host_cpu"]="x86_64" -S["host"]="x86_64-pc-linux-gnu" -S["build_os"]="linux-gnu" -S["build_vendor"]="pc" -S["build_cpu"]="x86_64" -S["build"]="x86_64-pc-linux-gnu" -S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" -S["am__fastdepCXX_FALSE"]="#" -S["am__fastdepCXX_TRUE"]="" -S["CXXDEPMODE"]="depmode=gcc3" -S["ac_ct_CXX"]="g++" -S["CXXFLAGS"]="-std=c++11" -S["CXX"]="g++" -S["ac_ct_AR"]="ar" -S["AR"]="ar" -S["LEXLIB"]="-lfl" -S["LEX_OUTPUT_ROOT"]="lex.yy" -S["LEX"]="flex" -S["YFLAGS"]="" -S["YACC"]="bison -y" -S["LN_S"]="ln -s" -S["CPP"]="gcc -E" -S["am__fastdepCC_FALSE"]="#" -S["am__fastdepCC_TRUE"]="" -S["CCDEPMODE"]="depmode=gcc3" -S["am__nodep"]="_no" -S["AMDEPBACKSLASH"]="\\" -S["AMDEP_FALSE"]="#" -S["AMDEP_TRUE"]="" -S["am__quote"]="" -S["am__include"]="include" -S["DEPDIR"]=".deps" -S["OBJEXT"]="o" -S["EXEEXT"]="" -S["ac_ct_CC"]="gcc" -S["CPPFLAGS"]="" -S["LDFLAGS"]="" -S["CFLAGS"]="-g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99" -S["CC"]="gcc" -S["AM_BACKSLASH"]="\\" -S["AM_DEFAULT_VERBOSITY"]="0" -S["AM_DEFAULT_V"]="$(AM_DEFAULT_VERBOSITY)" -S["AM_V"]="$(V)" -S["am__untar"]="$${TAR-tar} xf -" -S["am__tar"]="$${TAR-tar} chof - \"$$tardir\"" -S["AMTAR"]="$${TAR-tar}" -S["am__leading_dot"]="." -S["SET_MAKE"]="" -S["AWK"]="gawk" -S["mkdir_p"]="$(MKDIR_P)" -S["MKDIR_P"]="/bin/mkdir -p" -S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" -S["STRIP"]="strip" -S["install_sh"]="${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh" -S["MAKEINFO"]="${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo" -S["AUTOHEADER"]="${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader" -S["AUTOMAKE"]="${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15" -S["AUTOCONF"]="${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf" -S["ACLOCAL"]="${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15" -S["VERSION"]="0.9.29" -S["PACKAGE"]="asn1c" -S["CYGPATH_W"]="echo" -S["am__isrc"]="" -S["INSTALL_DATA"]="${INSTALL} -m 644" -S["INSTALL_SCRIPT"]="${INSTALL}" -S["INSTALL_PROGRAM"]="${INSTALL}" -S["target_alias"]="" -S["host_alias"]="" -S["build_alias"]="" -S["LIBS"]="" -S["ECHO_T"]="" -S["ECHO_N"]="-n" -S["ECHO_C"]="" -S["DEFS"]="-DHAVE_CONFIG_H" -S["mandir"]="${datarootdir}/man" -S["localedir"]="${datarootdir}/locale" -S["libdir"]="${exec_prefix}/lib" -S["psdir"]="${docdir}" -S["pdfdir"]="${docdir}" -S["dvidir"]="${docdir}" -S["htmldir"]="${docdir}" -S["infodir"]="${datarootdir}/info" -S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" -S["oldincludedir"]="/usr/include" -S["includedir"]="${prefix}/include" -S["runstatedir"]="${localstatedir}/run" -S["localstatedir"]="${prefix}/var" -S["sharedstatedir"]="${prefix}/com" -S["sysconfdir"]="${prefix}/etc" -S["datadir"]="${datarootdir}" -S["datarootdir"]="${prefix}/share" -S["libexecdir"]="${exec_prefix}/libexec" -S["sbindir"]="${exec_prefix}/sbin" -S["bindir"]="${exec_prefix}/bin" -S["program_transform_name"]="s,x,x," -S["prefix"]="/usr/local" -S["exec_prefix"]="${prefix}" -S["PACKAGE_URL"]="" -S["PACKAGE_BUGREPORT"]="vlm@lionet.info" -S["PACKAGE_STRING"]="asn1c 0.9.29" -S["PACKAGE_VERSION"]="0.9.29" -S["PACKAGE_TARNAME"]="asn1c" -S["PACKAGE_NAME"]="asn1c" -S["PATH_SEPARATOR"]=":" -S["SHELL"]="/bin/bash" -_ACAWK -cat >>"$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -D["PACKAGE_NAME"]=" \"asn1c\"" -D["PACKAGE_TARNAME"]=" \"asn1c\"" -D["PACKAGE_VERSION"]=" \"0.9.29\"" -D["PACKAGE_STRING"]=" \"asn1c 0.9.29\"" -D["PACKAGE_BUGREPORT"]=" \"vlm@lionet.info\"" -D["PACKAGE_URL"]=" \"\"" -D["PACKAGE"]=" \"asn1c\"" -D["VERSION"]=" \"0.9.29\"" -D["YYTEXT_POINTER"]=" 1" -D["STDC_HEADERS"]=" 1" -D["HAVE_SYS_TYPES_H"]=" 1" -D["HAVE_SYS_STAT_H"]=" 1" -D["HAVE_STDLIB_H"]=" 1" -D["HAVE_STRING_H"]=" 1" -D["HAVE_MEMORY_H"]=" 1" -D["HAVE_STRINGS_H"]=" 1" -D["HAVE_INTTYPES_H"]=" 1" -D["HAVE_STDINT_H"]=" 1" -D["HAVE_UNISTD_H"]=" 1" -D["HAVE_DLFCN_H"]=" 1" -D["LT_OBJDIR"]=" \".libs/\"" -D["STDC_HEADERS"]=" 1" -D["HAVE_SYS_PARAM_H"]=" 1" -D["HAVE_128_BIT_INT"]=" 1" -D["SIZEOF_VOID_P"]=" 8" -D["HAVE_STRTOIMAX"]=" 1" -D["HAVE_STRTOLL"]=" 1" -D["HAVE_MKSTEMPS"]=" 1" -D["HAVE_TIMEGM"]=" 1" -D["HAVE_DECL_STRCASECMP"]=" 1" -D["HAVE_DECL_VASPRINTF"]=" 0" -D["HAVE_SYMLINK"]=" 1" - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { - line = $ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - ac_datarootdir_hack=' - s&@datadir@&${datarootdir}&g - s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g - s&@infodir@&${datarootdir}/info&g - s&@localedir@&${datarootdir}/locale&g - s&@mandir@&${datarootdir}/man&g - s&\${datarootdir}&${prefix}/share&g' ;; -esac -ac_sed_extra="/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -} - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 diff --git a/config/ar-lib b/config/ar-lib deleted file mode 100644 index 463b9ec..0000000 --- a/config/ar-lib +++ /dev/null @@ -1,270 +0,0 @@ -#! /bin/sh -# Wrapper for Microsoft lib.exe - -me=ar-lib -scriptversion=2012-03-01.08; # UTC - -# Copyright (C) 2010-2014 Free Software Foundation, Inc. -# Written by Peter Rosin . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - - -# func_error message -func_error () -{ - echo "$me: $1" 1>&2 - exit 1 -} - -file_conv= - -# func_file_conv build_file -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv in - mingw) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_at_file at_file operation archive -# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE -# for each of them. -# When interpreting the content of the @FILE, do NOT use func_file_conv, -# since the user would need to supply preconverted file names to -# binutils ar, at least for MinGW. -func_at_file () -{ - operation=$2 - archive=$3 - at_file_contents=`cat "$1"` - eval set x "$at_file_contents" - shift - - for member - do - $AR -NOLOGO $operation:"$member" "$archive" || exit $? - done -} - -case $1 in - '') - func_error "no command. Try '$0 --help' for more information." - ;; - -h | --h*) - cat <. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config/config.guess b/config/config.guess deleted file mode 100644 index 1659250..0000000 --- a/config/config.guess +++ /dev/null @@ -1,1441 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-08-20' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config/config.sub b/config/config.sub deleted file mode 100644 index 1acc966..0000000 --- a/config/config.sub +++ /dev/null @@ -1,1813 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-08-20' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config/depcomp b/config/depcomp deleted file mode 100644 index fc98710..0000000 --- a/config/depcomp +++ /dev/null @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config/install-sh b/config/install-sh deleted file mode 100644 index 59990a1..0000000 --- a/config/install-sh +++ /dev/null @@ -1,508 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2014-09-12.12; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config/ltmain.sh b/config/ltmain.sh deleted file mode 100755 index 147d758..0000000 --- a/config/ltmain.sh +++ /dev/null @@ -1,11156 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-0.1" -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; -# esac -# done -# -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll alse need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} - - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} - - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/config/missing b/config/missing deleted file mode 100644 index f62bbae..0000000 --- a/config/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2013-10-28.13; # UTC - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config/test-driver b/config/test-driver deleted file mode 100644 index 8e575b0..0000000 --- a/config/test-driver +++ /dev/null @@ -1,148 +0,0 @@ -#! /bin/sh -# test-driver - basic testsuite driver script. - -scriptversion=2013-07-13.22; # UTC - -# Copyright (C) 2011-2014 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -# Make unconditional expansion of undefined variables an error. This -# helps a lot in preventing typo-related bugs. -set -u - -usage_error () -{ - echo "$0: $*" >&2 - print_usage >&2 - exit 2 -} - -print_usage () -{ - cat <$log_file 2>&1 -estatus=$? - -if test $enable_hard_errors = no && test $estatus -eq 99; then - tweaked_estatus=1 -else - tweaked_estatus=$estatus -fi - -case $tweaked_estatus:$expect_failure in - 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; - 0:*) col=$grn res=PASS recheck=no gcopy=no;; - 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; - 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; - *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; - *:*) col=$red res=FAIL recheck=yes gcopy=yes;; -esac - -# Report the test outcome and exit status in the logs, so that one can -# know whether the test passed or failed simply by looking at the '.log' -# file, without the need of also peaking into the corresponding '.trs' -# file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file - -# Report outcome to console. -echo "${col}${res}${std}: $test_name" - -# Register the test result, and other relevant metadata. -echo ":test-result: $res" > $trs_file -echo ":global-test-result: $res" >> $trs_file -echo ":recheck: $recheck" >> $trs_file -echo ":copy-in-global-log: $gcopy" >> $trs_file - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/configure.ac b/configure.ac deleted file mode 100644 index b0e5ffd..0000000 --- a/configure.ac +++ /dev/null @@ -1,310 +0,0 @@ -AC_INIT([asn1c],[0.9.29],[vlm@lionet.info]) - -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([foreign]) -AC_CONFIG_MACRO_DIR([m4]) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MAKE_SET -AC_PROG_YACC -AM_PROG_LEX -dnl locate ar using standard macro (old automake 1.11 does not know about AM_PROG_AR) -m4_ifdef([AM_PROG_AR], - [AM_PROG_AR], - [AC_PATH_PROG(AR, ar, ar, $PATH:/usr/ucb:/usr/ccs/bin)]) - -AC_PROG_CXX -CXXFLAGS="-std=c++11" - -LT_INIT - -dnl If you need to see the details, just run make V=1. -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -case "$host_os" in -cygwin) - case "$target" in - *mingw*) - CC="$CC -mno-cygwin" - esac - ;; -esac - -AC_ARG_ENABLE([ASN_DEBUG], - [AS_HELP_STRING([--enable-ASN_DEBUG], - [produce debug log during `make check` testing])], - [enable_asn_debug=$enableval], [enable_asn_debug=no]) - AS_IF([test x$enable_asn_debug != xno], [ - TESTSUITE_CFLAGS="-DASN_EMIT_DEBUG" - SKELETONS_CFLAGS="-DASN_EMIT_DEBUG" - ]) - -AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) -AX_CHECK_COMPILE_FLAG([-Wcast-qual], [CFLAGS="$CFLAGS -Wcast-qual"]) -AX_CHECK_COMPILE_FLAG([-Wchar-subscripts], - [CFLAGS="$CFLAGS -Wchar-subscripts"]) -AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], - [CFLAGS="$CFLAGS -Wmissing-prototypes"]) -AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], - [CFLAGS="$CFLAGS -Wmissing-declarations"]) - -dnl There are legitimate uses for these features, disable warnings/errors. -AX_CHECK_COMPILE_FLAG([-Wno-error=attributes], - [CFLAGS="$CFLAGS -Wno-error=attributes"]) -AX_CHECK_COMPILE_FLAG([-Wno-error=cast-align], - [CFLAGS="$CFLAGS -Wno-error=cast-align"]) -AX_CHECK_COMPILE_FLAG([-Wno-error=visibility], - [CFLAGS="$CFLAGS -Wno-error=visibility"]) -AX_CHECK_COMPILE_FLAG([-Wno-error=parentheses-equality], - [CFLAGS="$CFLAGS -Wno-error=parentheses-equality"]) -AX_CHECK_COMPILE_FLAG([-std=gnu99], - [CFLAGS="$CFLAGS -std=gnu99" - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -std=gnu99"]) -AX_CHECK_COMPILE_FLAG([-Wno-error=unused-variable], - [TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Wno-error=unused-variable"]) - -dnl Lower the optimization level in tests to aid debugging. -dnl AX_CHECK_COMPILE_FLAG([-O1], -dnl [TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -O1"]) -dnl AX_CHECK_COMPILE_FLAG([-fno-inline], -dnl [TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -fno-inline"]) - -AX_CODE_COVERAGE -AS_IF([test x$enable_code_coverage != xno], [ - CFLAGS="$CFLAGS $CODE_COVERAGE_CFLAGS" - # The CODE_COVERAGE_CPPFLAGS contains -DNDEBUG flag - # which removes assert(...) macros from code coverage and improves the - # branches score. But when it is defined it results in few - # unsed-but-set-variable warnings that are treated as errors in the travis-ci - # build because these variables are only used inside assert macros. - # error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable] - #CPPFLAGS="$CPPFLAGS $CODE_COVERAGE_CPPFLAGS" - CXXFLAGS="$CXXFLAGS $CODE_COVERAGE_CXXFLAGS" - AC_SEARCH_LIBS(gcov_open, gcov, [LDFLAGS="$LDFLAGS $CODE_COVERAGE_LDFLAGS"]) -]) - -dnl Skeletons should be very compatible with most of the compilers, hence -dnl very strict backward compatibility flags. -SKELETONS_CFLAGS="${ADD_CFLAGS} ${SKELETONS_CFLAGS}" -AX_CHECK_COMPILE_FLAG([-std=c89], - [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -std=c89"]) -AX_CHECK_COMPILE_FLAG([-Wpedantic], - [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -Wpedantic"], - [ - dnl When -Wpedantic is not supported try the -pedantic instead. (gcc-4.7) - dnl See https://gcc.gnu.org/gcc-4.8/changes.html - AX_CHECK_COMPILE_FLAG([-pedantic], - [SKELETONS_CFLAGS="$SKELETONS_CFLAGS -pedantic"], [], [-Werror]) - ], - [-Werror]) #clang 3.0 prints warning when the flag is not supported - -AC_ARG_ENABLE(Werror, - [AS_HELP_STRING([--enable-Werror], - [abort compilation after any C compiler warning])], - [enable_werror=$enableval], [enable_werror=no]) - AS_IF([test x$enable_werror != xno], [ - ADD_CFLAGS="${ADD_CFLAGS} -Werror -W -Wall -Wpointer-arith" - SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Werror -W -Wall -Wpointer-arith" - AX_CHECK_COMPILE_FLAG([-Wgnu], - [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wgnu"]) - ]) - -AX_CHECK_COMPILE_FLAG([-Wno-long-long], - [SKELETONS_CFLAGS="${SKELETONS_CFLAGS} -Wno-long-long"]) - -AC_ARG_ENABLE(test-Werror, - [AS_HELP_STRING([--enable-test-Werror], - [abort compiling tests after any C compiler warning])], - [enable_test_werror=$enableval], [enable_test_werror=no]) - AS_IF([test x$enable_test_werror != xno], [ - TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} -Werror -W -Wpointer-arith" - ]) - -dnl If requested and -m32 is available to create 32-bit code, -dnl treat it like a special case to be checked. -AC_ARG_ENABLE([test-32bit], - [AS_HELP_STRING([--enable-test-32bit], - [enable tests for 32-bit compatibility])], - [enable_test_32bit=$enableval], [enable_test_32bit=no]) -AS_IF([test "x$enable_test_32bit" != xno], [ - AX_CHECK_COMPILE_FLAG([-m32], [CFLAGS_M32="-m32 -DEXPLICIT_32BIT"], - [ - CFLAGS_M32="" - AC_MSG_FAILURE([--enable-test-32bit=$enable_test_32bit is requested but not supported by the _AC_LANG compiler]) - ]) -]) -AC_SUBST(CFLAGS_M32) -AM_CONDITIONAL([EXPLICIT_M32], [test "x${CFLAGS_M32}" != "x"]) - -SANITIZER_CFLAGS="" - -dnl Enable Undefined Behavior Sanitizer, if supported. -AC_ARG_ENABLE([test-ubsan], - [AS_HELP_STRING([--disable-test-ubsan], - [disable Undefined Behavior Sanitizer for tests])], - [disable_test_ubsan=$enableval], [disable_test_ubsan=maybe]) -AS_IF([test "x$disable_test_ubsan" != xno], [ - AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=undefined], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=undefined"], - [ - AS_IF([test "x$disable_test_ubsan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-ubsan=$disable_test_ubsan is not supported on a target system. -https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#how-to-build])]) - ], - [], - [AC_LANG_PROGRAM([void test(int *);void test(int *n) { *n = 0; }])] - ) - AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=undefined], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=undefined"]) - - dnl Unsigned integer overflow is enabled separately. - AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=unsigned-integer-overflow], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=unsigned-integer-overflow"], [], [], [AC_LANG_PROGRAM([int test(unsigned); int test(unsigned n) { return n + 1; }])]) - AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=unsigned-integer-overflow], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=unsigned-integer-overflow"]) - - dnl Nullability is enabled separately. - AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=nullability], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=nullability"]) - AX_CHECK_COMPILE_FLAG([-fno-sanitize-recover=nullability], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-sanitize-recover=nullability"]) - - dnl Keep error messages nice. Also consider: - dnl export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer - dnl export UBSAN_OPTIONS=print_stacktrace=1 - AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -]) - -dnl Enable Address Sanitizer, if supported by gcc (4.8+) or clang. -dnl http://clang.llvm.org/docs/AddressSanitizer.html -ASAN_ENV_FLAGS="" -AC_ARG_ENABLE([test-asan], - [AS_HELP_STRING([--disable-test-asan], - [disable Address Sanitizer for tests])], - [disable_test_asan=$enableval], [disable_test_asan=maybe]) -AS_IF([test "x$disable_test_asan" != xno], [ - AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=address], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fsanitize=address"], - [ - AS_IF([test "x$disable_test_asan" != xmaybe], [ - AC_MSG_FAILURE( -[--disable-test-asan=$disable_test_asan is not supported on a target system. -Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build])]) - ]) - - dnl Address sanitizer sometimes is equipped with the leak sanitizer. - dnl If address sanitizer is not equipped with a leak sanitizer, - dnl invoking programs with ASAN_OPTIONS=detect_leaks=1 will break them. - ASAN_OPTIONS="detect_leaks=1" - export ASAN_OPTIONS - save_cflags="${CFLAGS}" - CFLAGS="${CFLAGS} ${SANITIZER_CFLAGS}" - AC_RUN_IFELSE([AC_LANG_PROGRAM()], [ - ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1" - ]) - CFLAGS="${save_cflags}" - unset ASAN_OPTIONS - - dnl Keep error messages nice. Also consider: - dnl export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer - dnl export ASAN_OPTIONS=symbolize=1 - AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer], - [SANITIZER_CFLAGS="${SANITIZER_CFLAGS} -fno-omit-frame-pointer"]) -]) - -dnl Enable LibFuzzer, if supported. -LIBFUZZER_CFLAGS="" -AC_ARG_ENABLE([test-fuzzer], - [AS_HELP_STRING([--enable-test-fuzzer], - [enable LLVM LibFuzzer for randomized testing])], - [enable_test_fuzzer=$enableval], [enable_test_fuzzer=no]) -AS_IF([test "x$enable_test_fuzzer" != xno], [ - AX_CHECK_COMPILE_AND_LINK_FLAG([-fsanitize=fuzzer], - [LIBFUZZER_CFLAGS="-fsanitize=fuzzer -DENABLE_LIBFUZZER"], - [AC_MSG_FAILURE( -[--enable-test-fuzzer=$enable_test_fuzzer is not supported on a target system. -Check out http://llvm.org/docs/LibFuzzer.html])], - [], - [AC_LANG_SOURCE([[ - #include - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); - int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { - (void)Data; - (void)Size; - return 0; - } - ]])]) -]) - -TESTSUITE_CFLAGS="${TESTSUITE_CFLAGS} ${SANITIZER_CFLAGS}" -SKELETONS_CFLAGS="${SKELETONS_CFLAGS} ${SANITIZER_CFLAGS}" - -AC_SUBST(ADD_CFLAGS) -AC_SUBST(LIBFUZZER_CFLAGS) -AC_SUBST(SANITIZER_CFLAGS) -AC_SUBST(TESTSUITE_CFLAGS) -AC_SUBST(SKELETONS_CFLAGS) -AC_SUBST(ASAN_ENV_FLAGS) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(sys/param.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_BIGENDIAN -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_STRUCT_TM -AC_CHECK_TYPE([__int128], - [AC_DEFINE(HAVE_128_BIT_INT, 1, [Have 128-bit integer])]) -AC_CHECK_TYPE(intmax_t, int64_t) - -dnl Test if we should test features that depend on 64-bitness. -AC_CHECK_SIZEOF([void *]) -AM_CONDITIONAL([TEST_64BIT], [test "$ac_cv_sizeof_void_p" -eq 8]) - -dnl For mingw -AC_SEARCH_LIBS(getopt, iberty) - -AC_CHECK_FUNCS(strtoimax strtoll) -AC_CHECK_FUNCS(mergesort) -AC_CHECK_FUNCS(mkstemps) -AC_CHECK_FUNCS(timegm) -AC_CHECK_DECLS(strcasecmp) -AC_CHECK_DECLS(vasprintf) -AC_TRY_LINK_FUNC([symlink],[AC_DEFINE([HAVE_SYMLINK], 1, [Define to 1 if you have the symlink function.])]) - -dnl Use pandoc to generate manual pages. -AC_PATH_PROG([PANDOC], pandoc) -AM_CONDITIONAL([HAVE_PANDOC], [test -n "$PANDOC"]) - -AC_CONFIG_FILES([\ -tests/tests-c-compiler/check-src/Makefile \ -tests/tests-asn1c-compiler/Makefile \ -tests/tests-asn1c-smoke/Makefile \ -tests/tests-randomized/Makefile \ -tests/tests-c-compiler/Makefile \ -tests/tests-skeletons/Makefile \ -libasn1compiler/Makefile \ -libasn1common/Makefile \ -libasn1parser/Makefile \ -libasn1print/Makefile \ -libasn1fix/Makefile \ -doc/docsrc/Makefile \ -skeletons/Makefile \ -examples/Makefile \ -doc/man/Makefile \ -tests/Makefile \ -asn1c/Makefile \ -doc/Makefile \ -Makefile \ -]) -AC_OUTPUT - diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index f517a90..0000000 --- a/doc/Makefile +++ /dev/null @@ -1,704 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# doc/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docsdir)" -DATA = $(docs_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/doc -abs_srcdir = /home/nokia/mouse07410/asn1c/doc -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -SUBDIRS = docsrc man -docsdir = $(datadir)/doc/asn1c -docs_DATA = $(srcdir)/asn1c-*.pdf -EXTRA_DIST = $(srcdir)/asn1c-*.pdf -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-docsDATA: $(docs_DATA) - @$(NORMAL_INSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ - done - -uninstall-docsDATA: - @$(NORMAL_UNINSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-docsDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docsDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-docsDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docsDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/Makefile.am b/doc/Makefile.am deleted file mode 100644 index aa462b7..0000000 --- a/doc/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ - -SUBDIRS = docsrc man - -docsdir = $(datadir)/doc/asn1c - -docs_DATA = $(srcdir)/asn1c-*.pdf - -EXTRA_DIST = $(srcdir)/asn1c-*.pdf - diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 635cd7c..0000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,704 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docsdir)" -DATA = $(docs_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = docsrc man -docsdir = $(datadir)/doc/asn1c -docs_DATA = $(srcdir)/asn1c-*.pdf -EXTRA_DIST = $(srcdir)/asn1c-*.pdf -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-docsDATA: $(docs_DATA) - @$(NORMAL_INSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ - done - -uninstall-docsDATA: - @$(NORMAL_UNINSTALL) - @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-docsDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docsDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-docsDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docsDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/asn1c-quick.pdf b/doc/asn1c-quick.pdf deleted file mode 100644 index 5081540ea9e72c26146f8063c5ec0cf200a08b19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150028 zcmbrkV{~Rsx9^>#W81jmq+{E*ZQD*dwr$(CZQDu59owDcbl=at_q)eAXN>dV{c^2Y z7^`O0y5^|={8f?43yab)&@w@j4jtVcotNI{%?*t}GXv-Wc7~SF+}r>4|$)7-2^3(6+*8LGuI#>4=7{zGTR1q zw;ZDNw;k`}9yhShCZojXZl&CpvghQ_NTG z5f#RovC;gR(H`(%B7%_;now19gN&N*+KcEl)X?d&V=C3}<1AN3*=$}fpiQ~lpiY=k zd^oR2$1QA(_+O-hx%?4CbfX2|-%ZPt%R%WBE%htu#0a1JlQ&U46i|yhH#(p}jd_2s z$n3CQuC;sGtFc{uhMMRa|9aT^Sg+>wXa-j**3t>x)p|Z8&0xX*0K{^(ZdB`Nv@g3} zR$$|8Z@2_%@u+u#%jI(Gn$dh_q%Le$ZwcY}5EoH#dlK5+yl-zb147d$1j|2{bw2ua zw99YH2STBc(%Q4?LOq%XN)axXo>t>USIL~+#z2N zAue9=Z4Oj--|+K^&293wm#xBLc;!|#LU{`ie#0Rgk-HA-eO`q|hNVI9q4~@)NLpU0 zhcTpXfw&H-UsInE9${Xn9^Etnj+Zrm$dCsuS4v;1J?3OHK%^q*W8FeJPY9W@AX$T@ zu*oD2rfD&xJSkXFk}{<726X=r`XQ7Xb|{kWRlbMQJg4tFuS#k}2mA;WA zfF>EX*x)}t!fN;Nv*FU|=9T;A!!eumUhPh@go4X?_i7BUP>=r;M89Ge^03 z=_^-y3A`kD<_*|)6(aRlG`&li8=oX}E`dpLP0kM>Muk&OR;^3hF=if+@8PuGDHv)d z$reu%-7jIW-zU=qeV-FVn?#0f_0oiXcahpL6)N#pc;-T6dgCwXkxv&+&~e1*2b z2wbSfbS&RiKWWsb4bekG-ZvDjzje$}EiF8gX$98nADCrGMRR9RyUd?>w-n@;DJ~Z> zPT_{UUP}_&>kKk4n$%xG_r9&RP}kJdJlFF1yk3M}*W8!BYgM_beWmro1nU9okbq7C z-zV|#C&ZiNBpfY5BB7pv&``0*EfLlwqG{(qZ6%%polX?Ed4B^CzeFba_m*YzFvV9b zRFu#x6-I|X1^M@9y|{|qOA4Dm_iD*95wLK6#hl7RJ(vct(Iv7f$jJo$= zj06Q|p|qGqK^ZzopNtw;dYw!z?lQ==5P7hMaE-JDGZdbF+U}T}$(p~t6+(>xKIe74 z%kw~QWkwA!eWc{{FV@TSY8x@l&N9NzP+pik?G}Nq9>3MO?sr$=`y3v!^(y7W&%T6R z%vp_N9C_k(!4Q_M)iOIJ07y$#;5!QQ6~w+J(<+#NYYvXqflbSYbib3N}sL#!;OwCsmgQ3In^ zZ7HN9*P!lG*YFo)@z?yN7du>ZS6L)4sfdt4Ap?CfJpMAUte#1M%yk%yZ8f_bf zF{9E_sf1l&mdHvP1SkyZ6#W=0MkQ7m!Ehm-0b7C-rDtujSleZHI6}R&`w*VrezThT z8RcZ=1*Z+kkFW^s#zH#O+VF$t4yp#AwAeb`=5s-COG{^fLS+~+sqqaEQI8ow6?Ovq zLlrd%uB3K4Wh>O0D+^m6rKxT&Q5o5ew)yXxX0F6pol@<56Y^5~)zlL#QnVn#GIj*k zMnWH3o#ZD4$_s)fd5x_vUty2UyKe(6MTyDW>9Udvu1?keb0lfb0zB~1qS4(N9uz75lB)GuCUZD#%(dQnF0s5M%OZ8K?wy{$(@Icuw<+&mX!xRNKc&S zWlup}l~daT;OHrt`sN+TgJceCKkqm=jasQLYzzd2^GH=NL7J;o#N@fQ`jb-Z^DGfW z(O6N$!aq*o?2{%);Bgm$yr?@zpbOBhkOmRBoUc*glk;+IaqE2$AfT+9JxYTi>lIfF zSiXq^M5FpARUYt}SHM+ZGu+W1z@*f8olL@nwlTOCO)@N+l+$v{?hPf2j)ooY&x*T2Y&Rs?>#VMm;)umS4fHz5)Wc!ph#tbtxO(jPt zBw(qp-QpExmdIvw*2+wSq4A4)&GRfyD^58>5azE;L6|1?U<|Rnx#wE6J=%oA{_8DCPulB4mO9ViJOzb}K$Z@($@;4wT719c%Dqr+m z-KCW>Cbysf&_3wyTIlksG zXnp2yv-avtU{McXoXJak>c$38#=UT?--h{+uVKRE(Cw5OrOkS@_ia+Q77kqYvN^E=ywl{6$MrY0!l z&ZFd})08W?CPW2xOFHyhR*1SHW$w|hK!7zEq|>A^WK#=|-x-Gqvjfun5p91m5FIR{jyOQEM3KiJc&h&E}?3*gK978Vqjc?SuPNfk(1XEO3~~Omap% zDKv_HzZk$;QZsi_Y2a#%9`~MbTD)R%RP!9uQE3)hX$RY>m}8l?o#d!eEK{J`K?$gn zsCz1c74vkGQ=lkmG(cKdapt>i5N%8lJ~58QO79(wbLP+12*iyC?lZ zm@bA6UV!+L6I^)c=fEOzV<;JM$A#XJ`f3Sl2U$}9{Pf$epppeECG zoidxPp(0yC&L%e*2G*C%Qq|tes|oOlRSn{v;e^=-yC2y<7v5(&8vXgYgK1>C=c;-! zWP{m}fTY>8i)K6=EtOlML2ro3!%5R2=kAPQWqYM3e8TN zMLRukJ^0r70%S$FYB)d&=x}bO8prsarSr?63jqbbwWqyjyU%xqXD>m?yxW^g$W0+u zxQ%(usAVEM;k#9 ze)l*M67VI)5wztnjM6}Z9$=My(HHB+l&uT#3>cX(OWc4+c)!ws0!eoKxU5^|W#xX| zLfgFehh+;HIOiTpt8NTjw1HDhS*?r|F&Q1{;+ z12tTbwAYxq%ctY~8p}ElT0%+}U>n0diu~WpKXoZP?c)p#Ci;v0J6L+hyJ5`Uu=s~^ zJ|p3No*=Pah>meTh;YFs>&vY(#0|B%tC;Q)L!Hi6kyY>_c$-$Da2?0%b|ewBQxm6c z!9FX{1CoaihsbZ?>n*}-rB9Zs;!UQpi1)@6ECccxx7X$%ri4oAm$nv;ouG(FYPYz_ z?6QUq4OhbYnRyg*GH4Z8GNi;GLzL|Oj}vh`_o6ML@0D`jd32Hjx^nT)NlLAhj$_)F z3Hhf~#cE!p$4MLTMZ)@P2XtH`IhAN%O9=~-oIC7ckWROq8|p+FN^``WeCb~5;UaVF zS5%APh^3UdaE{Nf0}KuVgk=L4&tk^+Ej^U4=>-Dt!aeHlG3vgZ0J?Z)ms$3Cy$=_C zTHf~QzvyhwegPV33b!6GBk~X9TqxsW`=`pGxo5KURF#6lVWyA_I9rD=%f)he-}c!M z^z;QOjQ6fI^JeTi-1EH}*!L^h!N@3GPPUF2-7-^W5`CS!y5Ymo(bvS>ejKBh3>E;p@5KVMniRfY2Yq*=ZSBJ_SZ!RO z5+P)Km;h;E8oXj6iOaU|+`(ySk+wS~iK?zM-FzZ0iC6G$(*vd`>Pt^x*eHiwFCSr5 zTWh60iX+$BDu?F>&j5M=ISlqPIu`0J z0^n7O9YUn{{<)yH(?Cszf%uK`RdEm_KY)e}sNNKs$CANPIm0>hraz?{9T*`RlZ7){ zw!4U^W55OT#)!Gp3#|>IP`D9J8>S?UYH4IX!8jX^c4a`Qy0Lrmh45kz3K04o>ZF(r_x*eT~lN*Pl1oO7rB2ZJcBCp7`<=yfQ z=49c=+{TAFpxIsU6kq3u`|Hcy*X-2NL$ zFRfq#J=wQzn#O$(=Yih>Z*lc{O=L^@K*w?SbSEoQy^;+WlYQ>JpO`yVL?rA>op7Ol z+{Q_d9Qg)zdU&$KtWSWOydE7?M#j?e_L6g^M1|h9G|_#>Nb>P`e|yV3&yKXtJ;zen zd3=czr;QiWy#;$~`-!FQ_Iqp0vB!T{8ao2)7mi)A|Mk{z z(J~-)lhy&eVCQk|O~_t)?}3m6kM{F;LbOBfm_bV zLgE&d-{WBklE|y2AHrGKn9ur_e!ySC&7f-Noy&KxZ^hkErjv*FaJ#9ZoCd6x`*c(| zs_MjSBaU8o^(^@62UJ$SO=zlV?NxumWT{ww2@UrKexSs@%+Hp%fp$e5>b0ycX`5Lx zs5@%r(yHH$Ng92r3p5q6cR76}fURqlW>AysJEt_t@k|;6ceHuCawp3@PyX5IMvii& z!zA#yVjF``_Uox{96zaX;cU$12aR!80m`GLn5)T5^!Teg%+9iOc<_2f8w%*I5jSF= z^WasNgmibC*U`k*8Nl=(3a4n|War{&Wa0#1 z{ZECEovrhqb|=7Ja`y+*$(R^h7zoRIqR`)3PxF*fo`ZSDSaWcUxz z`@`=39r^E@{(A72`N=!l87Y}K1GN5_!lD2=WfOO2fDV98$j;i%QOVxG$OQ1Wn~)O| zfZ<=4gq#=vZ2vmr#0X&jYeMt#{vm~bT>GcDC?hRBfZ?w{e>o!4-vYzG1%^Kbj(=^I zzYYIRLzMY%;qRLK^REBT*?+wM>#Y`m;Xg~j@SnkT{%bl6e?9oG`TWZ;8U7tZ_Rl)f z3H$|_wtpxlfKJ%N)xyX`QB3gv%{Q}C+?18p(L-mu*}CVDi2$Sz*q%^;1uk(kP=#;_ zKY5UlATn2BFi}(_N>yX!K47s>A|nx0n7{zTRj4~e`H_AFVUeTlC@ZMzYL@$*jE_-` z-Sv~!)pfIL@6`?<`QHJc1J3Hee$4sms8{Fx+Q=xAL(d?Xh`{jbzAj5{}}d*#WTR=#}WiP(flz=5DemRY%d$S{sTl9U>Uu^7KVCmxb1 z8ABKt(et4Ss)!DTYOSA2kEuGx(^AO}^RYE%u)3IYqB`YwGD!Cdqd@bu(@1}s75;!Q z=~kA=06Kc6SX_L`k_MtjP1l<`A^lHdJl{6@`7v?TK`_Kd%LyzHCYnLJdOsZj%ZXSPGjeB{i zv2tww+Pl7s@1yj=Gv@iOa!YnGn!yQd1o-Uzj_?4 zF?5jc@}4gyD>(#~Pqr1Rxr-iov`rzzgVEx4S zp+owm=z(|qEg%DK5YY+*D&o+K5Yh!#5OFjiJ%j}0*-^g@3x&raCh)(`k(FV753I-+ zlIM9KcE;|2)CqjcgO~#_gMR>f2O*__EE>SA0k!z8*Ky%OiVaNu6n00;g23q8+>>lW z=Y?+_z}UmN0iq7p8%TuYAA|fhFRBiSb1N(ur%nQlL}(RHR0L8kk`V`Agwq}^9`A7Y z4Lmg8APp0J1nVGFBWll3)nLU?l72bOC{0xwTj+ElUk(E5d42r{DP?+#cDjd)N0J)aw9* zey1D5AA~*7zPP^lyRif#z2tFFnxIwz2!tsB5^EA=L~O_t$d4eT0cHjNGC60W5JZn5 zZ9~fXm^Fbe30yMSL{y0o5)4HW%Je3GWeH0n9WoxWZoV4|Lcy(fB zyjAjfsu!tT(rT((svd1FxgMdfYto?r=)jDlptFvASP zaKpfTmSF|bt_1&tR%E$y{?obz(qckv!Np>ag|;S{Ce96$4SGB=wxajN#M9vif?wSa zP$r}%T1ON|xJTGWjT4IC1N8bYOo~{=QHfEVQL*>T$L+HRvzx577P?b<3H})?@xU{2h8$*Aed7 z_GbAwc*b*@UlY$nQ1CF(}+KBCd$9oc~^^S;#fQZq(usam#z4MOGJ{ zEs-D*JuaiPwzQ+H-!a=X3u|?3PR3lx(m7gCx22&`CAyNwF~~jkqtGMsl?sL@Qav&o zeH&em`jT3S=A4>9gHi)b-KOcR?rm^mD8ov}$a^%z^1!HZreyoLxw@QY*R}W3n=3=7 zZX3N*wsZCg{)yglqh7RJOPqtT_%-9*R5hDDaeWJJ6~ zQbnXv)u}Za4@ILiqW~p5=ma=uUL>xL<vvo&#g z{TdG6@o@<7b`ihAQ3lG7q-!4Z+TD&oR}(u!-xE$os7|79bzV$<$AhK@H3ZEIrw-|a z8%fkiph+Bn$O$z6bZOAL^FJ(4ic2b_WGbI8pSB2UdTCk|BsGYrqtapGA@8OeWGX@)tzEVLc;Gd6|rf||Q?M#dLlztSCBFQ8T)PQNUY}hdqGs&G$m_j;!ILtWw198Uh z$KQQeOj+Dq%z9iuLw@(OTv@?a2d~sGXH(J@%Z(+5l|C*Ka08C!U#9e8?TQ?1lt7__PS|iwBW6Wt+}Ju5o%$BxZ7?mqKsz0BSi-CXV6weej9j{Y_b!HbWI+vPjqdZIuM;OQh(qu`sYOM zQOFCW@>HIwu>A#;osi>pfAodmItP|}-6O)g;*|U&_o-!0GeR?eWosq8rHIwSOWJGq z)Ne5xZw8NsFZ1iiL)24xM&pE;)NK3=T2>}UuA9%D;7IUoWH?4BrN) z&ZK{8t?q5RWBF$H`)`%hO0yac9WL)|@9xWxkLVTr&YTpz3m=Qq=4+eoQ~Sn`l!NM+ z9x(5dH=TF7ou>}(qnNL3oNtlfZ&$QEUSGOfJg43}AM+692)cYzp6nmyA4V4k1?13j z-*YPXsy~)rR!z&hA1?A%^=BKy%wj{@gy_DKUu)$C!Dh>6sYIJZ&%~<5W}{xCwms_~ zhHoaLQWp<`dnrF#o|ES*bA8<2yUh&8hi~uFBD*!?RFG4GA(AVvkWJK>J)IhAQTum zU(DrarWW*7Nv#6P0g&7-zuu=W&M1QHJh*n>KR$eRy@YMDORl*n1(cnHlBtSIZDnO5 z0|_Wa@RnrNOVD0U4IQHD&)XAvJ6BiC7SiRo@UtC*KwYI+vV??R{%#+ubrezImkErmPC5*NazysKH>rIH>+il;)91XpA+ zZqK!p&35_eg4wClk$CX(gjmcwu3r}3eA`hD^O@doVIZG$1giNBY@mzKg{ zVjsBypK++iN;Sa~Mvc->uOJ?lpEIa6!?zm|1iCc9LeI*?=21>ELyM~%PDNqY3`Zsn4 zbrSI0yfgSJKi$gG`f%IBx27qc@t2Ws%nB9#RXwBCM&u6KZ--w@tTAW(e5zbmy?%V1 z9-z6bw(xSlMtg2?)O2U#s2Hd^n80j*jWPzsu9I_=^e^UXs9UYM9wKB+N!P(r4Ecib zroJVhsBA4?UABoJPs#IATa$K3Dce#mo$&-pR^d{u0lC^I3{h+1wkcV4aJajz5qa9Y z%BVG*hkU+0dA@Jl;oD4h|~k?EHOLaq(D$8aZ_hOxR0C{ z5y-S8t85hgZJ+Y?u1U){{sVy@>%;W_jIe)V;%}U=(KG*7Lijg7{NLm2pLqJ8@%2B` z?|+j<#(xvs{~t+Xu=1=GiU8^-t8Mul5u~OSe1m%&k%UI2xyTah2a=%`>?T2rNSrZ~ z#ELEJ`4w4naoFMh{P!J^%Y2A0KYY&{V>-!TO%aNnN(#e#44T_%Tj`eKv%VRh`yIAx zZ#&mrAUMYb=0`u!L%31J0wfFTAA**@!+>H6pahsnRW>hVNx%gHonF08);tmXwNwYa z-rXA9sxuZ^G9ZFJ_%q$w`9DsB7H5enu_wu(}_@20A-=MjrywzIT-EwTYpOAn6+ ziw&CrCoYdD0&0*}C(j?kjm^N^;K)Z@367KK#pps}+39R3Trc3oy2aC~P_)hcNkQb0 zB-9L<@LS;Xd+oT~k;m(#cHNrlb5eC?M#tSxuHmEfc5M9B#jyh?8QmYrORkA(VkuP~ zo?RIi*nAgisSL*fEU`mQb?>({ddX9%lu@X|2P*exQb8`73~al(*1lXk`?RyP%_~mT z;gM{rnW<(Umg4VM6h{>C_bjyTDs z0HL$~IhNjGqvUXnm~T>S>r?}R(L3*b(_(8?=)?XSRGqsLy;_ka7tjTa>l*5b|BEth zF(qZ1Lot*(H?iY%!ccKaep5(Mag}t{L<+qzUB&R!buE1n&lWeIL-2X1RMI5zt@akF z?xRle^|eZI-A5LC#Xt4UuCMDuo5?+F9rDwiJIme_IM4nHdwkRY4FE=e3J5Qcs3Gdg_?m6F*Z!OLz7Tcib)tSfQ za_a0E-wNG%Xl(7q+eL-#d1d30$-{2$>a=IYtedE6)DL|601M0w7bd$9PfVP_EthT2 zMV7?5FXRW`_67?wnfsemwQOKJtX@8-v{th8lcPS8Mwx{ww#zMMnaK)w+meXp*P`vE zno?Wrv-p0jk!_mE4!dK9LEWY8ko*tDz7CmL%}z_}kVoTQ5}?8km&GY+`8Cd=4{T#D@xUQrb{PtWStrq zNxXiWBAtR|8|eKJyXy&T8!{Zce+}Ka5H7RA>Bt*_{qNP^U$rfJP9HCg04|x2^#f>N zZMzZMb!j8ek`(|$9UgCI+2(XfPRirRrsWQO??UxeX$p6|A+W z(BR7U@@1Ml*weC2@6{XF6qLd?Q6CvqvdkgeNDI?`qEFx>4T|drS>T4n#F*e9IcH@R zC8IU94Ea2g1u$zo_Q-Am@UqAUR>$$#VpRTfDygY8J9O;vXwj9mEPT;nCJ5ztGul;rR^L2KO?Db#E z*Tdd%bp3mgp;ZeyPT*Vcc!#H113^yB3WD5#^>i$+IYHOz(W&(JN+I-tmyKtNvy$8f zw6?N$B!|pUjz6E}W2rjSbgHhxtZ@{-@cW`XzcCIdRg@5LI&0~>+{ z%1<6n>fyShz0MLrwYoKpYC&QPACun#={kfq)H16-#7Hh%!k79iVa;2#z^X>{zrjpj zgQJed2ZzWR8xhXI#YGpVGxs_QYbMGRiPlwZ!n$)!@6M;hycWN9b}Z~_+`H8uoW!m5 zv-r9N5Ihf_p6#8U;V)z?-%!A`a4ph%(`oMJ?;Wh!TK-t{)J$3b5u;Bdi=1oMu(UzSd$Wc zbL_QbjQzR_eWBgf^Pa(D)0u}4$WpO3FqZI2?_NSnoYYGncAz)w!pJ)A>iJ(NX1~A) zFXk1)bOJ_rYq`=YfE;ITTBo%ykD*Lcf9Pa9GR7DlMwLxB+6ks+7#hR{eMn5>J7;1A zSBfDr8c6+^BTkzHZAA`~xr(237}|s(<71k+@4!n9=Dlh(b+yDtZ_Eg&2m5HV2BEzk zm6aJ9!)m{-qOg}}8G|Xu*<^LX-4i6)fHFxCKg49-qXmiw3Y(}CE~88eP}7qYy|Nx7 zVXqAc-##XQHq5USsSyhgq)aEouS7qv;jJjYr1ab!HWbwC--gB8OvrH{m?yU})b9)e zcIw7jr77s{S9;EG74AcmAlFn zgRh?n!id!D5I$IUB6{7Gp4%f&2EmYVZAJ2qa=imKLHGN)1v&vVDA*gUnD-@EPaty+ z?$?mUQ@*D2af@Alw!~&8i5Qq9$+H2v2x|qcG}>H*iN?P41M2;bAu{$5Koq*H+MJX zgn41|ac9D$Z>5h6pXYj{?tvQqIHD4M5?K6H>&5p1A!p-Pn%=496 zj!ZB!I~i{Gts#?3inS<|RX7nF`os6I5uL&1a>8UsOalQN;<*A;|5LqZit4*)Sow~< zyeyl#afdWXq=71C!Fw1-RXXuo`bU!n1)3lv8jje6=s&k~HK?IbpFj$nh3IG5)b)U+ zphD}oFc{$i(&{%301c&zL-XL-0TBZ?FisQo0Ki%#ww^Uu2+?bwmzTcYW~0<@dUM3o zpeChSSm!B|bK2m5}}lVGW> zN;$@f-8*w|=Pjf*EdhNs4EStcZ;3uW${8P<%R^P~C1d^T#*EmO4(JG;q7m(u>&4(~ z#OkZa!LTy<EO}Z%&EW@GTMosi1*51iBZO@1 z7EM(s0SYQ0HA|B!q(70V%OmQnmJ9j`e+sI&wqpwB7P=IX3ON$`f3>vkFgM&lX|;QB zp{umdjX@jAq-r(Vt~@wzAW3|)CSsX^ba#XqM6z@=mF3YH{SBGQWA>P*QWo0WMMO@m ziP-q!bf{DBzV_sb-H;uHL&kf90c zE`T6eBPyT1rRmJ2q_t)UyPsniHnrs1&#vh%Zw-k;43SCm11hC7n&fKUF*GjfJ};Ql zr@jYNBE8}0mP3JcHuIIk9y&1sVGZnzX9@oYxuTSN^ukBGG}CmDG|J~};_gpcNF4{* z9Gr|sKuhzB2z@(n@feserDMnuYP;VsDhIJ!`-L?*pl{O*Eg<&D3hEO#gs1R^fkt@| zbTVIIA`S*fcV5w1-s6zv7`EN7IEatfjn)`>0@fqew_jn4K}_@mqLROuIlV8@yPmn- zB#}o3K4o`t{wEl<46AuOS!hY=IIpIme%P}9MS>RVs%*j*ItSydNJJD&I2I#s60Foxli;ym5o{X$k1-yc}PbmM5%U+%F&M zMWfJUsOowr&8m!4lwE2=4uKYS(=+l44-vk7l9nx0wbK?6N#GJ{M$Bqq8Jb_&$i`#x zK3O?RDN<82uiwQqMH`PMgMrjzq;Kl%_02fU-|#f1B^V{ms*{Kzma^bAvGJvsZ6m0w zml=0BL`3s?dtuvKfnbS!=mkF419N-7`sZxTMto+>HBsQth0^_u@Ei})_aRK^Ea|@G zZ){mZrte(~i`#Y5+l4(##Nu3B>YIHrELL90cN~ma%OF*l)=qKy&oD;9*@EjC#zpIJ z*HxcNyy9$)Wm2$nvYt~`S$mRoI9O^W$nfM9dYh4drQN&cf7&Y`kSO9%)PfEQ>`O@y zsYgHK{G5T^^{dMY`F05+m>iL42U|5*;hzCz!bBy?85LD@fEe$C)w#=JkL`#rB!e=` z;DiC9-BCQJ#A-1rqd@yh=ElsZ)rbxd4sKtpTg5Ohxh_rYErQiqyJ0c*15(0f-|%=X z+i=k5P&yI?``+*-7bG`hh^)$;#{r}YpGOp$n2VXI-qpM>7113hR@^`kZVtb#pWz`U z?`{YTNb}Hw&j=D^$(R?qlvO$}$BQav0w3ZIHBbQ~c5wqUgNTxF40JO+yLR?Pg*Gj0 z9Q3vtFH;TJvnVC_Q5kvtt6Q*7th6$}+s*UK`LRX~M7o{5i@wte<+7No{`dQBeu9ve zhKlX#XPUYlwTT;HXI_P$rePrCg$QI_y`=V-#0O-pLo<(xQn@~GJhZ90YCj0N3VqNS zQYV#KNk3s36X)`}OOPPgB`bPrmh@hMrs_A>Qu5Rka8o~2`MfG$tV3{8gBi=@6E|J3 zN3Op9&LSjST?uXm-ysA`P0PMJ$w!=$xKq(bnCK#ivS5}!k}kANEQbHh7^Terd%BRD zjd1eCocS*pn_-srxAg-*jY|)T<=G6y-Y|ZvGHVbTiW@7he!Eg1E*7AB*WkCy6`&rj z$HF1e^4&A~(B;}T(76lB{O!?p4#;11>EFn;4x~-P0P6aP`ndJBZEofR{C*scu6+^_ z{(@)XhP!F1j&J&E{lA6}$d)Q2{fBIso?jOF{3Zn~B;(@EEElB5;v1~v-61*S@MkOv z>CCh!y0mPVJ21)yTh@l#kU{CHeT49a2WI@Uc(Zy+1X?5)+zeAM1&~lnBRCwhrpVQ- zjgG*LE*73(o_L42fI~)$?TzbgsTFem2 zONAd9?&qC*bysJ+fy3Ybe8=Csgcfy{*g)W#47YChyp0U=#ezk{Fk%n1f!!u!y1oc= zMoI}?D;+Ch_|V?fPUgX>uF@!mBFF_Zd&gbUefV2rQQxG`h33-&1X4Cs{v*N(OUhST zGqg;6g1oVyz*V$-Zp+#i6pru>iI5bY;C&g%Pb)_HCzP(*s38mJ1}snYbp91)`^l{xF?== zEr1YLq9tknz=RQw;~#-a2ATH&%dAkFfE|eg@Paf!M4AdklnTW)vN#drg|<2I;h(52 z5(3uLR};yjNcqaFB1`O1zDsSWR_P-)C4vW#V?l_~g{RQA*k&>o+Jc0FG}`x~b8Xqd zKIGVDpTFN%+7Qd9ab8^24|W(82L)Y-Vb!*=?a0-6gD^QO1Dsx`5Xh(_2-z-Z3aExt z6JGec6+hPU{H28DW1p#SIjEQCjM_@lyBmC(V71y-h{1_#6irP0e^VEnM365V^3DIG zU6ID>KqafhK69(omT$kks@GU44-eSS!orMx=`)cb0)L59+poI=gwh*yKe#s5{Dgbv zWrMj!NBx0!$!jLZVP8p*s$Jr`F@j;>v4bdypLYzOzoFk6J^{kRn7|*-^2CUg%+oxz zYkRv~g^6b7q8>-KV;Z5R!C?a{bE%c*;j6f)B8$5^J!XJ;977E11u+Ku#XddkkLVNd zQizkU@nL-FB7TTC@a`@igy*8pb1YNHr1QW9NYHgTGbF;<(JR{FY)?=o;u6hfyzL$c0n1UuY)$(MAsP{mlns zL#Gbk4W!*gPYgM06ElBdjFIotND|N>(GOXwCpEk93dgm0^BWta#s!P=5;d4|6GO|L z#*HapKK{|>A(k1{v`uq|*T?84a?%jt7{S~A@_hCHB) zUGw-w>0lzxvAyC@UotocP%&&_&4TDtd((yxIpyQc@+ertB&ZMfcCO9Nwdu0qxYtb* z=e+XErA%6f0E=y9!c5AiW}99YP!0+3IaOs5Z{4w zhnq-W*^Aij(+pdfQF!ud;MFb!F`Yn+&iy0itAJs*z0Xcvo^HL|I+w?@vtqv6GfB|w z<>z{*-%o3VwZHc&-&HQ|-|n^yd~ZYPKK3}H-MGJ67mx8{49ZobW9Njf;~+vummo%9 zWtZ?qqS$5=RVfl4=(oAa9AtGCg_<+2xl43uLPwP=hgyZW*KqNb2rw5pJB6#S7wvGz znS5VHeBTbd2U;H$A!j1jN;N-Z5&#N!3b9wKzBReOIeVP2gcH@O?UHt&%cB{$^|>!I zkeXq=Xc)TQ)g`alEbcsAZtwX;wQ4~n50$ATs(&qXXbY}NOgyFDaDRX#@TqBnG*{#} zt*5Y2va_98`aY+cct543QavR%XhW_NhC(@+3CuUyKSvIOVaE4@Sv$P4-9e<1ekM`4 zHhDc7yuxQtKrn=SzkgC-l^B}zFoK} zfSx5cBB2Nh`0rX8S2b&W!^AvkmX2vTfFY>OrG*oAW*!RPNFiRfEcV&x^@R@QR}-hW z)xkA)OQhHT89d01xr~Rg9%A_@lOx?pOCo!2MI7j57Y^%4qe|o<$U2tz{=I563U<;5`!dfvb1H#b(B_y2l;84ig2}K_NiWzJc)UJ81I?WNjCDy0#yH6 z|AlPc@OogiQqPal-OtRHs%IkZA(3LfVo3JGxW+$<0TQ$Zx;_`7oU}7>S~y>rEt0wv zOpdl9G&ehPQkCjX7$_=w_lbB1Ri9`$FjxyF{7WrnIKt9M|%~+8_MI~a!5Dh+x-#)e_ zJ~s%0sN5zPX`14Nmd~I=9OalBP&8sH`^>puy8}%fXqXl}ve>n%8%T@>;?d=UWrz-r z6c$JqYK6;*Vuf{+J)EIDs#&|v+s6GUk>NRD1ZJ{m8;PfIIcDqQ%get?c6N6Z3~5~L z*v0pkS9PqqAG7_4t5{z5a++P=n$nSFXp%mlvEi%+cfHe>@vUx-&bxQsXzmrc4zu;z z=i8jcclKc)Yo=Y1DTE|3cJnwTLaDr#mD$XpWCIRsMoE7#KH3n9-H zQK9I?%w8QEKkrBQZA3%Mtjo#0{E zbM{#9Zf^QIIb0JgSDQRqGTZWF0ZS{I@B;&J@VOSfst$Q<_x9(SQMi{S>X;J7iKdO@ zF8SX|^)0UGD97BtPHu%WE9q#|da85>t#p&pA@zlcz^0pE@vX7q(00flScXhB`F~MI z*i==s)<7%_6BL?#!Sy67DEAhucHpxP^yU&{es+h( z#B0mVIRLi@25b>e^57w##%4p^2seh9g&{y~{)`?|omsyCO$CY%CN*BFwPqrcC`alX z7B$l&Whk#>u)K-sW?G9Ad=xPuLd_ktTvFo!lc<#V7P(xsm#kVy*n-XCI-<24#ne*V z?`-h1jKE$bcR{z`2{ei=F6-o$<1TBGj7#u3jyV#+IRjUPkfR#`iu+k~zdbgVk)TZ6 z8Xk|bC3L&Z0M)9|PRt>2UUz4|kZ)-N`}<2GPrUagmbcQES2}i(WDVMz7}sX$g3{(F z%!qr9-SkQXAK9B;NR>VnfG7o8h$g1BM>`T)2&uy_yb>OGQ6ca)Vy`27uYQ# z;0=B#8G}4ULsWNoBsQ`}`Eh3P^h-E6n1&E}j9Li|4Kr+Uk^&bEQKKS6BRG-K&$ys& zi}2`4wQ{dkxCp99SOfcns?F8_k{C|fAEWqS-qX`;XV$ndIAa3=3ma=|T`pDgSR)0k zKbFELk9ixv*|uU}$D)SZ7Hk3Ar5w`xc7=rG_cP%c6b__`CbAST4mqQTt_#SxGuVfG z;IAUh2g|{f#HN@q7znc!cSfAzVN$iqORiBTc0(`^v*)OZBGLB9i!L9b7|tPP=X$7$ zrl11pZJmJANf6IlzMSKQs|alhE!+Lb8?a&|Oi_jPJ|nC<0CdcpwpOp`Sg13#g0jDljOEtWC2#V4<`m8d!N?^a%i}^0>9Q{i{|3%`3}ac9?H%}`*xI&K z`M&%V!Tr4{mK9%D>{MLPPESz98h@82L-bvJ$iMr2d1gjClKK*8TueQ()}l95RRX@L z*@6UL>+*cHQ)&uJFlC|0e{}3S-B%Hw6VmZTa;y-=dQ#lyY2ueXZ|72W4e#eKCbK@H zRJtz}7Sy9aPIU_V?44c(Sf!_U(s>%GiE7)0e(Kmmw$@tN;Mv{R4dG_;+@35p(nbhj zIvRlZZoC&V=~G|H+U0>m%k>oQTBfhlS#rIuc#-bal@#qmS!{!$KvL9oY0pgD*MmeZ z3E>Cx2hY4jh}*}aoi7SJvY`mQ_`~w5Y--6wb1=`Mu_C^Zg9JyuCLzS$U?`UvtN@Fk zu`fTQAZ0wANJ{Zgtj>@S8bzE(Mr6UKQJGRO0V&lx@>Mof4~$2n-zcd>Uu!BV!e>h? z7|8~M17}fZDEgBgs#iOyHY$o!GU3ViN+{lGejy@LY&H)e0%4qvHDSU>F`8?d-$c%Y+3uG@UC-F2XKwNnlM=dPt~JF6q8@38DVN zHNq|J2g}xKB`UGS1yu*a1My>m1XMz4?J)>c!%5EacBo1JFd(8n+{hy z{3ju=CI0S&tQ<%iFzHoI`b?eYj$Vq)cDV&GZ0X#2qcn1^G~M>3p%*pn3G$I##tsM` zhp{9_1qwve*v&GAflSxWrq~VkHX9|k3ZO0#(RiW(Gb{&4N2eQ zlG$-&R2L+~M^73b%=AfMlvj@BbD*zbReOwdpyoyB25;YNWkrDupxA*mg` z(_`#NXyt?9*7a^Eov!L>``{t$kgeN2-sZXnH@6MNy{K1{+!GCoMfQ0!dwHW79St%m z5IZ;z5n=M9ck6Vz4x;1Uk)}JOt~VVXYzX@{BTHy*5Pq(75hTSxdUzqpwYwqZYp&~% z4N-Dh^Wye)c+wo&GBr)vtv(zp;r}nv&M``}U`w!Bm9|xBn_t?tZQHhO+qP}nuC!fg zJEva1e%)_+=Etlx|6|=7xDjjJID4N{&iVZ8E;UnyFY!roQ6NLTM7;ik=15=SD~28- z_%HHy+093BAf0~aq(@iAacKBd%ZoBVcb6@iB9Ba8Qa8*~Ar?d|5;Pt48xKDgKkOi~ zf=guwS_=;Q`&G%Hg!n7CG9k?z3suJi8f#;C?#6IFF*uXZ-`kPmiu{}XXQve!tbg|x zLO;&Qpja$hm3l+l)ptlEb<`?wU(l0x1=j|=e8duf z&-z`e;1UQ{(dSh?SePUDdo+f|$b*0i3bO%K!A#2R<&RX?@tYEm8R%D}5MDhTH|>^8 z-sAjyqi^Ua5?ctK5``0XdX!j-EE<%OI~{azER6WX%(KQorngttI8Ec{<>IvF_E$9j z*ZJ-1-;cyJSNAtw*5_e~rN@(U68Ru&9!{oPIB}u(3;*YQBzo;kjt*~S?h0M*XJHKT zG9H)L0X6jt{;k&*w-LE}O5|`Q0PDmGs-g1rBQvUHIkH2uN;DubX^sZ&hut zmx}N0!`oS>l-{>@N;c+<49~~;^78BBYh`M#FElv2(CfG+UEWdFC)!7C|18b3YoDw_ zQ|$NM8TyH?F6NahLAGThXPN%jHQlVP&hOfu9=MC%j-HRVi#N*!peNuh&(dmqpw0B_ z4b#+I-tP$$t|Ogu^r^QzpX;;b$ywjq@zPw;Xm>eq`xL*+tqsh9OVBBZT%`t2nBhci zv)y-ItzQRep&4kN!HW@icKahYa^ER}IX4q9`Qy3u@Vcus`z+gpJ$qku1Wj}t#6e$2 zCDjS7+Wh1w`3D%i2SF6C{Z^Ib^tTNnyO1LqG6G=9V+5E>MxxFR1Vq$>XQmkTQeg%I zYF$1rowjO3UXyh;rN%K6(GShD1bmpZn{9gOfF2{HtW8K?^$t<}wH)pUO`n&Z2Q+l} z4Y9bp`D+}^%0HqtS7bXrVGX<C|UvL29zh|8JfAL-z|K*zeOMGGcr_b_V<_pySG++M0asM=50RMyz{#z#bk7xah zs{4OdU;a&ZVZ~?sPqReOkp-XepYF^5uw(vHiTRr>2cJ&Z%}G?z=^yIJKR5@`zq$Ccr-x zoBu)!|Dy;0nuLF@z<+m>PF7C(FJAa>&->RR{$l|DM{7lCe0o}X#(!`BFZ$}=zz)EF z%o9G{{|~rmsHb;j?_}>_jHIVWPEJYT0PheL6&9tS*E`WSjX#V(lh@yulcuHB2L$T= z>RwLI67b~`?Tu0H3^%h6x-RoPdk+YFA5i=2UQFFnh5fT*? z78n{B8XW8&Bp@XqDI_Q;EGR52FfKFz8X6oL9USf)q3)reBcLN9B_t;#CnhN;DXA(d z&nqk}f1RJ7XZ*^@%*fQxbsE@A~_T`~4Yb z)AgmVUQjd^o7d%hH68gxCY#f7Z*$mDl}@Y2>2V_3vejm@-Tq{yn-l(u+vnzC{$6x8 zr_1Zi=lkSM?(4TN5IDiP{r`E~{l{1SkA20$ z{NJbD|BZzL{11T*@Q)+qUmNm2SwyD)wCDamSj3`EV>>MI=Tn-Tc|WEAL;zqtfg01O zWvXQg#vXe;Z}6`em1#5x2e3*@garTqjt%WTU)SD$ULANhD>#+4z2BD3YOZQBcCKJF=3x2wzVrPv zn+iGf-9)SQ4OsDg{8mM3?s5EGf;Q<*BfMCVujwuMSy$|Ixwh0UEK6-3-|l?*EqZl> z$G)AsYc>yWk#7IHBt+-?Op<;H3zasMNC9!DLQy-AaI;fWaS(3{B|qkoW#Ak4p4a4K zQ)Vk;;8A&X=SV_M>5+fgqPYv5$ZWQ3bgLAqMd(PGCr>Ah{voC4&u?P2??eD8Mu!Q(TfB z&6tcGxm8hD@w7nIFWo`G9ym)>yK)CU-CXkG#|uZ@dS(bMaO?=To=kx+41X179hEPu zDL7-%K9#(H0OakET0+E499y!I(7CWdVv1Z%yh|LxF2Ehbo!BdAK?qTw|J-ikM^{8k zHisNF7|$Y7l9PueU!gCwH<<8~%a}sP#75veXarbyf8Vv}_f-3!t#d!4$L+a;C?{C7#*zGcL11=8%+>)~FDjGjk3cW*IV4<#Fuz>3 z00j^y;z;sTKkcQSrJg*fEMZAdbbML?jRnzW+iU$O*piQH6l@BP5MwB zz|QOlCPahR$aREi!Tr+M6fDF}z`yIBLdk9v*{dcFmJa5A8T@zzb@F=&MhoIe9G!a_ z5MM&)vvfnvhT}j4c8IPKa%mWdgRVYt_Q%423Wrr6YO774XPX)nL2_hhS)9*Jp5-{j znvSox9ksOcgDy6`!*nD6sGS?n)II_~i;5ho%uBzGT0+MjOOi|5wKeh7Fnv=vW`A=l zgHDN78E9VRUO_FQvShkO?nufeTpMef&96i=(4T=m5L*Gh;wFm+VEUp3?<;#rd_ehB z^ric#q|sa`(F<(~H?>;8Go=E8mmt@t)n!Zut!7{+7~L3uLjZ-vaw0C|8DR_a7U10k zU&Kg3(M9vZ-QQ6xAXJ9?DqR}#B2_Vsw`~POXEnP0nvW zd`CVeG!x!x*N zyhiAgW6@%gu$^qr8iAT60ivQx2>+b-L_ano5=`BpWZBh$B1- z`)xr*>~o+k8Sv0{*5H}imHO(ko5nbPM^m1>Zn9_`y)3e-i8^{7iKA)ZdC!{Gs@Qo$ zmnOTw_A@XTh#H-`)krXpexm_&IU+~}{YhM^6?cSFT&RUt=%85LC6Q2@W#mf&o#cCu z%`lm2lmlLLO66U?^O{Hk=Ee=Adrt2279kxYw_1-d)(PsC8?riw=LOAF@@e2L8~ z++C(|k!OO_#3rVJsogOqL@G7-!_6_ET7~>*FZ`=Y>RW2LH>JgHXOHZVW62hRbxe8x zvG_M5UxO(nA}YCL1AuodZlaomFBCw}E zyrjy4W~r14(+9#QZf8R&;$E#qs^gTRRu|<9>}1hrrkaI3h9t0qi?~~LuOibncM}1r z3nREkN=jCI4bp8;Dgcdwg49jKxuSZC-EFed14Y@zks) z2*p$NafcZ!U;_8Tyz2OD1yUSy37Mnv#A!i=TFk8!c=JwdfsMI2k!z(;z~^-v=!`CA z>cYnrnfg#y$C&C`zr*I}MEX*kC3bRq7|(heqa&6P%U9+r_O|7(IMiXeG-h>Zwff`M zHKZ*4_QY-(wuv{|Qni+;n(-rxbDZXORVnwGdw0$(9arryj-3%P>MokLQOC+%ud*fA zq8ryQz3=k^@jUC6MPZw^sTxWPA)PgJRBL?`&V`8K3pg2@TWX!A zNG$_2Yv%(J^h0!_1qm{9GEq1>=uB`Ao>b9}UtUC%Q}V8#h{;zksq;Y<7Z33avz6~5 zzlXak*W}eR`>F$feG@kk3L%XJAqFAnWA1_F^N!0>6J_O1ksyZA>T#YC+v9LWbVVll z#gmtc&Dw)T^XbrbfDXy6Q_2KbmZ!f(%Td$x+xYALIMc!F0JaM2?9&p;O?V1ihRL4R zon#Lur_4cYL6Sjm3#tt248jqDj+dMut|48KUx~X5AN4~v!lVGrk>nTuP2V+)1v9eM zM=+%K>4$ayY;Qc)5|KO9 zUj!n+XwOg{b`$gx%oMVex)kV??2t%JGWug@e0HpJ_aLb<37b0pE$a@n7PM$-+JIe6 zuFbL3)hed;qL zW9oSk7KNvTr$kjb`HF}H!Amf(a)WbCkV5{Z{8bFTpK3R#dT=*Nn|yfSH3}j5x(|>c z1s%z;9AW4WhavH!m;fCbCz>#AL z7AQ9<9DW|?)LJvmr)(|!%4@#C1nezAb|zKW4tG~^5Ay-QH=$n&-7+=%E*FJ z?GNARR`q8Lbp>}@6)by8v>`ctB3z!Pzr`MPgyBLd>!iqz=iW#j!^aN~wKt4Q!Iy^=MKB+wfaR$pB8qL>nH6v|~DMh-_DkH-T<6HYYEAwgRS z(}cNwK9ehQ91Q~vo=ix8x;Eif8a*dV2Lsv0q2K_iSovxrui&!sCeS%|9+miO3STPA z6w^%kI^ElwqD|6`OONskdD>X`V_6-B;f|;VpQTfQl*J4MWuc_wOjRbpt$g>9jENh9 zlO=EM-)4$tr8jXdzqUepm%sQJ-8-GS=^=fSagS#ZE>>)jY|wg`ol;y8HKS>*n~i!P zTZt#FOjf&PeHI5Gvy^J;))Rg$D_R+=BR4l*Hbx#ic4E(3yhFPkr!JBD&k7XXf*erC z_el^~VM6r}M5maR$usq>hj}A^>wm_$Cc-q)AW5g#G^tWF7~5h?Xg3v%h}Tyn*=Fw$ zekskmCKhBiUlJ0Ji@ybo$+>_Vrkg5-PjU5mHrFT>IQ^bKCl0^L0TO0h?1suBIco3a z-zn-Os=(x0I}OXM8okqr&vs*uV8HEh^K)oDDPYui+~QQUU1)lKY|&rGlg}m`JRmu%BAFW;3j4+mbJF8n=r0nIPvT5koTSc~N07$LfT5}gp@gjGO$TZ?g zVyB+h*-EX)YhG;Td^E#2?1)KQCRYg~*ZSi$KMnnMN^wz3fYK-+B6Aig?>H`+Ow-um zW}kZ1GZXWnei>XPGA?kcDraXF%r^1K8lm^78aBViM%qZ6GrX1>eRyECkJNTfe`s0_ zi=vj*v6S_3d3Nxx^_YbnFbFRF-1wzuHdWY2+ptdqy5`O{ znUVA<$F`!929Q~?!b{F9F~4L>0MCTd%IW$&~rTWic8tFt_8PDo>UoK8=<~LS2emycj-7+`y34gu#OAzKI_1E5tacY>5>C&WPT* z{2g9f{8P383O87HQffrx1L_jstydrKGL9R`9VY8;1i%s?yKiG~k8cw;paT+m-|7HQ z6iKy>_#3ei(qW(7fLoteTr^9Zl9+~sr@)HDG>*|P5{2gsqbm(6ZjymQnvdY%2Yz6K z>;o*eFiwS=z_*CyTyB6U@X?df68MVepcIrh-zL@tY7^y

I&`5#H!)S#N^Cxgdwo z7~wRLHc=NzH%VcU{^87_!-ODIY!@D}{FUPV?)}nz(!Cn#<&S3gZMegEE(30EsrQnh ze8E2HPxvArF4OCN{P|kX(7(Aq@d6cAT!b(sjxU5Q?|OHiG5=6)9WE!?29+N!DuK-l z%F7>!f6JlClgUpnF`b*zM~@Uc3xWV)=IJZ)VgHQ_mX`Wo4*T*Ap0OB%eqav3K%PRR znd}Tl@nLKmQvbAoS!v7#L!E$6ZnZb8lo{N-VsqZApf83|@)IL$W=$0f-b)_`zblr1CO z_cxEgBJDkrvsXvzv(#@qibLD^&pxJr;y1|6*MVxVSi98I^u6w`SRvER0&Ajd^9`jmV5+CjWMKYv2E7i ztdQiZnZl?vj4%B-hPkU})r7*gn^LujGH5i7drQd^c%7-|NvI^ViKYVAdLN`(yd+*Q-b<~0 zkpRmlYRTByng{D?3#Cyw_7smol~y=$NcLZLwxKVC`?$K zBzmS^^{XVzsZMRqvnCQ`nCT?At7n=wr8BLf8jpfI*qfd@&#b$lvycHDL)8wcrZJL| z;Zif}@xSLY<3EeFFqauvoAU=A*ea8FwqQ)0gSw6*s)TPK@1v_)VIqyiTo9?YGP1pY zpsyJ?Xh4^)IXa{_M8^=clQCsydES$zQEtV2(9R5ndGD?CaOcE;W(Rz~d;}K?!um+h zuYBCjm+Z@;+SjiYk5|95{R-SUoE!rH3Xb7*5mPuy-8$AnS~!A!Y4Y6k%?hXcu1%!*zPhhr#yguC7O`L z_P_994+nep)g=8cfPZjaf{pO33t*AB5yuV)#wNssC>_5SM=j!rNNP%Oh;s;w`r%rRJbtkE*yN7_YVwm*KIXuD z_wUsh11jO%0t((9t)IFt4oLu%=MO{ft<&oMH~w&Y-c?w;lemnHAL^;T>8yyK+T(=1 zWU-`4@@x(ujX}nWlI1CGaPYG^kf}f?&F$S}-$2&k?LnM= zt`;g0%f=pZ0Mp#a7!?n229U-8yJJs`cEebw4bU07)WRq*FL4J2FQJ@+ z8W1|eMT>L@AkRaU^Q`l%%hVxYfWIKntirST)8xg1ckXrOdpm`;!GA=4@vnhhLTED{ z(ticZuErWx#zSvQUTmNK(KEHdQN+#|wv0>;0e~E+O(zqXY4-I(@S3akRS$vsVS359 z08^duoHNnK^5AXqr3xS!(FgJUsl%&-p*@C-=L#a~iIU-?rGjVhDddEytP787hNIyO zX`enhT&TbAPkaGi>CKP*xXwzuafnai?78!i)LIbw0N#upicfRGK9kUq%8j`wmCpmJ zD6P~3(hlef?WOOkf+HVm8^jufpg$2;Nbjz*P$qtgLbXL{^la>o!PMd=n`wpk9;1nj z-P;)uEn$VgyMsf&A@KvMod~_sYaeo@N3_J34uq~>L*e#9^c27felRwkPt7l{LNjm0T=QP+60wZAWU3!hx!qIDLxTmDUhCA4UgyDAhDPI!a%AD*}+az|bAQ9q*Xo z9nziP2MsKC-gMG0;6UG@SV-skfTXBspwv}ARnSuO zs=W#e7H&2|U(sI5_CkCYU6QgMgbMEg8dbL)Ql3M8lDUN)QJJ9>7mW$*l$<~|I$PH#)=5$VH_L6D& zpnb(HZTvtsCO?TA5Ib;8MB(n&**uBRyn*qmY=~Ox)2#3sZXet!$sl+kajTh0y+k=< zZYxpelDr@0lDC-aaac4?bzqtK zmXK^W@F&^v7EiXOf!|yVv)W30I~#ivR+of{JJ7MOA3t|kkwJ`Z5|I;)%%~>F5Pqm_ z=B<<6-0}FSAhE7>9Is@X8TKu7(+s&Y~>+tFCfJ43_O zYe)nKK*;S8`(oJ zbrG#@?StgaO|tC4f;M($)Qgm=RpI0VFH>79#~q>b(@7P0o|DhNgX;~|JNZpS3W%R6 z(D2J3qe;D<@yS)&=>p6rk%zNJigB2pZA|e9;~AtD(_rf9CEKOh*meMH)@uVVoYO#+ zqacB{gtT*sVrY|>P^!G2v7L;{TA|Y6v(JcxP3c>;A+%=ESHcGR)7ng8J0>D}9|iLm zz$2bM2`ZhcXdOUsTw0!53|+n7RDLd@DPA^~rq7#m<=B=*g2{4i!5ViKzJY5`Kt)G$ zv6jt^Ut4>vH&f$~`E8H8Ft?(ROjAhL05jntD4r6z7JZ{^$>s@7H1WnQIz`!nGoBv& z=R(tgW*|7GupQmlGi&Fb)cmcz`&D1DGYnNf7V!IkivIoUmWMV9LMLWjEeYrRSDNZ3 ztFOycK|(JT<3UUkf3+w_D9Wt=3`Z(TZD1!yFB&hOc})(9j7g!U3S%Po=4Thm395(| zl{Ntf&T9d+>emDnm1q-{_tBB*RAYgRij@;Agpv|%>>C=ea>p7kn|y41So}0{cyUEYvU2&N!lGa2E{rm3vXz9-z*j(|cdTwSsV+d5^JLdDyO4`LVW%Yrt{d|(dZ+z;wm7_sVKg-E(6wJ7- zi_)HR$%_*LRQy#wp+_t`Cbs7U+)ZrJU9i~L!|d+kYw{sF%boVXnblDRy9r zycq<>wF75Z=Z;teec#a@w#94r1JMfShMd1zl<-7BE7s>Ew*y7C#Mb?=TckyV_KOF~ zegG-@F}%cN2U~|_C4CM1hWM9=;|i`0eV^+*D2->1ljK74hVxc6v%QvMA@-EpwoSJkkuU8oLLSW*cv~kA z*IV_k`k#RhfpT)nu~|k(iDF}xDn#ax8GRX&xB2htvu2H$)~oCf)>9Bq6i&n?$4hnL zRbsSbsf}3ep~S50lDF{{zIIu^XWDXFlXNecprJsl3%Uq{?aV&hA&E6ozqCWbb``D=1d$vbD z=y1s{2kycY=Ney7_5Ded58_5Mzy+fU+Dqo+BI;fOnrmF{qfz4#!V$~C;T3}uxy!(7 z{Px`J{@P?$!ahUWlsdwf)8Qz-;5Cjm5*B%Mo2UtzQH3v3=B6@Swd$k@O82%CwBy7A z`CchtXwmWy4Bd%gN!i+$#iL5yAKXWaONz*A6F)M%(|sQ4FMES)o2VYvn8CR6+GKrV zRVjPqO7^glOfvjW!N!OpVl7v_v?3~A5lYaL|(efFH51Likbm&5{R@9$CjUaVSsqC(iX&lYAmR>X#B^JS6 z`i`24;xXhpHqYLi*-UsG&oS7#;?zwr>OE6khE;%x(vrq1exY*U)l=|__<*>QXK_c; zZQnF4bN5o4n6joV$=&dHk^`~%ae|D7u+f4{)H7N=8R*A z4gmJ>%?bd$*eZwj)kW*+JMWmlqefq1eP;<`LGRwiN-CGqc% zWP4;uS7oIUTWV2_SqE3@bnw506e!n#;GKCX-GlCkG?F{gy9xIe*e@{SQzu`#z-Hqc zk_$Musg7Rnbmiqh1v?jWRqSUru~&84*O(bdt1XIiao>wQ41eNssX0=53l5yG+wN70 zXP$c}8!FPa{#teeiA(q<9r|g12nh1*Q-Vrg0%@RdPmBSTADy76nX($K7i!)fjywb# zISXK+4{-u*R=~FKds-r};=+4XcXwqQaWimiH!qcl_LEftM{ySZ-??TUgM)rMFe z-t~~q$dsUE@>K@#Utlkwb@QJ27UBaDa5#f>f>?H+(}6bSyAUJ=vL+y_XvjzBhQv+g zE^FKI(y6aqw|Srj9K{{zpgrqboBUE#4&h`2j=t^k-n@#*4v=y4-I15~W2Nem zDcHl4!6O1dkAu!fSjo3lpev5%@a;1!u11P;rrocqlB=f$6&6lnPA(lz0tCWbiXI1sW7mMmZ-_7?Ko$D7m$*EOO? zxhyUT_^g0z;8EsP-*{CoYNp9jmYgx(cwMA`U$cCL_cN05$H%ESp#%}dq{T)~saL&E zB1HPe^YJ&UbxP7}aI5PG4I?%;u0W8DPhqE%3~cBqdv{RU=FRWjZ!|C-QCOxsS{y*C z7Pzd;naCzm=c7HoO0XjI9aT>tTe^KAHYdKxI7yxfMC1`CHQGGvO|3pgfgHd4$)7k@ zs5hRqZxaFitNk$Fp)#G)QlZ)fR-tS;^Yb9dmdO<9@w{?9H=TW*)58~Wo{urAJbX`9 zb)38jZN@<{12n869*qX0a{cEQg;T}wjm#e1BlWS`JXLhMBm2XC%>ON6Lnf!pD(yUdpTr{jICzg7rg-9kvkUr& zc@4xSusHZ07GE0uyj-8mQF@JRTf;+eE_(|n=<1u^5NdD8S72+b0`9ZHNS#^0D~#K+ zJp2*Ceo{9Ksld_p(tns`j@a;$UtFH^5(NDy_>i*t-iPh&a)C}S(#tj@#cL`z{3xOo zVrcK0#y(=+4;8b?MEw%NyTQfnQ(}~Pq$c2BF)ku~h;@F+jnum)D5J4}HOv3|_>ivN zln|`6L2<)ztXi_N zufnRO$x^FQ``0O&z-)-tHY3Cam=urK?`v5%fo`~JOz`sb$E zwlUY@C!n|bMvRzfDuw%DC{)(+>kf`Q%_`&6Q*rh1;tEe~Y2}$^U1O8^1#ql6-ZnSY z242j0_dLQ&_pUKd0$D9)*-d)qcBXu)co?~$dP6O%m5$Wx_LSmm5OdFxq-{|9z&<(H z#UmeaH(C(uqdE)%$~h;OUc-&tT?WN`9do4A?MxG+sr5NV7dcz$o~8E!NE2>{&zld3 z%BTn!{>EnNYxie8@O!3CX;S^PT!a6_E7sEn_`Y?#(6yS+q&mhDVA8~~Pp#t*j1f$|5B^alJy96KNN$1fbhn;=AodydO2-8DDf%wi zRKO7*+&sK1a7cp8AfBJ25+@_pLx8#&a2sYkJ=AIWDvXKco2D0l1xthGYN7+iRbjK<6>KQ7-VrLX2EjZB6C`WR8u zCr6+U>s5L@QMROJ{5F*j@OPurhNf`nV9{~YedA>Cd2cbE`PgmIU*W8nxJIYm9P?dI*g5p`@gHLTQFN=8)7VR+T-N zGp8wqF0l#!P*kQ*>dWrq3@fs!C+K(OYn4=BeG@%**DJBX_@1}nyWDQSU5S06_T73L z$p-g42uH9M;DQEQw7iHd6R$YZ#v7RuY2lt>cZOujnCtEA%@pA5MeTk``i@PHz87TP zxZws`9|gN>zG8kLe%L53cRK$nElIxNB@J0~kd9QLp)Ykgv`Q5g`^kM)A}*jMB`~>$Ej9H7hkmVkR7huL=s3 zQ~rty+yr#@N3eDb=I}a@-~15I_S}I>K$1Z%Tz2w;>3qLSN({yVr5__3eCvzwTIikQ^KHcczYCoK^3uJo*lc#F(i(wniI z2{|p&i*?WNMeU+UWQa9vRyv%-eKj$!?Ea<@#APUU%UDEr?|rIrh&VueEOTf);H<8O za?<~?>>iCZ^KCl`!#%e~9FFLPxg-+q2p`Fe=dIqF z#^Jgq+SU->zMki`jxD@7Opj^&3cBd7q4MV^(I)H>&8^m~{#;ZQ*{It3^9Kaw4_nXh zF7%et4kw!;9;)(ynPr}cwt*-n&)dcgOS;()DX$r9RJP(Qy)#5^`JJ6N;*!eh?QKAd z^dU_tOO4|c;CJWl>fhiI>wfD|)zhZzi>FUQ za95Iei;I>gcWp!g$v5PnxrB7-mUUGEnP43Ay=|zl;x^_$+z`fF`|A+yN#mK9!Z`;k zzFT2qnCF(X7*-Ys$r##tN*gmw%vVzdQ!xS4ig}WS^pdM>r-ky8p?g~fB0P`o$v>aP zEL;$sBk<9#OLF$GgzdU`2l2wudkll38z+BSN?|s-YPJAV)RWeT+tKN6*>vZY=ef}_ zXUH3FbB3r`I)**Nc6I~NmE%Ly{r$xiv=b|(ed9Pgf5$#{+7klSerFsVzbmZbVNoRq0`soq)9d#RLW8z2;D# zi?yxu!PQKA;LbtvE4hdn^^#JgG^=`Z?XAw%%N;E0Z6*14-=D&P$bji<= z2&ShW-=z_QT@?PI$s`8EZ;q()`Vq`3mn%HsmfGB7UhHngCELwZ`SmSB*Wv?zERc~B zu9u&sdzTY9wdDC=vn|~e+PM!53tMl2q2_53I||U&9SPBKK*q$V=63kNDYNTg*x=98 zwfnJOpjDu^M?2~|=12FD*Cz9n>`704z)*a;{rH&3+vOIz+BktK$)oF<6jqk9pyy8r zX&1OOTC1Yf4=;fB^fhMCfOEo!5q$>^4EK28s!MN5j0aCBM;bw|qd7Ij1;Hb7vO?}= zWl3^|P}uja@8xS9UfzUwp)*G7LBX`JYke8reqs&)kLusXDR`W6?-v-ix^OGYwIaZR z*gyqmA5Ol+;JD$@SA_2OCO~62o}Vr{k%H`IWe#-r^8vRCl=h=Uz^mka0NWVLftVeb zZJ}57cjJ0yolt!`au(^uItKw6!Fre8(>PYWRkHA6KAhDgrM5s}c+0CiR znx^)D4Z5Dzb^ldE%2{XS2J6iDgt!-Ass0`}J_hu}p%mzSbRjBx=e8LeHNOwd zMFtRb_v?jd#8iRMrj8aQ>6mPJu}WCZTH3W=gRxOO&EA*wGIR^Kz{^!~2lou|Aw#Rz z1512KR-P6kjy2pekt*pifH(EZ7tG=^L3YT-8Uj-JkrVqDi#~!ib&gwo1z&YZmO4GI zi$hU^L7Lzk=XE7;^lDoea-@WZSo_L*-k{9U|3uI<;~SOk8`-7!WcvE@r5 zwyn`ofO-!eRJWbt2MnsD6RUTu2!1@O(+X%2PNm8Lc2{~*jOf0nSnbXHi|2$M?ilpK z)$Ph{%DnIW``z*>CO_wwii_B)tlY3IN;Pss@vmFSJ!@u74T^Qs4@ysx?emMj<;m8N zndO$ryHoHN4#&+gAv+9&75YU5b&nn_z1hd?qlyOOk0*vhN`)jcNonW z5H5aA9_t`7xn02lsnSHBs=ks}CEvReqiLSNljRr*BjCPTaEzRP-d(jh(79bx%~ zVv}?i{MB5iMgyoyaAZCjiP1=SDx&!Pp`@!XWB(hAK++{I@vNcQ8p&wQG&BCF0jFM< z+T+yiYH4W#b!Y0noT+%VE4)KsZS4ajOr@t@XyIE)x^+s}rNXlMr&Sc`YzI`S*&i$Y z_=@0m`d95w_jk}sbHf6|NaMz{07vDZX~xxNignvbmt2{S!yA#0vA3g$MOlw4^7JpFrz% zKB>vj$QoenXkZNDcL*B}K5&U)dy8li!6hrj>E!J8x6H7ZoKFN)wnao~UrD|ulvZ#`oow?u{*qW8PKsE>7 z5p@Qx7h@?57Q)i*$mn5^NHm0r*WMg2cP!Qq8%sP%`*}P)<59kSj+NTI()Jf@nlTz( z?Q7eN=dqCb>m`4;n@Gz}^(T)*qwz~P}hR@tT9bbgD*3)6D zC?8=Q_oRJHv|en~H&pPtSsu(;1gs(?sj^Zj?B84daykqOZw9;XBo@Fq>`34$&)J=o zjkXq+Era5RJ%6x0!_z!LBM0=d%2aj55m`Hy!XjtF+2Bi!wD^aH+n~Yt5aAd{=a(wL zT9J9vqz!z5rX%8>kTij34t=8AMAsg%BR02j_Y&QSsZ+KE;sS=kIT)T+zf;80MY}|c zX6rorHC{nkh?q3oqZ2XV%6#oll%M)?<`f|%)to#)8G@C?bA>u)I>dXWVe3K##Pul1 zz&ZRd+UjZ2zlGgsKcN5qm_%G4!0%oQzEf~QWJg&D_L$){_W39*Kvq8JB!jAP2TDWH zc#50VOiZ~W%&Zt4TusbZ!OqzXxUYboa@BKg04jGT=@ zUSP`xxeV^yG-ANrTJ&R#cphQz!5@eHB2z-b=!|cT5%Tz*%gmuDflC5bBS}c-DekYP2}m#jd5V!n2CXxoVcwQ{8j)c3O;+Un+0c zX;{&r$nR>7($|3R26RnqVbB?#6@F&qm%GEHwzh ztu6X^cg;mTC40#x?x=4F&(jQPqC=ZcLr1YnCNxcIw7!R-3Mcq_sn+zL$X3ozMZ|?f zgMTTr+2m_2U8$JUE7GMAix5pu#paBo709K+47?R!zV?<_*uv`t3Ty88KOL$qv1*N9 zCEmm}EL|?E!ndTs2f-h$?Gx=P?-LFq%xez)Do41O@ke|_q#~&twZb)0Z>Kz`?O8P8 zTvvmUvu?T~%uDe%+=9eeZT$}Yxfu= zNw6*sf5*0WY@Dwr$(CZQJIK`OZ1#p7)%H`{_pfyFYYSRAuFp*%?t4 z)tS#vKkNFmmsoAd&DbFIq3fw_FG&09P4Ow(P+@`K+&#H(n|tnn2L%&xKQsfIoBAcg zMQvjD0w8a=PeED^V(Aa&BunGwyWYT-WaEp_gF0So#;t8B9eD*GUDFlS)vIQ(j-=RU zQ^z*kvD4}Nj?1O|JuC(fsiNDZ`J=ow2R3%d*R$~)-eID9Jh*oSE66O=k%^4~dIt6c z$Kn$a30sBr`_2WQiaw*YB)3#IV|FCBXzZhuG716~#~B4OBMhnxr^pVm*ygPu+lwE} zFN|NtBxy|i&~AREr)BwDpXMd{;nz-Unr~WPe`bj3>DS^uIc3oP(xOOh;=1rsGd;<_ z*IyLXrHYG9<*Hy188XB4X2-IoUY`6VW;2}%*2Z%=l5{LPc2^n4D0fj`!nz{ZzQ5q? zeJVNRh>_aq&T>%lqD;%?8givDQPP1J9%JYC&Xh&@jckMANFqgvndMAWs=GVXfj}u3 zwv|XPsi}gzZ97d*I}t4O+0rLsmh5A(t3|@rL+LrRg191|(9em&-Eo52MNm}QB0>^@ zD-S%@X~!i2Z_WeGn;gZmDQiY!dHg%+xv+ziiqXwnIQ=~x)8LwalNvWRA8$+vCRf~h?O70b zX*;I$LWaY@A{@rH;^Zf!gDg^iST^Y<;~QJw@TkZbXT!p)JnehJuv!N1ZP~VZV}0LG z!(NfB2(u4tLKY)y?z6PepK|d4^T^O1t0O|Jq(7ml`xo41=kQ$HnUnp)x5#(x2zM0>Rdad?UH+GO*s!F}V zyNwCKBJ0laMIab?k7{LPHMj+Z(6|An7uKa`a4Rkj>a6+F z>_};ut)Kflu5*!4<@e6T?Wyv4%d#H?OTAmejKijYw}NZdZjPSDq4JjN5Ul|!0C%7J z7Cd`mp>ZHNh#|ei6inpE=_YXpMaAy|oo7I&rXz2lIT6XGZ+s!atBl{w}tDN#j?zZq!|L>e-GH8J*9Z_^HEWzTDz(GiIS-MQjFWa zI1ZZZHQcBjc)h22NRPD%9T z0d0=wHaX&Z-N$M7MCzR=*m*@}VyrSfiFw~t!EBs!pT1GJQM4_WaW;#H5D4mAa2{`t z+N%4k1Gr!p-$pjKL@j^bA-y6`!bb8^dE#8*+3!izRk3*0;<%?TUExe+LsXOH#!xA; zc%wKeqm9k)7x%B!7VN94Ky+$_3RGH^4cxH5J31Sc?5M|+F83e4Z?3ve8gFZUa1G4Q zjA7gnZUKQq$V+N_Us}ZM@gu89NC4WxiaHPvxN+%z!)^mRBL)d{}C8-OC#RnT95XX;Z z|LsT+7^4pqEk!Lu{R}}b?&_t>ozAf)lQlG%F|B{CH(~Nd?>bCLWlrREeW`FN;&`9F zz`pv(L#5+f(-b&rBwLPap7SX{AkZ~-gwREW@6W1Ds!L-;NsxtO>^ihHXFuxcxW3my zZzvR-p45aL^gqWHVHoItl5|+eIZK2 zCLXQbGgXG-Ojd=cnfd7O{Udr$+QHhx56g57bHcgL-pzT;>_GOV^2xY_$vmW&MnpM5#)5f;xa?L?#DAS8yy#z`cVC7d5)`hC~&|WG#MrQ zem7(^<*;IQSYjFa6xOJnQ{n*SdA0eR5Sq!Q*|;T|YV%a^jMzQ>KDm=!eiiu0TOJ4a z#J(X5n=khF5C@J4{E|qY&>>4HwaGXWaTMXSoR z9QxICWRyxmW@$c!JgRv9*#R;~`^$QlWmREa-8IUy-0MeBsq0w`GJdI9RP=rL+3J*! zD_5iAvU;kL%cz&KDGSYANBt&)^xZDVk8u_s<5QLOqn@?3<~vaxZpg|XZp1m64kUC0hVxQLfABi-eVTz1(=*ZXM^9OKRigVza1$26c(acr}LeHWd`?^!d_FwDuSe z6;%{few{P7TkAm&xD{j!1^t8Mj=@1G*1~fN;iEufZuL?XF*l)`m8P1$!VPQP8-^*DKl>pU2^FuG*+WU&h zzemi10^{{{BuV5E;hN~I@B2g#w65%+y4a81#(q5e=y^UhY#?mFn+Y29U@(&tWgmb$ zjLE6m;~(e>@lL+AKGUMdU-MP=Ckog@!rYJ((4Xdq8iOIY@{Z*6`5dk$NDijH8aH&x z)$XJ2GgPRWv7bY|>kZO9yV-g~lixh;$Wx*q!QU*g;Ov>v{b1-w-`8Nm$WdyIc37L8 z=-_{eZqLnzo$PTw*cQPZs0^YZt032d9-1>nT1JK6!-yFV6B(~n(zyLbH90}u`|N_D z{7nOk>Jvle!W2WmTAvhmLcChD6`Tpe@7T?C4(>bn|1?qzE@=BJUy#pcpto!!+s_**?K834a+@Twv>o=smK&Y2^^K^r;Gu$THLw0jP zaDLoL4YD0zK@ySrdV=g0J@Tm&Dw}ub!SgQxZRKmi}iIP#zeXEEf) z2kI(1=ZK>7D~!)3htrr>GtB0lVgXGw=gH>4U(D`#>(Sb1x&Sx9`M|aTxrg4MEk%7l z2mS*SLOe>1Bpe}9h77g$JzIz$ZA6#pS3XBjwi*lr>C{6;;mYc+#+LlX{=l^whLsc* z$~t&@{44Lpr;S8e-|6m21W1eMO>BAA~>Nx$h7=({#XEL&;_f-b5Rfs^vlzK=kq#0O0G&qjJ$ zJ~94INgqDUs9(U9LR7EQ6+ic|VOdp$+QL_LYJ%R;HNm*}3-=gOZX14XSS#?pg1z&b zfYm3}NZY1ri)~c547Uou4znk?B*dL+kg-cQ3QGt9%<8FpNcC?f%~j&yd08$Q%{je6 z^cY(I%z(K1cVy1QJOnZY+44TIH?r00=BEBi3h-B*Z;q`pyp2FO*dA@Ia36y_;(COz z;MM1Hp|no1C+PkbSd?gJ3~}r%2b5{}4iX(%xZ;fDz2%$>I}4C0Oy`Q_-{j_*DHdE7 z^p4clw9XzcNbkYZSgP5GCAd_c{Z_@U1rBPCm|9j0FQ_Ay4=S}F{{FV)xu!Z#fuzG6 z<|!u%7sxm+>O_V^*!3o1zBQcPMt$%*91Xvh{r+PL7(DC{0uwXyJ69(LCcXMGAM%k@ z({J*DG6TRAc`XQz$E>Fe>oKbVxeK@pTovy%PIbHjJ;SY_Rr5_p4;?2F9wltalw@Zf zx4F5^@WmMwR;2|?yJQXG%tRL5N=9tIH;F5-)<`MFSe-(P-mWJ@l!tP_ zn9nE|)oXc6sE;&`a1@FkDVS^h2xY4nT9}JOv)ztDvQ?yO+eN%*_^Znx;UHGHLZiyd zq-N!6h01Waqbf^$nU`m*r+rW)ek}c{Yo9J*cN~WhpQ>EF4YUk3nQu4rF%^FdN?vxt z-yHPY--%$##2l3}gos8QXWiy*cZ6w&8Bb$4m%qh>EsAYQO=3(kysOcQ&Y6BcnZtcZ zRXkhH?eML#$`3 z9Rz1ii^-YjgmUkM#G2}ZD@>Y)EKEJR7`0=twU~9hewwy{BpaNw(%WiM>{K9Wvz4TF zwMFb5WfOj?zzevC{E;x&jLo!#LPX>A1V`1uO7{`Bg0~|q#YUO?#e^@+LUu+vBM


1x03Rvi&kR;kFz8Cat?daImaz;> zwW%LXC-M9Xz4hrV)Sby&(2A0m?(xjC1;oInnmsGUlXF7vSk_B%BHMyuWKJBAdZLKR zDE(^b&@L&2y$PmI!qKre11;^Prkv3gm6xjLwu166_|%$5n&VyY^`s=;e2NPf>Q95& zjNAbw!WE}#`wD{&Qw#gLT~*yYi@Ce@p^3k!~ z^`r%}UY~Vw*7&>8M?+QsbYv7(V`dHTaY`G@0?G13oAPtwmEi;20ysbfBp&zn!4foF z2}n<|%wE#g!J+Av&(#QKQ5nhF94=^hz@tf8dPKssVcYy7u=g<4{k;eCZjaJO&*Vs2 zB3>{2ZxxVTo$y%xn((C zw6_%NCu^I%+HF=6mAVDPskLmK7BK*+7tC8 z{Xn@d+!*@}Iz6|oUoAY6L2!j`ls!ZDsl1RI_ElpM!Ydpt&3C47Wx&SgEqNY}!iNV$ zw_k zl<(3%bF``x6fxD*&Wyug#$~YiUT`&`ekj(ibpN?r5Nye-5N{}LDQ!Kx-*vU`6&_-F z7hmBzBJ2a5aCfGfm43~f4<9g&+AWM5?ZbP2Ky6|YWe>1mro&*Hac`HATtC4kB0f+| zDNSrQ;|j%?Uo&S5k)8j03XF_i6VMg4kOrkUAa-0QE`_|B{g$N6*QL5LM5ajAM{aMR zguOKNk(eZ$bO+Snqi)s<`>MT56B~Lf)v6XZ44l$1Cu^14uJh?Xj}}-iw(&8F=)jYi z1aEj%SU&Gk1AUr_rL)BHnl;gA1?HdO6$he6GnPK=Hk^RU?}jyj4aun6`wI7_F_Ww< z(?#n!Fk1^B{$@8w)S1vXU$RlR{GM_eyNBOvCYyCub)$Fx2c3XU%6os}h(?yTZ?$(7 z%53k*UdP09|8rvT5Avq;B`JshGq-DiC&m{kKyj8(AG#aIPL>3nz!qju+s}t0p427K zW5vseTR2^4GhJy3%M85 z4%1Z%5|Mt&08&+)PcOYB+lU5~tSXr(tXSez@`-p^LUlA~Pt!R15Zt0PPl$i-BvCd2 z@>b@7294iKNHbqWv+My+I{t~=P_6xU)vu@d57kXwPn8$ae8G2>Lms%#Drc@Nso;h5I|dEqu&HsYugHd7 zCZVwg2I@{nza2J~^=O+WX!uvqmV#N4UYrccYXm+w*};1SaV%;bzqzr52WnpZV-EEjGvXj6^T{y3-|u}vx*4^@Hs8OWQ?3Pc_zWSm);Z z<}|Aov|k-%V?{2V!ioAv^GOF4_g1TOh-imof3(}lnwi-kC|aKYfm$8~mxt@9-RwSv zh?EmB;d3piVAB$&U-%5nNPXuFdKCQOKpWPbEc+K!qU#jnnZejLm?%cx23{qw2Q7aL zhWLHp#Xb9Bx(-5pzjAn-$CTN6#a?C#Z~gs_-;KS!_1(sIEml_^YSQk##MK|?+>hjF zC#gj`kx?SiR0w(W&SRUT8@lilNg058?)QE+9i*LG-8eXfy6F>=|8L%Ok(Chqn9$qWCHXcUdCsEl!N;LpL+y zn#D=l(qK;JVb;>p+FkOiuAxxdjTznM($Z7I50HNLQ!#0=i@c+VsC(a%NS*TRj%A9p zkC06MK9(BnN<>OTSI?PO-$m)ju#seEOWN(&ByQf5%Na_@+6hM2k3 zAwP~pR!Cl%o1l37beFkZK1r_kF8S#g|A39ln`Ro!>ZZKU5Ra-`G4Ydx!ekdV#N-9? zDmaK!hYOj9k4)qtVVNH=3rF+2j&L7L1IZe?%D;edOpsV$M~tRLUHN-Y@c73f(c8hPkr-lJ)6nS>puzU{ zqlv_Z6EJPWh=qt_@D&l!LIM<(;&e&2=B{$ci{J~3b1{mLP8jb4@1^g@F^OtY7(tnN zBnKSzfLhIIIGmk(5t~p<|4bgj_ImXXv~u0NiK*~}*QAW1Uyw|p(_pa1e#%)Th>dVX z>R?6Ptt_hY7tRtnCi-tx*CmPfRLe>lr`-h4Co!4s@`9k!Q1rroPpp(yOK(i%_8pnR z9X^%a&`jz32wnIweCr%9o^t*^eGpu*--kZNc=USp>q&=Dvd+(0h%){mcbhd!QHjYx zJ6qX_M%Jj&xRNSjr>?B~we%*kRn9{v;%~|QG6~wOPvmxi zkMeAw;&aeFTOZszg4iFs5-`c%OW-!W+>&4Z>?Roa9+#f_-HBLb9p(!X#db_O!=jggNfgENYQ`vn#tQ z--9_-u;ngy8_upu*h2Atl36;JZl{bjCewDS(Y&%;o20MnMX+&lM$DICP)C`Y7)>bu zp05D4NZ_2DoTwk`)NpQ+Q!dU-I#+~od;w#J(`m+hO;;&#$!$72gXI$dd=T~9X++k} zv;>_q(Eg&0!)XAWC}%0Q#vCWKtOqgk+D|_kYlM-Y!Sgi~nzWq+ll*1dapVt{Jvzrp zt3QKxX*ZsSlTkIFmRdYpUTFy33!VfAk8QfJ@|c^P#(60ivUtP_&%Fs4oxcdvCFuy@6Xzou629t5s*<7E9Y-9#D4be{mC_J0goeJ z#v=c%1@CgYN7M4lne!Df{D73Z1l=mf`mND3?+Q&q%%jCMr^WQuf8VIuo2^R>b!me z83^vzM$FxSVKU;Pc1$}C=g#)upHUmTsfu-ptJ({6nZyh)#|hF&*YKQUrsvUt;ncs_ zEr_>Kn*HMU{*W|jsY+B^RO6p$q+ljB&N>myS`*m{qKG%LumD{fwJ(t?woCM> zmNR=yNk~-~Ke#Wr1}v#H{3exoD>XA6!&sZlOE!-`4K;w z@f%Px)jyo!$#7%`rakz%^Mwf20T;pzo6{4rF@R6#8MsFJrQQMKwaS-F*I&f-amUJT z$S&;$&P$tHcuBET&@fYl0ioz{`o33d?lZHDt~(-TER-vOm?a)yGwwF%*P|6<@(bz_ zoiht1uv%ENWgdw;l*pTtsgDoRTbSdeJ1pWP#xs`$W8OqgoY&x(-SS}DPPKoK3fMOm za%Py1t!N^bJ{V70dA^&kyC_p1Hh_Z}R0`ONd*mBTp8_*fU*3HqtY4)^l%Ap0`W+W` zH7QAek5c|pEKiQhYkf;!~L8ZK+CX+bLEyc5qxK8I&no;S7T=hfm zP#nVQbi7g;#}e|i$Ga|y&YNv>V|^l2-5$hC7&5EGxTp$dI!`D2eD9I|T=&V|Gp8oz z1;Uy?BHF9cA4M&Imo#j+2@a;EOHDaNyaO9p%*`f+WEm#myE> zbaVUDfnW~@aF#Fb8(t>%mXA8{>2Fo?0DGf=hSO~ciCn%ynM9wQZ4SpMOTtQw%QW#% zrSZBjuVXq~z+AhMzpo4%wF$5L;p$cf3BgVg9V*b1@*a1BF!O5=k&)pzZ;lQxzFUbj zxhLGtBG?FDAs>qdH{z{glWtx<>m=2l=&eCN7?{jCB`v|#X@E$cajC#&KcBBYpl!54j4O(Hm}mhm7F82)K5Pd0xEK_eq&<~76uORZ)!nkIef_dq&FAkBE|=Ha2h{O#oK7#2jp?K= zS=c48ZTYB)N1VDrn&t4HPgdefS`MAR-fycND&y1efZQ?86+4Kg)yHrL;MWeX>~V>V zv*#=D+2B^rjcHe>tLrSTIn6EBE%G(fPoPi7^%Xs7zMU`X4b%&Y$}kz|%koUq^JA{W z*44-KYdi`QkKJHn?)v7J^Bx<~*e@aP`hAri`2yQ4c&%W7<0gF6P{spl(0#$Ejt_ez z<3Ka-dyFm$q|j&VCgelN)-pF#c7#`Rbf^uTKA6g|OX9C&<)kgDb$Pa7xX^Y!h|N4# zrt&Rrx=+hTas&o%w&sQUq5=5RYg{?|l9ekG4%0A#ODnjM>iOtIJC5emGH{E4*rkhZxO3Fsj z@GMHwVErHnt;Oxuft&@_1s^z4#Pt;_KL+b-@qItrTKF0^5g_Eidzl6w} z{y0?DRwUKEAJ#h2LO_2-A=oVTdefR)a|ch+;?Dhw>7mnHrpxD{{A&I{d6OWTwbO1W zz7sy?NbIoCS!RuIEh;_sSgvf-0|`|V;n{@9%8bMd&DtYN4PI1bZ82zM*`f%@pcjWBB z?-lkiT}v}%pP3AcFXhfyw~j6C-VU5NaiCYN4Uat z5OBv|VMP8Pe)1)iG5dX3CnWc^Cluh3I#fVrq6$w77Mg}VQv@M>}m7O&t1MFw#g1bf12Jq&FJ^) zOF_97*)kuw@pqj-KB{7>zGGqV@y3tc1P)l%@!sNNzM8&Z$T`nG$2U~bcc6{xuqwLcql%P!y5O-!~(F| z7A8WFLRzS5Gztmhro+cb6-(pCPO-=i`E_YrL@lTA)u^J;o?2%{d%TufzU<@~5SCh$1ckz1w|Rdkcz7V`H8(BevqkKVMU z=wFM`H>c~DUrX6RjKGm0X2?*qR8=p*6y}^JUPM_3-qt>p97x(1R0+9p%?Z4JMGNRv zst%_?)s)QN_pwx!^FeK66eba2Cqv7(VY-gyS)Kyp!#`)d5l0a{9$;rRHxLCoU116b zUDfZfx%6yeK8ZN>X_F=uw3{|#0Sr&}8FCx<6Ly)3`UZH@9!{Ezu9L3j&;%vwl!3ro z=3SDwJ-2IwbLu(doOSnHm?a*h*a<%BK9X6Q7i=9#0Dk9`kuV+CrdA2cLL%B@C0iK; z%|=eu-y^ZrzGcH4)s|rBd2cmUnvhrArP&y7XFkTRI<)g&a?7TAaG(!45ne$&XN{@) z{T>g^6_Z1)X+Li`6#b8W8O3sxU4jW~{&b>9nB!D+0sESD7UoTUo!Mo8-OX^+VSS8K z+uWD(XW<8|{GPw7)-~ifp@vVhro7GH1^1{So9x&|9euXyGPMAoY95jL%MU!RGGBjT zz69;S;8Gc>&!f#S0pF}7$jgzkM8h(nuFoydvXf@`7V10`Zw)xCx|woPk`(t2u2&z2 zL2n;Yiw^c~VSC;ZV*Xt%ku-$G<27mhCVp(UWB3MhTsaX6pI^=ZbG~w2HimU%<%m0( zevRBt8)$74_Xd3tE4qgj1>}m|X|V^it#FO-+V*3?C7F%6Wx_`o94Z*3*(rsB=XtP+ zHVduj1&}O2^iViIHaJV$Sp2(XCwC$kPw?ianV+c$WJcs8df-@(UU|&@2aa@$Bl*{}o0k?|!(-D?&VI*&3_Kt?ewV>O^W|^;pU6FawI`lgcuKCARl9Ai?RKcTlv?Ysm+!j2 zHHK|U^Kz!b;g35vUQRG3Y+7-}J5+0}WM!>adwO{=d`Sp*cxmnigSH9+b7`rs*r8U+ zDsXZ^g_gNu1P7I6%|3*Ilue$v$=ui3m{jMN9f3PsGZ%G9zj$S}5>95n^%93Q;e8l} zn&K7!ji;9oG1%*l;UOWoF*ZuDK!Ztmkjn@UG7;^em2l_i#POJ+t&miHtJoJw4}MsgmqfSa258)+8N~8X0gY;PZ8iSi*So`*UjJ`cLY2N*rN|;O#}6L1BWrVtj`1 z1gjOsY~w?^OFzFepaq#91ZaGkUJ4qd6A5<5vP|6s+u^yz|4ngYJhXO=d0?1KSRpdW z`AS|Byb#!y)+YJH1(8mcuuWNuP>&N#LCKMxD^=riZLng0#2;~aVcDR-)UboB7SvTP zL{koe;{IHl#Jis2JX{l#%U)@tZ?yVSl1)WBkz6AC4$_s z483TDwF;>z;C*cmq^AI`@z6bgqV`PeVka|==jG?1Hr0_R+!kTn?r3isZ)>h&)e(C$<3|MgcxJkMxpt3NnwyyE(M$dH z>0h_6@%5aqURm_oNJM_JK654*_+6$+;(+~8d>VkzWW{+?>|O!I*^cB-<;AJ$Ir$>M zRdAgXUf7fFOZZ75UzdWWa>Q{(I3rqsn0!Nl+S@_XmSALq( z^l6WICC@LSdl9xmi)Ql(KUhpljVd`K1}R-s>mKbR->^(|Oc;LgALTS(R2Y19mCMS0 zdyGvOWtJm@@P6)OJf~7-5+ypz=9Ov0k4k5tdyPCbI;C5u-4>9VdA z-uJqa-cIEY$h3D~p&Y7})^LcWq2gG7XfxB{)Lhme=S#c^W;5H^D(vY>T55Y) z7)^06eez}fZF(@>QBPiJ!&f?9Ga4V~xu9!&811~yUE4ynx<_9h?qTOi^AC4^k;Ih^ z&FP^z{<-FpE47Sz6?tRzglSG=@$jBk8H(Zh)$mF2a@KxQoKy@JCQ(IJ(z~`sbj>&& zF4gdq%0}x@Eqk1366opCX=wlJ<-BA1ZVDWh1eu$#a$(Q6-&`3T; zs2iUe7RZ%+FI-U9C~1z5L>hx)Sg5w?7)oyfjY8sRh&%zW6g@$!QW7qgIGTSX=GPru z0~ZS|)d+k5;jI1++^+R3#7i-8zTu*9x2VV97BONi<1Lt)x~HZ%<*D}Qn*!{cC0%6$D2zq?=&W(@nW(CE$u-h?T*03A8FNoGhr zilsf(emSzP!&4$CbvYrMBx7Q8*m8pJx60dKZ-s_zS_!G7T~t6yraG`e0@r%T{Ijgy`cM=5)tI+(#6}Ga zPvKUvzqlhEir>(kDwk48uVj)*)56r_{(SEzyW0p_6T0`3UfqU@1$P~h;4I?3GH zLPdJ)sukUtd2Q~DYs{e=aD)gB+FJn*$Y}9I%H#dOQq{!j+lN!@GMV?H2t^A_ASm~$ zF3}XQtx^tABXqHbr_f`4Lhc9_ED*+kQT{!IeZsJS+a8=ECa}aMmNc z2w%D?OL_;7=cr>kY^6|@N^Z6SKWILHxkq4qZL%rA`{ySr+#=(O4*3vdd zd*fa`?gZd~NyZgQA47wo+J#z@@Kat5lz3w-$!b)ZdT~s+Ft{kxBeDG9mx#ut#o>>% z4?w^X^_~TlCCkq+l83UQxIHQCid7*j=#lv_3Uc4fwQ?o>CHl6)g~nE>57@NYoiKf@ zORNk3TPiOOlYFc(GqMkTtl@ix;Z;4Fe1>mk;qoj=MQVQmOSJ{UuDEr|UG#2BMC2tI z8ZyztY4eF_E`yW&Lu<`p6IcXXuLZ9k66E^i%j9C>)h4Ac;W-Y|=zA-$;1z4v?) zV%5{CxijG-NK5a0v~}eDL~J(;@zJqrKT{Rn3E`-lfw1F2AYpw6fR-q<1x6mOO5zp- z{`k?L7zA}8dzu-Pjw2(|R_n)1Q9qS1)Edt{=9rc~0+aS+uZxk@kg@v#?qeajFIwxf z_5cj(R%F<@17le;PT)!VzT>^vd6{;$NlM8?dqbc2b0gTV+_*pQqrdpjG!9!j8!UY8 ze8Q|(<;TnhrE3!7^1DLG$h$=k4W|?%+nM?%D&T#W71?w zoM!Phf9(?vdQI}zK{kahX;$(bzM?JE@^|PH6|*)>u?xI2 zD43_^c%vAmCaZbVQPyQV*w6{C-t9%AX?Pev7(_3-vKsmo&p!i?Jic2KnOr@jNoB6O zUMtQQYE=TlIh10~buGLhaq(9yUcee@o)^xD76Qzhv@{5q)*rtW@7YTPQtZ8C9C{WH z35-_0rMNqBn^J&~L0Yj(C`Ie4M@bQJ%r!f71p*{48xu2#VdhJY8~>krrZ-L7#=mlS zR14e2G_L42w%P%U!r(2zIikX<9tlET7oo@4nVJe`orBa=UVH5nnOZ#SK7w3q^4QO2 z@noHZVZ8FV@XHBD%a7q!6;8r(K+-1cc~GFtyh26bLna@nlL%TPZs?mol@9$4^8MDK zs|P%s+nfBqXIB6iGYd8QEyXwLTw=3e9fh@7`eda$!ds2}Ns5i3iqTH9%Dr+2oSn`r^zt%oLl>NjV7*bwj_KP}# zV?7@4YSO77UK~g6DU((o1|2el~ zY1uPvjk79KG?f0>#A~40eyBezl(FQM>5(|TzTO^%$>v<a7%*e z)#-)7vh>U3;pnKs-010-uU90o`_p*m@$jav%XN_e>;i)qz(VU9Wt?h!?6F@|IdwoBZ!&=^x}eo0{RZd zMg;$q5fupjLzn&+l=vSz)`8&vw_pkWw*@N*aI$eEU?QNGG&gb}(ER?!K%hYIPlom% zXa0|L%JL6q^&g@9M>-YMcht86m=e&->6;om5d6zi{ZEO1%Bue^q3C4b=w@q7Krdx( zWBEFc)qkGv-?b?#h!e2gz9^oj)Z|JeDTDF1obKgv;9 z>zi9S0yv$mtof|Ik2Q9rGq*7TQ2zTT_@@{9?+X5RbN_mzMET!r?*ESRU-0k$yT1JI+Wrqwvix^n{#zdX zAFTIZn~VfZOpL$S3Ft+>hmNuR_ovmjW-MgkE9Z??J6B0_SN=@fB}b4*h9PS^p+wE{Q0q0_Y-tM zSq@d$(MdRI)206ED*Oss>i9`XmM?De>Eith6}GJ?mPL`|r_Ib_7ca z9;4Y!2~>SC!3*;(X{S^9B!ax0|31c;)EY$g^x3^pS2rs8+* zHM>qUXBQXg^xwI^ym2=DtUp;+km&cdR>-8&IRN?{R#ri8Z+I!JrTZ<1Kr3JO6HqW* zS<&Cu=BJ&2)cE~l1RjX>g4KGwv}Jkc-X^!ljZxg=eT$OqV95S09y4@>yf>t1$hm$O zSb=xe*+?~ZiRk{~rgV!BcI{Dw5rUCJJCN*z=IiI}=X?BkK%nw@K(=1+-Q$a6xmZ#h zl7b=oR*{Cwafl}_iI>LA%mVrXMhPkf0tIVhGVbDj<_TpE#ve=;T;3>jph{qO@Q}{< zb&$gR=UXzB5WN2I7?h{*GPP@l`hH6c<*jIqn!Fc|>*Gg2v?0X(7Td~f0soi|kv9-; zv_&jNx1XOYV*|HeGoF-p4;LQ%C4ar|nJ*^CpsQ>=`T85#RgfP|kfp##|6c#rwrQbT z_qYXN%jla*OJLw+HMd;YSqJ&%w42Xi)|nTIneO|{mJ$1YjZ5?!(6zfP%+}h0*V?Av zZkp5Wq$it}`wADcTYU2`Ngf_OMVQs)16sd*;yfyVckXujao64?WHTh@nE4gZRzk(L zYy6G?`y>P#oCuswvPWk#7tUP^b>F6M)PAQcwnXoGn%_sqFagXY_X=C9ts>0lU@uQ> zg&vF!&g3=9YQhFNjuhSw9GPlRe+<4|knYg-@Y7!XixN*?uq$tNPdZqB4n~8Y1|k^$ zj^<6dbfM0mT?axUu;wE!Dk|`@pKfsGh248v$KOU`U}{7lsH3FE>e3q`2bitpieiot z9F-9cVHodAJ@A*JYnA?&2x#%!lA67ys^74N-TQ( z*36>MX?!kcHk&ivhBmwE_9Dh~leJCOX4&TLsrTr0x4*kH2XzYzpMvPP73tiD5`zbP zgU@_}Mme{U(aX~HY)i8DFYps7(g@E#Q)iw-JcysT<#$IGom#jV(L5 zEn&L55_v6QzE&{atE1$jd{5&VQkBBjc%1niBcnTb|JgM(GBecm6jf$(FI_?j=;hKk zeeoQ~6mq`;4YPe188!L7SY2j=Xy<8~yS^!3vCK&_uYZl93KruP3Kh&DJ0f%YHsyYZ z`8o^o_zmUJp3r0g8G5i-h-4ceNI-0k=b^Lw=!{-ppU$T|F=qF{bBD1Of{6K9l^RN8 z>qraVL?2|2dWSMw_lO~nOeI7;1EmD&q8+}r_SAqMkS{o6+kkQDf4?%(Vfp6ZB~tVLLuYgZk#f6;CIc zEsnx1fu(+&BOMilha{isS)sB6ncWt(F|Ru}`{rq2>Lk@|qV%!j@k@ki0bfI0lL>3F zw;8C*GFN)I7T9!e%auXLk8LON*)UEZDBhy(4-JWGD*uF;3DRH2H^lXU%H1Xkr8$Jl z;dR+&A3v*+$SXmISp~CA%@drqC>uTStHVBit%&g(wdbXM>jR1{-{`pBXA&OK$Gz=6 z!0ppB*=|Uhniy58=u*7b0qq?SbLQ&E@Ba6s7vIZKBpZmQOrjAVLg@q*ar_31W}o>_ z1i4z^JHhFMTz)g0v>%n3k@mCnxoFkBF1+^|)SQ7+W7~jQn8sY69~g+g49KU3Kz6wx zxBZKEPMihPA{>1qKKr7h}d?qxkf~(;%B4e1zF;H3Mt+b6ehf$(+t^6Y^muq z!)akD2Cz%kX*hEq)}C^fm1 zj`k`h?iV{lGWziRTmY-w8Ser_GwHZx8TRd6l*A0@)StAuv!UaFooB2r5#t;h2J452 z+a4{Jg0@jCr?IhSB)BRYdm&tV!pe2|w>bmehEFq%>INN0&5LIGNPy3mn&+1&`RP(u z!-M6@Bffnw(Dy328H}^llXMbZk{^k*1)~Q74etLRXYT-P*|RkG9;=US+qSJfwr$(C zZT4~Zv2EM7ZS$S}-+SNpy*Cpx6B8>c)~?E|tgKp95j*x?zf1*!Ye-%e^b8K1)48^I zzj68=QQBo!LBo&fwS_bl+^Y3wjDw$&p^7;{qZZrmH-8>B@=Lb8yt|uT!P6>+z*j%# z-KT*ebqTPBgyl}Fq1E){TAG?`XyPO?z1v&Jpnk~VTC@jsgu_oyK z;VK{5UM=*%)e<*eoA3{|Pl3^^D$IK>#x&(x-pH3r$D3>Hnz2wCP7bcU$P1kVaVUI- zi(K!NdlRY3%AZx@= zjC)=?$gIv*uuJ-aJ=p4GSL6Qe!f_k=bjJLig(nrZ#Z)q8(J{+BG=48x*h(92$OKJA zU{m9bGKzV(5hqWv?7I9(bqYIfG9R>R?b97pmOrXkQpaqp& zzi_xT;CX^;+d-G$LM-)>uE~bIx8a`iHCU2LTJUF^NT949zq0#YTu)(CQTeU!jA79} zL)o?Nuk4!Nx(0T3xmYgxcMwY*84m1XzqnwZ&ii*}zx8Lh9zrA^16D!vybB{bjUP&roe`paogHy_ zuxlUp>~HW9Kn*Tdb$XdUl)#wbOMS&U>9XEvw5}3P2*r^% zj0*JN|JJOx25g4G8=cZqUHE3%MD>emn7IyMjC(!Y37TnwVx5P{srRZzgEmE(CNK ziZ=;|BMyng5ARqM_xjCiduLjf5Xz4(LJpohsCOHVG>{}03iog$mzlh<0J{3FuG@DQ z(3TwTpsy3?+8|QS^_oXY4sIT4I+^?w)JM@)DTea0v*#<+>);K zD!-}*Lv>f99r}t?ML}@V@9GVeE8qhubxIpp*Q#ol6YpRPv5`_}w8OyFzU{eTw3M^> zHB&>$^v~9O8VeKiQUh6o@8ZE3>+#ST-PxA`yNNX8B{Rm))Cq(;j>sv-;oIT^%QG{} zNSe9FUmF&97v%Qk_FB%oS#b$+nRa~-zcqg}5O!Pk=Kxy;0&DNfds3r{CP8YJ<)`%&O*RRfH4645kKMb#?=flT`5oO`jh^SKR_^=6N8i8MYf6`D zyLR|KyW)~xv3FQxXWL5!?UA{FEIza&$DUL|H_R4aGi9Q*k=fxhGnYIPtg?`{yZ23; zhRS*qcoTU)q{7VNRZ)BE^AZ5#{LEcW>nAPJqO4RSAoPg zEKN|bOQZ39O8q3<|jpHr0y%+ zpeK6(-)B%MyniISaOV8F$gQKb`C%rHmVwm3V%Mxty??^4id)5i%2;y+ zHH~U1RAgN=ov|7DtA$(usaL>M9AjTlrGf`Y!6s@O1kk|)bl=KC3M3PP7zXiH*t_N2&}-S%NJ zxQeHXw_xgQ{rjzT@hhoRUy_fPv%Ti$S063+y*A%%f+hQ!`|$e%w6U$oyHXU)XUHe! zsK#zUz^3i2(hOsFmNDDiIJKg}Xp0YGl^{u}s;`hyWm&B_V8Mmg$HnQ@#PQfaKUuhJ zxrg7$@3^2G&USKwUkpv1rDY0)@iWhFa@k z`K}!J%LDFCox({Orutvn?>@pUzUW>A&&q|Z)tpcwv=t}x{Yu>CD@iu{-mrlxX3z?R!p1)t5 z47GTQaMNguNIGp_$#`oZx$(@t2e?=(R(ql8gu<8H)+lA))QD41d?a|ir#}ve0imB! zkhHoFNf~bI27+x zpku9ZGQ6oFtuaxaXSaZyp9ymJ;?<^{7-ej^_ro--;q*R~I@wc3o3VqVNSI{=Zy1g4 zd(m&rgDhQ1-#0PzwMlLrPSdeo7-w|8DR|u-#iuDvwZ`Y*71K@LRx9zCHP5_Hwgh40 z)b8=fWoR3&eP%N!W_bx=0pPv2p9O+FNT7#qfb{x0#COW;Pf;1B>8Ms*L2TwhsspH6 z-f?rv=Eks}02)Yzzmq6sh2qCq^t2GjL0rN=lVA@~0}-*_-Pwl#pa%JM;%~3PYgqQn zXz+ZY?QVZB1BLe)Vx>1U4f0TRh@XYXtG^jfV?5|7;=~p|GF09t5IPr`7n=VLzo0E; z;Z}&`tZ?a^F=DiE<}C;pBh54$3ydHU&CbxZXs|JK#Th$%k!fQA>zwBJf%1y@=lurv zE58DzURu)}+T(5XVU6c!sDF9COupNa(AJs&jL5l8IWfT?a0qq~sCU+n!Jt`K$j4fQ zLUBJ~yZ#|CWu8~W)s6b9p>8WLRld-&5EH$)eWN;5rW-QSV8cO@8GSk{9tA!V_rb^X zeU0-M+!gb{lHA_GOocU{ldcE1!$pIsH#l357Fnec`YI_$A=0k=y_E6^=3Jo5B zK5aP_PUM}oTsb7IIa)?w%BazJt*V?s%H7U+GhewLm!HKe)O;!u zsnl`Td_^}ENaJ^gUfO)VRgL9!^EhivzImzcqP}{dhl7bebfg5QP;yp9Gk-M?Nkljo zb_hblTV%GBF-QN^k7?~%XqasA%OC!kxvzhR3K*@jRV2iz%pdSK8j=Q(0|N zVT;xsFB0KC)o?Mj5}9OLU36YA`XbYhZ)XBk%h6ffZOWVV2liwue4QSp_Jikp9_X|_ zyfz~8G0aEY8|bp)d|n^xba5wsc~siInU(_{!f}c|ip=3?QKHp6$}2g}H7my?PtwR3 z7j?h&?QqN2zunzqXQtY%R_;hZUX28hKVFwg1|}fkN>I+PJ-t+ZGr1XnLmP>KM zA=?h`D5cXILMO=mf)x#)0w@Tw_k)5g%R`^;<-f_m?~#$i6JUu#6H^OuK zL>p_YSPv7kroPqc_a1`j-|uL$7jA96fSZ-QlBm+%3>T7R=54y@4q>U1)A9Z>+LZn< z)+y^UKT>op4HY244_QnUYN@^tpVaUf3^x=l2LH8&+s~iI*wdX4g?qeqcdh@CYH-G7 zC86qx^@drm!Vn-NAFU4N% z2@2|P-7ERkEOc8Zb(VIL!mox?z}EZ%6&MfCBMl0B+;{r7)d}_S8%>mRPA@e|vq7fodlN_i z03ZhS{?%s3`9ra_0%Zh4JjDj{T9eL@%u1a?QUZaJB{e6?q78%jQng$k;)VRXEmWY+&=0o_mSTB!U7`3DNq*JOOZnGL`U7qsa$JVLGB;AvO?Ieoy^UCp5Nq#<{ zwc`4HgJo<+2IUV*Pa#^1;}YbSdM8&8eb!X8QP>kG*=;fb`BcH*z_Ogc+^T8djH`@M zBD%%CkiBY{ZF2gGUKIU)M|)+SA1p8crC zk)>gNQ^QoqX%Lbm#Du#X?O=VSY>@`j5O3qyXdq`uf0VEbkkvs$l|cgQPImGOEPhEs z*i$7D_6eA~&X?xn@;qVt$T*d_?HU$)AmzZ0l}r-FaeI2 ze^{^G+J+s>4ldsuZIQ{w%g?77lWrVGYZmg>9<^gU_X^5@%+m+pMx(~eMlp`#Gchwk zM~(pTZK=);@vjG{4tf0S?yKIeK}aT}u2zSfb5;j5jhID@Qo|XcpmAFl@ZCsiz6^XE z22PjRtx@27==X6^iE<$$V-JXcw>4E{I6_v?pC1ILsRtO#0bADb>C;vZk<350A4X!V z5+5vdHa`fw8^cY`8K}a+NP5`!Bbj|~8Uf;`{Pjc(m!-&FX3}!6Y{kRGE_c1JxI$Y- z&T1igWl!hyG-%^cT=7KX)=o;4mBHsTwHm4eT86&h6P^jYmrhs&{%Zho-K0I-uw74p zF9NGsnbfAVyW9>78db!Vt>Dr|-Xm;iPp?+IhIefHo}vyLw#qitS2PO{c+caU)0)Ff z0{|Ld=m?K~sf{R=#th0l5RxESIX#-$#G92B)5&8KlmwPx1sy2`;o{V)kV%k`9c5*^ zQ-E-)+y0IxXBH>cZ;VtAtJ|P980xeVzY8B6ng>HZ5175%!>)3N=BuoDstE7%_2VGa z!)?=nw?nseIY#H}a>1~fve%nTo3qoUK0noO@`nU)T{ypu}D5S+MQ`Rtrkf3JLt!3irkmBEI+0Z0)3i0khZUlLzVkS zM0V@c7bTBx2=o9(8>@J0yl3x6qeoV1Wne-uIB6uUrt=cJ}baxf1>~v zxdktIM!%<;%77aHsR9(PJV|M|#?LqdP6`#yhA4Pp*yu*kKd`TCn>KOO^Gj9T-31*` zLXGvpDHrUGBzyMT0y`g8gB1_brxmhkp|+hO?d#ztWmZ*%8*s59u~D8ip80vgBJx}n z!Lh4cqb8`(rreNx9PA%f23ZdVG#|i*Ng0)O+>sc^@?zoMN&TUs;uo zK;@)bFGGd>m#w7HW0YH1R>V&Z>KMfE^IgcEO>uBB$ItPv z{LhksDxeN!(msDYFK)(aVE@6JhNuL4VDDxn1YY>YtaNr3Blq~zTf z$cBNKSL{+Y**sW=Q$Tv1fl+NUndh+^RD4&|5TkR~++ZumlKY1Etne`s!Oo$`t7I7I z>UO!^D|L1xerbLSfmTnUcN|G5EP$^P+|*?BGPsHO0JTtRL|n-8OxgZ6s?hYF8Z3T` z=F!xj7bPPNnoqqKpN-$I+TR8Af;}<$PpK-#y!G{mBuAlerA4MO>7yB{kd%t;S{wp> z2DIe83ewaP{wc$!g7BnUkruB-pFxfY&Y)yWm`C7M`-1>!2;!zv#L5UIAi6;z-A?lx zp(9EXLD3L#&P`yx5r>r^G@TJ)+O~8DW$57-;qywBoXcP!jMF5@9B4`l?sTc<^`;4s zH=vM-EfRq=FdMzMeU$d>YWF~sdb-*8I)~e38V6|?qT)C=8y_6M9=$eoNVm!PAlHr5 zvU@=CU{->ty{!Y8O~|qon+H?k>?BQd`nZnt*cao|V%;=g?ZsFTfUenn1+4{bcks3{ z@ICgRa&v}Vw=Mlbqlh)5s0bh>P-MJ_C~}RUpN_v_DEner@ndgeX{j)5a;uPm%~K>b zy^~EW6^5CaJi?Df{=NjodV+11eLYG(bf2}aNG+b5wY1BhvpAGI5gYCWY;U6zZ+SlT zl}cM5z_*0kvq-<(=N9IoBj+Qdt?(Qh+%w#3(hopm1**_$RKyzc$l-(KCnzTlsTa)` zCwmwY{@gYf4WJM|J61VGJB0h*_)ZvxeubFHjC#!7T0R!Y)egN@-N z?yfUX+M1DcbKDzv8gqD7H>emKbALGpldP-@rdR3L6IkrCc-!Muf~h*rwP@T4%2eZq z1{cC6`DxG8`fZ_M+GZJM*_uS*R;?K8zvKQ%hrvh;z%5iFy~ag>Y(WIko!*7fNT=So z2QjUMhYAr9BYsi*8k`gzbq;ga0^lkt6dqj5;}F4t1#jpdOKI!>Z1Ya;*HGVu+__OiEzTc)^nyd z&k;{Cx!2mYUp=mCRs{Q3Y6*nhzEs5Gus@=guLKToOa<1R3?3YrnHP zO`Q`MS?_$uk!&N4r?u?M4^6hq`wA0)+Ben{Z^?MWwaoskbk`Bjs@*mE{@ho>ce62? z0QjbeBrxak!AoCX<~wJL=H@Zcm3Y@je&u~W3=-b(qp=Aws;qU#=S;@X*ZA+__lr<_ zP!BYNvKDzV6*qWUHGd%ZV^aM9Y){1<_|lp!77wyBP5QZmY8(JNQ61b?oYufZ*L z8fX8#-E)!9 zG>6>wR*S)tH^fW|#@00ugoTipq$+!1chOyJ^HvqNEMysbOW0fw*Syn7yXmzw%r#wH z=cM^~Fh3Ea=8bliMyN-jcMG%2^;>xvF?&&b29^HhhEA#yh325jkUlE2r&1e5Bp84k z%RkSxtG8)_yp3XCjt`)!*2_Ia@SfG%Qw3Vd?nko?go4sTcM0Z?qy%IGznugFEHLF? z035*sg#_e>3D4at+`|F^-yH&5M-uBzpE_Z)+V|KZ~d9=StI?G=K!H%Ph2GjSuXA&N=c{%PlyPRP^K)2 z%0x+TfNTNl4_s#8Ch&tAK+#o1NpJa#P+q4>m7rblV%o_dglQ7KwWSX^?ZA%;zz0Bc z6?1mYk7`0vO$tUJs6rk`j~8ScN2P}fvvdWX!e~kSGvSLiVV%@!7DTK8aHtWjQ52s8&9GG_XDp9v8&VJrEtaTYQ5opvC}3 zGh}7L@pougOnniU9S{`eT-E8|!|h-q0i|mE-~g!C992#hXfVEZ&_8gm6lY~rywjV% z@%En)SZ_F@S5Zj(Vh7xFps@4w4c!a6ERk|UKc=l#y;j}M-+#Ly@zXB?mm;kOF! z1kFoaTK2-Aksj&)g?mn;%3c!d)9MhCLx&h;L6R6ZK}NCR(a^@8Tu6q7M?pHULLpF) za|EKwK67Z%^G6`Kxx;HYyOQvdTNzSUVVCi4grY4miw7w|`@?BRP%Jjbc6%akK4$l4 zXCUMH35@TlMyd+~71MLkCSq^y(eG>?o1|aaVUjST#}DowJY8lb^foL;A;Z zZWvS;9>)eNA32XWrZs!NQ~sbB`Z9k7A={@tU^s z;*b#m^8>+rA{p9XZKzf{x%FEkBhvFrYaZrom??*;1akyM6B46tqV|#&k%5c@#pc#R zLOYE@75Ix1`T?i#&*He@0J%B8Me5@E9+u$I(cq?N*C$G=H(iG7V#6qR40NEpRrxe?8_QTI+ z+)qnJI0LLo)WCK{IhU4a!0X|}kzYi>4{*MJ0iDGifU56_gTp!Ug5v&gC}of1<{8}? zDcM?mJUgQGZqPj(EivUgT)ui4yNR{Y+XF@8D!th)9CDfR(jPid{=v%;>{!`r$+aOM zQqcP-C5?6e2dZTzz|6(JQIbocEpj8V8x)jjrsYB0uFXABe4P~~)kboO3@b{eiV_;W zzNv?=>HP9=sM0TVv&A;sB~?KfeNB0q6^(dUKu}y7UT~Vf#Wi1fkUc=s@B;PP%6h(a zs$fEpx%75#jw|JSxy9`Ox81|cBz8%M+S_?i;AHSgcgKE-Hplzw!tp90Kugwlw{ymE zuh1gPWiQr^_&ARDB2|s-7#^+s{)d6H(~QXu#t|)DpLuu;lV-hW_5ilB*o0s$(vvEV ziOimB+8ksqWG)rogAZ!6NgJwMHft7Z!VJ)n?5uS|Yhna4x9vllcKdPT?|^rcCE6tf zbYQFL-@wG11i#&Z%a80rIZW9pvf;R}^RGd_CY!GV(a0h{gVUmHM)6Gt)3`zotdsb0 zVUx)L=HT0lgE>@oKutGG*-j=rRPtd-Nr{8w;97*1_f%G&;T6>D2_S;OvV4{Y1PGS} zD)m?(=rbrWI4Y@#z$wZoVz)UAr?I=m%O-3Zp7;J>mI4UKDG?Y#l8dqK=}!QYPUNB< zVm&l<9_6gQ_g72b0e$_||$Zch&HK<__shD4y-GVh6nQUv<851XZ+zu%W944n`?giay z&uSO)pEVImm^hGwxnW^pvtA!gK8PXRHx3Bx>U>n8sq?I6-{dLlW_mgUf}%#h*l%S0Ck;Xo>W{b!mvDjRe9_&>Nmisp zQ*jB2*6>1ne52cWT93GUL zAOW(ypn;tEhj@vyWx!=WJS-V;V2&JC4?wKz<&?gsJ5DkU9XNm>Xg^-x4GJ~r%dJ(s z5x@h#5EhOGaFl^GE^cOGQ=L(x(_;gld8}D45AGX1ron9!wYzp}_={ol`+;t!I)>KQ zwdRvk;$)pM4{!&Tjd7Q*tN9w0cQ1)-?6br0b{DW+UeC#FOybYIMqJJs-&sb%rEvo{ zA*2z`0Vw--8+r>6EL)^rt7YcgTsjC+7>1r*jzG;G&G}!X>L8Yz2~p*GQ+=Ad;2%hP zoWU-(Lr#E^`Ff4yz05$gvS7D}Fq{lP34l6ePOSvhL}7P!&cQrneO^l;YNma`NTpJNT9g zSyW~{#LoAVbCA7$+0Pq`ZTA(gzbA1CEP3iF!C9B21wvg!EH1*YYj?u}0go4>kNiA9 zr9i!fS(iVgc7#-U^T!~&mJFdL!r~{#Pyiu7Mcqv=Hz-DECcVBM#V?VA!Vd21IWj;d ztb#|8fhh-(6s4p;%y>tNHLzT_$cLr^JldsnChLw#+{;9#Mm<&XLwL6YkUuXoY$kb4 z^vD;E+at+?Jrq>jWyQ9InC}YVYo`3!170clGgB9M$PAB{W+LJzapl5npu?Mr0FgO% zxWI_~@jwhqBr%2xX6?E*b>L*Akg~lOP4({q zlU_k|B{RGshy|r&PI%<(OFtpva++h;wRKE824u)ed_zQ{JZk6>_}8JIlSZ$bKFEh@ z_xRATV(ha4EUrIhP(GX?id>Yy&Nb}>*YLYNxC${-$)!StS8O!3@YQe}oKu5XL>w&- z=iyFMlx}zTr@)G^yL`8!Ok>y+O=VXW#!akR$jZdb6%NAk*Fr0zQQ|D0;B?xU8e_0? z(>K0a;L7$#9ER%sbMpVp4vE&qkjqd({Gq4nJ>(qV&SCl!zETM;1x0aAIWxkQEuLNO z)N0qtv*M2psW<6@iF-pqQu#Aa+nNs!AtGM=(gF&HC~uEI4Ki(|)*JXyrj4=rJ2~v( zteHbsZ+(zS`;SvTm*G1i-9kfS1Br@3jTAOhk8`0?>U$@K@~gYR?7|e)c|Meh6+)|7 zK11)|4Vv@$tC~g#)1b(6*Hyl>g$>Z)waGslqRD}-?9{~Nj-=#$sG&%U&E!2Ar)e;I z_+vOc=&HWg5&YuD3ccgT_ypr?_(SISWEl$tK@V{dD)cevG{m>-qKQiMcnMLA^q?95 z)PzLT3IU+#r!@4v1@ol86GQ3*%vw=@f#3bwc!X%PA|`y+0;}k?-f@PiSSym8PpIBVCk`k& zla-n00FwBcolTw~XmwGvDHzM}V>bYt6B zg_J7mmYy~_rw4!qw4bfrGio?Q6%Z$R@^)A7^s!s*WVE>`BE%S(iRS$-|8WdFWZA^a z?Lg+JXT2p3N!=A8L1%-RdUS&ImN04%&WvqT1GRcA6j{I#{K)%g@n+K=xptu-3{ns+ z-{Rda(bJqw`6mUuZz{uzflGhjH`XH6I!o1vOO@5LGjl^h5u{E77y>pSk@wVy!aXZQWci&*ooljz@e7F#JVZP$rU#wAx=NssRV z-m_Z2bw= zWd`aMd1M+z0%fp2oSHF&d(3<18%1CX%0N~9fWk9zkbS|Ep;A`6XH{Bt@H2Dehf40=nBpp?!L~)Eime?k5-ybIikJ7A@ z?lB$Gq|i`Ah%3-%T~*zyk|+m@5l2JIN@QSa6zUYJ7gqcjm&!oPLR&pq*_i0}8yPC9 zIU(JzCtlWak;>rU`K9<1+=-1(JRlr1{wK@ImVL`l?lYOKjNhZ%$r?O6@*#YEC&8|i zy^T5X@OUxob@iLoon%lYT#R)Ym&;{N3*lBJ$R`A1nVLxgI2-Ixk{x=#IrpxQ0J1~{ zQT=#6G^+3@gxc|dZ%@RkNk?KgM3+3p>q5a*R<9vHl!+Z#&E(b9&+l$guO>$LTm5Z6~& zg#i~s6?&@nB`Zu>(`>hLL85VblJOhB0AQM{rfh+I`-Ym=hGOU@#Rzr`5LG;=59Hk$ z0c7?7kvp(PsM6H&gmvRS4$z90-|v{U>+XbA{d{>ni&>!H>#Lo%GDLtgN%EOa_V@Bi zgrYZK7EdrsUht+rMg0bhqFB$ASo~3lDLTtrTz4cax8Mn}Hd8Rct-rSjjx(YK@{!Q@? ztzXNotvp1Bc-k-W`{3OoS$v8_c^s%d&QMge9O1fq#XxJEH$2w}#Z{;Yz83gc<=oGv z3D98;YS@|zplJ=DxriHF=nghw19YqtW-TTkTfwm#3-?oG0OFV)P50FmE#}Q_Uf5o% zo0`L87l-=krZmN%g_4C?vy&M%`Yg466)?VjEUz*PFstcd5;r1xDxC?ud=(@ik>6h( zrTG^cAN$v(m@c!FX{_$+bMrlJb$vR9-5I%}^Bwox-r`#KG%UwESS@9e*cSO&7!wn` zrOLGG2;(u9Ar$@3D3PIUn*KG8d?K-e8OUWYadJ>09^dDi61u_(w;AOVF^Sdyv>FTr zV4eN}o59X*St&R~fWs5F261oWuEfrgXPf(;g_Pt+ZI_T&sNg}~L5n>lAHX_4UBgWv zTPvFyt45o~3(>ZUSKiXDqEVN{-W10xyF&l9aF<#4wLuaQ_O<~NP~E{_Dktj!DVX|; zAn;CU%LZt>1tGg#s^{69bT$bBc7#})Sij`xv#-qPd(Hg)qMVCoOzQe- zWjXWC0ifqD^RNILZxLHLm|6WDk)i$3kV^?ubhC%){F*HC*w6=kIq#SIYcC$wghq0r zkiA_(a?Z+<4?E!eg;@=M*UP-loy{hh1Yg&R?lk?tN>~=a|BO|@N*d+$KB5C8v>G@* zDD9-Lp#Otkl@~?>KX2iG9J^PtO_HnBeyIm2Q9Xm`kH)mfVjO1jOjkn&Xf?iuS~<0*EzRK3tk@3d8i0_H&ox1KhFXTxEio*hVS#^HGw;RNjE zVj!~G>ZC97+TZy>J+8CqMz%uCM;gbi`YSLN7N_g3t8#DKd z=xZKU_r&_98@u+5*O&bdQ7wT#x=lk|H&T zAxDYdQ=0tCw5JCgjqC-}i+}6LU9oHifY`2>IVlhbgM=0=Gju7c87_SG04qQT^gQ%D zloQ}F)U>l4D|H+OIV3q+DYhB99L+R$o-sd`pAMJ>m<4DnfD`C3Cw(+1BQOcz0Z=k9 z4DfHz4DfnrGvMhl{t5mHel)*I0B!K|fd7p~Xw4K*x_^S7ga4?12;c(H1h58JeSXKD zkh?osYKHEFChX@_K9W-7Gv zLaFjtq4Hdz@>HR?;QjIw0KP!coj>)qoAy9Jdo-{uDb$Gq?m_{q<@~;VM|+g0HA&2c zLe-Tb_DrD|bLaB$=ea`8d=a!^;oM8DO}nL+^ofI)Me1!m?ZJum=#wi2-*gdoom4tu zxa*RyO6u)7?E#1OsAF3a-l+nZ_w>oL!V&U{gOiQ`LgdG;6H0#(KM z{{(LTOV9r0g&DpfZb>V{=op@9H=0O!rsquZ)I~>09^>;F^A;=!{Twe@zGq+PdLu(r~aa;L|X(GvG5Y zGqd0`FfcNHlh}XdGWyovNV>41tdOEGmAJ8$i?Nfrq5d~w{|&aA8w%K%S{dWhL(wTZ z8C$D-drl|dVybFxF5tuj==7zNKpac8i6P>0jo*sbFJ9{C_ZFh5v?} zv;1Y(|E|I}ZqN32MgHqz_{QFuzDe`Hg&v>f8;Jj_@wfK({Q{q)c?QzUzYz` z_?Ml(at3+^7JOD#wtos6BP0Ib@=u+C;d^b_|EYg>g!=2y-wy2G1OL^b|3{1d|EvG+ zz8uWV|CavOH2(Je$HKqd`d*y>xcA?u!1#~lzf1S`)8DcFqxGNr---Vt|Muyhwr}0P z{`_tGTmG-Ee`fc8(vywpF980(xc-kV{V#0%%RbcK+5EqO92oxU{|Br8S0snOyY)MI z!GEGCC^@6+{P?*5yTXZd${hyQT$ z3>@?f-}e4@ocw}kxNp)z%NNJh+hmIIc(+wj50o1Z}SH?8w|F zKXab4j@&2jxQ{rFv^_Uk2MUwcrG*)-F9VdNAikod5DC-KD%GkfbC7I=o zMRpMhKc6HhOR4VPt*#+FQFoXK?YIX@i%+~8N1{=WE+q=|JCDi5P0eBU-`1j7+72H% zAB1gnm>l#9c6_?;r&g)i3GICB6YcXX(W=$3Z~0{99H>@k)v@MYwWHj`s%keiPv=aM z79JA_%4-N+kzzU!$;0~}ON5|9$a~A*J0=g|XdGUL^j}t_tUjgqL%7&6t8(7TM&i0Nw(^BC{D&Bw|69h@f&^AI&E(QxS&3 zjcktLo_sXkKH0xzOT2dz<$pS&Ue9!m`Q0t1M9NKVypQlVflR$YzWBmEmO@Y#rW0aW z#5>=8A^*C6Rzj2NwH#%AqMOWqem8@p1j;HRD==e_15N3q!QvryvmZ~D$oG)f#2SfL z?jP#6aJNG9xd$96s3WfZVb{Y zSh+xS66FSu`p<-OP)Ahz14=$KpV;_6MI&zJ0j6r|#a~BE`y*<7bRJc2(KdIhxQAv5 zUlN+(eFPry-?Nwr-=p5sOK+e(752^J@8e4_coCSO-@`+Fjj%;|4^9+I(MHI)KXkd@ zf#G~*$I1C5e1;et5>mhI`ixof?vvof2@ywb@@=;uaeMK}GTri)02JhkZ|<>N-CpA; z_$O>#>%`pMueHA~?ek$&j8wUQ&-Iq-R;peR-=x6QJic9IbKjU6c?2tJPJ&L8VBh%` zv&uaiM9n5l{-mMzT|Ii3Lz$Q^9&IFc=1i)6DV3c?mw0FxJE;Z}fuP`!;T}`??}9LD z)FQ@X(~Q57OAxsR?H#ypt~qjZj~_iyALkBD)wSQRbV!@$^Xu`l3-K>uEyZ(xO)FcWw@&wDCUkCFFQ|3`!yTd*|M`uZnLf63h)B9IZ1A}#VgzQ}5vHh5(1M7r7#G|wmV!#)cqpVw z1+Pl@ZMFq_&*Us9m@r-S*cI0|qC*JeshVMe_MSJ>&;`}r(VabVX=4AXtA2V{L1%D~ zFyQoj<)koX&XRLVd)zZ^a88k}AB%IVtu zlf$`b5->MaS!}Zp^&>(hK7|ANXKEu-?Ytwo`-GxGES%QKU{c|vwfu!%%8}uHyFL4_pC)^YdXNKjSvo6&%t$IS(8r;Mi z13PX2w5}+qn>;Vbm*WOytcf2PJI5zMHiFmP#*f*(3lkV=r zw(7+nHc!r)Xk8zMTR?V#cbshm=N-9wv1@h9^14RIOO888-XzX?+n`1R(Kn{Ruz^g{2f58hsu0}$|9Q6j`ed}suh|| z{@(FM08$EaA3vNR;fMBW@|VycOgqeWHcvklOf_F{N;%RwI^=3zy_mVmWT7o&^1b^j zDt(7|H588%s1>H5l@o%eB(-2$TX5O#&q6UT+3Fs`lOAl=ndn(s{ibS=7R2#=+E(qf z$dX3LiMSQ4WRo(8=RIHY3wH-M%Kh}gyehzoI<@jO zn2n2=J3O@^p-(`XSb45|J!aQ!<`9OfurS%&1SxbyDK@mlQ$}Z zV#Yik$)Qs89t8n<8F!Xrcr{9baKqg=$fG2?1j}KZQ z4_bgL0xM~7fb(?7(kn4;oM{NRABv+_u8`~^keP|_aOI#8+Bes-!h!+gDugNmzb)~P zAc=h-oqB@#Xqba@E(&j$fTZKjQO!Ue>u%%t$!c<80>Q6mlotQ%IBIH;W#!?U;mhc-T zKp4^1_ueJqShn4J_o8rQn+2pD>#0+E@F7thVsJ0sd;RFuA4D(1)6=2-O-+xHs3Iv-ty-nl_jM0j>O+)9WR_^0HRfX+ zHqXcA8^<&+_~HC~IugQ(&|sGEcXCJj5NWf@NwEHm$3oGVTU1qN<#blmHGZAX`p&QU z{%TU?^P9n{hz2t>{GCY*_UZuq$_9Q<1}3L(R1_T|=xoT?T@nVls5JQ@@!dct%ur#9Is*JbB%qv>Il_z<2NPJ5xcywd(n z$;Du_@`;OXA4cMeJX7(wCIUI6O8u(z0qj|nL#&|Iley#EZ1_ziovn?><>U*TEM8Zw z#|saNjpPQb?_42+a*l*{3mH

JX1WDrZNzPw_cyKc#Zqukhjb;<6$+FJ3MQPdfeo#)NPoEI(d zbr|rbU=?wR4a#NTm4w9})vswxxArKXZDStrV#g_%?$iQ^<^5gMd4a)_DQKlUWT^>vP5# zC#8MG3N;H-m--2^2v41xNFyp$3kR=owfrTj)}6|QauOfK5|luml=sM;yaG0p@LxJW zqbb|wxfcv!PU_GJGd%4g<8sT@(HiqS5brfWo zE&+8R9nvtQFQ;uq)Qb-yG8QaqR`5=A5*@jTRPl`F$kXf7VfJzu@#pZBxL^y-o!Y3POVUOr$Omo3q> zs!{2XbquJrY^kW3Y1x^k1#jMl1kqb{qK+Pwwn!C zvaHmma(t$5$|GyC*sdq28Ea-kZxTp`UCl|<#pqKqQsYR;`c;Yu6Lc+RVxgjb7qFLO z#Ip%V>PD2EoixO4BdSsbskY>8qpDI|S#TbxXi1^0X9%q2vstZSkO~boLa{olu@QSc zo@o=N^c=B0q@a6DM5FQ6TWlqWTg-FwN@WLfdA}iVcawv8!FmWnsL8~O_t{1y3?gI`aS7g<$dWL<-JI64G$hikssS#@G;;H^quiMZ6H2Oojj08 zaRREDKJP9}w4#k%AJxilMP2UUsnJ5{z{!7?f34EDF>~CLhM%vP?U%azPhQ4Z)t5jC zgGBl`KPs0cZW%aet=OirmN(SW#+;dM2f27<6f@D7*wffL z*pFKE*=rdaRJ+Q}st&DBe=D}jw;vR*4~t_b-kZV4^OpcU%Pf088aAv5*h(sRPVrA|Rjdc}{9YA{gOpP2d zeVbVyVJtj&VwQx%!v;EJcf0F9?HF7411DE@Tb*lo`HVV7nOwde?@f7>Pav{7KKtF! zpx$}C?7ZI+T@JPLNn7=p%?bqxsT!t53sf4c7f{)060fVVb-NBLHq)mYh@LAj25Jg% zS~S^^F;Z9nuel5U1RY}k<%pp1@GorAG)~^Mg+7yq$vHFY%3(JEdwI+u4$hkJ1mM)k{R)fU(M$zBHltItxU@ntGql8 zh^r)LaYd{KDj%_)tCN)&1!CTyDVLmHXkhej-fs0{JNP#ZC4FXPibyAKnag{igMsi3 zrF78%Df;;t7M0lIc^!yz3fgNlF)$ z3U;wyHO7fPG&b6z$!FlFB=QhNBibF%!N3-tL*nG63+&F(ljrtnF{suUJ$PUPP7yk2 zJQTG`fA5t0b?RYdlESa#H6R(?|mr(AGSf#2^K74+DzWqjxT>5m9V1E>{b1)cr$Z}b;$3;6NthG$iFWo$k+1+uG zx1wUp<+>F1^vuks!>JngVdYF2bEO}XWJYfyH$ry$9up~~CG&?6v!gh04FN-@8@iF0 z<7L=`YfuTZDeQYz4*epLP1PNSup66F8(mHw;2B&Fi4Nh0-MoUwz>~hI$Cv5R=cMvg zf7R)7u0D(tCLogyH}@LErF&giqW-Pu!th}o5l?3h`)ehomUS0%UB{zLsgPbdAxU0Y z4NJNtFPQM~{y-+yDjqSEAvhC~%LN-V8SEUd_CyI#a}q-S#WNVni{rpYdzZGG}6g!&nc zyepO4Sx5b7=JV^h-AT9B)q3c-0)BOM&bFeo*f~D5x|%u^tk`8Q73m7^)Hs7>C4rc( zp52nLyQW8}bAxVpiLqRBo90JMu|EX7ftE|0QngB$h|w#iOf0(^MVBU>O)Mm9IG;P~ zy*cx5*7$kUMV|kW&plf`{k0q-~jz@v=`G4w0yEoDOBhmenc=j}_=-@IMx-lOssyv*-{$w3`F12^C}hG+8b`|&?J z-t@9RPiJxI0!44u!(lPjs@)wSmcz9?xYn+~ z7yae8uGb%jfhlr==}><@ep}mteIhBd-OFq-4E|p7iM&O0(%?2FiTszCKxE7NCL1n}1#WURJZ93jY|^I+e3e_XA)>>D6U8|JTkpSjdJd>0-dj=V z^4YK-c3OMv^J}3}DPE!P#4QQC*-}yuhPjq4sp75_2dTV3Pj$ZH&2Pqla)sT{F7xJC zW8f>rD7+C&80rCMa5=aPOH64`2$BG0EodAX`UQmIW3>#44qh~{f!^$HJU^(l+Qw1l zDg4s=cQ5?~*E6Lmw{h&^O(JglAJ47^euP_a9wLP!coCuYtle1$6-GwfsFQ{M2NAOx z>5-VRW zOp3DnZ^_pW7NaEs+f1ZLSx7Mk^R&GNB}J)#C;1-1V3#!@H*Y^FF$}hWq0_ zK#n}1hRO6|D!a&k`dA}qDnWHuts5%Kwz2F=wQd@X4hk>#CFY*qQ+FkFc(EhRy-YDSa$=cI zdVV46Or<@17xz~+QppRy_qo;&pTV*NS2+jsTrmm`8k}my=9A~x+BT6Pyf{pK4`4h$ z@zTeIw?g-=1YvtOj?>jVgZh?eL!Yjw7auMHdh&SWS>?Naxiq&aHY=)h+L(BbTP|2E z3C$G_F&dZml888e$%T$%8GP)5f0^-R0Vy-=!lm(j8axXm7(x%46r6htn}|?3y0TOE z<2@9k<9XiZgHI|s$Shm{U)o}^V|U5!zM9@%waQD6Xggkauv&q$dmh)31GvsQJ=UM* zaA$adJ6Voo!THHA-5P$QCrX$lQifKSXE(Fv?ywa-v^5LHf=A^`c+$J7Fq&H5#4;I{^&39C^ z@~>_4q9#$B$0%;?zCX<2ZtNnj_LEHE>)~pHT^F0-dKlL4YRdW z=A=s!5WQ?wVNDoCX3w;L?^DWN{q0jIo&bD!STG$8x?g{d6y=z2d)(x--L36vEB#$% z$yF4nK}((-v};G;rfy!?#J4C?Dr!0;*zEULwQ#NkZ<=q$2Lp5Q;DSM>LArsKv8J(> zm9AC$Oi4Mz&>~X(6Ip>Pu5G}Jich#%Wg#Qy(etP`oLjJ5A-(?y=}kz4LK&IbLf-0d z5f}L$zF+Me8ykO* zsD-+@2TU4HxBBgRUQgJgz)cOKt4|wVE~jXU-3(o`+~izK+#>hcw&4apJA6WTJBUM0 zooCIO_pK)?Q@!zoDeVoEpG+1Y=T|o|=H?a|9FNSL_u zT1{^-VDF4pyRQ5K*EfRzDDtk70|d_5yrmf{UFPvWmg1civKYDE%UmZlI%rfBT3Rxl#4h>~Aa6lm*=l9DVc}r*MpgNiFRX4Ts`Ry{Dug&Jn>74B^g0l^6J1O&} z*l;$KyC2PS`R|&w>J8i%5BJ>T^#b%QaoA#1IV~FtDPgICmN54V6--*}rL1MI9;Y0r zocUh-Pd-#;7R*?zVU?;1HrNgIb{i6u^b(kNS(hu6J(dT`C6LCbwCgQ)h#veg7kGx% zZ-!Ih?1pHd`&;IgmXlO|cFgKR9~@9{Okz=qt1`V`-S>SH>Fn7m^1d$PKC?deii?j% zH9FjnsIAN|e-q!~i$?}EpW=ko77E1%8`g0f*?;`P!V+&L{%@&L_3Cz4F`_x1&%MQV zQ+0_HpMU05EJktf_qKLD!{GstQ@ULNRGa^1DCPoMn2E4-BHTn7#oHQ1wXv2IfAhB54OVrC@IVb>3{g%K=_JDpP%;CDS*gXr-M{cZ zGF$vy+bp|VoKTDi5sk2yn6?!50{RXxu5t~ zolf%yaYm*64%^$7_xi$5BiGB@pi2l=fuHOth`ktlyYq$(j@EGtmHQge^Fi0Rg=|M& zX+XDvd*uFp?X?JOV>Wr>V_fznG6Q(oBXy$xzU|JN(dGF|b0;3pAMv4h6#0@)!(HqG z)Cs4*4Ju>lcezdhS!hibAKH%MKFEKs@bm~jU^cD@#b@%a$7wfyi;%_eSnR0#gpv{_|M zO+vJmQe|zCx|rc#ecM@`hFs43&xSe#I_~zv_0fgq8~az(RW>1&;2GYbTcWt>_T>fB zzXnyAo_DQRKvk<0wsszMriE+Yp7zx9ftl!vcfdpPK>xTq4+{6X10|ThC1BhRkk*X< zdhN|cN?k=mN@0Y^`@>`8)_d8ODwq{r&1_=6V31r@a{FDv*`LD*0AM_}7_w~j9 zpat%Gxs3r1h1_-)(OCjnm%Q-c0_OUmnd|F7T6H-ZaXjDI3@GzqUW-Z<~Wl( zxAONGc)#=O{yx?=S_Fw){{zq5T@Ufmj_BAJ|3SqK*o6i(nk*2bxTgUoUjOPJ>#xqL zWTxl^R!+D#IBGY{$R`WD3wQKsJs9cCnG;!uC(KQI(gW&31;mdz?f3XlfYHs zqY-PAeEb)~T`=>q01iJb{Sw``!ujC+w(P6*zk2`;{JXm`VV}KD?S5cwvI0*Y64ObE*^8>5M+Q3u19M)%s%YxQAb^2+jn^LfYct>4ixI3#~i|J5^BdL0PIJ!38 z>_jEb6Z7z_f~bNSD-cXAIb*s-c72U1)@k9`|h?Ci7OKc0U9I zIr$TNKrp|-Y=64a@qWGBp>138S>`%JRmZ= zR*;+D!3lo6Z9w*x%+9#nz{Y|Qb(!EkhA~Iy_GDFGV;xJ|5HK%no+(a~zFrT5raEj# zLo)^NJKUKWc24z)3biQzm2|f0mCTwt7wp_fF=+THAg}S<2-rp%XRx963RAdQ$dHu) zuaoW+A+2@fXKfH3@jSx^bh}&5(qPGkCdVv?-E6<=c(4*Z*^&D9YMkf1h~XFiux`Qe zVHA!{z>?M-K~WCRjlB*DQ28hW_H9Z!S4gn#*ky#FG&|8l0i77Ylqa3_FzW%JeQC0@ zspS}D_Fd9()XnD|oT|7(YC+_T!ZbxrX`1*m=2JReE1$0ClKs*{)#JKSHwK+%5hS)* z3Nv<1Zl>)NQb@NFM_r$3WXAX{TL6T#YtP@47+kvtDE>*GpER)Tv1K2_=qz<7kMDnc z52N2(d&N$Fr@cp9{M56*aMS}F1+oaec7V2yWw8I!Ti2|kHx__k3qfWJfr02Bu{V6I z>+}Y!q5?O~2d`y-Q^>zUkwV@>W_P`B_Say@ax9wVjU`W>l_VR^-LN5Uyo+P!LO8-g)irkx+`~YOcXL`>#xftd9XW9m zC5ki;soj5bSAC7~i1$58v(EDSIXV3lF|BJY9#j}z-)&yKU!Ncz8$U+H?WZ`}a{R4p zYWLw^>ffTx!bjD|;J?hbv%%qZ97exNLm_6oc$lmqB`49c*BkV=+P2h3cgI|!k#l

6%)>(q|jI ztCLDNGc5+3)<6dn*OzjkkqGbebsk3SR^>X`bgy<0u|1-z?|&F-z#e=I*fIXm>U9+| z%By!dhE011+|q0^yusw6_rmW%ls+U&2TUM{&W-?l4$pLmZ3EH==eS*tgKSNWK2jS? z#?PM?F6&LbB<3~*_W*e0R_H~2+*Ig=O)v&`zd|>E#@OHu`Hd&s*`4)A%Dk&itIh6)(BZ8mjFXu&XS5a35nqv17)f)s&WV;*sgb!WTe;CPu?D#E_w*&ox*0|PU*Qc8{PoXsgUS4ze|qx2lz zbwF|AY5YUfS=V>c>BOt(?XbW5u)~rrr3*XJ>3TiR;V*Z;ZoAP-d8klh9bUWedZ};N zR(I_G9$VG;er~JF;aGnBb@bf;=)L!Muj@A}o1DR6?>Q!K-S(8HNs_CrlvR0;E?*-} zZ{d=3(3-XBq+zRM4c1hAp#&?UE-vgFD_kej*ey1u-BasR>$CL(N*INbX$SZoYMZq1AK(H%mbgsZEwF{0KI43E?PC1`(-TRrR3q;u>zm%T^WS^Udy~~jd ztR16J@j4O8waSacg#9EM$eLOM7j(eq5D)Kac++=dGC3$`H-VMVN%ne5@3>el&~xc- zLz9qmZxvDs*#_DJ=Ju|96i#zE3SdeaaId_FYwF+b7YdbB*R6xFkm{G%9EZ)PKLA3h z?vL;4_L}Ref;zDd>(Jt6%$9&!IS=70hN6@*z6C&HgY_1=jcnd8h$Rj+ z2rUlFUa1I}gu2CSZ4_WtA2l!Ly%|S(ip?{K-HF(gpHZXHV>%41CG@5L5SZ6V73{R6^ZUa=TAT}|eb=tE^4sPbck)bF*H_`mbVl|WBn@zrvHa`Y?958$fGbTe4ek-% zho&3cn>8MJoo$VjYASdg8D#fX@WHVA%^w@QPM|GX2^fbxAGPbl&(fS1yRIAz@9>sg zx{j1ozX6kWsV@(=dY$)$tm^E;=h@QU67o*npF1@mlTwMSNJ@gavp&E#4@4I|YoZa@ zpFO`AiqC=Al{?#;h3UZZV;O;4NoG=wK&{b@>AR(aAD=1qX^i*oe(HCRTg<*yYF9Yt z!SRU~kP2E&4)i@cYVe?=#?ADjxp(oMp^N`FrGk9W?G2fu-Yh_JO&-Ql)qs;+Qn*NT_m`uIEF4f#%z^7+!g4vtUtQiaADeDTtU7V z>#d>Q&W|^(OtTa7y?#D-f5q`1jrgR&JH7*zJ&*6~?PB(_48UCj_L7WAud^VW^!LmQ zqXDPbSA@h%0Rc{-aREV*3D~InkJRM~7@4||`Aa>?Lch-pMU!{sS>rI#`z>RDlSbAz zXh6Ng&DFw#t9cwmXD#oy$b2 zgM6Ta(I7k6PZOB}Sqwvn+FK{=>1xt~{g(#Q8|RF!x440r=_VOI&XQCGAdhn zHOT4Z#)bXc9*Hup>#Q*lRBM5+!F61?)34#!Ym4>sP%!PWlk8KK5c#KN)W!WMJrjNA z?`;*FEp1rrI=mKRW;9>$G7dbv*zlK)Qs|x7NP>8}kgRSHuY&Zv8*6U^PWbl=+b>%v zDa9P62G+%8&icy3g|)Th%bHHhzb?U8YMcO%m9%9R)DQQ zEkLfoaDbkG7G<|a$k>v~dyfNMZYq2nRQPzwW~G*=&!bi0_xDpoy!?8cRC=sbv&Lhu z*X>vwc3tO+j~`m?_ZR7~?qBz`g?H73cSd5zjX$5_$J}Da=^&inK8Iq*bKzJj04g?H5A$Li4&dhArarYgU$%Xk_qX7Fd<6koB$j@hFocE|3%@v#%>CH~V$ z{Zmf-1Aj0wu`)CM%Sf^Q!vp;%3Hfi`@!v*@mF3@!6e}m|zZ)qQwjYG?e=<^RtgJt( ziGh=VosH!O3UP4$Z$wI3R8m?*mHMYzsH4R{>Ky)WK%Ut6n(^=b|9PJOHTqv;|Ht<~&+C62`ybK&)%%}u{@VxrJGl9O z_Cf#i8vYL*^v^p?>A!W*Kd#A7^Z%lQehl6Js}B128lnHvLI2=kKf(W{gIGBje+s|; z|LP#?Y{)EQRi8h9I8SYx)m>H>c$v4Ew}+kkuNJqLL1CB!$B5b(!ie(xARs0z6;M*q z4f*=RqOe%+RdPlk1PQRliDIfDh=}-D1p`1(Q$_moX7d;WGbCo;zh=5sFTBogHeD{Z z8b4+oXJ0>4?|W;%x>vOkk^-%O&~bcricfVBU+~>H@Sk(smMd3HcBiFZn&^8E2Bh!* z(8B^b9S5gsf8Jerwb4TK+>b=kaXf!qdEHv^rP2`*z1yO_@*EXN>wR`yb^3(O-qW{# zbba(FzYR;z`snET-cszY>bTw%qZ^<1*2W6gw0%sdo9%ud7kc;XMeKGG$lJ-CdcAb+ zR>nzO8J~abg>0nkiG9;TM6i%hY+(g?ulm%a)9X6Fb2b;krAa=k83uU$`Cy;N-g;m2 za>L^}JYP(36Rmu`7)$$%8|{A5M@ULM#o;;J8z1ldS@YfWmbrlsi0;=wxNSdQe+O_rI^lkdOG>^UvIMAcBtiea=lmTS(6p9P9r>GtLFZ4ZT)&V z&E4TO+IG3D;r{z^xq{n!Q{Xh)%d7o|zulqV#mrjA&CCAcyms#!S}wQ!^Nd+7HUK@# zVI)2YxdNvl?xTa5Vn5jf()+EfT0W6tbKG}rO%dKIVh?Wr)9*XVI-s^ieM z*K78?b=T+WBAt1LK$WKeC1Up>B0TE^B;ycvOTJM_j`#DaP<V9dlletyT zY1^f;wh;IA`LlofTRsT#Yd5U$9>Oz#=`8&4Dbwmn0Rw+KeL3Q6#@Q_IKFX-Pv+jJo zH0L)?(o9x8XB|6;)if{6wUB+pHQ4ATJc!MEcAm*M!#xWrLslRzgy(xiExyyNIOMzhb z4m{>y)p@wi0g&6VJILMSoSpW1Hsu}*N36`V+|IKh@2#!isW`7^ir-&T2aw{~580>N z4i`?k5BunPu1}M*-NyxccRGUn8eX@$?}Du>)lS%3YO8MIZQHi7UisYH*~c?Z=BVBw+JgEt2S-BsMR-3{BwA-KA4th3HG%v&B$JR7yF-6Ah%XRcWyw|BIC ze|E#LMLKPN<@HWJpm%=0W~a2Zf3;+X%ob|T2e{aO$=moK@AoU>i^QhIYy$8CZP1by?0B zp|EwZFd)aw-8!!(J58RctksC3v)iz0Qrs7QeV@@^XKNs?v;ngfL_*KwsZhP9O zeom_vY312NsN>QHH_+6qJQvi9&+v2LKnz<@IQEXv&(f8_f0en8CkWDK&R6B%PLLvwt10!8>ZYG$4FSYle3QaPFI;giAjg)uAKs)(<6dW}+L zN8Eud5_&@hO}P#gS5*DT-6*|t84s0$Xnp=$9fD}MQ%r+!fuxL3nPak2y^47z6N}m; z7*)7D?f6xiEID#!ij?Rt+;t&Dphboi)MTLrMTTyDA$1zE3VvF3BD002or;PPiU1lQ z74%WXjGyHBiLljW96d>G*u|<^w?4uK3ZVUx`I70wzgR2QLKtfl^5AU@BTEb`FH91P zAT5k)C?X~PmwAhxCA?##B(pEhv{1zGA+9s9 zg>tiFhS*7MO*DZ$@}&k*vn)mj$J_i(r&xrvfS9Itx_KQDori=28c4=xaH=A!Sw|QPX(YyGO;lBMkqQpGIcFq`S_H-ac`jXuqEB6SQ^ zh#%s>YfwS*QJN%aZcM_8mXe?x-DwjLeAX<#|!%s7e37@kGRxnTw+YMbJY zhE%OdngTZ3Vd#N0Ks8tm;^`~`Yh*>HNv)lPk~n~|j3y;&L_G&F?5)ZgTs8nDEcN}c zh&-jPjDar8)0bi7iS{}wFKYbe+Q4M_mC%)M>T&QWneQBiXQVodl`k62m|@gaM$kk# z>y}0$nO5?^N)5F=8wKqVH^@LETD4v-IfmCzq?W!^)t7GyM(u+^1|XT!aEpEgzFK+? z7ZIhRk)S=cO(`7OAkZ+u)Dne_D;17trIgVTXHg!k72A+&_IuBIY)Ms!4FrkwSDpuq zCc-0fis(<&eg>%A)Iepp9ZVbuKD;hoclq0|J>mZ8ew%(hP+xR!rWYA|yW22MCr)>h zIzoHwXYkspKkzx<6kP|v+FH4YpyG~)By{f;W=#R=2yGdc)!Kg!JCZMzwe=3(z&3_tF%v?!$T0*Al~d z-B73(bmgulTTP91rCt_zyg~P=?`|_8sIQy7D~e)oUlFC=*2=zSKjhMPy-{{vJehXo z3k>aj?0w~q7@Dk5+@>g;?TH=kyB*6>BZ$S#15y##ps(g|#y;1!@z zer*_n+L>)iqK5!sfRY^}4cYk1gKPzVp!0yB@m$hD?Ljr2D9rDYFN@8=C%Y3|G#VS+ z&Y~p}w!jQMoMb>tM-IWH0Qgmd#;N9Vdtbuwa9xn%DNK(b%$G7vJY9)^Yw!5hjRg!f z9^x~8{SA5*kDAT`4}opkDywh46{xSboMv>Dwb&{SUR%nJ*0A*e!kx{a28MM14XWEm zQgV@YK?xmbRfqhZ3u}x=J`|xC@u-r0sGVzetUxPdz>_~Ay@!7*ZI0fY`?{*Bz$Hi>QCGB0+CAb{1&?3cJtl!q9<%a;yBLSTG@AAZY?_18gT&<}C05)398f?sZ_DSKem2S8`i2ZSw{ZW>IRT+f@Ves_V5zjN#W6KUKs~ z-Htd}bGD0E38tGan^M6b;msHC=kIg=To0%|wz{B|;A;O`D3on<3akkH4i@%jsRrT6 zwNdk_8Q)`Kpjqc(->cuY(*lgrN;1C1IoHcJy{tp0*UH)S^6392mf~p9|orNt^06PQ~=0 z426jIfCr}v08h~${vmoaus5LaX+nb;FvhEImKZo{um11my*oHxAbA*hDAk&=QP|Q~ zt^y5Vj}WHrMIf_#88z1GW#Eg zK2A0CGec5<^kqQ(I;?q+N^EO!Cr8z+6=*gpKvE52ft;4D%{l6IsY1Mzc4jYRHs$;|8zj=TKjj+tcDcl^c`=-rorrt`Kt}8>z7Typ%MjDmC z2Otha04nkM#cKYmO4}(K8$t?c4ldQ5Jsbd?Ht85$s@lgDD@kRtfyp62(#hP;ti_t$|xWVv;9U4Bh|oqmme6Zpx3tDw(wO+=`bFLmx(VB{%x|Kc{z z{wEWvHcTvx8`1k=c|1>)1+^mb9rggy<1L7tL-%?$!zC{X{?^~|E*VK8NcxX6I1>?& z4#v%j@7(d&xcR>%vyvo4<0DF`4X0@65)I2l(u5|h>teP?q*ThLTBX;bCL1W$T0~XK#lMA3ZSD>E$MZijmhkJO z>Pk$6n8%mg&Aps9T{6e~(cy*sD(+c{bTvfST9?c^R|?n^(B3RcLDA}zuJsWKLWY2l zv=IBsFurBmxdOlR@gxaE{?z@VL-TU>T)Ez^n&q{q3Sw!9#Thb!4R)PBkA#+hfn5Ae zBCAP{aH$CGh!pnsmE=_*Y;j*WA^8a@Kw3crI*6G%J^gKYlD>I^E-oV0)XS!&qeUy5 zZM>1gr6z+l!LWw)`r12JyG_Xm8dm}Q_il^OVy19Ye^1i1Zzof+=$F1HC0Gq&J)ssgNwN%pWM*pMAtE430_CQiPge;NKCy=^+6#QmzGH#qo%gRB&F;sr4lMQT2FO zS?_fq$7TtZK%P`2&>**zr_S~S^tPYYB@kLl3&{3JF6v(XwJO}z9_4Goe z^3-L3(}fy|3~-x^O{1=j{Y8u)uYgHXR1+J@Wswpt%o3vJ=aX8MX-1k2Uf`Dd;e8M? z%GY=Up_(Ooci>w~b8C}BEG*v(<=09q5^alMvAoApj|hvXpy+N|`QJW{~@7xsqDS3Ww)oLp#gJeM(9O&lQ^h zrb7{YWwy|4icVt((ynFA4eX&2^r}}$OweEu%YYE(Wa{EeFz+Qli{-gwuJwr!{kTfl zgUUR=W3yx^1X1qFdp)Gm#=@r4N_s}e!2?ymK>M@(sU=E{M;M1JeFd4-eT35$)(I(f zDC_b*GRS2Rf|!TOu#=RX}!+ksvbT;^*}jESV5VWr*dJ2UJWHeHDS&_fZJ5 z!&7YY^eSt}#%n=jFZ7EIScDa5n#~_5Livb6i{zBIFs2HRBnu*8!lE1zi^xC>2?T0v zkQEAF5U-8ZcHh04qPZ-QWGF)r3iyBWm&P%m%8btbK3-g`j96BySio37!jlIh_hphG zJ1TPlyJJ*v@JY5JA;Sk&>W*&H#?ba%}Rl7y(RNM^hkqnvUf(JwuaCNh0Iwwmxk1gp5=CI1`y z_Aikvvqbh#n~IeTnCC*{oeOK)@zyLSN#6w!Y#1yxW=*o6<|`##NH9RF)s_cKTf+&_ z!|GxvABYlRd)~1&431M>k=nalzE&Q=V(sgOU4qxM4(_ORgsjuj5yFX32tRpU z#*=VUI~n;92nz5L9khf}5!3B-b0Sz;`c+TIGQ%Yg6kM-=>KE*8JQZl>2%TH!u3h%A znS&~Ea(;Hd8JOk@l_4t5*gAwLrFlB15GL_aBy0{rTsPoC?;rb`3jq4wHs3C74tdC% zK*-envhTnAmcWG$plw1T5yaF$2brzYsc{8?fN*!yGBmZ&Rela8KZDDFx18w@U|{hR zY3J4cNmPUi81dX@=npRl2k}>kAyykLRlgn4@Aa+^GY)ib2|v%J4!A|9jucv%vk^12=9av#2qQM zB)EVdfD-g@<%)R@a|SVv$YfMqQiQ`@2xIXQh><|w0M#JgJha1pFIv($BW%3P=t;}T z3R5cYOL^m@BOVD*93GQnAzo~g4rK?#V$lhZSd>1{nA@|8BBZ~yF9wiK<=}U$A*VgM z&%k^7Q)g#>GD5R%f8c*+^2RQh50YH7v@>Zg%;DHD74*1ZPDeHZQ|*R(h#J!AhyS%g zm5xJ+4A%#l>~zhwW;NWN`x=shbkcc-W|$1GmUbJ(WuZxtPGDy`Z?4EOQUa@_75cM|~+ygB(ZztT+IFwoT*Ny|veoA4&*dnjjsF^LL1 zVdj*01jFV)HWu|R`o(6V`4jG$8px`|2p>{+vJ5%}ad_Du(jp4LmR@oGs_=s3+QjWa zNMxTiaFMhT`OZ|Zs3&Hiu<@7V6-iho1Jb_}jtdL}C^fQ6?McLOW7~Jr zMO)41rU(cg)0k=Bu#Y+1^1##dBOjubAe{YFgo+0N0GKRPJYF3F8-sX8}m;5Y22VFXT#snVe-wCYeJDfcHisD)VdU zM}|C%xsTqEPB0d%29|^tC_7D8pGR5by~HvN%q=28=Z2IKIHsps?mU2aWS|<;R@3S? zqHP23sRm<153;-$RHHH{ABc^~Nq{k4ycZy$SUQ~K7eMrc->5a4k8QtYbXfpXEfLQ! zOmm`OaV9=AM=3?S=tpf365?iqg8%`1Gel~G;>wtM?I6mKjL;M{P)p`UBe5n;W9nco z=`W1SD5@zZC^}n_H&?sozcjy#4K7B)5sz=m5UHX#Q+y#`(4b!eyeKNuFfLwl65|4y zhgXDKH1CQs@iSBLfOtGVO}(qb39if!Hdd%s-1C=^wF$}m_12JY>^?`5&vq9Z?G8H< zTfr(o1a27ok=FN9|4S@0V4|c3t|Ts_uj!8_e@jtGv>~E77w~@X`Cu$ucCiKi4Gmf; z?ZAa0A}}<6-bW$dim9p6Q8blTe@mcVvt8Y4dTd&3MlYjV+H6|qw9g6kiPg#FiPlN( zH2iezwEVR4N$=Pc*+7-1k=eCp=e%ueq^rK$hS|pdqU)Q2LyMLuW81cE+qRRN8{4*R z+qki9+qP|6llSKH%~W;uu6=&a*H-re@)e%KvGgV9GmvLp*Jd}F)5O0R6IF}c!pSu+ zDQ4+il4_aXY*F3f&=q^3RxNMu9e#nWBX9Q=LA@}E^q-=KbjBJ~uDHAGyrNkYoS?K5 z1QvGi+&0MkHbtk1oB4&0C+8k91hox&ZpT9_GGuO;%h{s7Ip2}_V2;?Oru(JCEgM$- zVUzraSU!BL5I$}&UrOjKcTd*x-yvt(6~5}sw(H&Y*bDvYk+z)u`>IID#0fnFFvykT#xu1V*fS>epp;E<=@`*A@zqy-VgU~0KMIMn);+4QW zj6Ia6-703RL$8N3GmUx7p3D`MFZH&~{S~M`!jrZQ6UC8u$M$fWHTIgFVqhw>9*~J0 zu^aMfgFFP-sG9JJJp7BKE*ICOv&|F5Lr>+0g%Y2nm=AydfzW}c57;FPEP;|2hL>~F zGJe3w)!LQgv6&x=*HfdOES&ek-`Ml{bemN8eG$uZ4Or(fw!cPH)wZbIH;%9r1U}>9 zi-*e@h07AfV}qj67Ulhx;&D##)Ua^2t8n&U00B5|MW2rm%G(8{{Xf4(@i0JnzoU3O zWH2HZ&%dTv#1GElh05lI`jZgaY|Refs^LdRq{BdEhlyxIrU!;id?mNb+LcZv2!x5w zg3^Xe$Vz+%4L~q3)U<}e|z5rg7~}=_ar??b4B^1Xp~ne`nV->Kvc1_llIV`kaz5V zbWYz)T80LEvG%7tF6obIxM*S*6KpE4^}Nn1?K3o~mGmSg8$uN+9mg~!aUeuD2{22e z7gRfaKdTd^m`pO%i7@Gl9^qa})=HCI2RtGI)KCtV(ZxavUkH5qUoNO`F|HkuZN0uQ z?NN+Sk&yCz))S;8;P{h4hZLY@XFyfimlj#^hT2C6++=?r^leKrc!SuvhvO2bPIgn& zDmxlWnG$^VhI(``n4T3bBUReGq|+*Oz)1Hd&DMcYSxnoJbJWpNO0x@6k@kG}L@=nBa`cGRV|`0a8&Td8gHa;G+y`G_ncBNRA+qb@{}`%PR`O zj6CXIssNn95+Jh!iKPT23SNt-;ARcF4k2ibgbX#5F+H0oYm^U#9@p58T0et!sV77< z^&tbDp;l;01}fdF7xOknDm^^1U*f4~n7*bUP#=UHVms9_mcrzB77E$0bTvY%G^H2F zaURtccG5iB4|viZbGeclXd)a{1@E*v1eMv5YPdj+4OOSL#RZ$XM z@ZPxa?%xL>kiV%LQdc92kDT2r@oGCjp|$t%9NnnX7blB#K(!Dzg+bJy;<`9CAiRbG zCLI(CCvDCu7}E-mTBP3EM!MnQ$A5sh=!p%u{gZ!aDID_&C}31qBM#7&&c;Ct&PI;z z)g*g-;*$IcM;H8P8KJ;y6%?x?rAHf;FlcJL8AL&Rv6RG+Pu1uNts=3W?%zX53_dMz z&V!#WN~C1L=-}p3NX&!k1X{s1F-4K9&Cvb0kKRqJtfdvJv{ltSG7bmO7Uf>CG%tpxwJR99|JUl?fUS3gt)Tlva6O=hp znusN#?rbU0K`m;cnCMVPTv;T^T5WLgHZP>l?0Bqz@)=AO)}lc%M1qaZU_8&%^z=7K zJaJ3|qef^|7t)Yj^1+B!B18!ABD{9+G#HhJd32Z)r4h1Ox|)hCM_-4APo1DUP9>HS zEfBYF4?Oj1=~>OOxNW_2?$iGbxnsPVxU2TC7Y{UnXPa-N8;bd5M{Ho-t>lyGv z_QU$a`@{FLXXEes-;Kc0>qxURZkzF`*2K-RYZccJ?vd;p-Lq=Dn&Zbw{8s+o+_CAo z1->PFt@g5Vop>$x@^<=c+<;EhTjaEwh?mJ{hIi=LV;x}31l|AjEZI-WpcdQ+|9<7s z&u5+)#8bNg{r?Yc5EoCt|3+x94gG(kXHA-w9Jt~bQ1F2u2-oWd`5Kuo{q`;>7953g zi!_KHP*4Z&lEIT#Qav`T!x*JKayU$H7R>!SnCC|*XXJj>*u=rbcTFZrC{rx|1ZIM< zBudD3RJdDtGSgqtcAA38S0qhqa^&rk!ybwrS$BFsKQA%y(bbfJE%7s(L276n7S#u+L65*C@EZZ`M$MO;=Fa|iOY6^R?agIP zh;?%hUT_ZHvEmMQd&pBE6vssKb=R-~L9N5B-8SLQc8R2gH zElY_vECRa3=`R0U>`~_}imRsqK700K!kvz5G^K5!ac;2}e)i6qJD0xz7VR@OTQ__o z2s$z=J-LAvlg=;Z53N5u%(sqPow;L*dJZT&B-so%D@pdINS;^?-wuv-AC(4^2ZNno zbH=TWBY`ck2HR6f-rTOwiv1mLo&Gb}Y4s6-gS%)HuPl49h~F5jo2)c5^5dal-V%0c zC_f^vxt}0Y7Kr99;Y1q853bt^>&kP3aM|Bg&obJ=cj^h-M zA^PSPb-A^^A~{`!2{t6p!by*W6#t%bwB6#m3%5c-M{aM^e3@fAv}z1$;?x)2IIgw>?H`5-B*Fmn`TI79LE}Xq~3Zd9-9+C^VJaPgYbqgAXUg7 zh1sa6YDUlOwBRbz_+~wqEoaa;IaBA<4?%>n`0dXY(MSlA4?`F#vM4ywY{`qbHg6fL)CLe6_Um`G z{Sgx9JLCB6@31)EqEWKp9U~EP5JqZof-!LDl%cs*y+p*R^ zA(}xPOGwSAFLddCzRpV(iAX;g-SViBQ2vVu*)W7TLhJG?qI$>p=P?V1Y0F}n9sS+W z{t&YePt43tApHnM{O8yMH(g?CCJ*~T&Cg=r1L;@OGC#5*q%^;@9~+f<-ifxZ+z}Qx zh_O`*?m^O)>Y_K6Y$w%0*IYx{rF4cLMzTWsuI^OWT#T9p&?oaHz*)GX*kfzC zUqAQaY?rg+%QxvAyBaiZ1u#A^+7N(J17ljM#EgUpw9TVQq*x_JY5LNRC>mM3xlEb# zv=Z6qiGhW|*uW?5KBWLjP0(KFC`%_G9tOa*0C!v`Ae%sLFI6v4FW$(boLEYQ_^yql zN`i1MpCYV1Zx*Y9%Z(i$Y{4-P6c-wNB%v106t&+R0zR`9pg_!PvP=vjM4cqYO|DZz zuBeEV1*lkRX-IU9C7$Fs40=*TLxQM*QRq4wW!*dpjd4}<0~paReu&6Qql#`iF+i~; zC|l_aL*V1uLMuuWSdaeS);eq`+0(!<^(s;CfSn3FwW*v^K|%sb+5l&;(jEfUq9z7( z=WvdCzkbXd>#zme(^=~u5f+#!78WZO?P#J)VbI}%Yy-e7iDxcLHnA*Ujc zqauIo2go^u;j{6J@_8`LmJDq(%H_FlR*Pk(uY*YKw_K^J>H1@OOh>nR23<{p{jORx zT>3KIH^W!f2Q)H?Rro>=jD8ItN|lS_XDR_qWnQP8!Toea$aGx)HcQbe!qCq_F%G0BHkv05EZNxR!d*mv zX%tV#801D>lS1oSa)Esm6B$Dxp^Oi1=Vxs~>lzz+8h^T!3@jSL1XwblFDa~f_eZVz zoZGRNYs7T@GX}IHCwxj&s#;A^PsVRYRwO|o*rkhFSY*amUz^#r`ayKU47qeU1L6jK9k?H%}+0DKi2qlJ9R$>_@SXc zW!~f8eKDN|N@Q?V*N<1D-ea-$D4nW-5q>Fg2t4D=Jid^=&uZ-=!`xi5<6K1m6l zNe|Ym(8;0qBfdX$xjU-#2rndiwkDrRCi;Aa}il?7E zNy#q`zYE^^FGu;u{@xcsLANyCpJw%_`|sb2!4bvdy5i|q;p~)q7^g6%tI|mJ;@#Wc zD|l(g)^f=+c#v=0Q<-;^+Sg%=_|p8rv*i8HNvZlNEBim?tQMtSUY!?*FJ9m~ z-iNfD&|UdJ{EwL)hKkPzMoZg$$DTL51ry|jX8mq-tNTQ3IL_VPKegf9Fd__+l125h z{B1oaM`~+Z*)sfPg0TXRcF1KjL__IGo+E(<4@N{M9e7+f~u$%URZ zQ#Z65FYwCdi&sAZeBR%nxxRqeuEz({k9gAn(Mex?FFo?|lv%Q8J6KwnD(Vhz%PpL@c-YOLtm&VjQSLP8&9*kNF@P){_E^#q5E=wWAV_S(cR*`w+)6jvSW z`3+Kb>4)Y>xw8AmD(F5L*8kD5dHlYk86tV~9b7V$bGG7N7bYI+A+iM&skCW03z0Sok&i|32PbrFgd^9u zqa=b^Qp59N&PbBg4O;jOXe>J}jslX5q$MuVfYOD1Y>+`~$0SM^rzyO!Ac4chOh4&) zisCBy#kBA}J{RmSp)N&v5>2+OaLWXAq^Oe726`Xj$cUkCk%3`SoP3BY0mA9dXX{>( zAuo`HPTsDGsLdOENkK`%zh(~nRT)-)KBN&FLpyF+6-0J;kJOGnaZ;qF+l4lbM>Kyk z%u6#vCpc#GCC1KdyZka*4Xgi&DEH3?=C4FBxRaT;Bs=TUR$xV50iotI8#Eg&2!JwcWw{p zLZAVTB1nrVOm3Y;G*py1z#8)lt-la-C3C`Sf=Y(u5FzUI#Tf<}T!x1H+n1MTUkTCW zj`-vMY%JGhz}*4Yi=7J4PNN$PBrbEHRagN`wbV~lMg=&qpFa2k7$_US4qu1Bl!#tK z2m^;pDR}M&f4?aKnaM#sl~CKjfu9VN*=1p&s#3MP04$GL45A7@zFHJzj0UPoh0`1y z=)wRkppXqJRj~w>1v{$29}Gd(%AzJSeqa`-Fa{Mq5gN2;Vh;!w0dz{kV>ZfFL$M&a z$^(IPg0z<#D0J9N&cZcY5ECL95?VZ6 zb^UldmP(uxN6uR;RjDk4I090!Qzgx*B70gnVRGD<-*$$!VovaFmTxGf4Twnk}spA5Q8uuam2p`I z``|HH!(>Kbg${^Iv|Jv%EZ9pR%GM%7at$WXRZ5!YZuTXUTJ(QmeWkYaw zMAGGT(R_7bs1Q6|GmakAJX5|P24Ju&170G&I=w1_Zb+C?Zs~lW>7qhU{sJbm-cKsQ zwjCGlK%#7VKoqRb;r7-JAdSDrWoL#q*UiWI2T) z0jM0g*KgX9zy{n_l~z14H4i2Vhz~$az)ze;0Nk7q#PERZlam>3{r$RFL$$e@rILL-)R36BEuIyPTjQIdP&}d%JlZ%uTWAAubxNE zxHGGsqe0Z7*yzJtPEL;~@YKaYY363Uq!Bzg!813U#R)QhEm@IJ%qhe%0%Z+r|Kc74 zns~T7I2VZoC62)a-0v>VCUC{|qnlD_#GF~M) zu{0zcQOPQtD3Yx@DLi2|8K3vOGHSbsOpI$&N43;p9^OEcf>_zQdG(Fdw3023sNtEA zD1yPG1l{;=|M7&FPSnW7sC2SqcV_G96+#cEmP36Q>>I%QK&dTAikm3?NH*RU&x-V-jM8F<*@)L zt$+O09hs>HpSa))-Ad_s-IciMUHX?VS<;1`zO=L9+kbuN_m$kjL1}1TKaG3b-0sgk zk9!s4OkQi9dq8Jb^YE=z<~U_rP_m{^#{6OQVTV42DtseuKaFvE}gbe=4<>ohJJ&NV~;%eXv z82GldJF^)zzxET<8#&~W2_;3ay2SrY*@>wqF-|e&y^}|ve)j~&wm;F8VUIl|*;KehQ z84~Qf^n*$Z0CjV%ES6%~NsHdiL^rW7QERqw1` z{Ge57iEipCeOWRnz3X>WO#-|>egv^%ThWFgG$OdSPpY#U`(2#sSP^`U#))F$`WPr! zV)ml?*AjsVw{3^FL$aYta6zsemjuvcSFen3b?t7iaezdENl!u$ci~&46a?+N=rsNx zZ_RfR;%D6tvGuC{SGcGIxX&m*LkVmd;3H8k9tnsJ#2AJN$UVf38M?YHOOWF54tO0B zvmQoOVDme@d!GOqFo7RP4^vjODi00sb3YQu=&YU`xcdiUTX0;6IHsd2OQ$#T#EwY& zbJW(bcXSaf!+n~_#Ui-@h(Dw)7r-9o$aSzV674R2NLiLY>O7;IH@$tHxzD)*Yp}DJ z*OwmMzeun#Ag&MVF1WnGieqCy+A<)J1>IPSW0uSNR3X500e_)-;JnA=TllUffJMxl zQITN=d3Ps7ih^RF0aiRFgm$%um`4~haC3ADIe6hvQ|LLQt%VCIyv7Z;F>yMYvCe0@ z$G&|5VDnI76|XFP@WRthR2`@c(PjrWu~}KfEB0{@1}I29Lc85zn=*-P@`IFD^Tz-` zZ0piZDDtikT?`r+`MtAU(>cAn0aq!JJKX?LKThG2>1W!;yxh2|)OLN2*<#Kq`6R zvVMB7P?VXfr|^66ex9Fi!{i23cgP`r!@(6rUn%#Br?i6JU@fVsBK#K;DUchhbb8nu z8Y{DJ+|CFrv)D~>zy(yw5|G5;-vo!b z8xrUWs}BfidDrkQA$xU3Jvnf$Lp6!>sD8k@1yy^S3d!hJpTFnbq8(|^6TkW48L zoODXQd3s$?`8Ox8q|8j6m})6{;M44q>`J4a*F7_WVcO#)Sp5jBdpjADDMb>S;P}ZXgMRW+WOWoJl3K(FXkkEeyvhXNOw(mycx~xs5tXDugyds2 z*nCA&-pIy>?9xwzkO~xN@RBm~Y`;*b^>G}tRt%h#j85x1!-c89$7UhGhy3;cVyuuv=k+JY%>2R0GQy#pH)pGs494q} z)khK`#?oXw7WLQ@sifQv4M%UGE|xHTZb?Ly1ysaQWxNkl*`ufnqA6HabW-GYEv@yx z38LI}8SHPhT_WGgd8heSat!_&%^W%%y*(%YzUD1=g6L!UN5sBsIzztj^p5#GY>slT z;ICq@W-fj640kSQcWv!_r#pzh=V5p7>|;Cdrws(ud==DofGlOgK7Pmi^iIxrD<_415M-Zki&Tb;lG>bIno)SWIQw|UQ8(rgPLA9 zqiY!G!2w70yx1e@!OYEPBPF)_$|!r%EgEq2KEOcc<+x^IG75p=k&af8#4$A`M`as- z5(LtF`GT6A!SIU41xE>#A4bn`Hdr?vfvhKRLI)eHjtKC-sQNAz^p*a0{5&q!!18p>n1tL4uHf#nkR3`2Oj;#nE^U34(E( znspO{pF$;`*NXka@L-JC4K(f)6w3y?3^0TKzHhEDJK3Cu(jAZvy6NsDmRuDw-wY4>QE`t>^8pW9i?9RX*GzK~0at!60XIC*+-gd;OGo0gx zoSvmH2Fw4eY&jw+?k@oAVX`aZX{SN%bclVd$tatM$2??c8Y>R!lm4!{VCl@d60!wK zcl|I6DFFQ{q!$npm8wcpF55;ypW1%JMNf(2s_p(q{~VI+V20kZnqDwQMX!!%2k;^t z1R9g$IB&-zXTHyaB-7GejLR`2JzYG7=ff6&`x@%W?nPUZF;COYpJqvB`9|~ZyXO|Mjl@(psjkbP7i+gA)Y#A9yL_Jk&@D0>ig9?5} z?k1%KVBdGK<0mN_^RuL{I^^nUQ;)^T<3@10vAj`kKN*W4DF6i!Y9Wgd=dO0I9K=3F ziWDTm8rxc=Buy)XOMuI>iA_zj< z<-UJw&b=zVETqzig?|TA7|=Nw7$6|dm?;wOLrr2D02}_)-#{goHat?_mBDG&e<@w3 zo@wNb^C}h*N1BGhFF>Bm;sAvA9fUgiTCQCVY(S)AQWZcaZC84shEfE`=;gecmHN|5 zjQ@lV6!C_59^GIfEjfEjPJ!`uX98Udn+|Zxj@pSPWQh(^<_`{C3#IDPA{aRnz@GxD zEVw1kebnS*=+u;oBNK4tl?quNDS<49t1)HKj#Pj)iZY{^>x6ST>3id}QKuzp#`Up= zsi7+*WbRAg{h>}p04Oogaid<+g%f-cckTUSC%VzkT%b~eXGfiT*Z8H4frl@8;RdFA zBYL7T1u#_1-~|fB9AyP~QX5Cze|yZpBc6QL8+<>WE1c{{xPalQv8V!$5m6|yNZw)c zW=(Cx0JqvN{p7HO^G_um6@q>W9dl`el~jI7+sL#Kakc`N)fWq3{uPsavYk zg6I0|&&f$0$!6W)1h>MK&8{P{<_p;v(E>LgF3NHqI%^P$0KcWc98n=-iZ-kXc`VZm zmU%=ISV~3pwwgA%pPr1OhZBvJGuAC^o}ieTJlv(GIS%_|R4o57#J(x01kFuLo(CgF z2Ee0bnnC1b!%ZE@pfV@1QX=v3C7|w!6f$W`PSO31P)B~y<)Ys?{D58#b7)T1$|1m! zD6h|3L~EG7u4gJK)e!kf6y;H(pz}lC7$U@t`s`;3U0!>R(|aKZ^DhwuIZx#7=@gN| z--)AfPUM9qG)D9RB@bFmY>fAvhV{TXbi|Yb(U)Yva*AgBF_y7iT3*T?2Th@7JdA;J zD3BF4P%J*u$PbI6+=6p_!eLZc9;5>7N{O@6C`25(S?dD50W?$nSSiXS2wzze2}Y9> znMOXoQ6juPHLcb|fvQURXOJd_ZTO6x-1mq)i=q`YU4fx0j;z*Qi-~uQYG+E2{DO4;AxG9XIR%iu6nOGqgyWZN=kLsYfR;@fqB9=m=3Z2kL7G`86 z*v*+r+uX!RO!njKddZH{B3^5lir6>mQ418)uk`*Z3H#P4Bu9aI4fXU7UaUt(HKpn- zHKHbfW=mRTh6RcKhCi($GjC*AyJ#h*Qht%nQo|@N#azS;P)6k)vT}xj2>R0Z=?W zLYObCSr?SmGT1_SQ>-J&=E4v-Bf)GWuLS)+D}`&T)5W)RD1aRbAUN2a ze5-WP!Li=VuJp&#nUe7rB3`emgIzhT>JQ;a{Uco|we$9!v~JX-f57MPA0xtC4+(Qe zI>VXxWi#XxtA-nnOU&SH#g*bOcDYe*Y@PqkSptjg5hc=T#XN7tK ziRcbJKv#xPx}q;YQJ#$AJaES}?CfvhsJL4VOfSioq|77>p3 zOm^9ciRTQdk` zT}PNV{$|YN;Nv`q`=Jf1tLFAV9Kis%sb_NQC(pPlJEOwC*v~81TgNm2gDi?ecxmy` zOjseo23We|Jj~+i;y+3dDvV19OCE95Fx(mzp4bC$$ww{`y9U9EBYHBm8cnre+SW1M zyiU0O2D??MAunYZWMGy6UQQ9sY?b6PrXe0Ho+vQ@?M=P*Z8C>ley`creZb+rOB0nM zjmF<|g}`Fwa(7T=GLWI(=y=U6tPhz3T%dM%4++=*b|UgG%^%bb>=Yk{Je8wjvTsAd zf`sb5%T|9u%nHH}_VmW(Q8pQAv`9224If5jYC_Rt@+$U2e?M1MS;zSZM}tc?h>Qwn z9fmv$^|OOc5y%$^nyyM+Sjl|NleG&X99)qnlPV>VUepfFB5yZN4b~VW9DA5+oK*vN zMkJw3Hom^QeMLQO=7T9Q&>Jl)m)2HeZ_yo^6Zj*8%{24da*R@>PE*oiB#Jy#I;}Un zNk4by3nS#xu6xc|fPKRhLBGO7j@E)eL;(q`97rODT*IN0FDW+NH@C*Xszi{RhyvIB zFcP|$pEzO*E4KAsyTZFGjvUfFbdKPk4ARy>D$8gO@WIgCDD{~s{|bk}$}aF6kTo}y zn3s0T+W`dC2#C2(U%|o1b*dpAf;2VXhNl#Zp>-!zWqOjWgUoYBAnR)J$?DnLhx`t%P;60i4*RUI+SLD^{DQfykWG~?z z2V$_0=7jr`$V}3w%-O26&s$6zMv#&pxI_C^88PTk4f@tP9|cjRerpM2`)D9z*<=P? z8aOp%&f5`zA{S3MD1+D&f1-$Spb{_iGVp|`l5p$@ArPA`s=V}_u$cjM>l%-C4UdhV zsno7-Kz87LkUo=m&sL7pk3}3EYHc}Jk!9drnXL+5J^lw$KK|eDOe4uRCaWTMqHKz) z5tCL0|JFn^E^#_F$rap?tiPD=J3L_3QfxR|nc(wfYxGhV*Y;7}>g9x}C(zL()X?E@ z8Yl`9g?SnV+jP>7+#6M|0LvL5eUIxv#BPxv)F4O%D)rYK(!A?EoOVmxX{Y)DFcDn2 zrLP2`(^1Sdp%I%U?ZoV%ktku~OycCI=s{d*b}P5j0SX6{BC;wLhGQf#o*>cvB8D1U$Dh^(gy0bpS_K>m!~HZFDsR>diYSD-f9C&q@#0mgEn z55@{5g|~Up#Ga4PbycTwNV5j>RxVDmS??}WNRLm(!J<)1IbDM4*|P8hwlebYVw|c(`5i<|QM!_jN4! zD)6558Q>dVYr{V~)Nwm^upSW=IlNB&YLVis1p#;HclS9`hQ_O-k_X_sAt0~ z1<2vl^N=jv>A%8Pzcvv+F9UYWPnTpA+d z8$6|-_=U6D_Xu_=4$1ethaU1d)WRcPtdDG7jTuhe_eQ zJ{s+uv2kVx4ElHhK1$ueNw$PX;9`{gX`!9cGN$@|Y z4SbJgK#Y$DCPz2sh#Jm7kD2)6dtyA%WltNX3UX)v*4)5P>!o@Iz1DoJ{Y&$bOB3yv zS1N{aRHxVjmCDyJJcG)98f02sgfO%`K4?Kmk)K5uFcNxAhnbo4!mD~?rrJw?`a0Ge zzf2N!RpLjixfmHb6 z8gpIoJo#va`BR}u_pguQ@ksIXS2V=b{Z|8yt<6{R%s~!0%3x_5Y->jQnIooqCk7F( z(E0ISOxfE^6VB*9sB^8DurA~Yw$f8C_oJdEt)yzd&Db+f=sg@Om^O_RM2(iv6yOU1 zvf+&Xt2&5Y*dQ&Z7L){ zVQ3-h{BAwI#-f!iiWZ`>#78TvZ-^S08vtR1BF~Ubqqfd6U{@=3PlPnbzdI~)29)Bn zN7blADKlkfYYv4*j@1ax;k>!>D44-8h;trq6j@&qS_|T z=PsZ@#?5F#>pl7{lBU>o@nRgpg%kj70wr^;UBDRy%yT$usS|0eK=NV3{X6 zzR*0q3AW$@GeXXQS73D>kRyZ)dhSaiQ^ z{!QKec%~gYo4T&$2xRAm@XA6v<#wUr@pj=WmPZ!t%wy8Lr`xQR6YJ3H-_*36?`Ht8 z24G24TWa9@8@WYFRB6;06aoSzqF)+#%7iT6lHpz7QXN8-5Rp8He-R$~$AF&Ys53zj zNlM2jmH7F?VRO1t%*(whbmuL{F5lMAX-OxzX+qcmKy|CmPceAOq3p}`;laWs(!Npw zC}Oy)H6tu(S?ef?*&NIx$zX^(GyLRxY3Y*{T9hc-N-hz9pvB2DmJv~c=@z{E7Y5LZ zy$pB?_R)CU- zZ>5jHU)G*3BtrYcq|(MR4-F^k=2qNV1!H<0bD+MfEZncZr8AKx!D1nx*n4;n`zUqZ zm0rPK+p|vsD;dp;uIRUdRw~q|hVV6REL6>~ZRCpy!8}wNfY*T!XpUM~8e$1>OP+8F zvv+Ze`94EP&$FyxsP(JgvaA5$L;TX#@1_y+JWDtSB}av(PafZ~e(>iWY{M+3P0IAQ zI}Ob)bDD)koV-eF_O16af;3=W83D7Op8(csw=q4i5RFaI(u7DKGv-zpwZt`l*A8AX4kB<-|kb%rBClfv^3l0a=U96I&9>nR6S7OFJ zh_{~_@l_{>mMYbhM;CxHk)sUY+AZF_(E8%1p3V_tsHxyM6D4X<5REyUbaej9uEiiC z>yll1M0-DaWBRd^`$tkPCId8g`nA@GGYa!YRArSQOEj(GYV>|}K(9B!`_y`?;XUye)^_C6qYazlG$UMGT7M_M2b z&KO^}ZBJO7*A-@zGVS}-mtL?xt*}0=-f!jlxgYF8pc-D$k$!}pfX`-#ywHq6f@a9P zT=0D1_8jj!%~0(+(vCzM^yq-kypLQd-qa0#R3WTa#jxRSD$t-+n|n~-qO;6=LM%fn zCRj(DDTcb{Hn061e%+670zoXr^0!RZCLy!IfB7;iQ9?I(!QJdI={*?7tiH*i&zTz+ zA5%L*$2$?Pd)@@bx@edaR?^>@0Ztk`1%0) zJaXF;RE8Kp9Quibr=s(pu(^(Dn)+vleaP1bpB0I1>yYs`_@Y*YKFY?pyv2R@-iWH|5XD4?0%P~xNoWdhI+Z)dOz^Nnr=7#8pcX)EU`Bo*Qr zw0Hq7l4N{Ium`5{L+5cd^Ci{DvVmQLs#N~XkW{d9mR$%F#rOAivlwX!2xb*3{|)T| ztDwClJWaYzDDY>4>10I$Kj$pWtpH$>Io(6%Sn$0l^X)1L^j8Oe1pDJP>A(8UBJ%p! za!Vx@yvfEt5rLVQQDQHEC&8SAH(qO#;20>wKc{)RRnU@|KP}^~9l02bv^-jeOyF0% zuwmPPQs}j$xYwFs=LS~@>H;04S9v;WixB6IN{y|XSXE8afWB<$RDy$P5^e%qa6~f1 z@0j7V+691)LP!knvszC|y&NE)B_oFr7L47LUpJ*FN}P~rj^<)rAYx9gzoJ}4HHadl z(pOeVhwv{R0W#~d`)e% zVekwzS0=`W$QZLqX}#q{NY?RF(n-Isk>MK~?;UkD9va%vK8!(Mlh0phcSLY)i$tuh z?G4pL-aM5x2`j*U!E>6v=w9-t4s@;n2!WPza07Vo`vitPGX@8*$qlbl2 zm`;-faiN4OEE05u$;JWDS=4NXwJl1uGpX?6u12sTBd8#%RrCzvwFPq27;fTNVUFpCOv;okk`>}oajB?bU<;@iG?NQw;$a&aFJFNNn*p&w30B*M5IceSi97^! z-1-Ny{s2v~Y$g3e-jfV|!l2TitV#3hEFS5a9je&V?^hNOkaR#Dyk}s63jX(w-Of;8 zz*3uxVTx4VmM5z6E;zf7OV96IBXmqr^|=u*ziDKnZ{IWEg*SQka!mLj`vCl4`wdG^ zY821x($!|XwuyDig+!mixfy93VO0kJl)b>*f<%WvS4&Cc1)(dWVfu>lA0qT6e&*C( z-wMpUUab3yY|*g6~W|4tqh7Mn2@H%vsVGrLM@MSU95qs!xc z+1_}vZn#%lZ?S$aOsBD4LviMGd)L&h4^Y>eRyM4uW{E{#1G8HQ>$hd}gsl5i57bx^ zt3-y4qZrog^tNl&Gr|ycAOhe1L5VsQZ68< z@*rB2*Iz2bt~_}5@#=dc5d0~jcO{00w32rm&<%gad1Vio1vDl4Gi64)u(>sE7FC#{ z&CPY}WG21?6NYMjZCT?+%rw;pt0xPo|Aw4wllTi(2TZTq@>)?|@-fvtG6mCcTi9f~ zDW`M~;%;NOYWIwQaqTv8W*FCirrMd&TGEe9pl4k6rn$(cvvN_TUMaWFbPxLsJ|_{l zL4M&4RS#@mky82e><@CkaAFL(^A#cRUKL;@6Ojp6Ad&0R9J%t5@ae|W1)fCTb7xB9 zBivirw;4gJ)Kee^4f1qxI@Hc6<@@e9*C$<7NPlldb4I6$T3V)5`HP?uRpn-zM%D%- zPc`1Sji*IFp(+sh!xkX9kA!z-s&|hnHTAsE;R-- zMzJ=5)LU89_2veFpe8dq9ZOc}M&inmQkSy04dBqwXanp1L`Yiy^0l4SYQ%nmB+03< z$ZBassp{LQs`j2izYv#&tA{rRHSjeZjlzcPVbEMuIw8lA(2m@!mN^2?bh2n#N4R`9?Jrt^^W_hvrLD0Q zva0(cF&9y5P6m9dV1xT%{V|toCzw$1nLfLUTA=9VRFa=WB-E~M$ zt;C-OR<<7f?Y3xa7X^=sH{JAw|Gku~fj8A;`;&~g*8-vaMz9l!`tR&Ke9ZSTX-Ct7 zL`L@4{`_j_q>E-q2}3rJKG<6_XYrSiD#H;FB^9F>ZsmbWg650t8MEoJ-?22s`+N5q zO)8=;I)3s`O4|u$QZ27u6kt;uBomxHM?1ryGheUFVp(#j&4PwO+^bo>EXZg1J|nBU zzWHL#gDe#65C620kS|cz!^q9zuRfqRI^ugOf`955`Cg0XDeX;WY#2ljMq4bKwn2@_ zx2zth1y~-!zmSs_#?|=Z=8csR)N_bJXh& zhU@aW=J2LJDUg76m%4|wvAQhU(0$W!;1QwUbn2vi0uI=zGI>P8T|(?$iFZB!P1RV-K_k2c z%b|03wV!=?sDW4;Mc7hl;IH$X1NodwH3R|-|HENx_%{`v`ijKeb!cz39rR$qqft6} zQa3r9q+rHg`3`5==H+p){5-%I!0e@g$j!!=JAlZtG4trap|U%SauP^3clb#UMJJoG zMK9!YA4|D$xj!3KFH_|Q$>t{hxXt}(@e*3+DA1dtS>fmoF4y;CfWZ%jaWNRB(k7}Y zZ&#BI)|Z<@ro9|l8ngvV?DmRRJMO9NspNuQ?jCJW!O6<8+M!FADt6e0KcWt?2Y-;l zVTuT?tT;&e(3ji)QqWG^LcvbW3%$6q?rU>vs=&^8sUSi1$^bZFIJYMEilSI^s}B2& zs5Fp*_<^#G5-A~zm}{x{T&K9_uN*>rpYRQ+`wl*?OxQ?Xi)2K5Au8LVpl+@|C7ks59wxXk7VJ=gq$*> zCILPC1q9$9X^txu6&$!Qw&^lDCxf{kqjF=l(1oW{4a0bm&gm*Lu4q%#74@!nUXBSr*R5-~zjQvE}SFfFMeov?pG% zP{BHWHC;`OBfip2^}gckN}S?Jdt9Z=WT2Hn#S5f>+I4SfcggB%97_a>KikOdq;)x@ ztf@-Rs@IVCB!BL0Z4)#4;$<8hJt@Yk$2}LwpxjgZLs4e|Q(Elw!081ao@m9vG4)p? zb9y8Fg+qd{Y1#)(>tmdj@hMO{i#~Z&J$cN)`l6l_G6qEc<*NG*FsDsby)tqsN%E-IO;cL2ut;iuC>6;sSyekl0Ke3R1$m_ z)i$0`JAKF$Y?EgSUG_ujh6VjunE&kuAQf^x?!Q|wI=0l6aNf67z>`UAVl*+qXx*tr z6n9Lhj4Z(XSwdJG*}-4Gb!sNP{sc5FXk5SSWjKKe7AVj549~xO{r#46g5uDzIZ*gP z%=dO^!;UDl?vekz$%L2b3{0be1)K(+oImT|S3hq*-shgCrm$yPr2&Nlxi#O+94Abt zbtgaR{J8S)=zk~B-J<;`g-Zd7b=?bw(RDEVXpCHJA2mq^o0g+Xwm0 zvAf-5{qNJhopO##d#B*o{wzCWQJXZc%9z#TE&Sv~CUYC~HyC3>z{-7!(T%+|4>-20 zz1Cr`oqTKDnWay2*y=|)S>FX_j1P(8R!lS>{H}P4v+QVCoIk_$r=L)H0Zmw~Szn5< ztb1(0NnfKvOcI>eA42JC=)CeCcI?Ft7lF2CRy3#W5LEF~*LKAy_h=9tGnZ@um67+u z(2nDO-0uFgm`lfV3+?}q-4iI;FmNx0NB?D4AnH068cvTf9Tw0z%_uOR`Lq3mHXI`| zQ!@8Dg30`H>fZjFqpv+3!QNx5En|wSj_2z1lVs^isW64`s17XsYldN^&DnaaA%3#F z?kcy`()dQ4SJTuN9p%+OXO?@aY$9eqxz&^K z>r=Bg_OloG7okqXw~p(%NMr8b{J>F%$V>BUFw#2G{ z*>6OQGmEW^DHv$4eGM#Gc{B*%B8Cimk57ZHb`9*#lH0MRvA`fL6_TuTy^VYYFtvNE z!fp^SFK3tA4#Ubn4?GA*&z_ZI`? zAeTmvuW6NiL~j%swQOkjrZSo{wMY-T)B1e6^JdmbZLCHfTgw>^#qTI@qInfx$qsUY z%wK7T&6rOOa+El&QROsAs&Aa(kTjwSO-atshJrG}HE^|2_=RqsMjC5rPgc-|cd2&= z>mWOn%j@WV$o&9~jf^DtMmOlA$8ZphsSB}(uo0RFxb`EM4Tm9xVRC3$+U$?@C^~b$ z?=9>n$rXBn!O~|WP=(D_clWH?Ox5sBM9w+)v2oFo#>*Djpr=W$enFawq?HtOH8#KU@){c&) zwaKn%q#w@Ty{Pmtg8`IA@E7hN8&XzO=ze$C&!d`z0B|+EF-}jmpBVT43H^Zi+d1%1 z=;R;FS_6sPHZ9}Di3U^7ve&pc37Ag6s>|T$^^y}erlC=m&lP@}g9)ljx;W=Tv}U?w zB@G#4&6LEtRk@j=l%TO+c!KwbHi(f@Z)u7lH(rN_hnwnGd>}z~O&loi*7)_E znfSXilBgL6zsp(2LQP?sSZ`K#(!tCCILozzF`xKYFBWhi>QbOAHBxP_-f@T2{K~SJiiA z(Tg|ZX4-l*+Qx#hoYTa#ogS>1!%bRWiVF*aj0I#~1UzH5ZAF{s0!#|4r<b=CA z6Rs{z-H5Ee(*v#ygBmWLHn6vmA2YnZC0H{bw~ZufuO#{aauxL3SCRHzJn3DRG?Jh^=TEvB@9Ke53hG4yUzoJXIpnv4NW_x%1|e^=>vm!<7OG(_gTcu(S5 zwlJ(DRHI$iu)SYlpfh4>jdqo)-a++onL`Y~^ec1!6)~Ik^qoREjdKWNi1ZBMH&kK; z+x;KZ27Q#nUXii!YZRWr+W~~31hdQFS-8XB(_^IgbGn16m#koPH&v!1i~-V-HH84H z(KDgAC?q3Q!$DtqzuT$ox(!a8-pLbL#)c>@OcfZT?T`?PnQ7MoA~Gzypx_XtL5;6) zEhFWE$ZZY6$_3T9xe!CfyCJzJdkalAkBm%n#`n>(WLMLyyOEkhRd5>uGd$t|MiROt zwZClK6A~JU^D?G`-7%Y*xa^QZKA7X%JYguBjk}4}u3;|DsN)ntaeE7TCJB~Kw!V)j z6U&4mYHP97RG)v3(Lq&Ry|7-GKsL?sheK%O1Ra8Qptrt+h#61z@B;n#2hT5|BnYv( zm+hv7N79+Vxpupaf^tdMvgnJogem%*FYLAx>5vBYNwg6DA=Mf-WU%tGIT`-^J+v)| zvR^d5(5jX@irCcbIUfj@Ps;38_7QXV*^qtl^|HQ75=S0Etm;54_=;SQb_?EY`ODov zN29;%Ii2`xN!Hh$(qEW7K(>e{g#0f*LZl6Dd@1e<#4GH1%%LjfWhGVC08-NMm zz@0L{$Rrf1kXLO<4X9h^*&S%q$3#=V%y-y#!uE~SyME$Brag}=3(l2BixzIMTHq~@ zO26$y`D;A?)(KFh45u^Z59Cg;-g!aBxQe1Gf9hEfqviD;-03YgvjsZ}{O_IBIe3gi z6Z-V_qaj~0yrzBLMu)`(^paj8A*>kRBxYy0w!i2fB`ru@4?2=_>a@p&>zY)2jV zkpzhnnXfUqKs@R!nXjmcw4~_j>y2V;RXmNYu%KNWxs*JqGmr%gnK$*Rzgb4~$4dc5 zfXl=o?tGFaX|i46eQf*0t^kKoad9R;ujlrb&zJIULF)!S2IYf*j$C_E9!u~Bw=}w6 zBHxl8A{h8&CL0i$UBG-?knS8IP*eKt|Ke~t*Qr&XB<-^>ZR%{QS+O0e=lV6M%ZCBa zccda^Y=sbBEQRkU9CaqsvxWU78lukTI{-Jg^@-?vi9x=#i`)$IJwiy(v)t^?U~lCa zDd%U>GTQP|){7|xQB>w0`%h9QxdtQ^m3Y)#Pf#U=%9CXoqdB*pR~to`(q z8;OHO6caCs{JASUqlz&Cu}gM8B5T8Yyna+xtsA3NGMJ^rVdl+V=(*zc zrN@?iVJgrt`IHx0qqNaQQ9iJ;GmA7Qb=r(E+M%>7;COU#TGCp_*&HMlC!&?k-}YxY z17~CMdEX(^uBkQt_Lvu7>{&PS#{e?d2pKbnO5-= zCCl@Ia(yB(Ew7h$tzD*uXm>`cT6T=HC7l)XMHw@@elVo(In1KtfXO1E2b@v~V4I4D zAvWC^h1n*ZjRb~~J13gob;EtBs_nt-ZG06zojoSeI4g+wV*_Nfb<{Tg>;1!?@pnbA? z=j)?+dPcFDkiuW&Kop{XtDNMhF=a@tu7}qzfb6~FBp2e8--fC}XfN;vgk1x;2;hlT zT>Jh++lJH=x=$6Hx%_RiyBQiT-;YO{3}e;bH@YY1sUAL!c+&gJHU+_@Am!(E8ltAY z37Q)zTMdP+ej9P(XJ$TgE)R^sbW~YL&@|vJhl|ojYlO7n?$OXpSns2GWS1(8DA%?C zqi{*~Ou*3e4=+~h6sb^**#4Fuof2a}R#wc;jg8{#sKp+F)uFT6*+T_)g696})7=%5 zPdz-HldHarOtUqpU;R<`(#BCNj^&Vs*VVLI-uu>V+D+*JIKF<0^wa)e(Wx){n*F8o$Ia6Wd>FopQQh=bpf4AgjMMgSYWu%Qo zE7u2m(*`M+#ey}{(8=oqA_!j98NZ`-gpR*-#B6=Dv6_DB^_aG{%uBXzE;%3TI2cw< zn1OC8&vZDO6e=PFY;=aBJA);an)S`~WBXXgyNRur1GBh)FI4@n^7(6@xK5LCLpoN3KVXqjvc%O4JSemHJulxol)pMGSxT*10 zQ#6E_Q4Wk{qfq-Ux?A1tDJ*vlyEdm*288V`iwgma>E%j(k7Ir~``&B;Yu^g}Yb`&b z!$I0Qw{!bd;1Os~vz?(mvaRI!8!g|-0kTp!U)dE|v?GYq!2=l@Q4QxZw58K(Q!o=8 zSJE;ummYssHOCp(yJWJkrI+@jauO8b2R5NXzp|RTp=!<6&=~d*wtPX%;@nOP;pu-K z-azu=TlWLYv%wZ$n?vJ?mG6?8sn7H8yVfsM|EceuP`W)*4-qPrb%B2r_&yfYy-Ux} ze)mk0Xl=R}Mk520X4(PW&he_;%a_(iYUuH#iArohTgU1L%!ZSoEyo--&wcFJyt=@2 zXtZZpTi=vNM?%Ii#6g@Q1XNuu*O6qfwAin#;(15#51|kQt+E`RtDUnOzhRtW&UtV_ zPE@rp%hsVZa5dzHP8w-N-tz#K?$X4=xzy=IsTzGHCz1gLjC16Qs6^XK!R#6VwW!?! zn#~@#w0gNlqf4~Bv@m3Er0N9m5f_fxds|>MYmBN;eTS|12a6@97$Q;CXEiej^VoDES2AQ14u4KCVEN2a)?$;2=p2dR zq{mMJbDJyS){(_5mxz{5?Q6woL!ws{%O~JxP2Jsqc&)HnU2+R0SXz|ca2kW_bfCph z55BS|9Fg*J$M%Cu%(X!7bWKgUTBVIGI>a8jhE832!S|D29E)}@Fd%~xCzOwTRYcnU z0~2GW*Mgdq= ztS(0gal`!mYc$kuNf#zb#886Teww{JqQk#)7ayQoxo(8nF zG1bWyK+j6+Rx?GZ>#!@<7%-!L0u=_9?3CrO-^%q1SL6Mvv3LQ^wpZNVR-_+9FIT+t zlZjf^56YJ`8z3Wh?!ny*wFdgD27Z!B5vC<=kA{{UTMIb|ZV?FX`a<9Iod2CxX1ipk z{~?x7S!4b7>6#Da(sk8xC-&zT4Qf5U%3IfTPt_@hZ?+$Ndeg6MxcvI=@%xUt_ay^| zwIpn8By|xrq(xKb3N$D?cxYUyn#iBElk< zl-X#)tNOB{9RZkb@Ro6(oO;wwUWBltl0`KaeO^?un6iR8{Z)` z=4B8JwtC-w7(64%s#CDd;&y1@5h`t3&t>4ut)T~h zq(#GUIzMg1Y=gOt2qn{)3=5D1*+~U;2^gIG!J|!t6PY}JPXfoR>%3PiC>NN?0HDL|UVXt#Smkwvdpg^Tw}MyS*1IDxq{&tmx9VqwSc{;AL5= z0^o8qZ3HOA20Je>DU&>unFqTsVu#M>IJ}oxK^pFHE!92BrZ#)jq(AZ+CAWmlSr(#*Amh9$HQVF29D`^)OG+Vu8no$k?t$FSvw(88mQ=yA&<) zQ@WfMZ2u6>ga^x@u&-&79;?H2>ssD)XZ$`c_+fqH%)=h2koQa$X{X4@*`o<~jQGtW z$~+=q!dbXIW1kf9rf;wSV>y_{-5w5$Fk%|T<@QT*Nw8b9tVQ9wM)|Kh_}|h}U%h+Z zTVgJK_hDsvQmB@-u5~MyPDFh!@8`NRxC{D9k0lXr5u6A%jj;8Sb8#mbXbcH%|>5?w@id-8mh0@=+7Q1?_E+O=`)70pWno&I$^qscn?Ujb`|H&F{=b<(b2D_-ybf0$WF8BXtd*Sx$jkbpvdf==XiKYHNh(S)K;~&(b{$q+aXFhns|z`~PVHW(Yb+t=eiir5`$|X&Alk-eFhI(=z(3kg*V9 zevj_v*+;3f!8xyEK7;zIDfEg%P!xVzE}Zy?*sQI5tFORQ$4b}2&}k~TY2wh(bHx02 zC*GUO-7c;(us)j?)IESw)dN465#Y5DzX-oI3Jj!g#qBtAdaPMhm$A04%j~syChhyx z@XWdBh>hD9Vl`?at({y5gi>h56&{aB>+o+HPS`6u-aB2pf(HtXQ?jqw4|=VqZDc?X zF_glLR*0^zGy4{t&hx!Igg@v8bwo`#x?GMhWo1?`&M8;kJe6D%i1AI=&RY(cW|Zr2 zXX~(M=;$aSW;45et?;fr&Gj>mk~ks;g-`bhodW!T5eu@9~ox4 z2k;!+FgsN}(~ggxf8e^^n5LPx{?%#a5&1IpV7|TB`LaBB`A)J;ZC#)d5H38=Kl~S6 z-&;j{d2oMJD!6($xQ0n z^P5hM*wVxIo^`|e-{3z^A6khnA6h-!+NP^crKZ14GXx2BuFo$&q+VRnX6o9U!Mded zcK9W%lw3RVx+RM3%$H`YG?5~bw-<{#JtBF|-HV0OyfojtYwNe)8#+RXLdh$vM(~_@zdqKxw84# zvhmX7b@6^1o1FYjmi$qqUZQ!lkfej0)AY(~TEX4Im$DhW*zFOat3KvKeq7~TQ(UW-y62!Mo4So0*k(lPQ>N)3Ok?y z5`D9m4VW^(mb@VbMj$gSlafZ}Vg`q)GW3%j8{5)VeJ2sIwcQycixO%je$@#sp7UZ9 zi3^fMrXx&}@eLM8RNVSC%xC-}=@U#BIfj4~BGnn`4-qx*A3&^7=-zv9V@v1T3xK{} zG_9koC}JL^ZlxXro6tABBG(MDe2sWA+BfRP!6bxwlVsAh8bC&Z>bxP>2KvWLg#c*u zXKG3Z*aD)}p0zs>Ayg`Acu2T*T!MY4qVxQS`clVxQ;B8;$Q{*giCCBDotzr;57y!Y zljfv5WDJUSK}Z?9J`ywF@s}!dixQ*>IgBLjn3V0PA!h()$2>AQz%S0+)@BUsoV?L$ zT-qA8a3LBo?Vv9*#J1{nVS7s>r%}ft`{YsmOj!zNpBMbE(|1YN4=aZ6)9z2NDB27? z@N&bLJg6z>YOy=ThbfV;k@!b$oHi1_gYZPCFbBwTOZO2Tm=W$&cW(}f!Ugl@j!|62 zb;;KnUfba$=*9Ay0@OHLf*Wbi3c3QJWvgA+tH*bPJ9rH_p1!dY$5sV})6}>D==$h_pw*oqe-Qp%1GR->v zqYq)`c=llRst&OQ5l6k8?BK zK%aMaFeeLvX(w{HdGMrxrPwYST9?BKb9R%l8KcB&hTk8Tc?fQp4qP&bbc#p2#Y#!! ziz?|Rh5pjgj+1P3tVU}O$I0k^BW9e(9_x_YZtuQ*wr8G|))n@)?rqa7N>$8}G)ExY z@0x~y#h|?cBuyNHW@dy+HB`a7e_e!HL|J`C4KD9mV+)_~N2TmWWl77lMgTDrn3rdO zVZ;H(y5i-D%V(W<#KAnTba(;hwF8}GVbPag^-cvuKCjkUdbAqkn8 zO*oa*jU@`{5Ao7(Ohj5xmFPY8(mgp)x8B#Y$*W)DGWUXh9)CIx>^2DEu$q_zwWc5B zSlbcceRCYj0wx5Vw!r6aA;Dh4A$BKOO~P@`(aJm zPi5522DVeO#h~Y|&BBjThIq73cr@Yp`!~Qu3>$m%i8w4cwcfYRlyHl|4IQ6t~{<3IO`}5~G_Zj6LbAwiLh(cI*0{q#j$^fnSs6J<8NW48LbO|$A6zBA{K$GHdw6*M`i4jX`nEuWYcv{SVdWv zWTI@WFbRJ?ZHeK5s|9(7nl-Gsv>Fo{Z28)XjfBn5tf;V~>;f0&*;_#pU*kRa`U}rH1K ztEn<70oBrL7ol68*qhn{K~`y?C)P8Q>DgJjLg&zi<{4>PVf%Bl8C^lmNB&V_%S_vx zci8*xHD{(nX5Fj$3twqHy`0I^*t{;I{nKkot}eE&C!VKH{K>&%hiNM8ZZnOu72lZu zU)Tu%tMimicff`SRQ?Wdd@u{2xxiX@Gbv>`7L?JxsFR^`3mm+3s!#{MYr%D8&O}eH zT;sxvjRTHB+K%kHQO}h3#3P66J1MvQuKJF@o_ZX3LDLw$p}MN1+fo_8xgFcx1& z%^d101>T}gYd=mu&w=EZ0x^xf&FQ3z)}bALzg-_t-{u4P+@<4Pfqbfe*PMcdBwJR* zroSU#1aA4tkIsSFu?}Yn)4AVc77%k+#RA@ zQ`gO6rK+cFoABH|4^5Oj)zP2TS?lUxzW}{|A(;uVwuJ^a*A^K^itI&@d#6=&6)Tdz z%US|SG&#M;6Yt%nK46diqPP#2YG`to&<5^oR{Yoki)3lVa`K`R@Ct)(So-Q<)KAv z4iLWNhn_H#N)J;O7;QHr-o$Nc-%j)2+bTh4^u?3q#|)s4SM)DE=`39W`YD8NI=?seICX!@{(tQujE&l=g9?XK?3TNSNY=%Ifjvr_yX?C#&I zy6nHO=Ahevtf*`1TYH14vYMM!2Zg)*Ik+UG5}Ld;WJ5nB&AhJgt6&_fgj8x>RH zV#8}cdv^W~y-9{9D!xw^nTOHMcpt`TMQL6$YaXwH)*bUzhIf{4pPI6t=%}Hm7LT8m#o^ZvIURqQmBYgZt!H6#ylxwP?%il{JY z(Ag!Po7~U>>ZOqIonBcnQq{adk1$307iiVJg5ftS)SsCp@0Ov+3s3N(t|*|0G!dLi zr?fjLuDib~^;6zYdgkKe?e&g<>Lne5X>v!X-Yn$yvTju;Yr>tL?xl{QOEn)q>WR!1 zV!vI!{vykEP4zov&E!OGy+5V?eQnCf#~1UWjpR8qhNvx(_WN zO$`uCCA^4TVZB2Kab80C+ z0|vM`m}fOwT+H7M>cv@c1EIs0dkg%=@7rz(hz???*wW(dmRbo7?Kfsv)cKHGqQuIU@g%DZUc8kMI7x$jsjQ=X*DL~tFIMBi`Dj#Py_oOnRbh9_? z5oebQQ!rcZ7cd2y-=V^yP=Y;|qByc-ab(o|<@J@I?|@K<_BtcNCFQTx0lK7qK1UXu z=#VeHP=_lp20WH>Rj4}@=BU&=o<*R2gOt>fkw;{eYj;fMoH@hA{s!hwxl4+a`{yxE zI%7!+f}~wqn_P!cIp{U3efjSIc8{kE2LM@!#TSjaaf508`T2~1GA)B$HTOx!h;kTS z7IaXKoo2Mo8AlH*5Sk*T18!_oZqQrCW)X80**|+yx)K{ds`=e@cN*jtDCytB3qB!D zce5dK{Xy2SEl`G~PU2_BVrE)dPuhI*(-`S4Bjq!urq3-MC-c0Ql}+OQA$KK!CcNn5 z@}Z?OHQZHqhv`P#+YBcq6JIu={boTvV}Zh$ttkUeACrGT2M zsk5YRPLLJ&)Nz{OwmVDTx*f5q^JrN3J}%dB_QZef4d!_LYzbowG_rTFGuF5ICuMD5 z0mI5hz(DX%f|-?_h4cTEvj0~p4-WyolBsf{9PJ&9KNU(i=mX3R1%ajj zW0+5!za5ONR0tSZSwFktWU6Xz)od3wMG5w>Njp;u%*cdqo zm^uIH13Nnh0Sh|=0V4w=69GFj%cpZV2>xNSv9J=bGO-h|GO!Y`d;)-tgB?cuzX$wJ zTmRtU|MmQ*?Hmmp{sn@Poul!8AR(l0Z~Twx{%3#vzkq>Z{l|EU1oZ#~L zMa}K(9X|bR_lb~C-|7EXhLMq-fL;V>X#KA%KmBN^Xl!lMP`Bq1OFo;z_!c|7Wy45S}_FGm4S$$K3qJSN+fTAYM?#@7OlSg zUXXg>xu{;HtU)F>Kj>%g_zSNoSrEvT|MKwm_4@suWNowEwD~Y?)6Q$PS$}=yUMe_2 zOAd3GMyLMjCy|#VU-$Xlj^(0jjqz>zpP|DZ|iNee{6M_9+OFH(3cY<g!5NrRU zIqLjNL7`1tPUaTpf{QXK-J(%f7SlocT#lS?J&j2z#IG}$S1PSC6N_IMgW*!O$}ni_iEiQWbxmszpwl zkql6)m8@eBn4r|@%>$pN*6revAT}bDi+f~_ovVwf+mfj-`VCEScw*G8OeSFj=EmTQ zk1|6f5eN4R*LwS0OQT5mbLaut>6N~V3|vEE`H~5jN=T%15Mc;Y^b%o3M?OWnlVKqH zkXibpLl2c_$V{{=b)wnHV^a^6>7Fl))Nf%KhqWQ---6Ud;Bzx?aHpBXCxfd$NVn7# z|4zS4@cSYtPJ1IW)5E_*US9na3;NC@;T*);s2?n=3pG_45 zTOK$Oc9N$b`aHaIE<+SPNKBq%F}K&(zW+0>$gV-7JKX1nqqm5EiOo}L>=OzruGTue zN8Z6Y)-fy@9|D_OHDVtGCy&gzo#aSeiz4Hecg{_vUybh2roANV+NAMOXz8angSZ33 z-a{hDo{m1KJEV?7n`c6E&LP1vF|P7_$iI51beTS0#xBc$tz^_}$IJMz4*=Yf!TugTND{2-jC zxtm4voud`!u1!U~;WQyQTz;1FQCJ{^9CG&sLG|JABTqKMHbq+ga7)FkOnv|1NCk%V z=4;j&@1;9uJ9I?r5J~a*0aS!&lH%DU(M$CCAT(K~%dq}ogZ+kAS1KtW+BkFCj8~}H zKe0?jF=mOmPUPmT+BNRCvPmd9XPvW22I*pm(&*zbyXC4k_{kQpM44$&XtUQ|_#49Y zZOFAzuue;AF;*zdraWuD-hVPDV3DDPZZO=@?_0V9ZDU~_%IhJA6O4qq)S^u&)e0s- zVjSz;PoRPbEX1Du^-odNQ1*cELe=SbA-76odu>v;f69JPZ`mn$=XV)nX^-(jwn(>i z#<661N>l)$JqScGWSeTB^={v{ErDY)&-HMtvVLbT`mfDvV-mJ_T;{3;|@E*LiC4se0#Vm|#T7`Ts zD`DY#c=so2n{no*EV3D0V1IEZLg@6G#k(-m>QRv=OLU6?IkC#K_6`2ROy>%X$;+Y` zeB0=mnlKfgYD)5LWT?Bv+WDMs!lF!uiS~0Kf%RUcV!;QQZY#)VE^+G+65=UbUNo1< z&nwET=a96)o*?tshx~;4JhEl8L@1eGCoXPUOcDQ`!UM@-^1e2d>m4CirGqyp}}8KvhdtLQJFOFA$I_*9onCp_j&*UvoIUzGF@Q9+e_fhW2! z+@UA6Z)ch7XD9)lVJ(rZ>iFUthk76KYLz|j8TD`!o7h~OS-5aL3Zxk zss}WXX+V46d^>yM8|BbO|J^0kStN|Rn7(yqe$j^FQmR}HJ1WRM;H@IH{h7r5m_6i# z9mf3{QsmyRCxZH{y7+8b40WCu=Jd&2etvcmua5+g>TJmc^ko4g!2bCrCw|o>Pk!uz zmdeaGxO6YJu=ST&Jrj9HYyKDWC|t-0v6p3DL8rXb_42CT-DSC!QcR z5aWD746ssNf?pjg!4|EuG6C@hShaiou{bqxdi&mxpXsTppISXJE?0BuP%8to>Vn%U ztB-w9V|fmE;|jI#WY;v+w?u0Y)n5ddl(sIHur=7xX;vrG{$5fvP^EoC)6A<1fJsHX z8UMYshR#+PuAN=AYz06sF|jgXMq~S>KihqA4AZJLT0jY)BI&9~0XL9QSTYU(+?cRI zpC;v11*b0m`Fbk9^f(UCiVIg(dx-^v^@vgfPzx+)zbaeVFN+7%?-VQR(~hGnOYx6V zlr8t9z^D-)06b#gBWv_wEXAvyH9|`|Qs=i-7AGwjCCUTlDawAnm9(m(30Ib+=Kl^T zQ6iLbs+EM(%M%5gJDdPIQ9mf`guR%CI6D`KENS_8m22w z2l#=xWA49zWfrd2p+)!W-0=yvPF z{^Kz01fp1uY)QOcm2uoFs*A)irjLOSs&MYXUnaNerF!T|)DU(WagIq3s=p+Eh^{>o zDG(23cxJ0X#Ju=*t}`6)Vlvj2>?mFtbEpQTfhVfv$99rMYJ|{s#Ogq=()x$y*9{O& zJ-kQ{|Dx%xpb%`gwe7OQYp#ZLYwIenqNi-0>)v*@tV zFlq9hYJTq>&2jAQk_wy5hNy}`dFYTdB~2$ur*uN^Vp@drAwg#o-cw8?2~;x0u-d%f z4CQ3>VfV+z*A!>Nx6mQ=p3levMau%YL7jYq#st_yZ$nx@Vrv@>!UXS74*`?ix85Kn zC$Q0SKVm4KTWKbQOKT%1x3r%>EHi{I0>7McZfya=kV)3V4uvCQuS+LWc5T#Kl zVnNSyybg^;?W<&2%w-&6^kOqyRIMWPqgUF2LiCjJTh_IXL^k#?(y?p}&ZRRF_p)^B zFy1)fnP2+J&zbyXX_a4p52Cd(ifdtS+NDaA9HW!l5`f_Eu3aa%Hulie1f@Sh>9%JE z_BFX8@7scsO_|*j65u2pMG4r4I!!XM%qlg0apkKLPOd)E%S@xH)C%&2z1eWQglbo# z)Cdis&J2T0y(NN2q~PwppJ!i6T^f5cYNElH%8KvKz05^9ngyUltsh%p+;E7AWA!*M;dEf)q|P+dUy*q5FKi^L^`zDoiL_}3r*o&9L7XAPB?`=I z@7g8GoHnF}WbHo8y2C3qfEx0$3v$Tu!b*ms6sZy!%C(3ei*<#L+)hHpY28yhs7cPy z9luE+?@+kIWXUizx~a|y&lrS)BA<-IEm0p-nlPkEa+XGT-hAm~?NH6Y#A3+sokwvSwdVru)VCAeCO0chzj6UnkcZ}Hfu^vAdmd?v4M~EKB zIcR245L89Nud41N{RbV37*~k4A~>ws4Tb3o`W_Wv$+mxpFFwQ#%JyI-5J+bvzOELU z_!xECZ60m*orn*f_yt3RQgnwza3q?TFfWD#?03^l(|5OkA($KH8%9S#a*s$p5hz=` z8&&Z)+oPS%;)>tAl{$sfW?U?hd-DhF$(?i`fNtf0yen>vg7tzo%jtNL$slqv?v|J8OwW`i*8yZ zSaIgXqPDfQvW6(-Ag!UM;4!CB=yLL!8vUh6^m+^wP$?C+Z0o(yYwfWkR$ZUR*QJn( zrMVzS+uTLo-{h5T#+P{r6?=R($TSr|u-v*qIOSxD=@ll_murtaI$TF(;ME9Xhawc_$5Nd7$!zQ;duUs&(P^rCkuSU+! zR0QUaK^AQI9VwZP2f`7X(R`CCdrb4n#7&7N>60CE(DKFi*E{Me(G_a=9O1U!a+2-NDq^o<(cFHo{{KM3YbIj2~u>J_f@l)f`iOu z-R;#@W67f%mo4^>1-GVPl1;djMwg*S6Wm&(@ZGZO?#*OB9M(Fo~N1Zwi&^Lqyf9!D9fU4-+a3Q6Rqwy!)T|>k@QBV3P8`NuABopP(1eLWN?6 zDGH#*0HwLN%$*s$4xcPUk{U>=h!FB;FYnVhCazh7c2?E!5k_i+v1f>(%Vh6HR9Kxi z7JIM<&BYke-Wie}ELj$-mp*#bD=X_)A7U~)@pk^6)ZVt0AU;%7)fSR!Pu zvoo5XuAZNj-OtC1o7(A1J|C9E`%j|9FP(@8fVf^4_qgjK-j>3ecQxGWE|cBv4;|9= zN0Vuv#=3a$_O%z6CA_Xr*zr{`LAD=D165;ek@&>%VB5*XqojJ0YdFLebt8u4Ucu1- zYba|%6y_jdb3>6lnMb5UK;81iO=k#U4J%sHJeC%8_QFI>XfXjC2yLO|1nt7-`*f;_ z9~*}Ox4$^z4f_|7=rO><&+T%jksZgguFc{#jJu3?`>Q*D^Yu4lN*ro(*N!cXU!}U} zxP?c5R5VI%oz}c)E>*MCL2hd$+i!3kj5AilB4ihrQ13Y}4xN^NDQKCavid;$Ryp$44I=(MI_tAs>&!L4uv%WJBp_HtursBP3gg!uneshw)}?TgLy!9 z3LHd67;IafXJRVG#LtPHM$$lZOT_(A<-U9kG^F(@Yl z6hyGoVnSJ<`F_Z|x(a21y)wsOGPJE3X(!fyIf+2OMI}PWw9;w6iYaG~BQo&-&n@nP zm!bjnb?2m}*;`7yPZ`A1$g&_QNSClEXrEL&k3Hm;%xkC_qk(cK@sNu-w!twW?!^(S z>1qJB%5(#`XL|6Dz!aly6R$k>MT}lP?9QqB8`cXr@QL!*NSehLCN*|2KoJ%$tM4+rALA5r39!44-s ziOKnH#^`>{-Kyyg+n}C38)BH15P@b+b|~9=AL@DLacfXIY_9mTeCioVNdTvIUgSJG zTxygqF=4oj^8N+1GDPWEfT)aF=}ZE#zr~$xv@xrPrQHX*^GN2g2nJG!jCz1X5{fWX z{*GDt=;`P&nzR`2T)pyU`xw!=VEcdyX3j7gLAOH8(&D|};vjpB_PAtvy=@5j6+6-9 z%ZgZ=_sA6w&uq<27tc@DU-!@cG6&2djXlW)^W=5SPNnPG7S+1$h7=nH6e(4-6yz`us1MYsgD=x!edKu5_C;`EhK&8#NifK zf$WZ{B&F_hAw{%n$1F#{{5t&ITOu4Lp>qEIV|?4K5LND5%gzaBi`UFG+1 z--WgyPM2af(X~q}hxEmi;*APP4w<-M#$JPvj2;9P5JQ6~_q~&cbI0dV1zO{bI@b2T zbhE~L<_=83@%F7@OljqNLE`D&u9bkV55H3V7=v|60t>gCj|qOHDte*ahtbyg|3o$ud{trbVYJ%GTCS505Ii z^yS^kp_I0;%#doke$vj;i^jV~%d@fc)Z?w^53(b_hep$GDhRK&vC-$uVQ&(2wDaiz z%Bn$m_3K5o^`9P)y~X@KdHlmDP`OyfE<{U6fjwk{FPIBJAV~A_sdP7Qd_7V1+2_Y|yojSNoUhcy{l#!&!1M2_V*q-u&xqU7~FS`HRbzk`thD zGoaSN!zbY(8$6DC=G)iFUKmfAE&PL zi?V`7j6aD3!1G&ihZ3nD({%|OsB0!5Fv>hP@D`Pp7ncsu1`Wwy=YChuwZVM|oF!~~ zo!XhH!fr2UeB}FjB+VXfv(fxBZ`(6!y7l|3Tp%0H zZ!vv{nz6mukMmWEoGvb#_iddWewG!6eQ9v%xFO8NqL-ic*3$b`R~!U~x*lhF-rJ{2 z3dG#3o&t9)tGS+*t9!VF~;cPEJjw~!zmtWZWS$bvf9!M)WrSe(h~y*B|%ESZTOY232 zVH#mN7YhYW@|I`donLOfr&j$WqaP0Fdro~Y>BeM8J9C3!gXZ8DxDy9Nfvkq2V?;+B zM|DUsjP2kd7mt$CTnT=YS;PbdKbuP5W7QInK@6gz^8~Iw4m7VcxIV#(v%0R8HiyD! zeELYw2mnjWGhOZmqM9o&I_~_yz;vv)FKC~NEqUvR1Q`vNZHP7?RG>X&5cDp*BPT)NEN46Q)vM=R4ONuG8fB2j%!n3-l?`HO4ZIx>@7u=TuiEp!PX{%t(nc{iZa!5g9gVsxWkJDt zy-xf5CZ!u%zPlCCi=<6u45nxH&bOkr5E})|9_<;4=UWAYNq2X3vSx+~-4JoKnmCqn zBoufGcZD8Xzi`464jGY{6f<`<@}LnXaloV_d1O)>PfeG`)LE#|zk_cNL2&h!sDGK% zLcy~x&pXefnNnGrJ=){%w#7q}8iZ;rfpaM&e~+@V34cKcoN<_a0<7I>*xjWez${8FuhJhg?a0o!NAXEP#32&vLeV58=#&I z8p~WjjCSqQ$^JQ~n6n@xXTeCOEQrDjDocJrZPa zqeCFeaRejbfW7kE2ru}a?`An?Vv#Jy;fkfM!qOZP?bEOdyS``l222;?HYc%d#p4PR_Ubx858+cKve1l2U#ZZ*R6OAQF34JqmVE>i4#Fdte#$N(rGfxf-kJFyiqiqSwk@Uy z)n>7CPkZ6O=Jgk|VnnMZi!ID2YD5m2sfI@Z9yad3a?@?S)z&ynDsHEBJ99j_Y~GDT z>EU3nj~G4Y)haePsQj6f1TYW^xD``EgZ=A%{#tk4s_z;ez5N;R$z!)IzHA&mw#aWS zUIT1y^YrY1gZAWbm%^M_1Loh&CFDP}Z;GKyk9LV-TDeHjFJD!9SjteNt~7chH-hf0 zbe{2$A3yvA*IhOB%N(Yyf9%9#OKGcci}_3X_e%R!m>i#`0;02Q zTl$&~yKqFl{py)a6fmtRa5C_YF~F<0bP<5tcR}Ir@!~=?3IR%dh~%Jer}!I~IWNoj z%yr)hwi3wk{TOT^I;bhbIE_u18$55n{KigDo%%+(#p+OC*$I%Fy>QWc(+c-XGMo}0&~M{xz6{)Z8f}k zw>wG`nG9vQxwv594PrZN&$lZ9%Tnw{EL=bl={1|FyjW)mdJWvFN>0hfv>E`WY zzLOUlL|O!zA(k@XLVDyxCo+KI5q9wh_s-EB3%HjGTU9u%1;f&CjOCA-07)%lFfB-qpHSnuq?*Z0YSBDx|NJB(OAT??H9Xj7y{Wd$92$ zmGuc_;^}1_72ZOPnT<#SJHh?ZHUdVCfH#YFWU&kt9bJSun49!X)Zp9lGD1LG3Z3M# zswG)7A{Gb_TXWw@n9XrHORdvNJMG%mI6E7-ky8t@l3Ji?=2MxpP8i2t7zN-RTM4fN z%hf)v2==0)yu42CyttOrHYd!0_6L?a23Si<>BBjqZZLTcRnaAEoP{Ltl7l<%tsmX% z%r~ItLtD1HiBBzXb?B#Jj}(@NJjD+@*)lBZ6G#zrM=o?Qp{6l;ULiHlPw6$6(?xm= zx6q;_4|qHFUM&+qHp;=9lII-vO_r2&T@@XmuDG;FtRL{b$sdOer3uq8uiPlke3T0L zekbO9sL1)St)|ltdZ7@gvNZ_raye4~fdyJIi`fF~Qu00DT8RFjICOm7 zgte@7bB!8M64Fc<`}zF|$;abH&Cx=kqEm-?iHrTGl$Fp9gOJVl)?ZEpW|JpTP#WncML{1T}rHoXT@H3b)Xjca+uhG`k7hW!R<@ixI-y?lP)w+Bw^PCKe+m_J5{8 z3}AMQC+oP0c1bFu!bDz14Juf-v)L0EvpB9FCl&uB>+kfdX{JJ<$#>CtyU3JG1i>?? zh-|0UQl0WkJTu}(t#{HwJPoqJsPtzXF{|2PX5o5?z`kS8;_5dbsLZ9sgKTE2XC#7o7zU3KEuTJb&4uP`K zCaK(hn^2(unRb5BoU-(5dU2!($T$f;R@(wMWWTW<+k=V_|Fr5vC1ZWMw!zsUAGJDR?F*+uF8?A zl}18}maR`5l-}AI`K0DwT)uQ47QGB6aub^Up32I~wt{w0L?PWn3(v*N#JZsHx&xl28_gam{m-}2}12! zg{~nRZ`zFZqpZ(>`*s3$?vnBwcFULz(iRF+_Kf=~qIxb&TyM2ydxR)l@<_4VK`1WM zbNK>nRVi&nlu-VSA?93|-Mv?_;YX>ZX?58hN_DvO`wL_SmGCCt=&*5&q4QPn55r)P zVCKrMXv-lSF-?d^6Dajq`Zq!FD0Me_1>mS45<_IDQP~|%j*_9QpXsmQ` zU@R)b@>wP2m6T$MQ<4Xo^6!$XkvbIZw#*X&Ut+)tAW2r9|UZO*O+ zea0wR;+ISs1xa=KENoPLB{;vDCGUl6v#B&*It$Y=b=>!PaW&kdNOjkhg3VTRRdh^B z+aK%PGS7ToPQ&KmShw2n5}3XTTyWpmbxy0TGZ-$U3~h2YZ5`5r7tf!S+rwK(3>KTD zSsE`!YjeV`OG=zSOGWf8U&beY?ZR2*OKM+-zz<;}87G<__&+hvZ64-#IJ)Y6uTa3I zmyIVzV}`F3_NQ-|X$*zivxBt7JvVw`8suIC5FtJTvsZ4_48&N8Phzf!wT>$0V;`j9 z4fxKEj)A2U3Srk%1eW+(Pj4x!<;JjTo%Z(v2$z4enb6}z1+tO=@l(;cloJeL%+6VPGcz7Y^cWx|nq`5N0G|B1)NL&HUO;{f zF{lpVIw*A|s+*Q)IXV<~*^UxmbJv{VU-op_lpa69-r#a$L@jdNDbt{~Hax@i^!?k5sd#kA%zShyhGC;Zc zjH-5z1ygD={m;i#3nNF(O23g8a+QlG21ZdD5eYvmU|BEemweI2#z?b1P~kkPNU7B3 z33-d=6ljnai#;qACQvjJS!j=XF?*y|^q{Rt`tXp@4YN60BcJmh?D$jokYn@sjXXqK z`fZZNDurj|770AIHC?>|>j}E27!+k|x>eFJmahB8mfG5NNn=@Z%9U0sP*QF(;?SU&^#j3}YzD&ttVR%g=E zVHLa9m+Jv$jbxE5rn&u;CO;3edko=v?iMhUJLzjK5QP_~4$vV*w$T*VfiypYEIwaS zlZ4c4aKijxn}<;ou`@US`{gSa{vJQ&v3RRlGZR^HF}OweH}{->%`J~syOxz=u%G3 zPIUZ^!V(+7H&BR?pLVz#nra$C4*j$|x$kLpzcdgDz7dLaQ`H zoWOPq!Cgwx_<*s2kFxu=X63QjC4&$oa6uS1$n#`o(ewqGk%QZgPBG%4*);vCABv*~ zMjWYrT<=s4AYFagq9}SOkoI{73MG&N8pB#FhPTJhBa3ItRcdW4iB_2`hEk$GUJ@3| zQFNq7J^^PuCf5J(75|Ff{EbrhgIdrtFtRcJ#b2=e!9xBkfbrjL1oq&?6s1y_R z-`Ij&_Z19*^zKZ^dv-v}9{4;0sRs8qe*8HM3{w)9V z^e5-9+`pFpp8hNMpKE`yFn=O^K|=po`e*6ieg7BrApd#YKim2%{a?5HSIPf9|JPRi z_oe?n_pdhosqqg~=Zm%a?}p0%gVp(;`uOhy<)6md-$vsXN%J4n&fj|JEBWuJoiA?b zAJh)yf1!5%39DjZ{HLb>MeY3Aov+~kpmyll8QA`8>wl(pIys=66qTEfHf$Z@8^qIm z(n!qXin8w|(-Fw5HP#f&pbC-9EX%3ois*bnD8ZrC0I8AQqen!ycEC*Ghuw17;N{%7 zKt)B2-*+OT^Ntabd9g)`!y#MU-ZmNVk)S z%Fk40X>+9!T97Rp0^exar12;2^Aj1i^R1N0_^Vgr;mB%q)`?ObQClhz% z6K<)5w2P`6?sdpb4ilI-fP5TP1o2(x^xk$3IT;KqA>7uF5(*f*p{M(GR)M-VIc1An zQYl?%i;IvBE{pASDtkJzNQ)A#d-`uFe~X?uDGzZG?B(npE_*gYo{N-PX!;!dD9hVcgxHi zm7M?@f|{z%nS$I8*|ETQHKj4I@Hq;tx87yqnp^@^+BwDqvs=fo!OjYghM1=DCm*VA z1I%QE1^0W|d!uhZUiG|!$~!wwqf#w7%&Q0; zrAhyM7D3JmS{WE9P$nq^&mju*W%Hz*!RqLZM}p<+k zU!P||?<+cbbtmb%Rb zj09TDP|TcS&ScMM&VC#h({CsgTQsTtU`RsF|hXb~$pEbFsb4TI+IhE%!V`>KA6+(~#m=S&h-GTB6#`VOz zz*d&1A!?n!l}9t%dfyH`ZDnk0njOtB+bz@$oDna_kp>>egUFl*+k%p3d~D)GxfbZw z0E{i<17J0sf2Y=CkrCy1gS6pW-OoE*KHKSv%M(1k3-wI+4xyLKw@QwhC|w!&!Xl?x zLR#v5O2*7*d2Hj3?d9*C{E;@xSUCaFGF6{y#hN^#e8)KWHh4EXam+otSwjojvOxx8 zoM$irfSjBsT@$bA`{lOGbN}rX`&9JzEG3(-Os*>=5F)@#gXNG$>eMF)!bwrGoDmHtM|i-IYMd-*vTj>M^g@)Px0 z+GEm_fcxag5Ob3xM$1$l6Vm!*X(Q5F$5oT2h|MV+6J4XvF&zUicFg7Ri~X#sZmE$GuD zK|5*q%jJiMOA{dZY4+KZa>*k-k*mg7M9B)N2MSus${55~7h#bv@+sB?U`xt6nq)`# zvn)f3EZsqKkNW7j18TE+W3$vQ$OME_c|?Q8zjG*FIt1F^O^A$at6y3;1cDZLRwi_d zj+NtGIrRZYLn@lK5(chgA?J=IW_lr8AEfelGJ%Kq#heI=eupFgL1zmjX|4u72q%fh zLB@|L?;tR8=EqqxlNEmRm)o2e3U?@qz7rTxMhTxrbI;%clbBK526r@l zMF|4%X;5zMY1Ff13q5R%)$))u47IU^l(#m5l@=K}rhr3V_B4C#V#_FBVJV{*a-&%1 ze5DZVZK~vRQm`T{e6*G;%R2DYFI`W^5PWv#i^jv>#nBW#Pq}WOb`Jbi#h_}sy~mQn zUS@gT{EZs9s_C`}zRdQV6>L%gf8J%G!8;Ez)Pbp!u!72*yp9Vudkr@F5O{9}2-h~#;&bK}F=MgQ;M^p>H5hG`E zx@R^9?loZsQkN6VXGF59i#Fm+OC#xFQ#ZnL{nqxx+zTENBI2u5HWtlSY^BRwK~Y#` zZ(>+dynz9k#0og;7bd&F94rIy$->NEo$*}?aQ{bylpxy?&=mX0Ocp98$V3_rT3%`O z&q((2*#qdz_OkRHg1U!NW>=XXvfs}0v?i>6} z>mw#~1&-tIX%fn_JCPOIt-}@E9sR0)K$xNrs;lUF3clt0 zi>b%COlbG?D>^f8a9`tB^?A`h(HQ}bP6GRWd_|w`2=06Mie4{r4N8Owu&#~}Wcn$D zlyzrF#`PpB-(vr5-jZzN8yhPEBrxET$xVm=KZbCv>QfKIw06yM4Yn1`5K zx!)XX!7O~;3~0J=KhE%M{pk1c76Up_BB=R&!M{!}gunPE2Xa4oeFk!0dZz^{*>Is+2aXv6{Y`-ouFMOc~i=w zQB%SsPpkT9D^bBF7a$gnB>-w=-)EAELe*ovGkZQofBfY#s9*Fkb_HIB#-$VZ ziRfvGQTPqfj)J;IBp<{DpRwPW-8L#p6Vnfk??tqvz!{H~w71m$amVULIfLdSF_Pb} zIGl{oFu@Lc87?5OmZ!v2(TyKAptdCf-|TBu%%H<-UtKsDh-Y?MiT=KsNcs12Hi+P2 zzqrs%IHw%FVx(iO>!VDh$GXx!*D5)k!5@&#;OVK88#eBo_3@m1yhG5B}wfG`2k_!Nm0#IisS(2ApLe%=$0PF z%^~CZ{nc0P?;sV2#!gQ86|ITjeY;8Yl8z0=M2Ls-*5dLAtnp%Ch)g}|8J0@RdxZ>T z)C4C=i?*odren7v^I&j^!8we1G5m3*vt~8z#?{IOR!WK;;Umjg0&o0YLFNv%Rm>_TU@l>6e zMuYnpWvO-ucUF1~J8iv2iCaS(3eOnFj#7;&a7tTBQaiNg&X7?yklvt}dg{lm?rt1- zIz$gBHUjs^H>UOUoB`KN_{HS`TH|TLq>Iokp}c0o=Jy^;-4wONk#|nf(Nxdq9{-A& z-<6)-NlMP{1Ks$&j_G<+Sa2RZ{Fu#kS1xK|x^8b%<|-5!P6~%xbg6&X7#a2)!HN6_u$WCG;t} z?V>EYjG&7DWrQf@oWc#KHJOu<6P$~uHEP#m4gF1SlF9|zU|B}X&dxQ@cR+{l5n(5W zslwjO@%Xuhi#$(5k(;BPEqaD}b1WCl|#GFd` zqJe$|mUKBx5p=IrV>+~Zw23kYqh(XgT?4cs;8nIhy9jj(l?q3{F>~sLPN_&S#lu{i zLi@(MW-eWSTq%uHs#oe!W_FZGG~iuMSj~{{5E@=2b`J*iC^|3${I^w(2ggvP91slO ztEiqQbYXPiS`QmoJMVJLl_5>Dd(>B`TXH?(s5LXR5Z7qdTb<}5t-#C$dYk!~$=0R& z3yj?03q@tY+q*A}0{ffuhmk7=#v`)<6Yc&FP=M+zN}>(&x)(~Rvqy0jrwY>Tt;~F(mUe^M z`j`yNxQSS%%Ai(!9U$FjBQ7d=Ngs^gQ$MA0R5)iT{M?JCk}Rn6d_QcB(2Z2b%BQj8Y=)1hzJPwBrQ1gmvPqPh6+k$ko%fY9mO_ zEI3x&=)Y7xH-saDtsO@4(bJXd==C1ZFbOani1ZLlM#B>^Y2$DtN# zK_cPz8QcyyU8%Mep4?od z&+a_*f%X*MextcZ1YUH@221O^;Z`f#A*P)-6)xk+gAiH+Zv%RgiRP7zKD_~u#1A0N z=K^LbRRH;3euMG_V+JaIyvV-}SFs^Oec%5k2|BQul2DOQ;iS;3hCHegVC$bLi;C36 zH5eGEp_I;?i`U6Es9;puXfkF2HGvqB)oZd+O!3aiRNxOrOzg>z$ac3I5{D8T@H>)7 zpFTHSTytoK9wCJP)lFt@2v0dq%Fi8C-$7t26>OF_3bqASjT%aFE-^zP1`a5NuhWux z0)oY3+(gFAEymkH7m7^n2nihnt_XJH6Jg5^X{o(duZ#Hk({G_n0wy}Uqk0A6^TlJ-#Gu0 zWmuzvP2DzY;&jhc7Cb}eFeD6^L+9jU!-CZyC-!K=Vk&Uzi!=7snIIIUnr6pV^23N4 zH;hbC8P8zHenKK5iEek~55Q^<4CWlL9klK4U89}STO!gZEhark+SIQ9NGeTFo>-mv z&4lww&9Z;9D|^jjPAlPC%&AAaP}7Fazb#CxCgYA-ShU;NkaqMfT~qGZT+%o(0T7o8_yJL;wyVYFQ z# zxzU#&gL?<8K23J&9#Kj|Rk8cq*>Ku)G+FVa5{=e5A-7sbl<;{6BON zG6pI*Nz<1da1uGGBPIQ#g+iv0vISQgoqw_pC+m$$ZWv7_ym=jNbjYt`DGH|nSTURB zjiko;0i=-jlm*If;@QL%#jYqpMNryVIQ5i{+FV@|kbd9%M(WAm<*bGOV6{DD4EHS# z3lT?7>J-}GcLMWXwJvgZSig56v*pR<`>%%c)pXtV+k^IHueSYKFx=L9_f?qr*JI?v z$n=l>v1L;qoUJFbtlqc!I_|{8DuwgTS6MA;c3-qDaQs8}NA>GD34ffVTZJh5O#8^G z5@CtvSk*iKiD``q2#e|=D+XMbC74?K^BvGZpd;pEWbu3nQYJb&_NsVxZhd2EdK^(% z?+QFc(ysVl+HLP9H$XB}-VLd(U3C_7)=yt9!`M+DY1r!ozt8Jq$61wz?}t%pK4EKU z`=YPS4Cq=x7k5w=fU5Ul`(}FvJBSC|=;5{$KItUl6jASzB#6Kw*&s2l5dmOBkN6#k z^mZ1DT23KbrqH&c38XwpFx>nhkow|eLpsnr+hX-aJ=@|^%)_1{aP>4Na4rEu+~DS+ zZC7NHmhuE<7OuyzFG0U<4ia34q6TcYW6Uwf*!VTT&1uJ6`rq68<^$jcNaK6~Z`V!H zpt!;yR~HPumLx84Gd-~RYkY6xJ!@mZnGAi5SRFqS_g!5D0xV)-9mMT8R$@>U7{>%w zS3vd`d)v2j^LG;5?eOT>&U5{hjigY{L3nd!PY}3sJntd1BN;O>^!02^bP4m$8r z{<(V_J1BX6p4Kz^hgEEs3eDy9_UJJLUR2)TGslVm!qLbdvGqQu+s#)yySg6NEK6+yc>yA>jR4S znLl$j@yv}!odM?YoyEMWn{MAhH1hn3CH=wM2k@Mpq?`Q;XXKT-Eiz%o2S+3^4~RAezO{+u8W)-|`tXFVN@P9E!2p9I8hO;36W7TCZvTzW#`m3`BrHQd zJNDbd>(ZG$Wl}W%sKK3Yt6~hC!6@_~3Q@l(f)O@b067TSbTTRO#wHyvvvMR(WhuJr zK5-=C034g+bIAyaYYiz#NrK1piKT(7pG*YFYkbzfeuNzk)O|~YTL8u7 ztK)zKU-z{hLcEL2IqZeQ?4Z27>pw!+GmY%0bJOlmhFN`fETVESw0x{c>=j;^pd5Co zcY_e_+HT~Q-n0Z>Q|B9=47&1UyD#5?rd{r#-oe@TmcXRI2{XskNj z%dxj}?%2nXK*ra_C!{|huptl%WWFAogoi;xH!94MK_5 z`QsHp22nQ5miMOMnFL}7%XgG!HjQ%Fe0=dI-lwq?%EKN~5$q!eAOVLDl(Sn9d!K-Q zdyOm`rCo(DJ5B6z34>dR1wwXt*`cPJgMY=IYPr&oYj>GymwK(@cNII1OogI6EQvzZ zayf7;*;Qi(+5s+c72@MWNcQJV2cu$72~sSjYN4J>+jWPn_JRYXZU|4KI9mXm zEYDC8wX7nW$)wL;%XthwXuWxVgyXTs9AFBx!R2{p@;Rp?B#1bZhi;fL% zW0ZSP>-3W+p_g&q^0&fsaKEwS!~>A^fjtO83MDXTaFKhGr4IDCmHM8fl&?$mm_47E zfzQKIOK>LruL=)yTCWoo5j(tmuXJ`pdU<*kq6x3ai)3ia)94xV%M3@yqA!K-))~ib zwCa5CF+O6iEUv)tbQTo>iUC5~JplFKIT!#q09g5W_}KY?dw_gxe5C=NfX{(lA$O2^ z&HzvWK=o&#ePMfGV&LRpX8>vdayU8e16pUqaQemFtkoT$L>gt$=5;uVsIZaqUsWT` zt1%RlqTA(vn?{>g<0=N*{;ck8_L6ejO1XWfH&%ONo|b&4v-rr4GQYx7)L|;>Fp^S# zHSt(*B}(H=>tc;2cZnjeMpNuEmumHpdO4&&NHiQPA4*V-zx@OX=ra@jZzLUmJ&|W+ zqhtDqqT`R5=l@F4!TROa`OjvmUzVQ#r0Dn~_xSJ4RO!AEG-9wf0~2|CauehWweB|9GE%*|7fe{7Y!@mGkHOSJXdqHnuOl%zxznnbYAhe&u|v z2l=Ose{%lB__Ni&NBvKU#$U3Q|1Ue$f74rc2Q>l)+ zXHTzN%b}W`B;a}c=J1f{-$Y(T1^rPSk|zbx*M4p2ABb9 z5D<`11nHr>ySoLXK|;C|q#LA>76g$-B&56J4xaO${}<1_cOH0{{qD8CT;I3%!}EUc z>glmXMUhRzioy${q~S^OZ8nsVRM|aMHy1&X?FvCVDfc}bzWhLYq(O_Bi`nA~7$p(8s^V7riw_zIq;LYZq#m&Yu zVt+kb1rn?P+fXdJ1qHu4e+Re-(g&6~e~%2B`i3^OfqiV8XQ3gmL6gsj-xns+ECLKd z&MJF};rdqD3z$pXyF#8ZHn_YoPy?5q?N~N{76mQh&FA%m&x>R5gT$HRWLU##0YJ5D zSyxVnr-idO=N4@M+alDSHkP_{8{T8e$}SoSHzl+xbo-zcF}$^NZ|JMtx{ew}xedkh z^KC&F`x9`a*=S|k+X1e{!o@8LYnAui5&_mTF7xS?2_z@09zUxSJuP01zy9fNUg21D zoIU~BspWSsc+<^D<;XeBH&S9nPBHdHE7jwqVKwdN81*an^r#%|&4Fv{339Hjoa?>V z7ol4ny321Ym!-q^)mO$Ffpjmcx%1i-#=b<~Tc0LvD(%nAaoE~^!v90vI0Td@%~I{a z$aZ6ANSzI8$m`5xcVv}tXd70`6Wsh<&Qjo@fQxR8#w2Q>NJD9_eC5qU_vPShEDOLR zbuz)7mh5B7hU&p(J>EH#=&qcR0eZIhGt0BIFGB9Rw9)1Sd|}bL(OOnqSUjvn@ntko zZCtg^n9pl?xMMk1);?3fy=nzYWqo=1mecd>_3%mYqdk)z&LEQXwVV!Ejre;S#*1+k zn;We8zJoh9>2(% zR$V=!#8(&#Z4~)#fBq(7!ok`sM6BK5Bp`DIMa!7%%2%!x#Ai*Y`mK>GyDRD?X`4tv zr5ub=asy>+Wh_@)xP5q7+Lq?3&I|l>>ugrRZcK;Y`m>JOkIF5B*a?N{oK`J967>lh zyY#DkuUEzO(`_8W9HV5?L)^wf8f51R@0z6gE;b6psZe{OGhfU-#}wRy^Lu8IE~M{I zm$FZS_c&|R1TF6OZR1_oZui|=7nwZg9)8E|2Ui8#l@NTC=w-2SLqY*vIb2w5XiAcC zgmHO9_-&xy$Jkr?|#^e%0~hjXQk)C7Ld3yvkBb7d~X=BwZbAR-j9?rjYa*h zbtkh4Sja+U$TXHOR%241+_w-h!%>YqPNAyanmOPsStOx0)EJa|jX{+(bI_>xUVD#t z$JI2hD8F%WzTuU5camIOWuAOxO;6&JI+IJlCTFzZW8O&}8<@-Yo@mJlr?$>v|dY9`Sn4mk)`ZZggX@o_Dn&udWWP zIVx^!{-gZPmwHKKO?~CQ-g7y$49#JYXuV4CGkl~ zf*x7J_vkjfN~RZnfCm&`dC@g5)-_CLcuS6Ig0!}NqAJX5Sb+O8zz6lV#mSesHPa}&vYd~XJT zsl#s9@=Y=HFu&YIV^ZqDEH+L8Stsstb7K-gNUPAZB377k^K|ElP6%+NQOnFg_e2IHn>lpBzFB%EnEMpB4G0AFt$nAQN#uFu>g?@kP?cE7@si_UEWlRcY;M zlF4VxvY!;>`p?$3b>-aWpFS(kNq?FA46rNX@|d#H`EzN$%Z_&Vdxf2NCa``n>IGMq zgGmryp98k_dJs-ac^x%GH}YuP=|vslSue>=Z&`ermwrREH?efqewjn9w7Q_ntNNWw z+6J#^n4S=Q3NJ_bO~?1at%J0NjyHDEW%F_4Of%SuB}d@N$*O}F_uqb5&%~2yDko}~ zy>NT;xyOjEb*0i~09gE#idwl9#To}%dZ)^#E&A^jZw7{9Op;K zGNRAFdZwy+%0&|s>dXIx)>wXPj%G1H4({#Q$YY}VzJA~69$(cH@?rA2YID1#jnbn% z`s^;K>~_kwG%`>0%qQhWY73shcL}5mAybi#Ni-)(XMiQ=Ae)G_$l>Uf<&xriI9vt7 zA57U7RKBDW-yieoCVTG|`pah)UY0_y5?)yMk9o(rDA3?0dzPoU+qkwxjcez=+{{+`<#K>e zR^4FA36@cjIp|eA-^6NT&V6pzLkL(sazecke9H5#`tw8IljcJ4Pw(nq%r`D<>{)7` zo@dzx`>9Gt1Z;iHdXK4(?jC(){o@{)JZbow#)5;Xq7f%}N|tVG-Vj9_wr^hX>~xmx zA|A59E*X25{MzjmZD}e?UETiCa$Hw-jre;Ztxd5`FTR}}j%0s)#Xg+vASpj~VU*o7 zC!(Haxo__=&m_T%_B3;7KGj9TeK8|zm-cgJ50+(7b8Dv(kb%SgFuUG^&u4Hh!_v$7 z>tqT#U8#H)i|(Un<|pbYGZ2pVg~nb59M<0={F^Au;ZLzv-yhPslo=PfJo2kej_SoXl+-2bmNyT+y`$-g$MZ8t5CkNTY{!4Sf;h<$y z&j3HNUlet%fMO5Y`P#7#UPg{>U{Vd2U)bt$NlC(E&+#d{6iYRpk3#!ObJl3yyVYxh ztV^hbLK9YvT2Z>ncy*Ht6Fh`TIBZtu3(Vh5zR{;He@l90^+It|xTs&#b|=|`MPV^+ zYLWACs+s7t<(W+-pN^F0)8&Yr>otvx#h4RMsd0zPIhl{fvguPAi5pvv=O??R!G(B_ z>?%2hZa7R_H>M=Rq_nvuKuM;ag?I;vgQmp>(^Z#RWS#@p<`XAGYLz5A+ zXk?5~vlUEX5?QM$cPk|-+S`sq@eO?l)eH!ANm9`D+NYJ^HU%8+d~mcVL%FbeBgRggPQ<)(o!?1xo*i_STpE|ilVQ3w@ghWF{mH`({h z)RIUOZ`_zGI-7WZnkW1Q)x9zuSe58#RA*>g`6{GY_VaPGn8Qi;Xr4}O;08CPS2BK9 z=yBvjRzpD@FG$&CR=)AH=Mw2E{}k3v3tln`k3a+9`&h!!&yMcWYgQ0cGR?%1W-6PrM?&ruUrCKc23}sVsX}XVo zp7wC0R^CW9TI_R#D+d*H_RK;piv~1nZJJ%Jt(oc9*EHZl{k_@AOH{}Vm3WZG)hgb7 z$&jFx8+YTpnu+bPo_)fldcjO4HJNuCKy{yeCPAB?V)owZ?Q+-%B5GFM2O{iR%d6EA zYnwFr_kH6Rm_y%Z2XWB|DR7CbN7Bzo9crFDsJf>3!ujK1aq!rcVKLD}Nu9GYYqxT25nLWOwc=cdLVBuE~#P_oP!@V_K_l z9Z587JoHRSze3xB)+ZiS88`qayhalrgg)~bXB?oLUprhW9VgvcSEtZ8*nE-y6Fgnn zLH%hp6J_O5#r7i>ucuyePcD$YjpkZchPoH8nUu%6d>$9qkw~fWxR+h_oWnga{J0#; z1N!j7dvdilLZjg4K+9p20~c`lswDkQfB_oGy-fgro#xIHUYw4-lY)NFFJ-#XV~vYn z&LvWp5x$<8aPS{K$sMA6PuOZxi~XeeG;YrwTNpuR*98S#s^<+m$MIxjj*i2+O$9#= z=hC=uv{d7?3@rAF?TDOs6}}&RZLaU19UWG)c+CJN;eM3U@H1k@+VwR?PaB%6G}|H7BN~6DhMezoXve!hTEP2v6tPwzZuI& zgz#ujT*hz=kEs<|A1~@Olol~OFvAnEoXpL!uTQTEy=pMg{xGw&or*$ps^&(F` z7VqYHuZDI9yQHo^)>$U0jfb0DNn_GcxKEkK5+nMGJ;hVOQ#&PkeFNFsIl9MQtwhGf zdz{uRSr(S1!{tHaWnNqbEc4Pzv|dSKJuuDn$Z~jc%6XQrV%}7-c?J?38}{0Zc%WNG zbHekwE}f5oSM2iHit`eQ;10DFAk}Uys(Hh%19bVrV|;Xj9FbHhy`g?R=jBQ3OI)^8 zHm<8G;LnjNXwWd>Gh$X24uuasI(qlhl4P@tMAbZ}fWrlj)het;zx%4lmCcfUE zW(P-beDL|23Yns*9+t0Leyd&G&^(nF(ab)3w8m1TSpg%}a2#bQ5PZBx{PmIc=D7~U zMx+M(hNbF?PBzE>XJ3n=&N5?MjY$P=Hr{*few^Xhb8pVRt-PQwZjZfcS}QZJfLdi@ zW}3UA8{a*6zV4JhZQ;6~av-_1oj6`Tyf6p_rCsqun3=M=)c02@5<;L+J+;A9SLGiT zNO-RcoO%_4`~7wv3r4(J&nVJuAW9DRd^cwfJA2E1xj-7%KFvdlM`cI(sQgseN^DlH zG8A;x-hO1VOy;&vmNGCaM{NOOl)yrev(bw^zp)S?Ba6?PmtlKkzoyvK6kEp ze+m;mmQoX8hM>!YMD}DP>FM?8f=LJC)s_#Z8_uvvtn$(-t_Q_7I z&f68pX_T(>Yok^oRSX`vIC$JT=T{&4IDTmO-k)wckzBtb=n2oXsO@F9351mt>sQvPQcH_MvpN{a-TYTCOXMVHCurE8j9Pc`}t5G0NjBF-% zy3XBL+*kJNqMP2bH=GPlGre-`pV2t3$j%wG$)%Po%8ZzHvdk52Od`JyR6ZK7drMV0 zdnvRM*ks=J!G3d5?f4CM>DOc23lxjhDM)k_vFShs^s?Q1Ns6F)z(|%mAhxvGkUvB9KB;qgh%=)p2IiiZI^RHxU>6I+c49 zqj@feI4;F*&es^+@wt30c=IeGBDI=|jk|jnM2(c=J5}$}ubmw19AXP$gE=#c-rB1C zsv^d6N-s2ZNnR8RH+n>G^O?jMu%#=KlokmZy?^oy%QTs)KW=J@6>YpV@?PFV`sRs_ z+p?Fa&sN3LPfjcu;ab!ayY^qaTppTX=G=(u_kk+?zEUL_e;V`D&#{~e7rC4+k;DBV zGrLxcaabYb)_j(n{H{j+bA2p@-CPKd{kr%}r%la^Fs$Z*IRZ&HyW=UaVCqm&KGQ(t zF^jdE`4r1>{X-uoz6J;7J`sf+)uiChW{XpEVd$$qpHw$6qm|>E4y?>%`!t9aCA1@1 z&;5ziLKGXy1dYz$!t#2wb$&ib+*?zB8JgTFc)hLaV01D3lTAq1=Ww=Z6vn#zrPhpz zU3MBbh$atDa4pStaKCjryPj=vimq`ZZMQtgr1gCEi>}*pp_z_b|6Oso42}$&s9j&4J}E3m){$vsKm<>Uy@=UHx~h zbaSCEy?^>QU}17P=-SAZ1$b%Bqny5O9XEVPvh68D&AXM)ep*^6G<4Bou`FLuP*zcj zKFO{j?A2tc$o@%uX+#Q3L32Z_)@rn*=S=OjWX5SKHg>v53EBjZ*t;+uZzRBhrrd>C z_w2ihwU~MF%Pu3~OMSJ_lxA1qkx!rX(1t%!kFQir)(S3m6_-6MRZKtLoZ{It+4Mtk zYCMu^NxFEEA9mJEF>piZf@Ly4fcwcVZEoqAkSHHeedfl^y4xXZG~|o+*Xju>A{bsT z6K-=v|6;dSTz{!yYMK>@;8|#*DtWKWMBSt+h1i1$1)J#Pp91fp^&{CO?r=A*E3v3D$$kO>})v?K5re}%sqPa^^n2xM@^I>?&MQrUPl45 z$ZyYu9P7s@S_`bLhpQPy)~}1L(?`rB6Ka9_kZh&SqXFz7r}HP(ZchpB;cs}A_L;@x zD~X`k!DLvxqwIN#`9ij6*gNo!D#yBLS#eu1#X^PSk@ze=)a!Z2AWeeG`Fcq#^A=nM z>r6y6u#J{5mDtIW0uD&@cEaiKDJV&O4R~#5sht8N+jK}Ro%MK7rpaA#iBX5peZ4q= zXw#g4VRBn*G}lrvnY6zF>W6aC2)ib9EU|Wc%tKN-+bG%D2N%9xG#1X>KhY4I0u~ z$XUn3_yarLHtTW;Wi@q2uuce6A7$!+?D5N^31WoIJ!a)v`@E@88E|LvAm3i(qTPr zr^O-3ehWAjS?RpyD_|5ij^J40b zN|Fnd_X`I8)F+OQECPtCj|O#0+M%JgzhviBPxEV!l$}@TE)aFyrL!s;Mn(jisiSpf zurt2FR~hUb_#*EqFyQ+N!n|&I9~rKC2xR)CGP;0!%*clgCF7GIeS9i$X+3%D?atWR zh~@odMwRV7zr-Nz6icL&khC%2Rp9t0!ZtLG)PbH5syBCqj@j>!OZe zz*Ehb<%e2s>Z%DP%-QXP1jb={$>6|#Wm`<>bEM!r7UJ^!gSDo;5tet4Uj zn&7p-f<0dAlM2qt_mHrQW;rU;85d#G^h&-lAI7o5<8(%U5#SU8D=s>Y>_nUl3T;qX zpc7f3WB*tdq{XEEB%DK`2Pi<&o(wL=e;Poi70ZT+J*Jd=JTLs92WKvq+cf6ObE908 z7Cl5R2s8OdTyjn$Gd8qzfCvU%bR2f%>RHVmI>#bia+Te3;vrGf=g}Qr?u#c=a;>`G zMOJnioL=|tZHbD<()LKyX&`B3;UnS&d_Zrdgn`+SmJq&+_CD*a!&k+~7h{#bx~CjA znc@pElWRZs*$p}8=hQsq~kO2Zk zV4|gZ(F(yP`h`g0BF)^Z>Z^(lbRXsNGLh;q1A6*?Kgo7cdiKJ1I$C_33>^t19ROfH zBMC`+Zl3Rf*>n7OLKS&+a>=|eG!i!~1kRHvxa$*Os~ zy}gzjAVwc4$M0>P0oaU_emk)WmHT` zSMWC zuR~4U>RNgyLism&Gebd0ZJmhzKgH%g4xOKCAs0_L+MyYcqpf4hX=1-A#at{_sS9Oi zN4k0Z1Cy3v(jOr-%rey$u5z8pUe)q(gdHV$5$Q+JBs=*!q$RqR9FtS+XLo|b|)+RlzgB$nr>Ph+!_8=xGM*Zo9j zXCk$h*Gdayl$jcKMUYh7^Lj72CUr&emN1rP3 zTXxk@q>tg4uvkK}hs(_mEkTiL6GwTiMoG7|{~2Cy0jDu`)pOmUXZ zRZixEXt(-T!8h!60^K|UQ#@!(m+Mo_Sy^;m_qq}7i~K^X5$!*}jhk6U0tc~TyuxCo zm&`%LL+&LfVag)YBlOk3>|vv$V_%@~m5xOiLy$HE8KtGX6@}TdsD{dW5|N;sF`kg4 zhs*l!&0iET214%ReVfEE+P#H11J6?G}&}q)X+~b$LyClliQrrF;My zyXvKI$kTyjuY#;{xGcFCLI3zZC8)ngAW z?NwsDcZObTlC0{BzhT%S-B#o(ekF*&F{@J@Ux?Kps&9cf$}WM3VD^%;6iZu~vM#zb z7X#Mkh{YVRxZhrvTS3SkEz^!8fYX2JoW+Y+jdU$#NQ&6#qc4x9uP`3KWJ`k>&GAxyHJdF9*UQZB`5x2 zC0Cq?I^_^^!ALZ3UN#T&!Bf>fTdg8CS=6dHgy*q&*`+WXbL_SRsHFFma)JR)?U}=@ zlX2ei%b%u$=axTt(X50X#z&XDk*=}`E753tXoG9(jM-rCsv|tr$ayX2b~&g0`NEv= z-YenNdxlOKljasHd=>OgHQNIm2|_0vjpls5122)+!-PX6WKG%BaE(FrDvV?Zf+>tc z2zBTmv{9s)I@=o19uvrlBC{;cj*{aui@$8c3Kl(;y^Qfqex_=K_1p+SCPv@C5A+~p z0snD!3E%S{<`fNq0}j1C=x!&)C47;`^fohA+KHSRpBQ>scjbxI>!bZ8va!q8Txdi; zCZM7iHvRA$Limi8tZ{^5i87JI%$W90#E09xTb}q!M&ae9CnY)MB`U1DwZYE{$=52a zZJ>Pwq(|W|=kK#ek4>a{ANi1^Bgo82kZCAq@pM;sT&;HHXq7n;osl#zZ)_bglD%Sc zh+gYqfEE-P7x05{)H4~^=tYwQ>i|(QPiVj6D3QQEu%D*)Ej8_Mzoxyel{uB8CF|&& z*`Vm#cRD0B(fGN#nuBiPVnw+n0aSG8$3@I*3P=Wq2E0TtOT+*@$FyJQYe(sWvu5-3 z_Q{@-b{iS$2_W?=t}HP=x;7r%_wjRa1yQoFVhG5lvy9@^n=dCPn-~E4>7d_W_kCC= z$9Y{%A(P`=CSOtBo=goVw798G;c1~*hV>%845Cx?4U_z# zN2`ONO^<|1l)nghlGCnd$ArV$7jMK$P_YzDOnWXlGIC7_1`xf=OF{T-1f!3;&r}B) z}>~v z0(`-B>!rHSJhwiHPofPso6`_HDOKdbQeSM0&`p#bt#mZ&kKyO5+Tko*rD-OI(d0#> znifL03lEP2)!c@4B-iMLoRLd=gb>hQ{UFDJu%cY6#eHB67>Z}SKTP;tzmQcMN388T zVNX#k;qzq72JVl&ha&Yw+^mmK819P(&`SB_kY3rKBz!WKL6S6%>Hr1|BA)g6ZaA!d zDw?(sASYvCv1yCsj}$J?&kZ*-7kqn6p~rVa9Rnfk+;m*Pz(j0#^29zR(ysWS7%8%T z1dl0%o(|7kP+gt?drLME^TUxMD}LU7ttS~Hbo@FN=_0^8oKrpO>EdV0TzxZ&8>yE3 zp=?Qy{>#fratK1u<9XLqjUaB#=uP|uinWm}dr<-MD&G>oT-aNGCJ^R37MZuaA+&l4 z@(WXjHcn|5gsN8N&1kbfiU=_UGEkBdh-k@iU-&{VJ;nn9R4>KUTi4qRB#{YLOxoF+ z%9`k0IcPo#;*^UX86nGd(wdY~$`?31(5J5>dxbRthR`#!M~>ouoM$F7YTCa{B76Hl zNEJr_MwXVFmEDHe^@aR?FEZ(%IY7^%+{7Yve<$J5b=8#zDSgtz@>1$bs^+kDe{p0T zz?v1&O*1y)QwC%)?4&yG4|boOal%9Ig=;=ov)RboAYW{?CqcQQiEgYK`!8(8TT<68 z(F@84{F|-#&wSedXXf8> zQ!f7!p5leV6TpMvdC}p2LHs=MwBaCHFgzVQ2rff(nGioVSo}n#ZBW>)r|v{muxET-pM zwbi25SwLcc&D_kaLn``N?r_U{*$KAHnc1?W93iMq(sFGYlg$vR_G)aT4y%dv@F zUiBOe;gMP6?AVb_*YGrb6vgLqk4BZWIITqCzNytX;`b-o7w1zXv12}Y_;UimdtPSM z8&k#WrbQd2rX>i3J8zzpqlKM}=jbC7?$Bfq(|m0HF3c+IA6U#P?1wVLaZC%d%Ypa? z7H?6CA!+dXp;T#N%7_Y@qF_QQR6oAxU}~m+OkS)^0L4{pb`X6UP-aaMGxou?AT%ww zcpV*ucjlYB9qvm1Y~lCfEb|EXSIy}cb!Z1xo3vU1XA?CfrEQ)R;pAZxxgzAypUv&3j0 zSPE%6Yd_7k$0YKf>+{z%->y$E5AZKCG0#84;qT@7|7d>w?+fcLr}SUCY=3b|e=UyR zIi>K0CJ%FPlrV+a)4~@M_j4OnYcm5ILnGQ>k^0-x`b*@C73N?KG~lvxGBdDX`>QAX ze{rQ*;apT&#b>nYv_QZ^zK391Wha=uqdTpV!31(vC@Hc+T6uuosR!IR600;mA0Z;%G2mpaK000*F&)=4RZHTOYLw{|D zntw0J-=@IK(GuSE+n&P5NzBR7)W)8c|KH49C3_n~Cj%om@Na1|340@$ z;N5|dq-RtFHw|BH2hr(Q7Nt}htE_ebBr5b*88`K~YcZX5t1;6K^|gxp5= z9bYI2`bT+C9^Sj-2k+Y-aRqP7e;EVb+ZFj+`{4b!J)>|3@GPu>r^am^VJS#OB>P_;`8#h*N%k=&g+7Z*{=2KibR>0RirgDL;e{ z{*LpTFAxaky}KXWV({0lyLOPfdk%b^gFtu26bOQ!g1Iy2w;1ToIKwgM-53Xg;4yTk z&G7wz=T>R;pZ&eX;HPEoVtjwJg@+%&cV{mF!lU$V?A~Hs!#w2`w0RM{} z|E*lc_jo{A|T5c5^8%Ox->c5^%vew2nw10hX_N`Q?gCqPk;Mcj7{jIO>E7a&GDI7*m-#& zotzy_3~V6XH*FMqWQXaYcReDz`GvmIniW$3AmZ2gci@K{fy)?ecZB-7(rlIweT>L?bn6OWVMs}Y!UFM~O* zB9MRHD(|c_3|q=I8lzWYt9Mbk8miANYQwGi%yQ!6C>MYA>E621sU9xhlHAltySXBl z({2hX{1Fj`mGxtT4G1HsYXPSgf|{Phb4srC&*&qBH9Av!CLQ0`yp@ITB+DizHdw-TzqUbdcj;~0 zTA?`K?w$E~`}jUZweJy5!%ayIruU(ZIX<(Z#A8{QJ6{#a;$Py~Qq9sm3Jl)={vlB_ zobdI7-|PZcyL474J3D<93SL3&3;FW`W3@!PT!@y7*ekN08gGhedb5r-Bzbp#0vL4F zu|k^I8vp+n{-4wTQHbfkl8S+WgZY1Ib(1+2`^1dw|Hdt%n?K6SJBDVF41$Q?0OS&; z-W<|s`0#hv*T2T>s+j4?C@;DiU6#S#8W+d+rM-ACg%5h`JDfl8^LX&McE98B{tAZv zFN4*SU03HtKztS%W^B*T=Lmb5e8LB@oltwB=nqZicMXN**Y(@t{rB9&aX8@_asaHpO-|gGogF-Y(Xc1Hv=`F`9_pzD%q$IakDyU6FJ6 zB_ix4h+8!mcDzpbv*OE2Xh#A5ylX0p!-7D$_{=S!nh=g%^87OJH!|?WG2CPnLG=a; zA%LXHG&g42&uRav<{K@5p-_$rL8WeBQ)AscI7^Lzv^AFxL2V4kOv!Q~cXBa39CJ1> z$$W+=XgXq5c?6jdM9v%ZjfdIl+Ga(7KmZx)Q~;^GNbjl8@~wpin{(=)e4D|vV? zKDfY68Nbrq(H!)ZtGWz*Jfm{rVb`ugg;p4w;@k4l?$$wJNvf=3dcjEGqm5%0XI`A1 zk65|!Js%I=lRrKg2p469R~*0TQX%V$^%&FYw_cyo*k zVx(DL8QV^`w7V6XZx3%K5kVmS=JN2P$l_bxEzsY_bpyWIXzRu1h0nem}-3VZ7>MyPW=iDJ0D~U!)qIq3SI$`ZbrWL(5 zoq&8$s)ld=I3I=vQ~-2s15uCJG4yy!b#-#KuP2-L*n-iTTuV`Sj{f%XTS^EP+1)x1 z1?w793x$Cd>nE6}8t?FZQ<0pLO;)|1OEK0XFdRo$u?*V_N~?wMxYV*{jW{mbqUzm4 zYuPWL10yDMHG!h@z^#vg29}iPOzL=O>d&KtC!+p(sZ()ROd}19Z4L_t_I}eDA)y&F zhejGRFFC?6_@FiXEEb-eiNhJ@NTHu_b0wvj5-nj*a!du_gvqde;9n@3N)hj!EJD?>QQaIJj=Z{ z&rYp`+81W}biHMoEqa;pUA8~EK8ik$Ljb?r;^*yXCB#t}x;y-JL;xzF;o1fjmUQ^# zwJ57`gHhnNHzPq*#qzg(#kSD&U`BU5j5=!OW@won&KT(>oN0k?Xafh@NiJ87+60TH z6Hxf0CozRMC=p-b;z>9b3?r(qFdDx(BszMm+sC}x<1Wj)-Vh*D9*_wGsHn~)1R-6B zFBlW8zsS`IFIpuMaiwdDLUNkq#QiPva-~o#p-*lk5L86rC(_C`tNQ-I=_ zUxuAmPaR*1Y)%4N(}8y5XSkYjfRc9$0xxJ_z42tO;W%zIdz-)DDg{ zQ2`t;SvXOkv%+8)PsY_u{Ae|fG|FY-1}?6Kxby|q4=OJ-oYm{mS%aa*K6 z`1GX%mURz}Lx0$?+}C$JzyvTLJRTak&4%#xW$Be0g=`6Z z{rF+5W``GXsy+^1$(+d`Dv2cu$<;~lWK=9?arUUTih)YtP`G4Q_;$@Me_lW-Cj&}h z4W)pyq=5mJhE1lu`jE^QoU2pj$)H@u9POGnQMV9npKV}7pt9wpA4q#O5WS`PWnXKUDGRF> z4869itVP(pk-@3$84>K5be6~tda~ioGbCJejACFAKU3W&3dIs7Hq49#e|Ft|N&W

z-fm~mLaKN|sDc}bA>he96wWGK%ShOYe(|tv%=QnSa49JoKY@~HBpRP5S07kYAXw8# z*p>nDth&pE>+!&u6+{?Rt)emabz}N)4{vt^r zYaQ-IDEVT|?2{05d1JO3aL-N8ISsNnib)w<7QI@*ptT(QsQ0=@DgKRMRyO^h{VR9^ zX_>E3PvB6st3d#KF_|I{3T_d8(n)Z*Ejqv>Q-@!oLdn727+j^Cv3US~Q5iyLVbWYc zlhw#v?s*F?zdfq8fjrv2-kfES!W87<0hp@QA)>&l+FE3Qw^1QzO~5Yh)MQ-B=zI@XheVY)dPiTODy=aJshCOW z_n|bNUq96;=d`6Z?qot=esKKs@&5f;f>c_fZ4jO8R~G=agOdy{AHw1}dS&6}xr+`- zhRcuuEMu;CVE<~=8tdtV>_?MWMdT14TinZRpFWYk0W@qKD2x(Bfbq`+8?~VIkBt!2 zVxySp_)PYn-Oik*Hu1bM;~;y{*%I6zKsRD!?EmdW>`ecS7cnu@|1T>_>5(0xhaYpx zJ=Db?J^QMsDS#IDA66X?RVOcm!kHYra&kygmBj*1Zjhwq_4{-B-3W!jclUxftX~^) zgjvJU-X+BEqz2r{Qehj9MebZHqq+-f6`(HB4>etwT-+tI$?NiJznC1~rQqJa*^XN| zc)y;gSWTk$qO&v&D*ULXsY=mWCCYd?nIcHp-ILp#YYl{9pM>Cz`aV_+WvMS^c!G_q zCof#@)e0Hmsg%b?Vm72Ph7Y$$*B)!Ofv;Fw2Mf@fR@?%PAu%?k+lmi4iQij^Y(b+! zq4XjBbHE2Ra!1HVpKF-bcj&hIe2WJ@pSJmio*WJ`~S<(lv>Yu-~~ zp#>@Y7IO!T9AaN^4>iP%q?9M)PY8r!1{3*&Kz`8shb|WYvY?;HEdqpJ3py`iPg1uY`$jlfmwn8TBN&Q%1hJJV9lSP zyigB}{m9U*KFNvW+Js1WDVJ3|yzU@hwaFu+rdp{+S^BMYHEMW$Dk%&zh7T+h`nHmUvjEJ&UB0n7{F~X39<~_pDCs*Vdiq#%4vk+y*!_$ z;t18yY0{-M&m2Kgf2r|MbZwtY!J^`q$P`?1+f$Lm%^cf3K3DH0~QmdNd+%mEB%tTMb7Xk zsXjST`#5~;aNz>W!lT=cY`W{xCC`#v5HcQWb+mOztb8L*#=t~NxTn*Sx~W;$sCuSa z6}Pyd=3&gYQ!}}Y;+3SLD0)%c)l9UFC7wOF`p z4z!_Wy{+on;HLK}wxmEoDX^|8b{SDrd|2tNWzx@}45!Z2F9Ef%zFKE>98qF_8${6O zb($u*fIF>CdFHgG*0dU&eSzb>|Hl3OJLP+`*Y|qgkHEXWKSV4oGRZv~3D9}h&F5r8 z?NzHY;flXC1f&(Nf7sptVn^aF0@qR>_c`RoXJhldFgaSaX>fgyT~|u0q!Ffa$t>e= zv1+f|uJp?6voPr4aF2uo0zEoL(>We%srbISa947}PvP_Pv+OZG!QQrjw+rVX`yh)< z&1k83!>s75t&US?m-2)M2jEk};cBDgRK=~cZP!tE05K;7FPhZGYti;s2S3jOe^koW zvY3MVVp03nI{ZS^rstSJfhS%=gsfuo9bBp0vVfUJx!Fw&xg=x^N6W{j8PwtutajV0 z8~A?b&9~iY%c)u0t3fus9;&$>-E^}38%p71dRwCQWRY+P5s%epxfcUr^4Hqu?NW|V z(~)ISay3pOAs~iiP5rBcsAS$|+%bRU?Y=r7mb)!0d)xUVa#e%zRA~5RT@RVJ{UBE> zXb1psI*^Z*bm;ilH`_&V8-ag|E}HFZx2XVfyq zr#LQ`J@@PqaI9}Zlq?|W!sUUupdj5G+&cnnRFGA%xsWL+VUswQ>Nx*XRlE11bn=h& z3@ws7Lj))W&ZuhaU6Q9(ST{=qFWT|%szC&7%Vy*uNv)z>@?x!GnoU?Hbj57;P3G4# zmt73g*MDT2)i~I^iO_W$x2hrpibOS~@&F+CSY|eFR^>vA1oTc$B1sHMheXCRg1HAg zuB_l^Lg-xTDHpaBs}P%q5tn<@J6QdxQp7Eq7C1|fK)JaHLSAUdkBUEs$svOQugs_A zmHmcqx3Ke|6?x3EeFqETH>7uS>B}|Sy|*WvdI8D8kw}W?Z%b|uV4B9s=KnEh|10{$ z$j0!$EU*PjB9^G*;a2S&NQ9}KOny8FAP!(}^fv22NMhx3YTCg2;f*XXdOx+Irg*ej za*`P1E0-gT57vJE9S^&3!0*%k^XI!Hh_U0-ho{5|YGW&bB?bcxGm)Ya+mS>IBxI8}gb-G_AO`Px5>LjFnn zxGD|fFw*Y#uW2iTpSw0c+}~dsr$QC>?<>5Qvp-+!4~NZ4c+pa9z*q6eFu_i!swr!H z#`T?Troo@3z7~lLJr0c_kN%KGwoCsoCfFhdgQ0rdO(I#g!G~$ z=RGr1R!z1j$W#g<7_Q|`u7rGXw$gZm^DVp#(Bh3PNuaw&yc6wSuUfM>5U!mUVKaQG zhcXoAr86dAcwU}6GVX?JOZMz4ctE8Nsi=pZlFc_+SB2O0BU8B~-2=B|T&0T{$c#-B zp_OWG|Eoids*sdZ4GZEowj;s?V56riO$K zm~K5bhxrX_ne&TlSS&jtIw$dzhRMu4~alq+yRW}t4lKBC~-~^nw$b3cf{0)l8Wj4-o<01x?Fml*s=$gUt zXJrCs(Me51h6xt}L|!l$b;6YZ1eo~6Y$bdEe&D!N0#XfQg<7tonKk6nsI2>6Tcs(>C{>!GU3IaQPz^F`Hjfw=H0Ex$U)^ys^g8YI ziXuaPYEm?aXu5{aKHQvAPdE5Pa@as)FCE?e<*L?m0wjnQILdf7ecT63-OC`s2PKl^POM{<$isjw0c z1yTtFhi0?g#i2Oh)>I5=_>@i%P*n>rsC2s%dDt)s$1&V~5gN9G63{s3@q?CRQ|PT! z(SWEfz>&9rDJmG96xFug4L8<&H&%-ZNDWkvpP;+EkE}Tb47O{ym+hF#RZXFem>lly zqvIh2#%}HPmEO=O*9r|HuGvM&j_$u^Q6dMJ!W-)e&Epy$)2;q4`H`r;uKhhw9447PF~>| z#_d<=C>4U==F|aYt~)Qx&CkgcZ~+&Z)Ku~P`o^B>7Br2;soU|yAL4FUAbEc+~+{7>Gun&Ye0(Hsp3Aqb8)gJwmYF{s{`cSb{f@W2Lk^#VHP9u=<}!@`z=rwD64 zvr~iTCsrv$o$%VQR-%2zZw_@qB+P4hYOWMxBno)@tlTl=GY zt!pgHG|}$$$uf~c-*>&Vt%YEEETnoNcQ{QBfpw~7t2>3Idt-8z4Aj*D!6&>~LWKjUzDN8d^aC@%iX))*mpwP3;U3?z zb>s>JJ!+dW_a+rVSLCi?r_xG>L8y56r%Yu-$?@Wf9(4!Sk11SN^THUli*>VjvTWh? zFA06Spi1?0O1wL80JGfiv$8CYcnz(MZNpJ?cbJy1Hf2iwD5zT7Jup2 zzjRH9_=`cEa8w|hYwYLs^jA@`ae0*7qQ=Wv2IZ2q$C%@yM6u|4tRqDo`P*W-c`TCw z{3>fYp1S(pZZ6&>{$K{RHeNVR3$ceX%vpp)Ya|PXhz*3>;OAA8GbXaBDkgV>)ZIjqhS!R48;Xs?o^0PWZQngz!Kl>3UiC ztniCeq9$X6o-qEIZ;TJ|AlPFBBveOIbJZ4(@77;u!Pb7*H5_}7j?;~|nrdmu&Gp9T z*C&H*e+~{cOE#%h@R0QDV_X%V#P?*>5LUl-kQTz%-5)Bi|5BJjMzZ@L$^sLYX} z)8>+CVufxsJ34R++Sj0X^Iik8E6xQIHou8lvOlsZCF(prWdk6K^dtIVOfPDky|7DV ziwUVbmAD0TN}81+?3y-U$KlzO_1(2Bq)mPW=x4fc?>zv3MuC`W4BJ*4>M71D0n;O8 zVsA`8>3N<*k3H9+)uUz5Qc>qT z<$gU=HGwfq_#}B1Pho@mG+?~u&!~{xip0=u$;P#k?9zUH9n8d<$%EERSKk!&yc&wp zTKLvxyq?p&#KOVGN!~(jCP?d9;FOSI|C`bxP%-?*bcJc9%a9MyJ;%vIXz5P*&J+Nf z|C4|xLynU*=`wz9CNi`$B6Do+e(WQa1WtqmZ2=$Os)Dd zyF&3?Ptf3<30WZ~fWpA=z6OUmiE9j5n8?Hn$B=&i`I3Qj9ULd7=g zJ#}(m=Vtdms|K%$JvjaZWc~`8i9|CcCYvc5gnts;y#JQ(zw$vL{+8jHzte_p+78av z4z}D_$Vn2NhOU5Y`^c%H@pSM0J|!e?4xB>bQWn#r9Pe`=?%jg-ZXXMK!t9W@RW2V7 zTL!+~skhhK7=Ll{pxnof&ZTgZC_1CmG7L+SFLdcRSICGTL$1U+&glMpf4=V5*0_-< zzVGAu{`0u;&6yjMB=zO-j2|u4 zjr7eA3P^xUu6IK$gIcO*kb419+Xm4Nb%a@Jw!8O;_B(QV1nr_=+4ZTj_HyNgr~-4B z9`0M*l3#>GV?U|7GW%l)A=W-buEulgm3azqOtI>V z>XaaKW}1WY`3j#Tot%w?=jvE$R?&bPXWgimx-}P3w7TNNOA&6|v0mU@MJ6II5Xu1t zzp7m#mjAP#P|jE%1CA0ACg~p)4b-KzSWHzRA5LB_)QkXpNq#HJI;%N9F9e%jO)-;h zotLFdzuUP=#Z|>m31-ud9R2Ww3@iLj4zkz{u@|ZkKHu99AA-AXuxUIKZm4vJ? z{c6v@Hi)E>#Wl6ck?%E=5)xEEK%1+l!^xhnFly6VYe5kG`{=ygjqHO7X1VN4O{MZs zvGvPLTq0rDn4q|zQ*`VN;FF%f*s4==oV@Kw^h4G6U!?p(0S`i4g+(e-a6XD<{O50O zG)54%+If?!e`-&uUqIal-cYZhK*y|$X9CoP^p!zPX8V;RIoRAtlw--uzaLB3lvuVN z=_)v@T&N$06rVDp-A?u=s!q(=b(BiSKz4A=+xRVn!ENd^>qi=5M#Laz89T2QT#D;% zB7VP_&{R}g%8v|z^mck?M_e5Iz&p85-U+9KxS8nfHetxkdh%W`O5mJ$E&V9fI4!Op z5ur-pxT;rR%Sj|!34Fahi1|9<;gp$rO!~kab#QHwb3zX#{?c-xo{eSh9DJuTMks|x zHsWL&`Dv?GGW0LD;fF9|j2BUMT~~nbm7fU_vsk=}lNS$Ezf~_w1_TkLf0SB9ocCQ^>Vxri68+|52%DPtSoai_jp}tklARqg>-&nd5y|) zGnU0dQgoLO@?ts&nU1f7j^=pC{Yf`+vr*0@m&V|+Fi=0|KMWogTk1Atgk0Ca2vs;A zcU+!K9Z;Rn_npGfLTMXUyxG|s_A5|)*1c0@+~SCrQvYJHZsGx1D?wp<)~!ngEHjIJ z#7PnEhQRDnm2*sKC-Cne{vYh1^QU^ghy@$Yv3_xu#W%VWseV#`y!S1et7EW!Ob&GG z&>K^MDT84RU?oG?*_A!gBV@FLwX+R|iaPtCKP z41F2gj7+xw34oF0Rs%-Y5?Kp%yJ|MnfmF2twRn&l5(GFU6UC4!1zOYBE^;iJiB;|3 zgl%nv+Lahx3g;bj=@U*OBzH}#XAP*Dx9cGpmbFJ{E!iPgu^ILSfgLBJ{Q?mo)e2af zq<^L{+?9X$G<%f+*djV9r4V$KU0_4{RPa4Cm5@rNvX)$Q_2$lj=6B;TD*vmt&0pT6KEJ`Y70MokD4bDwI@ zL&Su%OWch><_Ru4rBUVXCfjiT^dUx_+Z`&){pLKkHI#n(uZY{vrOD(@JH>TFFXxX} zk9||GYm>G!^VSmi`HLoi7~BQVHn3%|~fm^on-m{3Bmh_;XvZTyyh#du>n%Y-d!7?#iR-n`ZEf_bBBq^UkQxs6&4!#R-g)QhIUof&A!4I8x?Z97huXbQ zAKi^0WP=sJvmt+{%b9(K7kb`Hg?awAl_$>_oXg!O-izG~{rY^z#Sc@Ui$G;P`|ogs z)zmhior5K%_#C6BBnJ#Rvgz(G2@~nrOR359=#g`%PgIi#p=tBEXC%mZOUN8@)2EH; zrN^G-D0`l&9woT9`w`u`P;8g}lWG8?E~c>ICQx4kgXrp>^&JcCy7jTEd>BZk#Po|h4^<%O zhMkV9YfbWH6)ZVxddrWV_BR^;2ICR$XAZFZlo<^kq8dKNdn}#jBRVsH>$`TP@%i27 z2kPML<35&k*-JN)DrN*t{0t1S)Kw20;&21D!HRrREUeM0dUaUeT(G%bwKxF)M;z`djCG@SYb`gHGI3*0_U!I(QYn=+V;+hzGBLX$Qd%5nu+7$HU(~=rhgD`?qoDSy1Et zz8u+2<@xQ)Hb+kF{cYm@JvnvZ)#XGwY$wzC3lWf{OLoSA#ch#~M+em;=OO*T+;1lU zw&qRQMLBxt{6<}Cu4Ja^q2a0h-rt?zP0^*GcBL0r8|;Es{RhEPu1(5ucLP{%I~oX+ zOE<3)dU4m!{0C=rfh8g(=%K#HJv!A6VWzUHTLVZBw&9}TK=*@#^))`^W%f}3La_Ta7Dv!i$BjPAC|-9E22PFI+ipx)(%F4DW6BUN$2sPZ_D8_ zWLc$~ZK#r`g;-HTrM&}U6SZ3nwIizT%Lsl1+JdG??RbjF5jEo48ifV6=?FW`;1zl=5l^PBHhSg&)@pAl&hFa=q6TiLbH z&8P}Lt+CGLs)V@E^u@s4dx`Y%_8EcEO)%BYn~{D}hmdCxKqJ72a+hJ|X5SbwHY?Nh znS`)VozfgJ#B&bW9=I8Rg{K9-z|OUuMbP#1HtiylU8 zcE7>!Iuwn9o*YT*Aj@Jrfe*GN{v-11?eu6OJ=q54^VV5@f>!}Ft*MIS?#aYMPo2Lq zisFWA%I8L16wM~yVv~(_|B`v-G1V~<7`M!ME1p|Z*O!__-agLCyimn^sjh)*zg(rW z`6{IenhXPMB{s|*7$s9D33#DWM^@-^71(H&+K|0(qNqw7=wyb>eMyph zOvB}*SuQCo)1#dRt5J!er`ob!X3j(dNNKOTg(VAoJ}CcZ_uyk^Y=F(iGFN#OyF929 zO}%LkPFscj5Z8QnEjMm2f~$6|RNbsrXQ*5_$sI_5&sAz(=tGSv7u3g`VO+eSY(yFA zO_Bn;u(zVwg=E8;2RX^M(Ypf}(Pv&<4GT^Q<#rx8^F`?aa`jew)1nwYnO*gxoGC(# zr_B)^~^l2)t+hj2B2iKU$#Gy7M@5 z6teDI8(B2~)47x8$odQOhU}G|_>E3DBuP$skO0q-Q*i zYrMez9KP_?x6tCc1%8_IZ3%CB!F>DUBFge#Lb^=VZPPosRaUm*pmSg2dyDsUrdPPmeFyEPO z;YCr$4zle|&`o!PS>Q~5l(32*gtx3J657R#YmY+aSS$V%hk(r@js=rkrgT&y-^W}9}n$h`GBZ5mWa2G^M7U^ zKT6jnhM4+>a>KH26s=(S6kJk3dD z;JsFkcfNjUqDqRp=BCIB*!E2Y!B)eA8z{=xK;%CfewgXnN%7@3_Wln#pBkC*zGng7 zUgBmFF!F)yJ5%$o1xGq!I@0H^PRK#I=W9i~hWvh6ZS5OD(_Kyy!mv6t>ZutyZssR& ziSmxj_PR_#86CsJ)Z&nDh20U+E!}KL7@2TDH#E6G)eE30)AL)X4Z_(_YfL8YWbPRu zAbD5b_oXlTiCH}aZ@moDn`<>up2QH|0k{(PtTGKNun1pSgWKS<=I0S{a5+TNQFf z4g}+8BjKVKHlvv?D>M|C<2QJ0%2f?$ED}8_&_fGLMCRGMlxV7?uNa|ckHDQTrmeQ8 zvEG}d`GeEgPDxeeXtGj8cZdTvf0ZI+>Mb| zXL153h|u-xirODfBmzUt%HGlI@yi<#}zMEa1Wg|7>~Iq}`n7 zehejK7#V)1Thx686G;<#@!Mg&5=R1&5NLU#Y0bLv>GOwxubD+#$=V|jJD#W8U1g1e zaq>jC{cL{8Bs%EQ1H%hdD|E;YrSS3y%UiQ&TQP{cHVIeTDVw1+bE+vMG$|GenxbF-*_imP?Rx}HHt5@SvHz$%U;8HdX z0tazD|I=M;RWr*q=0tpfk`@d6<8!|kz^;4QM^xc4x_}8L%Qt|^R2kyVmTSB;Epqg> zti_4ql=J`K^tdl%=YB!$Kgwp@Tw_)$e1Rh~u0bOofIYDCD*9AN7Gb2A<+7;dXFngn z;RbPer3`~Xk`Tq?BCz}EVSV}`fpy=4_%SJ?=_^usgap}J2;@3Q<%_hl$RI&o+rL0G zu8`U*T)6LP;CLz97)juN@C>DMGs(UwD8BJ!{u7Xx!2={E3ovNE5tPY=6<&l}dkYbA!Eo z_hoPl^2+$u*p`LoioQv*gMU9iNcxyw#m3*zrNYbX#J;A z#tz$ir}PdYNu%J0DnD)zZ~^kl+U25kU2s@AZE{NQm9eI$*q5BGd_ByA?yN>)qE#%c zfXAo!`21B&8u7P$4DdH)@nQ4%we@_{m6?n;sYJ(u(Q^*VP^*2a!VvHe`9n88El>&%2$uqi}PXB6XZQgLO&6aG2d3zC39X;gjkk~un4MMB~fY~Xd zcC1*tK38a~d=yAee_&)-iwd*;kH)MC{jyHwqU+^?*M&rL=ge&KYd5X z`d1fDt)QU$j?1yND4{o5Kjz+vE`WQjbDPC6_HA)SC(#FA?3}nNu8w#+Q<((}L7Glt zHtQNG8a&9SdTTMPt~jt+u+qRdji(iWBxKnNj8Urf`2-;Qbqdxu%OL2rds_D1!!&$#hl{ACfFUwpHX29o~%lM6e=lgb!kRm6sDTBZj^J z%@Iu#2ppp`Wk5|NXcc|j_;Hq*1ZF`kNvY6(TVISsV4cc!8w^DR-MpZHT7v%vZ!R!i zs0cQYMIQXp`nebpShot4hN7ND#x)k;MnXmsB*eg3d>)W@$jxNji7-x**+4Iv*FAKzS5o`RAtVehO{`{)q|5;(O%1A21OHj&9;DN zu8IY{3l!*pv*^VYE`O48Mbmxfp@S+v(Pyz1RjV{p2i?p-iGeI>CC$yA$I#N?{6x1g zO(!WTytYFQ+VI)>?$uZZJSP2TzB4M;HHQ4nwrRhyKl|0y}JwXK*B!{=W&{b$1YQVaD$85>U=U=|UAIi2Z~8o9g+ z&jvrrJla{o%4j5<0yYoxPv&ynMNGtVDN+G1>_Cl!yz)E^K`*KDFFa>$9874E)7;p&z=T-qiX*o(lQZCSxA<^_xHHN#AlhGE>_$AXACa4KOVFk+TFt4R+uRx_9 zkXY^7Ia6 z(m{xlO&C|Lox690rGwZ*Foxv9wH=6XVjfP*47Icx{BKxJoHZ%+r{meOSeyv1%CcoR z@-6r8*|kX3cA{%#PaH(mxXm~@a~PDKuav9W9c93Ccgo3(wsvEDY=RQgPlJ=~CPi=a z(&4e(F|54QMbTQ5w#_E5@Htbi_8z>2Tk58l%hyt8<0(C*+e}(t+jd;2lU{L+teuJ!Jq^}mABktvo{~FwVUqf zl}V^_+rG92L>?>$O~+!sa?4q@;uNDogA(m=%<*v zYb+;^pfcuR`Gspbuw1i(XRtr>B{%v10wf3NK*3D)QJ&SzhA*tyKid~#c$VyJcBc2Tu6zktCc47a1) zZmcm2#1jEjFlCAQXL=nh5P+d-H@=nEn1V38a!(h5a!4`~zuJ1m^y4vNc|kKnL0KRp z1srU!t}tv|8jhBOWrG%mJO%-CF4BHD>UDF=nsrh$G%k&K3CEQMKI8}6?qYcgm`}i7 z614pZi~YN|YMw5<#=GQ)eux*D5?FIj6Q>^taLi<7wr$i}8T6Q*s0DdIeqx&tblEnwP-sN#Rn3aDwsz1$#sG4kR`TfK_lA*tR1XT8@8?%&Q&&wG+e$yh)pAe_- zHx}{jN6h+B>sTY0c0pvGx{AwAgDJK1lgs?Y0@2R~_ zLiM9~a9ouT80>S(N{iG)UNt2rBbl9$BJ}M+!?@?%t+1h#T|2A9sdC+NHymDCrHh@y zs`iv3(<6~^^!AF}ZBz6pl<7cnG4C}j%ta2v7J3L#fl;)Z>TXW3X_3GHi-JCVDn*K6tuI?zEPuX63zSUGCaa7xe-7rlcTpC{4~XwZ`41VKjWM0>2QwyQheNuvDh zQ3)v5Rv2HL)Mzi#xeO>5*4`CsJg)6fV?lDOLW#IA{fFepseKo1(4;Em$@h2jckRT# z_5Z-TjQ?GLWMleYWr7~9x!5OG*uMW0AV*jHr1;~90Br(#T-`zsbTR2L24&e|W#2eBKYpIK(+Xt-{{8zQ0Ll z%6IO6ANG>qCkOUWexusIKbS9zbQ{XW+-C%j+*YfIv3vMyln^d zuw!}07!nG3xG*S8B@=F6ss()o@%7q!m+Wr8``-Lu_#jbe1sRVT2*ThWT-Wpf4GB8;#T}vb7 ziv$k?&*u^OmfpfEy=xZjyjzkE&9a*rkB+reAA$bDW7c^vY*xxkZCO)Ioer8dl2hUL zN6IyU=Ox>t|7k{GK=zLYbFWx*zrBp zZyc@0AemFHE1)*@B-X%7LLdHQ-kAPgCX!!gIy(DvOEy%%%GAWi$4WGh1X4vAYCCeHVu`yHlpjLbS-FR?adOt zjYPi=&>7-7d)Kykj&!~Mx@k}qi5jb2Pm?{fqMu=>uhpK;{$`(6#EiC=32W*9W9*%p zM2WU7%w5`L+qP}nwr$(HY}>YN+qP}nUALnj?(H}a=OrV5K&}{T&K%<#=|J}p2ZHni zqRn`a3qjtDQcT({zAvLj)|=7bXZ9(0rBs+CuuF78f&-5>P7Jn3$pvmKz-{d|V3*?S znPiuJvEm8V3xCrAr;PUAV1P@`QC=Alhr)JK6D43M{t^4&YkJj79#23NTIZH ziK)Fz_mAL5!iE;FHP&CTt5+;96>Fg?9gRvJ5?wgRd+p{U2t^0|sa9t>c$g$5G}yU= zYj`XcL4{VGID~$*x&Qmw;v`FEL0nMbOn|B4fD0E^A=ql{;g>59Vkuf!jgF< zggETgkkXr4d@lVg)*tp%5@|$(oY6&ScQjTj8nFWecM{3*oBQb;vrdFcVrWSGN>5c0 zk(PnxX+u(xe60ow>ux3r>w!A)PA6i739;zneBt*6%`+RRP7aTXtUMcP>C-friv2PD z&-d0FXf}7t&IkJr#K;?g=AM>?ou;@Oc@D<-Ql(&#hBxNo#39Ogd$P?ct{Lz(q42PgYtD(YyV|*sS)hO02z2Q#Bh3IS%GYBF^UYJzqLTfOLz9 zkWz^OQ-UY%TWZ2a)P`h8QeqzfC3@=1(F_waCHd+i*g*7Da?FSJ)2H1e&^5~>M|s6B_is6cy2XRCvoQum5HY*%6eO(Q)kye(?p{B40c-7?1=t<`A9^bgHyHS#4`gknyp7qeuw5vG)2-K%k%X&Bo)t~vG?VDi&4`CzB>R=@ zZ^KYd=N?)Si+AnBBclkutDmLiyEM$XBywjsZ}CcRho`x(i9Zj3j-1RaiPG=+jaVu7l*q(GQVs=R@>(I9Uu7*M9aJ zzbYXMbmQ9^e<`woeVC2vzv&n=fLXpUpw^0pq2wwkaRWniDbrY|d#6^`OrGW?#k;KO zdj#ChCh!BO-4F*XJS82wv@^ZjL_brBe3r6V-9H|lpZUT}4=ee`hMa2~-;h5unF#hg z{lK^K4=qYbj^gNNK9uVu=DvHMO%Cx2g&w3=d13Pv&XdH9^3$x2Q5ez?v5I`VRdUGbY zFWU5-SSLI~R~fnh5#tJ~*#%pDzSshY6sv1JN&Q06E$DLfH9EhQ<;|eYhanSwx6y;x z>pJG2-+8>vizwrou*3L~lLTXlo`vrt05UuWz1ixz`o-h7V!*#IWo#!Yp5S9r(5sjF zhjcHc4&G&if_cb%CiUAo8Qjja?7q*ubdaZK^V^Ggn#U4r(ve=y&g$|tIo|g2v9O-s zH#>K2<%9-zY2^gR*NpP?sB5o{t~XW{W=wh=)g`OG@Az^O)4QM$HM3bp3k=7KvP_(_ znFGS^HIi`*mIq8WZP0aM-ZCw7qO2CAyI`D^Mn|6YclH!1RM9-6=qKAs+3LpBWDlF| zm{RMeO!anA45Fy08kIS~*ASF{uyei2(w&^}0GGn7>}SR${pq|%n_(x?N;QxBi%8Xy zA39W84MXvYYU%{}eI6^P(dHfG1+Yoj$~(r6g?bi&?X?aX>GtB2624G#q11Tk+i-XF z7Yx~Fluu6N+dmfEDwrS}jpr3iZ_MckBQ9MHK1fZtm5unJ>-Qod>3X9yU1lR6H0q97 z4E3T_@-xq&Y2QwL?;QRuiiXd51lksH1$A|KJEe+eDAE%S`ghCJ%?lHmZE!O|NBA6_ zM;$o_Ui66%o%V22BIm~-iN{9?-F+B>cTq#NeqK${H%#Yg{Tbi8l1+G2_j8D-#}GG- zodP4vVa2xeN*fWhz{ISJ%&*1Q9!1j}u^UaWYxeeiQcq1<^p*ot)y;8bkL#305nlNh zAuLNcEm_$?oD`IN!J?TujKI19la4#Pp&8uWWruW+RG8Xh;J$Aox{+2D760Mp%lKaz z8|ayt{tr#6N_{LIlNGA#gz_CUn54I>xDz!o6D72*xyty#M|bhl~F796M9}UZ= zP0b~bbsC%rJbQYI4N+%v*f_KL9zd?ICwDPiD|z8uj8k;x&3;UHzE(Ik;gbROXDj;e zrxYvM3n%lyruIGD3|wFkeehh36&m88tu&lpr;A2_0MV7ze6oC6=&9S@7k8kyEq<{< zMlR@~?tJ{OXOL8XES#Y?%DFsc0O@VMq`oN)&d@38=mBB>ps%KD8pv}=uH9Q+i67%_ z)0aq0RnfHJkChGkRj;?{N=R^QO0=$$TV@T{)<{1U@~F%$qZYa8oUP4QHpuORy4fx4 zLSUJ>tj4cyIuyrkNf}VGA*V@z(6d+DjfBhyyo;mhdW0)lCt1ZX*S>M{p2WS+8@ZiR zOO{QwEbYH1r=auoC5>KxhFa&wH`78lO=Ha%HAGU!rZi;~s1$bdSU|&i5;P`@b#tw- zE8Ajkz`2P?o)%!SQU$N~+q-PdR9kkU!;)FCSEZ$}$&B1Dhh+wMi&?0T&KAxld&6P>kvzZr<3i5gUb@yP6AvAX| zEtX0GHD2peCKyJIZ$78e@3_ssd=TY$@Gp+Frat%E_vx4W8t1+iGo0}*!@vek_Xi^n z!%8E`KEpK*$G?vNG5n&rQuld2TG(cQRGpxj+;mHrv`>o)*v)Z5IB{ZCctSs`oe;)3Em{z@5C)8%Y=5lLHt|9oiCB2(%X ztyu%wra66TIl+v3XC30!p)^B7KSN{@RF~?03h+MM+e8flIQoUwzT@ITB)8ZRj>0m3$d#gB6bwN>NQg>2E@iO>}0pL@KRWXOGnSTj) zZI>rnTA4CEqVH2pf3eH%J6N7tGDpp9an=XeVvd@9R-WegT{BJ3uuF67wbna5`SofUNM!=A&?IH>RxCL)W9xSI zft3${PKZcTGmf1zN5R>zR8_9mzk%k>rygh&bC>uT9D_T8_}kJYY<&)dsAmoqsO7KR z$LflZV;nzbp|<)(Z1t{4$)FH#1;f((1^qabuU*l) ziEbB0u40=}X6_779oTsA=)&14<;itmt3V~z=O&A_;JwV~m;hS1XHA$)L8db386L;0 zv0r`Nu_7aOIPr&wh781bhbYb2v_VHzFzv3rB%qaBLuNDG}7C)knn zr%B#P1}>Yg+)HjOOHd9P*k3AXz6vtjpxtY+NP?ho1sp>;f zE4G`lgvUjrUDp>k{l`>_QFlByMuqzFLz%1F(~63Ho9>kYamY3n(wZ>5K?O?@Y_2jB zob8a)`rwIN%#6!xDn8~y2YDS`O>zK~OwzeX818V&|0JuWSiW7-zZ(z37f0C5{ zYMJuOy!$_rGNeBC%XfhLm6S)IWjj(3FdpDh;8E-NZV>j?rK>h0m;^~5ULs5RxOl1= zJpNhh)#B0hl#%;e=h=X9Uyo3dp9=jqhR;_9uh&x0s*$mey`yYg-9}7nG@WgqoFoSP z9-W5?a^oxIk4_WA@9g`I9vvw#cj1rE`4vezm*K9r%q3&y9<4Q0%BG4kBq^UV0s0#1 zH)qpu-_B2l&qswLB||iyuQcB8CwIy!MHi?%4B8KAR*mvEFVmsD~;)jId`N2wK3y~Hm9!B)MtDIqJA)m@vx@HAQ?1#RftLa-Y|3WPmIvcY@;VFl>K8Vhx%L_wOU zQ@z=J&t&raUX-093_G$rIj@_Dj=rq#U?e#T%gs)VuG#$={&@rkYNJ+%bwxg<>qY`? zV60i{-DxYIjaJCX=z27#;Xz9MrgBeXoSz^P9KnW6x05C8oIDlRMS@EFs_VD1D)>U+ zCe^(*C9bxMEWU3d$t6XTG`uOPsz1#2$x9DKM(V80V-gxEjOHlt_2S5pG{rPsVWzU) zE$la#+uHS*s3*%NN_Z;Smy9vQfi5UrJGuXI#&AsW4_N1bXfbMnP$v=$Ym_To*K4it zpX-;9W$DS;xQc@u`pl`!#k@5E@go2;C+HQ3R_q`1l6Y7dFJi)*OMREm0*cMDggN0~ z(yLyY>@-cI@4-r|J#o(YKgeAyj{Dim0dJ?oyLs?ziOVnhbdu$jbYHgB@>lN$L^;hE zJ&+|P8u24J4r_C#v$_}xZcJnAJ1we|JB)}$ZymuRq6u>;0#6G8VKkXs*O8_qrP}iYC{SW|Nn3`~?EZS0 zEC}=Wp3PM*uefp**Y}AXpj*pd1?=41ZWb+TVst5Ynz?qGITeIG;v1_n8RC5^+38yw zk2$D!q*LexaF88M$T%jNoiWYDZw#=mKH`Oj3Fbsojeyto77tca6OZ|kXf=w(7pJLK zLo<=R^Ep~N=}{x{Q!YAhde9AsT4Inlcqyf3OkDz0q%{iNHrFk5pYz2ol##Hr`(a07~TF~G`0X&JjR zA&*)hp@2*#>EiSYMUGv8c2UV|Dwxad0yBZDji}d05{i$hmpdZ*>f_ea_TX!LL6cp! zu{^xk=-9y0pyY4FS2Ma9wKN1A%O7l1xwd@9mgY9V#AfovGJ01ZSFIv-@(5!_4aI1OWW0SF$D=lM@4no$t`YUXdk^g6(6UH0GM z>9`3FAX0{{uDmV4IE>h6PI2+8dIu<{)mX*|7(S%RNdlHXUDc(nx610cj?>^1irB0!l(yRbgYHDO&`x`*JKq zbK2ocZA7zCDx+j=D1>38>4jT=OwJNqBf?4anS3OY76u7zHxdbZe+e&(5fUL>jcYDW zZH<&gm(%Hf!AZ#;dM>?Zt5H9bl7x=eKZ>T0txrkP)M|}BH98jddF6PE!gr9$=$qh# z+^)Kvt7A4M7WL62w0eLouS!>*h=vIC%j$&wGZPZ2&*A>!^7{qGUtd6O05LGkcvm_a z0*-tSS`uOB%Df$auMs9+X-N7|9DF{vg`MMvpqQ_y0p}8hCOzR7_HJJiK;aX6s5o2PD-*ugU#5V9#qFLIM~ z`G4*3Y~|aqy|?*%h`Ak&rm9Z*Gu+)7MsYUpA9+Ly`Aqj0C?Mg3D?AwCg|8&c8#fv2 zM4u(ixqH5CS3TCgZ=2tr3G0anV{KOte`9zPk%w(_cD~)?6+BzrEp**7}sqPsvYLTr@x9iQ`#-S5dUfs4aNB+EjZalBd^p_y{ ze0~_shTYtHFkxoTw`9abb zf?s&vF!3(r_1XHa`%-Y9%YYD|jL%FU5HczlC-TkVWjOQjN{G4HeZ5uU*c}EWMTxfE zd!>O~H1{8+%oAAJ37QFLcS6`En5)F_oLYrjwvvD(^$uRrP=n+Ylj5UFxPPrWcU@Ll zCJ4O}o0b6ZHz(uEI$m=R_e*4Kg)kT7mfg+*M-h{aZAO<|)@5haYmPRgl6_JygUYch z*+wjYdRN^Ms{w5Q;FbV6Pt-Y;gDr4wg@i#^_5lVZ1Z~gDoFbf>RbjKmx8%a~pE8B= zqhhLQ#6EgM{z;b+p!+8+9^d?XeuhyfNuh)})Q34Oh*+TVdQm@vd=9ycrjQ9sO;3{p zDJ5HM5cnj52KpzWPj20|{~Z`a=N=*2i3lTIpg$@cc74-iz z0X;m zTtnG65=@~XY^*QX@F4Eg&)%7|<=3`{^-Xzo7S@VD;<#H2zX?r{ukL;fZKN{djf55m zHh_$a#4kz1Ki`a%kQQ@QO!92KsU}@2ITYuaG_9Dyen^7sBP`CEUNJbqI^!75A|Sm} zVtb~t5gCM%BUh*_@I~CipK)wg}repWYjtB z`mRTWe?gEVSrn)+JfChy|9~#bZg+eU=VO(Hb@pthoiK$Q;Zn-lvn9WT_aHO3C ze8hrc|Gi?&Q4D|0R@s1pdhIwE(9tjkd|%Z^NxLFR1z!ODbU=fD@YMfNsWqYbJmHd9 zctLgXK8pXUl(bw6QW1Es){ElEAEHFul43eYB1pZ6lQVcx;kncpC>gO#oaHeFs}X?nC{3H#$HjP`Na{x=Oc*0`*YkCWPSiM30E$sBgIK6nD<_)xqlzLv z1vwQJFJHMema1MjqG4OvdI7^KEALhm`!D?_WJ@!%WXeH^wx;b-=k_X5uOM;JQN+?& zZIXqgK2;mNa4GZZPSs#)JZe1u73l{raNn0hj6Mk~hEh|mGU>sppc*(?$idfmDG&D2 zfO1;if0*CaT*Bu}ZZoTEuzVu%SpFt-cAQ;9?ddN#U<))dx&KOKcy@9fN#^q4-y5|r zH+0E*`x+M}h#|mAIhGZ7<$biIDCrUc!&xD4>>%2~dy7KDjbN&JR~!;=)R@;>fE3|6QsdW!+D6$Awqj7(E&=Jzs7(238dX*x1CVx3Wi(x zOnLD^=gc#p@Rj{YB#ACGGaYfRKlqqlNaWe(pP7(ae2@7ytE zEbNtooj}dDyBdaRd?KR;rHlxB;vM7^mxXypqpBcK$N@k$`mp;sKI$gzY}!9IQ7+n{ z565+s#JJ?%D!{7)RyB|btm*t%)R4e{jn`&?0btBOgb7Y2t477 z0kNMd>zr)=HmdF zUbXD+-1s+YFL2}>1abQeVu8Zq$=~m0=PlN@HCEFz4sZAk468R3iciuZzDT!JklFXLv2xbq5349}N8 zE{Amk^2^4#o5mK&(FY6T4jwt<4k~$hFm+P;v0U{NYN8NJ*t@^NTbl6s5hjTzyU(wnVrk8t`E<@@o#LOE6M@-MKwa?gl-<3raxHVr0$CE&sBz66p-D$t5c$kXpAbmr|+ zI#9-Z-^Aawzje``w(`CWX))Ho@G?gyD0pRY@VrM&l=?iKO?`8*m#zE#2%20mMDm|* zcK_Y-=Ksfx+ftW|A!3H=exN*ub&7LUP^f_YrKVcz+k^_bPCe_a4mj-HB)rD8D#V~h0V_CbB1(W)nnmY7ka+FLs8^# zcdO}{E`?wETgl!BX{=(D{_ESw`w4E&@;ry}2wXBj$KWQ*)TihiRa#y7C>|EzCL`ho^&dtiH@aOF@KPuVc0(jP1$!v^`X4oS6Sf|zY~ zlCM5Gzdn(1Vp)7$=_$uD2z*t7Gt8NiiaA9?0g0~mijovI>C3ustj3Q)&3LeNlq z#Stn($gf)yJE&C?tID@M^_+r12w|73 z{!{5~KuyLPj)n9441JZyJo8QKtDQ3Xjhgt;Qbth=&^#53k*TY4Y&h9oeJUjYuf3cp zo+$YScz?P5Bx%c2NqM-kCBISb363{3P?4g!w{~Yl^%tRptNQ$2&9PNiJiqcXX(5+ux&#v7$&lQ%}fAnPUSQH)}2u20DHfQ42?(__o0h$b^7@tpDN!hMUjdntxj8uj>_AD&gJ(RAnW?W zokN|fAC`c#s*5nnKDKQ1!uM;l1w}x;@nH{tNAs8Fw;iBW7vZL;?&makverkrv3hvxVp(kDgX>33*+1iB!xg zzn(1cH$#L%JI@Tu+P61Co}ii^Sgl(PqbmqdTnQ;62@i-9`hZbsPWsY`8FrdY$faA@ zZiChR=je>>KThr2biU~%m-Uydn6ZC#hvQ_3S#uh)6J{+Kg^k3&ISvlB-iMV{lZ!O1+B zzE5#f;$K>Gufoj9Vw!JO2z3-@B`O>oa03^RNtx<_Ec^}K& z#9GAVazda!;nl8#drPbcF4D+M*Sq&Yuc*k$mhJuK22kBsZ@}Z5TFY}VG=QSK`Tmfw z4GYs$c>B`FOYM?hv@%eKEGI^yu&wi!t4u72Y3qT_7JV%c}E$gK`UaZj*A2 zc}oVO2Zf;bB}Ss0p#=i|{+EGIGDZyRbGpB6K>FiOskQeqgjDn<;D*5jq24~75jLC4 zQ7|h>#3G51tRInPis+yg$2E|WuF|x%p_e`f;XJq@^1Hbk!un-Uw;r;~t#tWy&;FaZ zw14uH%{PgK?3Yq0|AeAjKjlxYSR5NGx|ZlXGpd4?dSY%4>)0VVbZTDkCZ10Q3;*bw zP<$tG5Oqg9-9{xS4|T7$Lo-R5#8YL}eEBc?T4-_U>sNDXZuesgtvRbg)p-80_FUo| zwL9-BZ2cUitY~GYJ}hj@ZJqWfm#HTRtJgElZL;0hdFQ`{z={1EeJgz%i^#iWGBuOd zt*GCrE{3o4x$R=PDdh>AhvfF6md=5qFuU6mT}y@s=Z->AG7;gY`h;1k-fpLKNdiLQLNtPSNPg^u<5-bS7qJ(nbo;Pl zG8d9*s)rBC2|0}JQSDHT-@4ZZjQL*DwSBHYy~qy8+786@toE(jhuOP%9-bvY7sw85 zeDKZ;wFAWr7uc9ij9eRdkqymd2s?CHR74| zFgcr+)%)zmfhh6D;(;yDJ>Jtr8s?gwxHShePfqCx;SF{jjKHnLED-ON#A2Kxf1jJ0 z3}b%V@15(P5t=!DO*`S&n`1p-l0eH?#8-aUB z3T5R@Nc=ZEZZJhYPdM9`YAz;18aqIB0CZh)fxC&ezg z+Y`s}C1`{oi*K9Ol>k>%Crz|?p?ps{>HZctu9-}hD0-OhxU%bN@Y&13rO{_*?>cHg z>QasY$8rP!bZ7xH1aSnKHQV*++t`O^*G<(JwO92|2>6QfI)VP;oKi+NWOW?QS=r?R z8(s_`AZW!c793g}>b7Z`a9Bh)1L`pVqxsC*wM2zmbaPY5iL+HT8!4Bep(#C*UPz0Z ziUK@%+|B+KxJn=l_eK?xp5^f-H@`}u2XZFX@)y>|xx#7j`=viX-5k!G>^R`$F%Rt1 zO`Do8VHH#vkHwF8)XFfRkM^Ic*H*|t&$T(q3CBn^sfKmcI(6@yr%lR*gUj%|moTqZ;V~k&I5Lw)fkB-x6VAKQhjYdqsW9`^u?~ETY zGP3>cIt9j7g_$qzVaYbAsFIy}feh=zYoPM^2|7z2sP{PKWGMBESr1s&*f$7}%YAL` zI4Z-0seT=*seVo>Ox9}&I6@~@dEl2_)qRz=5n;H^-@@M-F`5fzZ_6tL9$q0b%R`=7 zhY(qeUIF4;y~C4j{edGad(P7R5y&A|Y6_VmJtEpOZsggFOFCic_hnJ~KJkT1tY9_u zdFd`uISdr95*87N25+ishVbAVNyiV~W+1PagiDalz%U>u^6OLu1UaCDi(d?W*xk=3+KWC`a~mu6wh0#=*ru>Z z5!dL|G$u92x|cpz0%R66W8%Pl-WFaoo@&M|);6J(5FQH~38nJ4?i8la^=Iy9uh=JW zo@o_dILs3^+Y2nPR&%<_4M^M}OEgS8DbAvgJoa9Ay!FH=VI`f3jFnQDIaw}L!SJM2 z^sW~jTj%mk$g>^GQaLlQMHs4R-+5!<(&rijIxyE6pKW)~o@2WZ3S_i$V54h#XYt}E zdcs|fnvF;V<|>;sG?@{GNlpsAp3=JAAQs;tiJj-R*b+UiQj6#tsiln9xnT@dFdfCz z4F#j#?6wW`i_A9n43I@pp6aFcUGH0H-qex;loZkB!|gR+M3La5vUPe5r~}JTVk=0U zJFKP|?MdpwB{C!>oJ_b&1A3ZO2AqH>|W-c8*j!7 z84Mh%)tqJ-H1L-D<&IZv3)BS~2xgN}4kV%0_f5bQ>hHsGs*FPFR9d(S2>nPj(2wGQ z$w$a9(2kx%B-+ZDuyy17W&VEiUt$!|^4lQj)>&Ca=U>t5R$q;)qI(CmZEHi_r0a+Usnoi+BvW$)F zu<2^QGVTk&j9*IZAFXsZOz(N%YPR~Vh_m(lG3wFi_`YbmI9@!~dYG&KXUH##_l0|sx^ipj#gZo;;YHUJ}r zeQSjRexB;Psd#y*ae4XybL(Fw7J_SNcN3u}7E*YtH8TFKVAGZ~HL>2ZnGo`jc7ALO z1^y%4z4PB7M)Ne*%rwo5+&>D}CbDG}#DUUjcN?rjuBmeWd^lS8bF8lgC zxuDl5se;glS=+nENqK2x;t9zpz_aJC#hM>~L3mw9rLOSS?xr3;Zv2!S6QejfGPcJb z8`zn+nK;3S(C#Ix5eyrm%yhg{NgIs&Hym}awc+6!m!sH)>7|Qs{F4vHXh=bo7rVxn){a6toprhUTS z0G_N-QRzqzE>m=k9R~~|zl|EB_2>pvN~r~>-r4sa5gXjv^ax|t;G9f}(`>HN?N`i% z^uuOxpM-Bb7QM~kIf`s~~rMMP^9z{gx%jC-1G%&UlH zJnS8b>TZsG;@|0rGj3a2M#U%MC9!3XKk*m1G`5i{nQZBinj3LaQ3KP;mwz-UE zWxfa$my&eM-k%jvkV=!%zz@N`>hWdPD|mXR{@0)>4z}3Obo$Rh4}u2I-I#+8XIINm z_(4C*;mo@_%8rRlyiIy;BQ>dAGwfRkCZYo}n$on4PMpFq5aw816F{QeuD}EA(22b3 zfa-n$PB2URTwp1>$pra!Kd1L$5_uy%CG78zsJmgHiV@>n`8)e;xyr^Izy2|s>(a5> zPI+_o!xK;icX%$kuw6NagjRaFjySh*=h#GE{1Y@&dbnO_sQobIZ_*;GreTt8hDo<$ zv+jjOVFkVqEyy&wCW-}#Y4sql+9`G6+Ceq-Zxj?D^gA;@;Q;1rC<#52#@K5im}-aH1Bv$IO`Gkw{#^55}jEd7BE7c|v82c0n5sEgv14c9OaDj;h7 zO7U{l_tKe_Mq9Ki3ErRX3nRfs%ZKo6+0y3dkgn|6h!9)Js(@5OPpcCqyoW`T_ucbw z^)g#1kr<_>*%x89gn*wTbmP98~X8a9=GEWK#51qZ|oWm5z;Tb7zfHtofhY|JFN>9hMRG25I+f|687z*cDE$?r{ZypFZ3 zW~CNSfQj$69K5UYpUzP<0(Er4u)U>LPN6od1QkD<>q-#6@q8G)10u;O{(U^ zxk>@P_;}g|x7Tad%R`FBQP3IdmKT035e{a1y4>DxJb|Q0&E^cSCeldG_bi^F{s1A3 zA{|qqe%X>Ai9$oqj0N=9hm75l7Fa)C+}<2qVBZKUHWYKrUjHp=y`Bzssy55*Xqd@?tIUwaTV&pEqRr4P zV_s_*xg|$ewIlM!nkK``RSQvHk;Q{`IHkb1Le4Ye(;Mg6^yq<|87QAwy#jmiROXFu zt03}VB1fK|M{NIm37!8mfc;lZ6~FL@|NT2TNvY0elMZU@1Nq%gQ7A0YYIiq}kHLs? zx9ZgHWKlEZ`$r+1!1%2iOoPaOn&9nqP;~suWf$V#?m@iCKJvPREKc`WPK=|9g^HXidl1i9Yok)}@I#knHas^`+ z&>n}*33U4bPIfR^UrtyeY8571xsdygTg+9Y!wXe9qovQY zK!HlTYE;m>a$Ee-hK$(EkRP2&$>Movl1TNjXdPkJ)%dj^JoTTYc65fU@_#FS;Ix}h zHtI97$Y*T|hN`l6#ZncnW|B7oj!S6;@rUf^wo+9<|2~;2Bz_9TtJ4>zCG4wou% z0=$LiA9#0GDP^VYj}W%-@O50fJ%U>*BLCYb&rwD*CC2B8G~uknfj{gbPl!z{sU_QT zZDD6~^vE;o)6y%tlJwwqnEN=T@PmX>0bvg zoF@W@Cw{n2FnUjeH+Xk!j*=HNgQK=wHTOPSLw{VYsar(TWa|UYqiY+p);*SDS8zXQ zj}N+6Ppp`9d0(z?N+c=g{G#qQm5iDO`$K~~t_`*7&`w?f=wovVnu)&hlp49yP!09R zj%EE~t#u|F`cgM`Q{GIjE2#TkjRI^3N7oXUBF6=!)Lir10m7EFq1I)Qfxu9jk&r4U zA&a9UaYq2`022Uf_QUom!)v&5XFtt~>5(EWG(<2l@aH5)Btq3-`H6$?XM}d)z*9 znt>Gj`@R!4vNK;wkq4HK=Zvt{ zi^nJqF90#9fZgu?HgqL9H-3J4P3T0^95!H7JvI9(M0sdgI$?*bS~Ny~lq5wcz}wfx!fN}Pd0y{)ffOS9 zCHe@^15*dc7RQ#d^E*o=fW5O%2-weCUCllUE3WOc2j zt>;LN;4Q*%N$MIDl(M6Ve3W0J&;Bpb=jh)3?ack{4z-DlIKOG)A$Wk)IM8L{;UY&? z!GB-}-B(1SO4Ybd*3%32webQxa{wo(AyGpX=20;%Vg@qGQ$zm&BGj0e7ugZ)LU*Qz znwOXKtH|JRaqb$g=p!DyW29ZfzX@9eQg?PXCr#S+gFRG7*1#9u()xy0o zJV)@+4zK_mK1~klfq?s)=bPbMtg)Z4J3u*}Nztv}(5M<*#FJ1ZBpywL<-ZM{fn0Eu zL?y;r^UmIb*RU^yC_HdENH#=LB5&xk2wIeI8euNrVKx+6Gyo9dd~;fK;)u@5=~DD_ zM`UYM$`msspOCPwbGi5gvsH9gtJQ1RcBI~*w;-M@b66-ks}w40Sb4P zH0?8G8#FrxXf~WfVHTpBng}Q0G+IC4&DT!G1s@PmT#t+yVe8Oi34oxt%VSd8rPBSfJBFWg;mf= zc)@zrN!}~^C033baW|LI!z~DRN_DrAY@7;)6Bw05>Rv*lNaeYu7>*4(efe5{OtsBn zz6mm`OggbUP%K7@3uVVJZS1pB2dQj4|5%SkdOM!7Im1uI7W!DyBDF4TXJ?U{xwaD( zsN*@x_?6HX<@jltwvvX0?cb)wqe|O4h+5@G{tCWA?SsO6#8&G%Qyn%J?GO#EJ|oLa zDAsql@lnUqW+CxW%x>W2{)iPddmL03gH&tz&vA_Pt}4w?eLQghZ6pbniVMaUS)n zQZSj4dp$V*?)WX3>@Et(tDu2*enTAjYFV-KjI0gF8WV^(=$@m}8X4)Z?^ei{N}S7n zptCESHEeJu6dG)CB42=D1s);Mqf^pFBwKYAetEu3JQC-b4bdOL6;% zJ<5+nXcn3lJq-aY+ssVoX^Rdovg(fTFE0EJ$vzP7fIjLOwQ%ZB&M1%1qJcz54XMkQ zgm`x1?zB@p6oD69*f|y3>6k|zWZ{M<**fayS|n?o4C|d)ZJ+5ZYhLtyxcxRI;QAs~ zDV(0Wsx`(`ajatw1)5QUnPP5$tQD(hIktNWP|(Ma_kWTHJ$W$Dr1IpAu40Q| zD7^I##D1Ga9|k>&$J_c(dmNy59f9GkQ7BfuQ!Y-^9~y%?`8ELV2K9N*qc7OloOTp* zq%h<9yuxBnNi_TiO=6|{Z#GH{jBE`5dsb=E9E)aZ`RyGcKL^oR?*0?N0~`u{cx+_D z53|6%(7pPrNh_?xaR^1_+r{r8KiTWz;RL)i@hQBhO=7RI)cgayZJ9r6-{0Mzj}03C zV|_jP0*rwjhd4-i`EAt`FXR6FMc^u6I4Z$hr~O%hkG^)B-5$UOu_brradxFe5mE@v0gp2v{{yDjic_GL_@_AdKy?XTRsVZvxAJ3~ib*(esB!E1~$uh1r zyiEU$5x}17aKXe$mih7X#{CI_RQSYC1j28-$eUpu&-~EML{Ext1(k<9znL(GqXKY< zfs*#&!CkDnY`l6FaR4sa(r|(Izyz&_lajij%*x7yX|C-F1-j?(M;=cCpGdP`tW_@Z zg?zJF&@x%Z*kY)_u^vT|z!Ix77%JhX^72tnoz$>bjLFcUdYy!+4JbY{8RY5&UxGrb zAIW`cf8{MQ2zDSeV;H|@lG2Kvyn5G)vf3ImGJ^xhw-`ekor)vF#yK42-XZO)<-*|rkw@L#^pMxCJPc}RXBM<11 zyaK3@>;%`T@;@G0d9!%$#7z17hP8zhr&bF02CuoNuPOR&N+fDl{^juvB{$2hR}QYe z!lh;zIZH^7R%HT)s(dASd{T~;tc#}B%Q9+#zBwR2M?}0%yFMz$R$8m!fmXf-%olS;N?*s^a9MO(s+ZTLn; z7(K%Y6@m4p9HRUK>F@#a8;;#fY5@+O+63w98HbPSu(u|dFC+`cphhP})S!o!3Z{l# z#_|eC4W36(Gb8ne9a&&xl}Fq>LU;4>see}GisKLcQVioCIXyjl-tq$0yd=IZdL_8@ z<)Iqag=nduC0Ymw`47eAQPRd7x5S&2bdT$ucLRiX_KgFu3O59z-gD# zJ9hEC^^`V*&vq5|GcPfAE+80xXvlbj%!&X_P)a3t^Z7aQ$%BZTY{io1Q`x*M+{i*d z)9{=WYqAIbSCXCfn8lZ2PI)Guzc->Ks>AJ>19PmNLR`~)M#AfPj+3>ru9{!rf27B5 ztc3K!cj!6pJsNYTY``v9FuiSc-xg+U6*W1}tcnYQCaU1-zwxW!@nOw)kL^o#T0?8r zp~(Y^0@W-Mn7M1Eq?>9v$8+~&b};t>exv2_^tTu6?Jin}%`P;6b`@$z*S}5|8zjPk z!_7o56h$PqF&L2rr=qe9-^)hCrOV5IgrtFPogFLm&^zLMaxGg4ju0886yhXkrYBL9 z7i+{HA?R!?g*cK#KPJjzZE+nQNpcUtH5x4(k!w+hWA3J0H*3drc>BGSQ=b&{?G~ z@X!Y)X#I7bEft?I$E{GV!hEZR+5orbo7>*Z*J>cg zeylo9=c2^Q7$XLn1(KN8Ag8#D0uGsbRf)h*jOP)tl zcsWn0#gWA*&keDvo^SnjxMD+h&9a0-fF1((7xR|X5;-Xcn*&a)7btvYp@$P0a!CPP z*9PwFJ(RLeZr1>@v$q|~k>fp&x!FOg)hyO%Do9EIF>SOkLMF7!1k3&mW&GO8iDP8# zQ&yD26XjZbHbtm9-Kuw_s(RI0Lf9^8b2m}L+6TLZ3)Oe6{wN${4Rrx)73B%(BuX$- z9#}9T?rVM1?t;hZ+HEo3g?(Ky`4MXshjuz>IQKXx`nPykef+kHy8R0YLtM7?8vH?k zFswJK~+KC?>_?M>={b9zlXoO<$mDNxEmDn7OFhdSYDp$1%$>!UEY z1)g*qckHsrMxBQ$B58+)hjM(WV%Zt^RogT%c3#WLmDp7HF!f9PuC=iWFx;Bkazky5 z^FIQ^i^=tFyJj*~d;&wgep?Vz%6H?ewIs8e%76XVB1|{iXFah-y*v$x8&P9d?CZs4 z7h#3GQEzjXlSVzq8-P)b?okKS%<`~C4I1;BEDL4Lx&z)z3oXDrd9q7J+#^kU@}zXW zy^o=RFJ=3g@wo7nxyh+ghgzZP9$nEV$j-gJk$;c3O~9?`dwS>vm&`>+2hr-&%IoL5 zEffS-cop1x`*hMv3h8t+gRr?*65tuBBxjEMISm56#Cl z0!!rx5bA+6)f%7qOy!C+T|aBcNe|1E3Bn#rTwiErfV0q>71oBYbed`osaj9y2>bBj zKp*7q6l~n8dqKNMwUJW1pmAD4DOwQcdEbae!wytF;<5K!LoDD@J(7yswAH)$ntq5~ z!MZ}#G7l$`Z7wa|BR?!2WB^T!2|(0ldWTq5lAkSmh zyN~3Y8uy?Y62d!)clJRd-S4lXn+bWna4*f^BLZKml%9X}N%IyJ!dPN1qst^rF{1Fg z9rg}loKXZB;Da+!-QL~TGAu26$vYS(%G%#rkw_{s6EzXAalW5sZzuOoN#Ga_)Qr|l zKcn-Kk(RKZl_|=me3HjN0_K944AVSfWYkh5;%}%I5uYP^+=9idClM z932T`SLU3&BWB<2W;9=Y-4}L0sfA0@vItjIY|k!1^0zNWW$ubwlX*Tsj7R+7#fd2^ z^?KSOf?#-_D3#7_-g8lkBUn3Br`|v3i1gkSs5PH)tEQcXDDK z$9TI#G>1XI;IWaBIx`nk11Je9RvOK(HJC^AbLXx-!4;0<*#poVJnM6GvjEZNJITTE zD5GOC=k~Bas-2Vs;(y*bA)H0>|18eDxT3dc;D2_I#Ay^zqsE|(31V0*i_fohv=n8< z2e8gfk5au^F~~^Gc1>aOPHQ&Ep?lvf=w_v>^q=}AfLF;Dh9*RBpfmbh!; zI5IKaSyNtGxJtZdVjhruYw1Eiv7pvmyi;Mzc^F!i3Rx3ym``T zR_9fwGY`pvLNVU9Rm5lT4H3m{KScl^x$MElHpE3=&dz40a_G z>O5*ZX??bG?LoP6X40gMKBJoU>%1qeje~GqOSLOYn6x1slf1!`G3;XITi2YO$t z&MNLDHBto%5C1(`wSWBZSQ*}3QEC(!WPD;+YaQFll2^UO*_f{I?$)x2H%c;xZ!T!} zy97{q>#r?jTC1f%QmBe~e4sNdRzD!=A5DwMi&p%65$vsI_8UxZo6?$el)@1`7^KOk z5}}Tco=7F+;75#diWW_d!zX^DKckDTpoSb2p|VgM7805QCA%(*=~YZIp0}UX0D7tj zD_W}nnB=2*FlEgF;l)iFfBfO6u(VxBt8^!4?@*$ewk6SRx<)4u%ErLaLr2|G)^3y~ zoG$kx3g#vIed?(jExrD&B za$EbzU+^@jq%ta7+Yf5x?O5Y5NK7$gOcnA&s%-cbXUp9mDrgHYva%$HTSP?m3hb!c z(v(SZhOS7f%dODgYM_nMemta)k2PJMv)S7MY$ly-CTG zjWEuf8Qc(gtRtyZ5DycS)d+>`QZA$;zDK-+|M+p$EE|ZL9%)ZPazCx&x?1pg47)HI zVOklR6=@Q##Q-8#3!G6IN1AZf^AZ!Evv=2cTQT*$Zunw*35tgTsA6o(V~l|V1S3m< zrhW~&z-sZ!dYj`cNk~$aAql-M*04n#UH;2}aJ;K-FprH0#(wBOTn;9ESz-A~`$rl$ ze2e0Ic`aZ9i#F(Q)u%7UE>&cY|0E@XJJ=+S}k`Sil>)3vjXF`U|9Ih#iCi#J$R%6%+*QtSG?iMF_* z-d4xQs)|raJ;H{xXr5r8m1A)hwf*mB^Iowor+9ME@Bj>)wv_WJu~#5{!H& z4zceaCQQ9IJ^UOzJ=8I5q0+?!^LexD=PvszWP-gebo%qt;~zZh8uJK%#*8LI?kkR> z6E$iiIH{}qxGt5di%sh>x);c;-{(AhR!k|q`ydXPj#Qr$IAlbNG-;bnseg=aRun@o z&MZNi-rPRyql9)$Nw`vahLVq}Zu*>V8!wz!kDoL#woyMA@oUqfg?P6{A#?!#;^{lv z&4~|13NQRrCji8;E@wg8p*>Xee^=LgvduH$VmUV^x&~1D+POt`ug}k>UP1E(xa#oC_YDZ+h;gA&SSm_N8X|sQy04Icff8_J!f_q{8P$v#jP^3* zYqy+MPKRG8OZ+LZ0_0S{(9PVS^!{-gGRcN$#LQkTksNyKz9sGqn?}PZQpnk-f=1_n zo0#Hy(W3+c#)Gyb3VmUOh)?aoRJdP(r+N1by-5o(pR*j}1%kJGOlWA+f#|6^sc%M%Mz7SdJ zp+x^Tamn>xiAxT)|8a$?(v)`k5tlzp!;b_=DTudoD)ac&5pSLCJ;nJ;-tD|&Z z{$C38)(m$4eCF3fK3~%R30j?GN6p-5PwpsxKh99#2>Te_QyOK<_q9{tX9zGHy{MbI zWg56-`ONg2;kHTXDad464KAxX*2f-x{gzpv*LMEz{pI^X;eKx8>PRpW`-f5^WH+6{GuYB13=!hY1r~Jq8)99snZ+$ zc)#od)_h)M?qSgYQ%!;hshqzuacxuwf7+XTj7JW%*S(dRrb#>V|huM zj$RfdaqHPlvTF1@KlpBQ0D}{^ajvI?k)AlAjfw%pRF(C(RiM9~&r?R-_=SQiD-Qo5 zmGOf{S+c?kf8NE?O_~S?;h4eFF50Sv$u=VEz3DF64bd;#c=Qd?wBbedfh>ohoYq-(J~b-519Kp1ilb;KCVFiLoTQg zV5r()VcGoB`uih^TZ(f$e6Ey0crI&Lo2p#f4Zy}e@VKvBG7zu!r5C2VEXN{J*f0wv z<;dJE`iRKtSS%lPqang}<8G-j!6(Zl+xb3l4Y~&2*b-*!c?DQ9{F_KOGrv+?;Mb_& z8Kvs(R6JuTpR*Xeb%uKDJ#{sH@?>PS#zWAlX87B+kz`RR;atYfT4Z41n&r!KVwn#L zo*ZGe7dj1fb{CqNw@3a_2i3U{f~Y0es0Mi+tYZHg*%6309Cz3Bu+*ty%iJFt;sHM2 zdQ9#)SXc&%OnR2?Hm;C%kKdbo{%;Re+kzsQz?e_1?O`ODzyFRCBGqF^Y@Pwr79uhxK#*s2$(OnMWwE(SuKKTF8Rz$L~YE%TW07;TkAia=-Z^ z+;GVwkD|E>O-7`}!k`Zyqr{Gxq>RsDIiCak2b==eB5CJ!p|{cO23Ot+#k@mtraS!L zy$p*TUdwGg@k-hcbpRKG5R}&MFg#Ig8q)rjrr09Glw}V}K*4b)e2`z3C3Y!_?~_f- z*HZH#-*fYo^g;`cLwO~Uf5&_5W(@SdkMY?)8qsDq_C7~=3zN^qszuNV2ks;0gH|haU2Wro?Oj>@ zO!rK;mg}noGD3L$%U$OCpVj#{l8`b6fdjC?N$A>RwG9C@A4J+*cpgkzPSFvgsmOhJ zX^rSh;R?lKLz$s;#WqAmW2O7<5WnfPi>5Ok4A^IB!j^tJUM=jPHMld_=_m1!5I9Zw zH=I<$6(uu9d?GZot5SAf54Kc3+N(tCF!MAp4mcNSBF!l}wE_9@7!@7TwuD@mp3mWB zltgIPF0loU`GdTmTc}hUNs){vNr4nsj)Su2lIdb8c|9cVtJ#LZxqP%<7{5;a1-(rz zH;*EzucYdS9O5C4G%5s@vA3X~m_;g!>bl_HQvbUGs?>*4rXTj_c5%Pp6N7S#59EzR z_r#LXTp#bMveW!#z>#tW9qolOZhsz>xVjFG@W8{Ge2!kJL~f|1mEsL`9@n@rVdll5 z>fJxPZ=6dBwYbEVPkT`OO82zCEh{iMhakS5^O4E+c~O(?GnWbl&vo>d?MXz0m=35W z4RC$ZiI8dRi_D2X@1b~8^ULkJrgC2B5`no%RRwE>@FZnwXLtl1G4I&yHN|9Y^O1uC zLYn~;+a7u61S4vQa7|U~q%6)-^jLh(hWin2U;oTusb-0O6Mv-%1# zYqu7|%U@!Y>!uX*O-YLZCX`KSSvYH}Rcfv^?fj8To(u5tyIS!V;6e8em6m zJhyhZGt}%Lm-o=-A)Da3a}N@8T*R{KqZppD#HX`gJ`>lqNmvQ6d~rZA;+At5vvcZi zXX#caXg{9jelVFD{=o^z)abh6Lw6@L0OY%6HUrnhPzol$*69)4S;jycnJUeh6dNk> z5Iq0VCnk_Kq04STRI+#-Q{IqUUMoo2;cMc19l3s&+*!$7s;_b5{xvS>U^#a5WFOCS zcQ}y+OKG#MI~a9=_I|15HB1{lEPH~ye|VF?TLh^>|9(oNTrWB{M@d22>@^=erSmX| zT48c^&#&0CW4iKm{(5tiOx=qNkoms{`8&+IB6oePXN{C(?eLx_ef-JqJXP1%G&6^S;cpPFC4g zsrGLiZ=n&+dq)d7-l#S>VaI(B6$*fVCR#oZ% z4uv_lHI&wW0)d7`sgX9$Mq-)D{jz7Ej*LYBN`a*I((nRSOO@4`dd)$l#DBGu_^!T4 z9_S(07!_Icj@^mSGT$mMB&kn5`zfc@4_C~1Y<*saX2y|4EV#W?5hP8L3%1dUb!c1~ zx_r?8nYb#Wt%R7U5-I$e=*C##j~z4XNP}_(9CaDy7+KSYciWN2G+lMHYFRf|rdS6B z>%m>*;p(M|WJ?veHl_5JOR3d-{?ef*eVO36V%(+WrgbV97;39^HaNf74?~*UCl83Y zR~j;zv+ez>V;8;hK8^>Yu)=Mjnwa81?X9EksE){@Es#pUBbQX6k``mdKR z4Sw$0m%$lQw)slf?x)*KoIzXPbBfRN;QTe2fClU(FZ|buH#ZrN&#E9GGZkzU+@phT zzsTb2yX7CKLnGz*|DuCA|En$qE9d`UJ_Rec+2S(6T|J(sj6HOJB|eICv%J0B0R24U5pjiZ_6)BAzw zjH%X3Z=_oeJbM;6{cc<|Xn&RkNVZMPe0*O9mW_;V=(oVU45Q7NnuQ1P1B_g7j1WyS z)jwE9!`;=BuYW0R0%df*B2ejhXnk4+#M#)OY7hAb0=c7cpu|$h>~VKtGz(T`DIXNA z94R_nf8;rxotyypFQt2|L)%c+QMnq0o#IY&%Te7AQ27 zX6{YuBKrPa#^Zk5B|qd$yvR?4#sKO7TR_Pr9Ju_ewePLGU7sGT!(yMj2NYNbUt=KK z570F%J_BdFhJ!p9W*VN{q9-xTm_0MB*{9H@@~yJjhjtS*hYNP{0(1hr=wFlADLKB@ z0{`B>lqU2)u@6cudrg3Yfnl0nc?Oj!$A5jgDIp1%eM7u&VHPd<{9FPmcJA+8fr)C| zwZ655Cmrub?kDcc&i64gRL#Jd7_C553k>~pytrrQ6HNQ|C?0Oy>I;cxyZ+qZfNii& z88dB~{_RvpsBr2`r6@b0jw&;R$SDve|Saou!Wxh#UrgQu<_eCX?YJd zi>K|IjZ9lpq(4eXS9wDnch7${vCE1M&B)B5p-5EQ2~`Y^BI1h{MmgwQsAL1IjN^kj}3}sz*V)5jOj%%!++PQe{zt} zbBMnL>*Uz2Zenw!|ME65*iQWI>qMw2L>HaCNepK4#m4f^A>lU@_z~sfO*Z;rwj1^& zhQdS#zbeTy-lMDHkTvlpH%b6^VhCZ;C*v{;@)I5!LN2cZIYpEmH)*p7Md?8d0uI(! zOHltxXdLX7j9J0(9v=TAM%a0{lm@`AT0rPx87)1Ld)=qQLswL0-e zyXUN1U|BZB>X*DXew2}tLUl={GL04T0sIUm^VahHRTP(b2T2(nfmitCBA`4o$-?|t znvOE4h~NMAIqivtx!)|iC#&*I=oW<%Hd>uRq6|wV4n#Zv874p<`(}byNFvteLHqZn z{ND~}2La;lQ2W}Ab81+!IeoJz;MJi41W94{}A1-0Q zfyj(z*A20*Jhv@D+%WX{c1a1pHCU?#_dT4|63fRn(;ldzO;8QFs+&oEj$ACqQE~Bh zr=u1*2sIs0h9=$Ov_T3DY~VV2Vrx;mq(0zmq?)eQ=?9a-oL6PN_zJ%{n;eR3M@I3U z!^6`Ft=elI{<;B(oEKo_nvWBMS(cx%6fYUH7M_1co%8bU;ev4`4pkcql~$8@+B|^F z$bL9E%QzCUc^Zi9`{ktVs02u{!^Gzm-tkJY`55exyQa6?5&da})QB>_vc*G3Zpe;P zTR&i}`5dI-xVQZ4<;<5!_hA+ss*t&$#TtK;?RmR994Kd?GW$Bo10SDAg|Cu`CJ%dJ zx`77x3xYXkF9AbJwA+=my3$#o8@wm=0VRz*jT~Wt`Fw`cs`h^l(M;^GZgVs(^{teT3xV;0l{ zZ?KRRn7Op9{%&MR$W{dHYA}FED7pN=C;pQCTp$X{I@ujI2b#Bf@vX>wpGF|jRc`CE}$BjNpZ&T@nX24Kifn}Kf9Hk*TVoB_w z1NxWLv??*hm24u_*Q^h*kB!Bg;o8+?7K>18@e~%(Mva@J9C3re3BWRmv<7CFSvzId zdkAt+F+)|*5p30b_#eI`D*mXgt}X{MLpsvS2ljMgp;_Wv`-TlvEjI0%Fw7!?BK798 z@fkg0R&>_4)jXUphibn0@caodAD>L6PUg^0mig(av}B}ITvkR0u#6Q_X>pcr`(Ki*9AH{IxTLxj)z}=RzL%5LMSL^vRuzvNN_2&xg%OtY^5>^jhC%P=(@lnhQajx8 zQ59c+FxE=I&-=5n|F0$u3w+MZ!S{iiS}=Gi$!K|1om{$DNX^^+`GUwL-wCbd9p~j+ch@$X@T4x^uT{~L z*JoEcFN2G{>wSD%EiNoK9cH-_9zc_!n#CO#+1@oA?H1_h9HCY+27%E zY&S2288|vm9%`kZX`xLYf^!{2l?#TwAVT#`_rIyHX6X36Ul5~aBKZCnwZQdXiArWB z*8gFyPHA@iXMf`Q0qp~1BzE^-q_~*r{$!z(qYinneDnOE*!EWbs|j8u6}gS5~*JK&S1FFJlH1wP#OP_T5v2!+6Nm(}Nvk718bq zynvjQRm|`K3(lQqe}zD|Ak^!iK8;Z{1Mp>D)6hj(XG~FO4Ig1kwig?(F!%TO`@{1A z%~^@cs?S^5&iB`duJnKExvEQhwfMpAXqLCz!388otUlI?NCFhy?~VcxbOm2^UrkgQ z3(tuDv46%lR;Gd%yFc5$+Pya~4D;_x!&k=LRf`A@k=RnA8OS?CR3`T#`4BGUR5VpN{;j;ieLi@U1`_~5&;P8>+2Z_#s^lC8Yq`tH6UW1S{6 z{Ka^&41HOPCHU}UHPjYMsG>!duTii^$HTWN@O#eC&LJdPNwL3Tm9pbJXf}VW^BvwJiu73a z!A#oL{^rTScJjd;6d@u>e2QZh2{e%*g^=z=XbjEH(P#r(H^KA0Zz}|c7e_epeEPu4 z77`{ML$k`4S^{K@d{HjaQ|5X_3Sb)HqWGTLc;OqouP8!5&zb7@iF&j%+G>rUSSz*Z5>mSrV9w@uEL6Z&JPaz41(3t1u|wL^H|JIer0>>Z&K8HsHbn1nlBkaf|yYq_d=XhkNrWqQhc1XGKNoa8*gGHKR0ViYayPc zB$~l(lK%;xdU4>9t8-+OAg4;+A!hPD@##o5Xbz}eIE@>@nP+s7>mj&PZaE7@Ciis; zJkVZfhQU+epD;Pxmld$4{j7z4p2$^M=VIB{|vdpBNJCU=7&I{eqy8 zV0tgN+v>^cj@y{clSB%P@%x%fayNAL`lsJaCO(feCewY`DKT-3eGVH6q0OK#i#c{9 zat$>}mrwPamdV55$fMsBG9r$bCj*5T<$OA9RNye=hyKFZf_;1+Ol5mA;#rp};qox3J#acL#lu{o%exwYh3D>A=}0h(E@AY& z8+7x*0|K+8C=)VUUv>?%ed39=;FQ@qlQL^wWa!CFCJ)IIjaN)GHw)YTdOL1{DECis z$(*QwU?SPhX#I_jvV#unMIa@%nQ-*H<|^APAnw?V2C_XLewjtRN7JSL8(g(# zHqAi1t0WAs3fKFTIC+z>yB7V$4qHJH$44k*F%0#Z7?;(t&@W`UHfCt%fN2z45OggJ zhr$E|F|_Rb(mzY1mpb6v*VH+yYG%^KDQW*^DiMwrSDgJWOWRcwa(zhOBFhQ$+D-#| zz2TtdOxEH1w|yL07kGT+)`xQtZgy7`4v&Wk4DJyPE0QsJ(o91LESQpFr^X8305<#e z#bck<;{N!>ea(|Nf7}5X*qefEtg+x<^lL}Rqv|j95aSCURcDDI>y#qNe)$)6myuW= z>E&kJs_B7K=b3o_;SF><0(=c-M%AjojRzwX#*xh`KX(bRT$JnLv#XAxctzS#m*P&e zUxdx0VF*`sgu6Yi~ zjv2Mub2q+1>PiV4sv@LG$+j4=~+_Q*6jk>NnoqTAK^z9oXCnNFSPk`N@3IqjODf4T=wvd<)z)9nQul`7c`{S z2p&Q0!(c2P4EaX0=}5XM@^sb`Hl!f%3IsBTw7X_X)exMJr&n%_2$wG0=~V= z%OEG6w4Zdi>26z9pe@t}50^Detp6klN|I%%ZdaQ1Tr~>#SJIJsVwDs-E2Nx^&p5AV ztvl#4_?(jmwqk06mq{PL|FXg64|{OhDO&P^KNrfcbaB9P-q0R;T%+clz_C3wl*nl^~7VXq`G=}Qt#_4(~t`*I1 zMGX)V$VCpl9%k5J#t6aO0JaS?$t+ssS!yxQI6^{T*7XrnkE@7?q=3+ zO~A4}^*-Kp_yQx!On3kPRSGlXe+39*W@P^#1@#|KBl`aVgqaTR3FyBntdC}qI!k>nOxwx-NjB%`(^c$clH?{fDpF={skZd$Z zXA~x%u&=f{8OthjT;n~)!5$y_>)Yh=W=GqeI-*WRPBUaVT7kD%j!dJiYo+P%#4>D` zy;X5qycV%3!IL%fz)%0w>8Em=skSp+uF|;B`0glXl3dLGv|CgUWn$4yAVHgJrL(5r z0DmT=i0T}>X8mVg?bOFH^ zX5mTWRNxi{p82agcBr(|UEmphLH3fR@t0F^>o1;6>j-#Z`P-~u0pbtqT2L0$)HHuV z_5g1}EXao6t0vbU{cu<#TP*{h&xA@#OtcsAtHywnm!|T&FE+Ucv|K(dK@R!}BWr70 z)c|#Z_pbBge^%i7mPR!seHHxJBB5o>SgHYxgD?;Q91FBMNFOfJOYey;#N!l9E}1g= zELzh^jJUq-Neuo&GQEz^8gZbc=$06Ql4GGUwsX0gnivpO zaOIU;P|r~%fn2IiK}KwI_c#}J_#7kH+2d?Gh+kYJ+fI1`6eBG8f_p#`8X-QRPp4dP z_ebA}?&DJzseeX4@54Bf%Ez&*et$C7gB1&2O0-0h3%qGw#2h1D;NYp@hP{2W@a4#P zT;bb9v^VDpi|Djwguh3I-%w&RP0wrzXEd3SU-cF8u~^z6ZpqNeT#^`F>q4Y6eqSobt|%A*fg7mXq*R?)YRKFaV;+i@_P`crn=>;0>CrUk;w4F4MF~Yu0uVW3 zy}QSAV6&Qr{?{^3c|h><;#R^&-U@YZE}C0Zjw|Eg5Gv~4B)7@Qf*2->7zJiHTQNmZ zlVDv@ufo||)k|PZ(Jhb#k;&e8k7dCt$0^MNWT4)@sHXd%y^<1+Wg%N>?#f3;iF#S*xQFhAk4 zcBXW98384iSP~NG1h<2FFLLm z=j7kjS7{Sck!(ee>lt?T*sUpkCClH8N( z++MIkT4RwdE7taCKKUVIt2u$lp4ciF($QL5x(nCXr6=Vu(++~y&WQDH-kZ}8$}2^} z2ulqaJG2KVorX*$B&JaaoN8*2Ye<_Qb*VOpT~)?$R`S(lMcJt~=pj8s-)@lljnxz1ZD;&?bGl_hyO+`8OF)`&pCn&~j9Aax@}u$|RnIlzal~ z<-@Go*2>%S?J&D8{+hLW(ge6R2kCTz&SudbxEmXWvV&`6K7K{3;<49i&HnL3@bjK( zgFWY$Vne(>AKq4uPEIUyR2|-~QhYvMR;rS8dC(8c%ORV9gTRq2ceh6hYKARdxmb~W z%-SJ3^^)?NYbIXA+Tv4usi8EE>bai?mzC`ts*3;{iuX!2(Z``4y4il9hB5! zRRlygRSk)!rxO`t(9K+7zjEQ{AdTvuaYbG2rqS+TDF@UWutG51=_|PLrAsJjQ(aA~ zc9j%7$=YQJy4lHe<6R8}RKR$ME+XgGLeYE;@K9H|8sO`b@+-k=2iW{cKvI{^<*l4G>LHyt)5-z6NXv#4^bp^iO+TuW*z~mGw{8u&F(67aVO-W2RnbTcFW8`Ut z(i=%nJlOaS!%dAd=)QGT$E0nrb6M@)6K+_wEk@3yE#F_!v|ztaQcA3oT-5sXg?~ww zvWOr-U30^Q~dN*e0>Xua_gk(Bsl)WWw)!7rWg6mV-vseDZz2F%@ zSICyWr;@Yo>fH^K5+n2mP48Dc40f|XPR{vUwu@kuS>A&nqvB4CpRM>n2zii~Gn=@}2QffSA%ivs&SpQ>_RAR8`@4O;L4R(dks-a*B!AJDKIOB#{ z?hzkq<57$iQpL~CUj{gTi?Wf5|C&sAjz$m3jszybh0uNf9Ju0wPP6OfCv_*vZK*Ct?xB^kmuemF;CO|&7ALY7>1`&POOngwsFfm9%vVvrjX+hsbf57RHWhdnc>S z?O!jN!HbJ}m!uk3n_F!Bl1f|@-xi&03aUgm5u{z_%{+DLr`;J2m)VorRUg*~sfMvM zOZ$ohLY_jpijecII!1r&EmGvQx_kk-niioKUQm zxAfeFSl7fH@z_pjMINU>lwn}g#6eE|H60&8fQRL@Ji-?6_CWWnb*k~>NU*M3Ok&65 z6j<=aFY!_5y3RHgk;SYVmKC*)G>TiC9n$jw13U?Dikbi~HUf~$WQRlP0@dwR4b=O* zg8L1Q6~LgbC425iHb)M5WMbMPS-5B~8$`Jxyn8!YZGOhO{l;Tdlc;yie+#A3MOzIZ zLnE)w)NWTI`YJ!r?Mi#b3Nw?kWY=Be_~vldE!0*P0y(qn`c^Dkx71Mx@N(HS-uOVC zv>lWEsehs1J`DK!J|wk>_l>OeW@RS}OB1%xt0#c+%EUP~BI& zGE~8|zI;@I?n=5}suB;ojV?PeP>qyuQwn@oXB}J7gg>&)F57HbPzjVVDy0&tGYma~ ze0(lTe5{S3g+|;8z1xh9p><}#dsaPN4M4+0 zQnTQ>cgCCuWZaQj)brL!KVKABaw1N%sJ#pw)?eM%QY#=YWdB?Dr0hn9RnFWGUERw) zU#ow{=Kv^t9X{Ce{K0fm*_g$ zm%zWwh0yzR%A@NXk6J=P!(ZP1LOD?l=|1pQl67eO{>|)@;=9cF$u%&Y!^X)?*f;=e z@DiiL3vrGJX;buvJ!bbZt9ntV)C=@-fGKrF!cWL+tHNu|Wjv2&k)2FlXX*)*L!HCT z9G|b2T3V$G?frA0$H{hK=YLTdO#hvI!NkG(|7BJT{n!^IEyzF2ig$3)gdt!3ToFG` z!Jmz9j6*_;s;(c7(*BBTTqW@j@;}nl%&&K2fsS26gr|68v7@}4)$5nvSGKO zr`M9>!~TC=S+?(<#yCv|p5L!_7&JwCFTzt6*4G>Een_a_a&9jts6QlB2(w>K{NS|= zyqGsF_x#D|-Bo^*G-p3kBHaH@o(MK}bSr+UkykmsH!=S{x>NpBjZFQ2tC9R2_5c;m zs1!PoeV2j`hM7Q%y=U(aZ)Nt9s~8wzB`Uif8+y|3yZ>a@8Due5W&Y@6G1aL2G+GBh zY9`+Ps58WK_0r5aab^(bF&NcFrM&QG^C5!D%G#U?qbd04nVvWVx!G>4s!tDgc<<)D1CO{esfm7C!i@vY@knC05@P}v~y8`qFH zEE)uVg_c1keF}GtMUs0TY`GzJ@~l#_*>9}hWwGo!neII902jJ;ELW^32A9aLCx#ZJYx zRk3Z`wq3Dp+rDDkwr$&A*3;gN?`~~vtiLcf#vJG9y&rug*u2-OenB>v$M&839rhI< zO*x^%3yUmx@H_57Y(Sa?zM~myV{eY+x7dlzEOn@273xwfojw`>VW?{>5NU837bSeR znhO@W)5FL+fn|1HFIP*yo|-;=9P=vsFrJTH_1SUxuJ|N?Z%mE8jKkJ{%Iny$`ZW4Z zP=n5!xmy@6EdX(hEE=#y?B{0Bs{E$a-j{>S#A)C%j?X{eL2ko#nxBvqcT1%)E$Jf4-drUg zWl2lC=g4a>sO5s#mg(^Mr+bRC+5o~spU373cHO2f%_k0z741Wb3BH1 zGj1P>NliZsLBFbiYFAp-l=>>bd^`40Yg(XzMM#4_NfM@{4>@!XEr1=MIMb>bJ3`m> zJ(5@qZ05~s6fC5EM=FKJ>L`HV(oT;qNX*8%SsdO==*T?v=M{HClYEl;e zDrup`wK>4s7G@WmvI4*(Dax|FAOBJAOr47AAU#>FAJ6VaI++ywlZ~|>vQ|4H){+5p zujyMu^iyF@JW+0Q&1%Qmhfl<6z(O3RfleOT$xcl0@hV`}~c z5kse9<9A>y?x(e8%*?pW1ykvpy9T}OP^{vnj;S{f7I(W-HOk(ffhv?8aVbhl3cVc5 z0k$a*39JgOHd8dzi&eF@=xOR@e&sCqI!`1MIP~dkGS>MfhP7iVFM~6$j{Z3d@3n0;9cGc$o1?<10rS(!-bOLS2M64 zSG%iEXOPqRO6YD=Z|(GB#e^QqL`HyPPrM=?Owe?q0DkXWlCXp~5+6VAFC=?{l5QPW z>BwpuR0T8e-_&kAXv5`F*E7d$^>&Zg7V_P+cVm2xEx~`Pd2+B{kGi|*VyeDd-wDC0 zbxA6>p)It?!yJ3-&kNQNiLD!h z;0@c%NGINqBfkLXbE~Jn**Qv3_vuh-#!vfc7-(x9(EJ8}_MWVTIP2%nWpvijMAGVV zxDN`}a8x&{0M2BDcIG^nUULx*6+WlCUV`I6%3-%<39@RPSRrj4cQk~tJbO2iO4`X4 zAgtShB&UpJaBM$S+^)1!k?%B6GuzsC-(F=~htK;Pz06dX+FOa%qKg5t6>dP-riZi{ zhi4nLh@*-)OnUtE2haCexvl^bMV}Y>msxJ5%Q(F>X+H|+oa8&?I`m)yBD#izvdPGf zZ$*9dkV~zUhou%5Q^=DAZmNg-D((e)u5CQoJ*~;ceyNwA1}=nKRTuTvQ33tWD!T#$ zKA%%VkJL}5-aomBC77Vlelc4D&d^*khx<`IPK`<0;0G-Un8V{G^Msff4DWide1VBv zaJbqH=@`b82!$Bcs<*5smkKOa4>eY6-d(|59&M#Y&+W8H=K7d$>SgnH%FY@LWT zD_FfqKDZ|)hjH~HF$%L6Sm_Eei}K|ta@>M)+%mv9**?Lj(-lEa z;#EJ0b4T*@t-!uygaSv@Fa&!H+{N1x*7VSY255d6HW~Y~48<&&QxLFyGN%y|u-5z; zRgB_YXZyT15zxvZctf=M*qpYi6m58xUo;Rh{OtJ1F<0vk)W7Pw+`7-?S!iJXS-;s} zbJQD5EYI?M^cJIV{n+6^*x#;*R-TE2v+UW>FmxSDkL^Zvv-j+cUj`dH(&`h`Ib^o9 z6EI ztevVOd>uW6bxVMc-ZVlvztp&p`#Ot%epeqWI3pu@3l(+Wn}@g1uXq9lxB+}{A0K?I z@|e5c4`il;P~!h>iTO{b5_&qi{{e4Rsz^A@(II>{lifr7ZlJ8hWz57*0XA+1ZlT9k zPrm1ex81p_FAt_36H7-ZaYxfU_Eo+WXAyVj13hv^KUPH^yb)~$n99y{&oiCj zlm$0`c|R9y;@Nu&dpsQMy+6O1VHGkedvw7q)N1G(^b7lCXKuA&XY7oL`+7<}NZ+=z zq1ecrCeN}6J&*<gKM{u$}k8d1k$0|0}`p=YX+P8I2sL`R85nNycTpjo&o0p;dvJH1a# z#jKe>Fc_f!;+Y`0ucODtYG^V?N5T+sXwlDd58j>r3W4|9|^u}<ThFcaZg`9 z-vaYcv^_8sjmlY9w#jKDU4v9NQ=~&qWo%Jd98D)65DIgV<=7Gxg&$}h${ofkc(0*` zlUBJ@|8z{5o}uGprd>WOWe|%EV+uJ)6!(}S?00!lkD#{OMx1CC@RyZ1h)~thcAXx- zYyFEZbJT*HTV+f4UXWuDp2)FOdx1Hmvd!$%5;AOyi@iYd#pmHQmTYbYCRcY>g5F_B3AMMM1Y6*L}kOBn~LVmHutmY zsj={A6YvCd6otwCK)dmV{-(>Cu7evXKB+y~#7Ibdp}8k|BCi>VQ<@1r%G0FH{<7ZR zb+6uc5gBM4cT(oj$2P zC?pm);*h6KOxU@xuHl{=_EKU#L1N5*|a@?)jW{u1hEKN(}C}z?&30hYqt%{JUhK z-c_V()anyl)>y_iG}U^gSkh2;X4#aA^piuopL?=Ht$IOvgUN- z)SIVkUI&O79nK{wTe%o><<3jPzUo!9fnw2^c!GC9*Yo)p_0NH$a)hv7E^9#sLsWvv zp{nhG!APU0));dmOc2^Tm-nGvRyJEk)|tW!x07;5?VpW|;^*HtbN$vcWA6|np*;ry zd>-ppdvymdX7=o3)9sS`PZ>-cwGoFxJq#MOg#~wSPr-lAdtiO#c4NW4c=gp*2`wP? z)d1afThW?#731Txh!2N1s&C@~K;L}H`)LQ*fvRqo})x~dQ~TLl-^X&u*%r_JS%%}*6gnt zau_eZ9t$>0@?M?|ff43W>ih~EU{+97?Zv0zYxI`tnraYM2rN=wCRFOAZC*pp4C2y$d6DXCog!p;g8z#uqCnAEelqXd7+fNLfn^ z@ln-MKqvjCSojlp5h|lbrHe@6-;@~IUFRQgA^d9LJ@ZGLYtUU6srsw`-@U2H+>MddIvufgM+kj> zYz&2sN@X;8TJA|(8L!PV+3@Q`Uo_7ZJce|R)eZn!205jip16r^f@x zv8ydTs7^j>CP%RQ4jjM@hi{-p zXDBSqFyO0#y4Dhw3M;Jq;yr9FnX4`d?ojazm)J#5ObUkOz6KopTyQSj7xu1}E!zEW z)*I^KB~E)Taf@+AV2kBH{P-&tZ+rYRG%N1Zpt27ForU8jUv4qPeZrP(nj!Fm=g2BX z2MxOEk*cr!DuS)I;v}|>3nkgPoJ-G!GS51criH6PKChLg_do7+EiK@QL)$WY&e+Cr z5SPVxWSjNADvVv1gu(Q@(X5|VPfWu+Zx#U`8_zyK+1{`4_GeD zey&MO2KwuS9R0nz=;7>sZtQ-K)_vApJ0o42C4T^Jd^fd!=l8j@|Mj?qHxnBH6_G&SE{s0 zfTyAX-cgQ-y#U>^?C?rr9SJnGoI^;Y5$XW*M1A-QM^&Z3jI=g}r+oGOp!#M|6vxID z+w{jMc8JDKob|$^UJ*DattD0ylY+_>kFGJd2)ZcoK>ckN%pdWV6iQGx*&msT^O1YO zVQWP2pWHE`!E8sp1VXbUp-kq4C)kk}X0&6LNq){@8T;9o7_Fu8A7`5rOKemu`O?I% zn=+i;TxCD5z3UJ+fFOP!5$)4;0UDN%?&r8F9~^86r!WJ_L4?WzQ4`rucQxLh+EM3a z;M=Wt$T4%)VK|#!UDkk^f=V$?R+HTD5aNJLEgWKAR=L(Au^*iY*A*F$8>^EFi_ELG zmC5!>ST_6D!Zv>yw8#u3Ws_fc(S;e*CcG=>o%)2L>Jk zss^C1Xsd6GJ&~~P3ED%T!j8`<)ws@NotY4U{tc%Qg6zrpSsA%KCr|%_QoYJdi(b%P z065dgi^|Dw@lkC6W5MWGmm3PUwd4tUu+qr;0D6*&gw%73s4q3J9?c$?c48I4T%t0= zsY4km=9{!!B(eyF3?ucJ>-BSEOtc6H>;&cgc;zwktL#H{?|cRsfu=`89N1ys;}Ht< z6+11qstSOfwxK5dOg^XP@$(c(1F|&ps*pZB1T9{_+&=%*OcDVxS;QbTi$8P8$(cDn z0nD@zW5{S*I3pBOQG1(%VhI%yK}a&z!~yrOcuRQSpr1S!X;W(EZ6SY4LUGtm!0xOa zyIK?m<`kk!p+$k)#?;;;wGQlrhD*%M3^7^ZCQOj=EM~jM4neZgg1g&c<_Ce}G!xwC zA5^Tv8m0${n2hdxr5yNQ5(}t2Ph!T2+>B*3Z%XCcCqPCVBESNSvNe>|6TqOz6j)tQ z`eTY&&9?N_T;=<3*mOqG3L@p5jm@Zc>^s2e);n!9K+yRa`nTL!@b}|acFh=RI>&B> zXUf%e5Ke6_>+rdTq`zhn#?VGuSt%^j$+BWSWq!8#6C+_IRFjj+&lRW6x({nhVA^?E zE(gN>tRr0lxFu;5!O0B5SDFVV3*T}Oj+&u?%HI+NSe75ZlqpaXNH)&RMgwrxmiN?y zu9EBx5=CMxJar zv36BmUQUL8~0?d)TLZg%*|Ds3IWz%49J7+>bCN&F_%Jw>!6U7Ztb88H#Ri zE*kO#13AJun&ccTC%M2(3hq{W=0c@rjH*zUS6C4Al!UlV%^`!qqOr4No*{|$6!tq3 zNDEOfw?2SX0*a-r(2P+6sK!iaItEpF{KFJ%(i>RsRKuW7mWnQb%#(vYX!OSxy;QSwf0m z?|I?ip$$mq<2N#FJT2nhDX0;@(_$L9I4Y;FXa3@|rL*AqBgjJBYfx>-&d1Z;0^Zi<7EZ188vah`?C6k4%TQe zw6pa2_4uuNVBd|Km2PEvaAS<)8HNbN#71q=GjZi4w#pnOEqT7~@N%l|-~Y?MpONuD zv7i_k|HlaY&4P+2{D=Pj4+~1lf2vCUB&KXxsf9gNgCbaIDvI{8r)B>NiwGFW@M+vs zS*tBA>D3R7mkaX#_DCN!@@pIk`0LE*&EVy2>~?PI+ptr)NlRjck|zmIQS7ln?iWeCD@ICT%A3XoW>7D#!4`e}?+JcfNbPG>(FVheE?>j9Z}m3YD{x6QX-`9yzaf9G=M?<-r5y zrT^+|u|S+Rq-Q8X?zRuu}FYFEgRoR90yAq=8Yi1mrQslxik` zE5eOnI_L^QkbN|c{k31*l3lo_{Fof{K6`o#5uG-cZRHgUTiQyU>lfNut0VhA#qFr8 z)K{Np=s3omPmv~1zlLH1`Bz0)D*rEM{+=jJQHr$Gb=_iXET5bmTb$~bx7f;i%4)5y z`pWJ}>A2Qr(%JeaEW^0({)kz%#w^oOzjZ@#3GwB~UeUCkIW<%{hG7<@p14rGA6m?e zHK~Lx;V4B^^Cxdnpk7-k0y>uM#*@sAL%N`bSY2U(Tj)U9=_@7sB=TxEd7k*7G4ec- z$CkqhVXrUmxw|Z50Y30V4D_W)VuhmMb)xkwag#GG+!sztHPQ`?_F;_HASL!*A9J2P z29Q}!Wyc;_&W`5FBP~ZGB%0tZ`1W@EK`%|0s2y`>lzAUeF^+Inun<``aQH8V8DT8-ujb;J36^BODnsWbS(xUbdQqfX;rSFK) zm_^_1+;(DI2CTN&8l3v&z7J-5fKcx98~OG|C2GJ458Iwus^)DOy<~rtQ;1Hnk^P9m z+$tB)p~NPy77$^Ljm#13%Tx4Yi|;0=vT%bS&9wQKc0$tC3alhSi-i@CurJ+oD~49n zcA*nNla1~j%5{g4UoGAgraPeV50#Do7#s<}!@nJZZIO+p`MI-wVM@~#PZ3GYR1s-L z2#QZ!bj|B2l30j`a_P=yLsIFuAKIql@s#M8yj3|S4O~eY`S-dc!ed!^VjGjufc??H z5t)?lrfIx}I?TGXyJ*I2in~lkq#(3ZLU+GeIMkYW|1#18g);C!I*T_ZU=^{xlq~kV z(OOT;m(wXg*_$Zyc3-oar|h-HoyNKo z@VM2QBxT`T<~}5T4|~PooSXmnJF%~;5lyYrUJnx$^qW{#kCuRKCAYWzrhUCXSh;Dp3U{$9vciu9VjX~v zy2plw?pKCGyf|UwkOEf+%}WPX2neNoO{9EMF8eOIz{~O1z**l5nTPs;lq27xJpxtb z#0i3g4Fj!y-tM-4_h-t>UW+EVp>(0NA;OZOg)47XC?0^dCM3L$DQG$Y=y?RNB8w~Q zIy6e(VEqcz_V0=h(SY*S!wCLCU!a)A|5s2UtPTOoO^*qJyg4f|Y}N}|?%4e_R?a{0 zvJi4iN@Sm^?NBq`D?d8KI&t8agiMV_R<{am)>YN3!Y_-{xK<-id{0~32@Ys8h38fVd5IDIHbOqfy~NTwo&w`QMh;C{6H zrR){J+#K>!ooIo`V!GyR)A>_-KIQP?Bvh1!pgxlS7<81U4a1%3F|8pXTuw0>-nlk+Ez9oLEvhVCt#&5noI$VUqbg);bymNU2wq1$HjB}Q4O(ZdaV7Y zjklY=;R)nc_GJzURpV0VftXaudJ^3)vu9i7k4?5qh*x2;6Sd0R-;nlnmP%cf<(&J`zUF*mjQFYN>U@hdnd3($>qK zd=Lzq0KNJI8HU1DJxcrLP)3&9kvaAL32V01obmOZsr-OBKykxP4 zZ0*o=HpOO_ezt>=h$1ymjRRX|kWm~`3VEP1FBRXEz_7k6c#Au_YzKoz$c&3@lS+R>+b7GspHA|tw(1zi(7n5Fyj zjG$*>Wg+p-y$UedqIl#otC>pl-T%;aW+_B*=Cin`2@bK6)?GQ@l1`xYUR1IB9z@!8 zSe4RRj$QtBZ{U5MV<0hs^Bq$3fWjxn@TU~;a_oo*H*Si_1LP7X%nHlQL`$6_hxas+ z4R%M-T@&i2jglHCj@?hFB)c>h(Fy#nQa^e+w&L?^8rQM>uFnhFj)~W~e_ONu6GMic z@qbg{m8ug_|9844zXwqk`iKJR3kH$$+nl|uJl5lmbTETEDXhkmBYH5ost7=B3o>Ry z67v4dYcK4jlq2~9nrQjLYW|hy?Jmdb4Fs0s0C{?#jGNtUfwnNF&KnG#v^8naeb!0-P3iYiT0M~Z(BNCX zPg+1b*dt-}Dc@QUsT&}#;YbMqs1^sPkY+pmU;&Hu3)?*S8{(=F^M^h9QDMXVkzDQK z#uxn=q;88wcXA;f+Op=Lb<_^|x_k<2qOQ*}Ln%8kdy4BwxT|LDGz>GO)A7>Xwh1I2 zDrzaW(-ByAqaqj^1DHLQloT>#l{2LM)>M=Ra$%XHX_$?F6a&Dl*xw)C-?>mL#`<_M z>TPu{qv=UmK3=JZEQXf5NxpqT4MvyVA7&fR*zQd-3d^3F@1)K9!96DP)=G@0#BeNw@35$4iOq%hSUL4*w zFui#;7JgQ~D)yrr1}ivG`$;pSn2nzE2Mu6^&aPkPuoIe*1?rAJ9MPWRCLVt#0&#Yc zZ4t?o8a)iH)*9xjQ{A2{lu0y+hbQM0cyi2zicoW@2W>>o)jx7|@@51^Y)D^YUGBHF z4KAo)H7shzZ|Lau5(E#NA)h<6`3XW()wvdT@0$G_ zXPvl2H`F;ILG#X_-(3&z(9$yNP>+`(Hcx`0$$%eFkJF+skpPthPap}QcvU2cY3pb_ za5D%Vq$qVRAs9%98&T+J^3d;{P#}-#07Rt;&Jcvyx@G?2SWKKeBakvtO)rwqis1EO+8#bFeqC@$sG;ewF7||Cjz& zaM9n}A^M5cT!IWPi8??wkU>8#%>J5-MXreQtDi`J5c8_(#ZN=n%kP0Io2CsOjmd6!6zQ@990;xIXPM-oXl1bMt_%_f8xq6-lM__@L5|ad5RKU1n!N<8ggG& zeX<6MP~Y{2LJkavUciz?X}TkG40Y)4pjz!y56Xpkm}UEO!)KaVcF(F1M8Yz9p_C=x zDw!HeuJsMq;Pr%}#14wOC z)FsiFo`rlqgwa&`u9jY5bxx8SuZ^v0pUvewLp!nW8&o`sKc4$ot5M}W{$&a?{U-sH zf$o2&aEH2t4fg*NP?tjmJNyQ4p_#zkCC)Tv0$ePQ;;?5WzP!mp6UZ*cqJ?6XIT>eV z_lv&^6drC3X2N^_FZH@m=cVKArOM;A7`|v>Z|&yVvy%xZzZvVB+wv&v-kU=7sgNJU zZs;>1+4ky}aas2Jt_|L!s)Xl+H=c61aTwbp=-N5Oig}iLop0dhdcV6Kx?K~Pk*V~4 zxqEVcxmr@7u4E{G$}dArb|M?km5p3l#Iux>-iaQ8-klQ8rqOv4x--{F#v3!2*Zic! z?`JMLc>7MhrrV6^j3t--q~fT^!Jsc*+!l=t6H?+^>!YE~ZWNfNN;|hT`sr91p2T5s z;(Ju1+>VfD%1w=Y0sZG^s^yt-;eJzQ>Eqh_IJ~@M(4_gWymL871LQ!NEjatnl3VZT z>P>-#4dT`*$gcYrn(aqQZq?PTirHhH>i+U+O(#o_+E(R3OwHW6|G+pS|Xw znBaC&6LhtTej}_##g)8>M|+s}RMy?(oct&zEWbUGQ5m7NRWqNw2~lpX!B*M*6bBHm zrMYJ!DklK}jg^@{fRlU$Nh z!?TpXjAD1L`XZAlOi#3z(n~8BsiuHx>+CD38ech{%ndW)2LRp~^QxF4vt&OV%lHf< z%WEpW8|o%ND}0KBn2Z1U-11ob>8eVn>MY7Amh^~jnfZ1nX-d<>a;UF(%6g`TLkSf; zJ{oV}uUYL*4dWZ;FI}BbkbCUML^5NYO6n&r+}C!lsM?nG@)`Tmia}5YjQMZzfd|s+ zH^}LwaPNL5RF>)LhOki=&;RJ&M!3fM4 z`@gcngVW8Pn+U{z(N|dDId+Ztu}S(TLY|5LR!UP!0=1FBy~Et@VT9Cm<8)MNNgHsm zdmy1ba^ELz=ZQ54HWYeD8{_(IvejWbRp|K@kYJ*{X>3_AZs+{e`85WyG$$BA!UV4g zA0!lKL&&WH9Mh5jR3t8J@ryu3R2Z@>4i&Y6uG--fnSzvTRj_RB2T3BtX}lbV{5ui5 zT|#0pO3vAgPE&3goJQFl*{2jywD&@1Fz6Pc6T#Zg*ht>gac39^^n03E#9B>ma3x!B zrJ$u!Gg7rawpxi+Okw8p^h36KTP2Pb!lP2c1WZ2)Cb{>&*kyTx!)3T6rhfzYZvu;w z%MB^-VFlZlkq&XvNuGT0OX@w-?m7=~92d@(7g?re*KOURU`!y%)^J7$V0BobeoK&x z8gnB@qaLlPsx+a&H7RAGUAB-37dS6TW7yPLh-%Z@==o zdUHZPhm7TDx?n==VUX8Qm~zDxCe^d|q` zFGm=uO+^VQd&pF>{j8whHv5jUXF~f^!Rz_;fKqBkh)$khIgb zvBcQJGGC1RQo_)5vK_;R;?kfO9}sp@!t_iFr?Tfww5QK%;}L7ZmhN0)y@OMNOoGFV z1_?N6{6d$EXpXtB#r!LubQ2O~@ShvS2s zNtlWps_W87actGSuzR%%PLdSa)wM=IB42Fo7QN|m6zj;M)XQ2&Yqt%UlQ@T2u>mf_ z?67xA@>AY|%WOyM1|q0Z+@{>&-2e;9EyCPq=70>kVl!@E3olp0u)EJ}*dB|{)A6Hq zg{oY&z0mzm79Fax=@ro=G-4%fhDYx_7E2>fqry-dOQ4{FT+NZaPIKcyoN0%Z=6D#& z9|Zl~101`72+6?gC7{XYV6&AcCg0Rc`AIWS)pMDjzYXfx&XYOWqmOd@0s|sTeKNPd zTXh+U(l|#h!cm8A)Ex~A7$l1PUBwmo*+yll8p^Qj%#an#lmtZc+UHZsp( zReEb4E?)<*m&+vx*-;17K;-R%w6xhu0N1 zvntquMMi&H8S8-jVwiw4Cbp#F0&;QF08>n4dN#r5Aw}B!C>xF z=SOo<{fM`sv{O;;Jk(~y215i^?^8|~?}6zx#~q;6h`au4a}l!ZBFh;TYGW=f>qOge z%K9wP+FS_CSijL_sG4Y1^MrqC(|aHp+wdwX@*C9UsZ#U)&~0=ZLEh?<&hS217-aYm z;V|v$Gkf2fa3Afh3?-2O(y}vJS)@S0YG0~VGQzv@DSqG|8o;5$0b75|8f~}Y7QUdE z;4?GxnX@}a`vqFzVK4D78w4}Me>s%Wbg!H1=j z2XAtn9%_7UV1uo7>$$d&Z$4RHDc&B^w`K=Lygu2%UtU@gW{q-_4|(dw5|R-qWY^2B z9a6n!oe_}3OSS7_gFh8^9-Ur!$ba?S6Z#=2hRijMw94XrW`3r18mieMO)jGJi&9FU z&@YC=31J&cjjv`st2-(pgM5Kh?`*{+;A|;XP9P`HYoq(A7#3%eqCnHyzu^pT{OmIJ z95)EkmA&a`he`~`xf%_~xy5nQis5Aoq@$dM#04Yjw3Yj7>jtQmJ5M+|?aR*rR|NLR ztzeTw0Z~ujg_Z&`l)=pj`KdByZEmw?=096ioTp=CbOsyv+asUH?yvdAbL4gI62oOq za_aO1mCoUcM+^N3#Epn@Z;(jt9~0yOM%i{^x%y*CF+3sqgyJS~hXSK^d*fB1V(i6~ zDE4$H46Z^?rC}nHS~|K1>Qjz7o1d+}f!evDRT1GER8|$cOKiy&NigQHvst_EN<7iY zP6goD+||g4ZEnJO%qG=z$~)!$0Il(CIG2WLjjuS+r)@*ybdvj3Kss62q7tr%P$0LH zNb-0A{6R=r>>OulXto&@r(VrSJ(tLaTe_kA6vIh$9^5Uzg%c;yxzuQ==WCfB2<;cGokJjH79J1q z1S1U-AF8@%ZPxwu7*m^Gn=5Z_8G!R0*b~j8Zfz?uUuh!VSBC0l&6{SQ8AU%^$5!P4 z;7B1R9_38c@cXruIc1kK#U_EJ3)B!!kE^1b3Kg)QX;LqOjuD%Q*LVx+R|wz84YVZS z{VLX2=quixsgxY4tW9S#s-wUEF2B~{4AzP-Q4Sr{FeAAdWqc$zVY$RgEo4 zENv_|o}mdBn4=u5u(W6DQZ}z5Y$$sczTV#&gOw&7@mu_uV@CQ;rp0t4p#)ec-B-tK z^~XhkV5=Uo-0RKKgsj08K}lIwdzpidC6eBC4lnyf!f8kbr3Dji?qAYl_{$MGIJ8EC zxCBuC?A9Wh7H#P`a6dER8~yTKkE@zgM89twT~N$;>UUthc>R3S97t-2+brJDU+c0g z;T@N8t3RdM+z2~jT9%V?&qynxUI&SD3G>FcXVfFOI`8?!LsBLkv8ommqktI$3}Dq{ zpUOR*-2ljE&`CHc>X54dE2dlzH}fZv{MakFv{rn8eFjJ_PrQa1Q5g8?PH)9j(Nu=0 zR{72CMyvwPdQuH*ruEE~_$RoA*|*MfGb!`xs|e72EufYeRTtwaK&+Ju1+xdLuFj;< z6hqTQ&d;Z|wdTqfG`Q zxHoz`v3t8gtH;Q%ds^H3$$}T5z+xFa<-=nN3(Sjmv)2H4H09!{N4)y=`ML+p-%Sec zf#JaQqXvE*%}1t?I|;Ef(s!KjWN8}uJSi>;O7TebWS03Hc;b!tWnjhSaRRj1dnTYV`b#EHAT)wRStA6{KVUkJp5 zvHU_o7yduda;C=gH@aX6l}>@cG`981-YDGhsv@~m>}=n$!m1aSySF9}+jw%3CQoCi z$y^EU##8Su0Ub?@>$ifLV99qpzep4Bu_o(qpq64>3ubGQGj1=7i2#wYn8N7F*&WFv z*=GJUZFrx08Lq7@?6ZDAfWV^<$~&}*~j`69h=xM*VO ziS#pMROkn2-7HQ7$d7OXiiGx_fnn#lz=Axr;`AD7nx&$8Qu|7#>x-m;6bSxn!Qab% zF;D!oC?4IMAClbCl}+i!XznS>IcLAB>Fxup4&=MqvF0bs-rY;K+NsI~Y0mCc0hX&9 zixoX&g>wutV4Mis3$kD(cIzrAB&9U9JQ09H?7YgfJ`c)ngCBqEMX$@6F4jx-lS-k{ zrTyvLs6czt`5Y?Y{pl``P>3%NhW`l7BLfRZEKex+k`G?WEb*81q@22;O>@h-Z(X;$ zYb7x_jc)k;lrF^0miUTxQmCxnf+4Fu>(xyVN~|SxT;jsD1U&_Ur-lLH4mKyK?D#wF zK6PPtU$37LouBP_Y3eO=hbl<@A$=yt3)9%>#h$T$C^brv=jAtPWYSQ*-mpmR5p=Dq zZ%8Q$dhXqjkTpfEaKcv}i9Wp>ueh3B;=_Zv0iVv;jRisBye-t9>U-7w7q|drs?EO& zXcD?197InpClkdLYFl4x8$}S6J9Mve`>mfnO|Y2Tk9=y62gPP6x5?Z`cZrdob}mAc zkmr_**vPJGDy>w@v@Y_Dd;7b=vf-sCTCz?MJZ?EUzkU+geN2=P$Pkl$2f@6`eH@!b zJ4k0KW?B+dfmg>~MklT}b7_{TDI$f%*bIeL&>)`}-^ILT>AKvBNlg`4uJ^LlJq@J% zK}+?{TEy>I@t#mH6ADA&7(L5w#J_Tm;suE)k^!4IoUhvuVWWf-#H65J+o+jhz0q~h z`eX!ltW<6-+om=5uEh}OjsylYMQ{q#rP0_H8d7A;`x;;KipWiaEU-4@&IKGGr-!^bQjMT74@T4mCStO4q0rR`H9HukC=jM?mLW2TK| zObF}_$FzC-jB~~ny_g^@25RSuaqgc+zZ8cOo^pm;_C6!zyd!#g|Dyo{FIkAuG^9O$@tWi*9alys&< zWP-viSwrQMK85LzlpvZh2)-d_m^~H?;L2WWiENrA@C+5qiNLP2Xv7 zCWx1JvoLd8d9RuZPLzwq9^LmFJa+SHct2}#-Em4)2TSzn?@}VGbsOpIWW*&#tj@;m zWbK0TnRNt!o`lV)r+aCbaF9kb{!JXdmF1P^Q#xz)k;Q{zMV4qRe^_3JxT8q&=2gG9 zuu#ZOKd>nEL#%bFFvG{W-niOO4*#LDqfVIN1@&H9MBtKq)W>5NL=MwHV1+;R21(O| z0!JC+i`!~-8<&}cZL>h0ka$2PVz~Scl9o9Ih+tEl7q>@>hbjOO(NZj~rdb9-u3>+y4L}t{XWkZp(cikF74=N|| zpgNsbftG|9M_EQb{P)1=#NTJP zMJU&mW4rK3lXmjiRB4y7JgJl&Z6=RrT}tRP(tk=BY`IhS6AR_uS+%U?X#cqcQxCzjdd#7u{jo&EQBjE8_lE z>KW_Z-Aeo0cH|QaWBQ#`kxUj9xP$lWU55igfmT7RLrA>IOOV`V{5@AD{*RYkqr|5< za-dEdi^8r`PerIKVtm$-)wfoGv`>yNV{dje&q?sRx9YL$D_W0){plb&e&UrRA&l^E zgbegA6kBObia%yctMyS!Qcg{@hi$bf@h`<}1S<&>tO5j$$<>GOcXosRBx?O7vYri+ zhy9aCDn#bEg(v$ciNC|bti4qn?@K2)95b0p9ON{Q9rv^Lt)^$Ift>0rEEaAIXfGV< zFEE;WR_3vXpm$n(=cK~&#t@nG6H999036bchVNW$UCqz(N9#B-c})nxs?N9p-x49W z<216YHn(OwbVoI2Loz`PJFyM%Ito7`=7v_nfK!zv#KVRQa4^7HD_^X8dgT0lIdxcJ z1O&==%*(iXS2kdNw9IXp{i}lAP=!r4GnQ?5w(|Y?9n2nPV zM6gwum0!Zgj{@Jnl57-DxAiE&x&dg$PP$lDWlb1uRP9ydITr?WbH)+tEhZ%7|Jsy^92eTrKOU`Qf24!@j(6CpKV)#WW6CH|mz^pgwsc+kc8`;En2i7;bI<}6U!E&?YTTYvmb%a_x0s)1P zUIUoxHJB0F-#@T1@-Qd5gcZSudElU`N!Oyz2YoZKth<3a7%b}g*ozfv&X6UumXKqd zrqXI`h0Q>P+FMiJYEomhr}6f-d2g2&E^xLVEnUE4z&R$nkbqjTd5I=@vzvk9x{ovO z;{}gQ43` z#zz*N;7&4j$WGEGlJNJ67WzY!Z*>r&SlF*EOku+sTM^{iyGMCT@5tYaWW90;7LM#y zGne@y%g=-^!&PmWc z>rgjsCGmDp`Mif~H)zK@jEzBT@|d;x>u7I&x+#ykdTQMmC4w}Y1~1`nKZRWVe~g`D zkYwM!rpvZ%blJ9TXQ@kFwryKowr#shUAAr8p8DS#F>}w%nTYctW9NsA*pV3-D}HOQ z=Y5|`2j3Iy4}y__m`sae~z8r^w);J z-rKW^)M`Bh)w^WNl<+Cf)ykAs=gW4a)wj1#-7Z2kIr+rNhmp&(v`z0V&9%+$Fx!e zUb1-u81L#;FfB@eCErPu3tNbjF#DUj+>|n&s>ZU{1fnvL=Zr;SQKq`dG$&fcpBU7t zzLlJ}%*v9h;`AL9@2Sbp<2_wLvLAd{8#!eCXHS*pv-#E5TI!gjp9_lzJ#~JD-9yK5 zE@`!^ej#bC#lKP&)z`wB=Ga!|F|cpW4Y#l6#V&KuhX?mC0bO=z)y&A}*Y6CvDIgFP=-|z)#8JUJ z-#zH|6Hh^YU5-nJw*Ho-E-94Dp0$cjYH+ot;VD`ulyVW5haSoRD%a6}YSi0f1fOD8 zyXRxzS$1Y0Sv?vQ*MaC@IY0@5yIUf_SWEqEmIuml9hNc`F%aLDhuEuP_9^nMpvm+0 zn01EVN-#*)zWAl}G3QgueSq(oKvVw#9M_29ZSC^iG$?pG!i!!DCbPAP;#2v%1)=O) z(2iIn9-Ukek(hZ-OcS4a8<_}x)XQ+YVdNg+n5*jTgpgD(2Ys$*b{v=hrFg?fJ1FEH z>v-x{-4VXMlZj(WXgxMlhfoViCYb2Z)DXPR{zCwseSD2Re0`<4siiImxv2$HY)t#V zI7=2ToK9tSICY!DFIG3m*mRVuP(RlO09^4IQdH>0zOu%I0f}o7u`hmeqD)rA;vq2O zo;xZ_YaiTrs7dnF-jzPSBRoWG{0przP~&J%O5uSc0*Ee|O&EOO%@w2;X4NThClY4= z4jmYMbhQ`x;SnA(URraj$?LAN_@NPhs(jS(_KQ^kRl)p`lE%*j(IrzDcx96`$*1w* zqNuIW2?bLRAX%EUa`gCKb@BZhF_ux*S@wMBbDCJuvhXQj!i_$6bGrtfll@iV=;&Od z)HZSyjG}N1*U^Ah?TqoNdU2!%p%f@n?!yIWop2^8(doiJ6bs~0dnf^y&hYK9)V2;M z&XAZOS#G6hNs$34#BXO=cuB0{H)++?oEyI6S^!4Q77w$0zUvW4Po5S>t5Iu&U!P=2&A%9y3et`gVMMs92|7dZoW{lNI-{OI-Y(v5t&()JDQHdvdK*TrU}sS z2*20JnbMXDHP3cVv=}HF>j#a3+RF4gOK!eV-cjC> zGROW&&3X(|g4Fiv{a!#+(@zN0hDSvVs2Lrsp?FbRS|VbkZ^6O>3vpq|-GHM&YCJPo z7bAMqmDsfHP&?fdIv1wkN5H^ThlIjdx8)7n12(CdsYXRi0W$Zb7SaJwK27tT37(fV zI5((SGsNr>eEKEh1S%hRW!Sy`T9;P%xzbL7D%?9V!NE4*GDxudROC~77OH)9LmMYA@^ zd!ndAhm;QA=CbRtHnG4L9~%Hwso-f9my`5`I=fQDmmhPR+-T+a(+l}d@O-O2I*L* z!`~j|+(qHXg0|zMx#MO%PSc~gWsSuvO>z7^)@fLNpQGblyxY^We=^?UN~ru~3W1Cs zHgrRRmyi3>n~xwIW+lp`zc?2#z#llo(J&p+$=4%V|MHgws!t+rKjFt`)a>;A8$yYT`_2nNn``bBKIQ67*iKji7 z1L+)H27%=y(8_a^SkW&*T)k=Kn1QajxR%pBqL03~>q=zAz?h~CT8V@VZE>;D%UG|eU zHLBJ-;AlBrkBEyRS08bCp<_bIwQybg?ZCUl-k&^UAuG_+4;hW$qcwCUO=35^(%6=N z&mFMGq?$c5v?I&qUI<`DQO$ARPu^Tu&NZB!80g3j_^93;Q4W} z8tEYRSpOwW|MObl_CRpy-%W1+SuB>3>tCZW8XeX9?Em;7U;SqyP|6?~?U0FZi8d&{ z{g5u1-3=;WPdLpc@!Y&*v8<;VASSnjr9ba_l-@KR_T;>up>9-WIUV?wqGEarV|Bl7@BuUNLQ%cW7SSLG6EcEevYACbzwGr(ES} zDmK(g(Y_#b3a@{*e&qYKtNqi_ayIpGlfz)ElyATKMyfhKrtBiVLbY#tkE?D+pD0~03!@fDt14{Txe`zuLX1W zc$2!wUkq!DJh*D~lOiMuc2xDtURUhccbirG7yLlcYY0^boS0UJft9$cfhqF9Fb#@H zwWXibga7`h1F98x7EBHLbUR`j zSp6ijy!9M>@DW^-!31kC5xSRH!?wU51X$tsB{J410M=QJau#Woo#HMkX_ez|BHg(? zN_$z40Bt^=eI9s_-f|MdV=*r}Gt6L&RYuujvS6K8GTmVy2Xu_2<;6y}=d2eUu(AA@ zPq9mUr%O*@sFs0XM)V>7GqL5xtHaIij1MXKPWC+X=w#_XtVxH{P`?ueL%|kWL`da$ zxf^bufBKG+*m)qRynvRG~j$HZXdq^5(`Vh=?OO*aL>Jp$<0}h+5s#@FjApMo+&)i(;X5}Q0b#P z%%axk_3kD~V~gOjE(~k4$Crin_zQvkn+V=u%*=Ch;(B={Rdwv2o&@^lXyVq(dz;qe zA@qpemvfKU;D0nRS5o8TOxi^KSX4TjCTz2dqE*;w)?jsyKx6@@0lFg)uJq!Egylj@I7o+0?~tj=)sW{ZJKCOuolD`?eu4 zW|P~+-U#Ln+$SdrlCR4roYMwJ(Z;6^KV8Mz?XB&9TS)c1#vSgKZr5(}zH@qVG@3%R zschgF1%^suwI@!w7dQ4mNlYqg&da?9Z$relMh6g&(Z z+oBLkDULj-0yNQDEGzY4!g$MCVBA#$lqGTHoFJQNnAvqpD?XaKS+ljE`d9U!SL&{L zGIx)RrCr+gx1M>QyVeJi_ss?>#;dT5Px6cTh)nK)5LMP$^Bvw zz4LbcdNm6mzkggCOvF&VTC3A-$oX9!K}ARr0q#Q~-NQ^)GrH<>J9E6NZ~J22VU49s z_M1Ja3HO*jS7#})fP89~`I$|owgBrqXDocN&7iIpLWLbdV&^Z^&xynwgiB3tP&^s~ zznuO$lp*|z#oj9+@Ro@J`}>&#p9n>OW+bqq;}50?I25dpA<@Q-%%oAs6q327!4cgo z_zABv=rF~FBBFioUoWFLpQKY;@{5gFF2Fx<{YsbOPP;7xsTqZXqW0`RI*CW2pzEy( zoCY?6IAy~+kZ&xZJUglwf${2L-ob8%VUcD6Abr*#q%Fy2c!U!6;q_g5PgeAXnPdCb zs7xly%_dW!BGzbQM(R0V(OzYd+E!JoXpvK%?$mc(Ym_n^Ss^&(OJK+O?L9bkHbo)m;D?yFxN z_xZgvvIk(T@&l*@!DyL)o@-|f`#3NM;A!AyAUi2c8G9KqkCw!3#9sdC(Ick;X%lzq zM%uN=JXe`hSroTJNrYe60C2L8*#Fw8cLDK_u86UN0T1~hdP6T5J0JCrB@}lD*&b(5 zJzXc27Cog_gQVQJLNlSXc#4p`{Ejg|_!{NmK<5NZq)B?FY2uETLpP^j10RIi!<3z$ za>*Jzc>;}03W2o1*ep0WgV(%x47l2k!I&+-r~^GXpLA}z6J@jaTM&8!Bd!N8pL`iw z>&yq&rr5a$jKZJb5PqtP`73#)9*rai?XA^TFrEoi#&=kohD~1x z=V}_X{_kL(<>HH3$t z<><6bv>_m&C$8_@sbKa^vtNo8`*odm{FU8LAM*6}v?>&eGL~6mMKs|hoYm~62*b|r z1*eQBg_2wy8EPW7xYY!{OU(vtNvILr3oE&3NrC0c?GPiE7jI{zSqn1WV0eG=Vmmmi zVe6)7_Bw0!?AuD%%QFsBrdsOCpI8|8&X)p?1$ zr?qg|uVTZg2OlR(NSpG578!#o7a*~)@D#)WbQa#kZr#1KYlXRH{aH7R_A}>6+^JKq zbX4rbsh!S0T3+9}6bur6+YieqvvesPqM7wR8~tmro27EtaeO<^E=a+xgq7LA127}g zP#u}~<+rCpOb3hf1B{^BY|2#df-f4Pq`tNMNZX_{7Q2K0f{i_Lt?le546(lqezDN%ui z4*lP9P12fq6;%m~LYcy^prCd#KyJ~CF4ESbMrhhb$65y^-pP(y0v$9bIa6aE@&S*V zrS~oS4zoZiE^(fb<$JRUB)l}HF{Y4M&3h9*#i`UftP3`7PiUe3h1)S#Y{u*grdR2v zw-rr+?tk8JuAV05YRpCM?yF7PH6|L)JPLTUmHg8*FE(yy;@CAZrmI>6zO509Peh~9 z#U5>Anx7s!-0nkYeBBCI?t6g12EY)xnIW%bzOKxx1W!efiL^hz9jf{gl~}ZajR2r| z%C1wX?dR@K`V{$o+Sef#hS1}>^wC!aX#n!mPRADz9%*#RzZ*CHvlB3ue|>KK59vt8 z0ry{|<6=ZoDJYiH&tA*kmDNOSgksNPjvI)xfgW3BiR8l56C)2$qvCc|HI!J&Tcw28 zYC-HzQ1rO3Xl@@B0f7pI93kLi(ZXzncXvp6?V4=;FE3^YK7GjUOs2(4|K}|Dcf1$* zH++vNTR%_Wb60{3m9w#@0xv}7fKez}YvV4F1*9imzOP~*_sK`>i-oHm`U&4|n<}Rv zi|?vA{0edmaay$2i}y{FJve=JxcxKDE3yl&>+Yi1{^^gfbb#sXFhaHo_Nkxg94&W*(-xSIdN5;+lBJa0(zO`mNl;t^6JH zTrSk!6FW+Zq^Ds8O7a1v*uZ?F|A3DBlG(YE73#wVr`3Dr1?)aahI%H(gz#!45(QlL zAvkk`(Z_j9s|2|z*^Kv<`oA|l+v@&)gN`nL2ERc^TehNa(9uLC@`QE-Z}1<`k;3t} zN#LXUMZyw+wtUH-UnCF;X*K1km1Jt*&0S)1fJ=;8(2 z3@P+_MZi1>QO#8@Y#8{Oc(Ki9tt4lI1-PVQSv1Xt&`W3V;tzk+H7ovWEgPy{7Q=k60_xepb zVgN?2?riGxd)5_wHFFSL8tR{~l{=@miP+xkPcf`-aN;^u;1c61f`U66Aion5m3;|k zN{Ld`^8Ger9NV014Oc057Zmw*v@R~jbUGh~1(EZ^Wh|P}oE3cCE#PgzV?+*jM$;5D zT)aYWuLYx`zeZW#q)h^sY~wDC6|&phcfT*2Jkvv0Z_9Hlot@n*h;gpK`$r?~iF|Lt zRy``_=UV>WT*KK-wo|zkj~yxYEw>B-Zr(1Y99c;DusGTpXAR66)*^o*lnhqwyZSnm zKk1J0+E!9CQiWO5#6WHL479WuiL7g)AL8g~3|y^M)_QC|R-Y8NmV6EsFONrEwR^OC zMkltsUt-jHs&473r(WLdFJg6lS2$PY^>9NM5U6UJX+w^3`C;dgYCeFONk&I*q5vaX z4rW=1HoEYwZv8=Uw_VA51xh~r&X1;!=2*C$kF2r5#GT^$!u-N_F{IVjgT(uwvD}Aa z3SYnkCAiW5X0_#F|4+DbW+t|OIVJqw+{Kcz{nG{fia5|XHuXE7p9mPGCAf_kfrT%l zt2XrD&sK?*#)?S^&j=i7fGoF9(wKf%h3hN(iTTjiJsQwgPRYgDegEA3hl0l}fNoMw z0rR_qts*KXThCWuipA}{b9;EQfvLiU^B2fx%=5(}s#`26j)r+xHg76R&EOT?L}+7w zGJfr~{Oh8Vu+Ep;tI6vP)g1?oz{jhj_xsrxTZ#+&=v%g06u1GTE>kL zO5pR#@mkT5iy8OD*uAy#ukg7o?4Z(JX78-Z*!R7ula>>e9dHVKG&Aw>32IKmf}cv7 z)AoEtd-lt~4nZ0&ZuJMIS#9&#MvQeZLCd&3fYDhED@&Ft_F`tSZCo~ zX6Qh5rYOSNTs+9G#ks%cQm;x=!CDvMN;Bu-!ax(U`VlrUuJeyB)ekt(2sVU!5_RaU z`8IF&p$Uch@Kw(34XNSKF3Nt+T#4nY6;d_}OQvLU(G=N~ld6^=SW`A6~7#+7e3W6|AOA5+nAix}oi*i4q4)UF?XEvg$ zvKil*IP?-gM?_SzI!7vU;Id5*k69pU`up2A4%J+hox63LOc`E zy80Q9DW&SX033-iimpTQy6njrP+Y>F5=6I=upW$RNk#}%pC=tG|MgXcVCXb*zX{di&Gz#D_SG1Xg z3{-~@8*(T`_{oVVn z8LRL19qI1iz*$FC@B<_Wh?7Zb)#_UX0u; zhwCBvI0^Zh224KDz6w}6sD&BR9D&|aoP|8jTrS69Y3RrltoU7 ze5z-YP2~)u>39bv9XQJHAUp+U!vUsI9QAnB)ZkZ!WIH}j7aykJ<@6#O3*}#p%LHe2 zi_{t#8%yVktmMI-BA3b7Oi#BHr-G>y)PdamYAr_pQ^>7nmz)(?>tRU8X%Xk*~&smfw^+M60%fXM(Wg`V~eHFLkJwpZDMg<%6Hbegpg(G zm9RVxRfI9SEaVyPUR?5hK9-=}VdzuEGU8BB99)`6Y_O{C)&&n%{zChQvX#*jYNRK)Nu141qjl!q9o?n6{<2C4q#i|-%g zixuOoAmP{8Rp7XRjC5N@AiB%~ck7_BaC*$dC{PcPv~yUVQz3Q!V`dppdLc7BnV#C# zxH!<;yWL#XAid;}wkoEm%(?~8UP-hRNrU466LiF%3Wp~KL)-4l%=ne^8j$$rF}ktp zH~YoxSpl`gR80S{E^MG5ERgONB+}b^;v^gkh~R(0a5PVwUoBg=EqMMmw&t_Xsv0(v z@yG7Bz&BsEkYuCdFt;bj?w9g<=d|DqDtHlVp*W-PQ`7J>zK$kP%k(63G=X$eJ7phO z^H48!^6PjXdN+@8aDuJ^ge+`tOpc3*#)SVgFkJjT6d3pFM#O2CnjC(zO*+*aYRdV76PeLa zyoSQYJsNX(`MRFxXhou&AFBI;v5FM>f!dMgk9qX53z~E)&)JdP>+9*)W)A zZO{4BQp-=X?VE`VGq?UEW^B`CWn8Oq57ybkQa4Lx=!%~-gm}6Y8nW;g-W_gN4e@1h zq%IgS?VRW9SmX1<(p5$QTGkA^kP9q*#PGq>>N@H4?WSb48!J1Y80bpOJKi-&{@Ryk zbQ?b6pv`aX>PH-p7_l~hV;-Q=@)s&Ho(fdy%?CtEd)E~%2+<%GFr2M34iBaS(dF~) zadWIcB9SdoY|;Fdbj72LLQLg5#YGULN=m>P*r8~7jkcq_Fm+}X>8bPNXq>Y(Zs36Y z5NG!!eT}|4y@RF#QD^f&+nYW-3jlbqME!KPoa2!K5EkZpym6bvm?oU9q-iI^D~8N|&U9G!@mIGH%V-DI53D?8914Uni$y{n=r_l*qAz* z5wWl_{tG~Pk@+39A4VR&dO>q^qVL*Ru~;;IWQfWA3B0YfsUQQ6L9Cc2^wHbDh)`RxQQ91I zgIT?P#oOpC5pN(974mwKq~m$%!yvJP!Ab?GqLB3=mqod`-|M*j5KW~SkO?HiM31lZ z+0nm2j}9{)lVOv5^a~+^*00rJ_EM9?d@dJM`+mt>M!)fl?kZJC9ETM{>@T*?Bgx0c z?Q*p>7XOsNq{@a>FW=wfA#<+=QfTTk>GiO%ElueFT-QS)Y8hjJ+!x3~3e)8U^rALJ z(SlNhtmXzfH^F%H)&c^(dK=qQx~`Y`a-VzeTtpgx&rVBY5#ed(FM98z7(qJkL0o}h zPiF;to!V9X_->bV_1XA1!hmDkRIzOnh$ZF;z_wLvJbSLO)q=?6iPrT$+`Vg^}Lf{-qv< z5w1uGg07P0w0AR0RJ_MC+^COp>Or@nVBOH}=uY;-9fh-onmAi4RzR7Ki#|DVwvI|b z3h@IQ^i7dLEIRqrWZao{wyk`!k0#e}vhn%5u)iwhz~)`yhlI}5xletNmQu-* zz-XTiGh`$5v{(&Q;K>BdFI7!YQmaEj%K-772YAYXq&Jx~Wd2 znq-BV2jOg-+#^^GMaFp=CC7>}!)y_4o5uO@K1UFQUB*3qMFWMlqA`)xn6m6vKs4g% z8bwBYGZ~jxT+f36%P5sMSw%dbs2IPQw`Qy{H8iAqixfL26ctbgtE{@aIJ7u2k71T3 znm_ZY&wNo5FkjGV3L^iq_rq2Wy$hk9o}TVi_xqCT((45S1N~Rs+wtkq5vG9e-bmKx z+QzV#Uze>bp~F~8M@`SO?AO-Y%}FF-bL$>bM z&WQj+f5Vo5d;MF$R=2;DsZbhad(g@tL8ivx_2!M;7Qg!~PnfTVvwIbxF;Z^N_TiLo zx5wkb-~&g;l)#JA)54%{wQJ7D^L-5_;gzpfn>n0x>Gm zUW!jeU#<(aFheEl=i!4HA$puXYsIp(fcDb6W%@if2vIH!NG2%@^^jRveqjYYeS=q} zCk@MRVub;_63&iie}{-T{yBP|wxwo-1Ys>c51WA|rgSDwm#rgJfHM$o%4xe?_~X>L z#1K|QbxhX&tTfJ4&{`R-h#%%3Wb@eHhyXs$NAIK>Qd@rtTzgknPG1I zGrf>g|0?d$Qy%d0S9!Hk+b-3vmfO#@hX;kLE0>CLPuGrB`DH+!NjX|d{G;p`PVyh- z7wkUX`wroPtikK~Upw86wyZc%3=_Sp#+wOw@F5^SDF|m%4Bb>}+1py;px(^LaOEo= zD3TjkX1$ilwhX5inGMfHwGC7<2dOkO&b4_PGb~_W$X+vrqlH8SKrIt}SOgX(sTIip z7NcYy72ltE&#+92Mx!wwQl>-)mi+)-z+nD+&=66w2F zjVc3{qtgGduW+EgHO`s@#bSWT#bcEGwB`{7oGqd;x8G&|N~$g?!M3ql!%*TXC#;ox z30I#v`o0fdCX|Fh&!ME->?|kw&$OMP<_ok2oEO&TSr`}Uc|YgxUlDRnqpfZ+B+ask zhWtU3WqopZj`H%<20qxOd<$#X4P}K<`-4+{b7y9M$P%S|LE7K)Mne( zhDmHDz3$YMol%%HQ~7w+^^p*m>xmr$0%f&%kl(m_zGH6ChX#qX00TwIo57$W(;2;6Rx z#%IAXGOxmCyIJajaVG<tz-JNrX9+jC_!a9aD)c(FDv5pQmWSud<^>=Y zQOX;a{mMwbfYts>X-?P_1!t?*(6iH|_9Oak9~Z0gkV+mx+j^9~QNKJCGOYA{Jek7QRMvbykb=>^$7NUF`=i)+8%Z~y_ zUha<7;GO{>K`6ptK#zw0TY=^We1{pDGyDVKv5c$#*0*KKvp`m}t|VGXSaViX8P~f* zoTNZK?`;2|{AXiUddt0L4+WdK+b|fZ+D|KYW=(R$W#|fX?5?dokAl@}V6h2Lxa%E_ z?izxr{?lQg#bre7NNBA+C?iAx*&*f!9y-E0S=bmrTWjzGV8k0;O+N3ibklXy_{!*I z$L>iw)Jt%EL-aS57k{c&_!9FYq)L5HL>pw1(Uf}Vkt!Qmhci%KOo2<5Fn26SyQL*L zdNgg9lohYklkP)^)LmY>{K<$r{+yDEmK9aE!s@5)PHGK(p?^`D0ZTMESnaCCuV?gf z&nKB92}Iwt&>C0Mt}!D4vN@ut{&t%lRMf-qpE)k>Bz$2ZH6oI4DzbxjEKvqCW-lqp zF5lp!jz1@jTyZqT@L#7$NV)PE%d$>#Ig2Fe&Jgp_IE*UZo77hktS1i@(9soruW(Iiq-4cCoH^TrInGMlg4O@^J(;a$i^ zX<*>lu`V2}8E1;%(^OXP9fxu+qNokruwUdeF zQuh#Ap4L#n^KA`tpI@n=o7RZ2SHDEEJMgwzO^#yr3Bb}xojZcAJ-MWL^Hap6PTWDXF7D#Tdm1(;_zC@MYsAJSqD7w_dVz4cnUx*a6;7x9qvbAhzQ8^{R;`!Y^ zht*Ls&v)%i>s)f^#vv)T@ z#D6gvDmn!SK(~gTZK# zCVYp*BeTv&@wV$2NLs8VJEykVIGhhGS0AQ?{%n>uPFyc17y2r(NZ4s3(}Jd^@4a*} zbHuK3FCEB^Ne&?|ajCS40T@Eh<ZGTIOtsbO%h7W&8whLPWDhVKF= zW^rPR&ou5hsOS46GVq{{w+opJ4i`8+6yHzqqG?8iZ09~6t%V0j@-TF9U6<&#IOMj6 ze#7PG9qhILa6qi!pLlDPZ?oVcclVIubT3w>THNv&!2$^iV=qz*nkPrKCxpBb5~`y{ z#7*|EyrW4zy-C5kq;HyVdada=ZA{EAox5~^bwe8IOrTw!%R~b}Q8V#St?`Q+%DY#A z*>El7%gBDq34FIBNm6NPimXn>@-5)5j`T%0Dj&_#eS%Z=!zWy?!Uy18HcI54a87%* zPh!(X^^g_{mf^|6K714op6QlzE@bL*_HGrCY_n@O<84Hc0wba z#FRU?0fi86wW{~M)LTep zKhy(4y2KmeEqZP0iL{c6J^eQ`I$qVSM>~=j*8>n8*EP-&HG6>+CrTD>Wkz~wCyOfT#i2YG%_UGWS zy1cM??4kUQWD~6MhG^NQ9dRSdA-r$|BQq}vw-FBCuX2(kYy>IQz&;yd#glQ}G#Q9O zz;cKpL)t2g93K5Jj3hZ1YZFV^!@FSen9m>f_SSnSo4CuW4EsW*DTMJS#WfHMdxiZ_ z3nH>5uAIjdF2scHGbXMP`^eX1D5Zl$lEQ{kMyUM)JSt5%r^WidgJ_ulj{i3+3)6p8 zzQoMN`mdEA+7mYC?f*pS-a!gZ^_dw{#r&HEU0Wuqk4fwkI!<)gZC+o=$(4&)<$on8 zML1GqYqEdchZjnkym&K3hWP%H!ub4l6>%iT#|6k4RC4DA zX1yy|;m;Psr%n)?S=qErzvWNYjUeOh+`8BS4o?#;@6d8vHSfZJ@o7AQtHGEE5g8Ao z_)#fySQrp3BLuh;Iy1XX6A-SmtLAcK^;dlO&u#%ilw6?c4}P3D_gf&D^s=jZyuaQNbys zo+ldFJs%_Nu)@!lr@Pqo)^2T@WH0;^NtafaSPBY2V^eF!9tmDL9eq~oK+;>E4WvI;zx8kf{ooO7f9QbpRM z3MSv-5*%8Bw(cmEM0{IgDQm=&JAE^)Ld>rrNm9iAGWufZ@$ik$wUsJkxwE5@fFSZ> zg^s;re_86$9GgPuF`US-b|Q@G%UOCYBWwc6UPx-Vy+Oy_6IfXzs&{kw?Faf$a~VG@ z#9doA<9+)IHu*LWaNv#OxDlPEh4o162N8K-AN_NlJKo;W-ULTHnh}#4t+kdt^9?At zkR_ztIM5T{3Et)rbUE<*Hu%|M*>UE|7>i3$@rcM`UZ5P7B5(T#Lwwetw^shFTIT!- zd*^vH7jfH2P6sxmnz2HXS*0g9VMH9rGO^ZrniE`~5zp-!PZYpS7B_a=gycpRGX+|X zj`A65XpKwiP(E!o`c#h~at{N)`M9=8hLxzdWxgXzqbx-2D`TYpodf-VVfbsAX_0)s z1rLihm<@p}0@M?CJrPw~tF1t05RfQrOF3j*voJFRgBgg?2%LOq!^b-wg+0MN;we-d z+?1E?QjBd2gkf(Q5Xz*4%|UXJC0vV{jOfq*_0G9voP_OsvEw=w@G(8&G^x@ zj%};KiMMQbM%v;^;7E(xP2rw4;Zk;LcIO$APloc#J0lNuaZ4e!jc3Z%(CFx*K`$J> zVpi`mjK#llA?7Ln*GtUW4;4whroXi3L`D*4hECRdNf@cLU)m+wt5dGhx*0%Q07`AT zwq(!!(#n276a2htzxqlD9ZPZF!^JD^dP_L2o#3FBMV<9Ws<&y`_dEu04~AgR%Ix5r zlFLdj!1nyDjBZ0KpxCT@R7FQ{h(b@Jk-FvDzn6JJB5iZvOCb;L(@|9*WMSyWB=%7S z-LTM2hO=*{{FPmgDKV^}%``%8KEclTLWwke|vj*UdD+ZRTnbIdh?x5grLG zUF6kVNu9#O=yhj6^(W%DcT(`w?Ua?RRRuNCP*w-nFde8o9h3^lY;(CA8MDSzv8ZBj z@o?((gYVMRTs*pvxc*hPs6%>(T0RB$no(#Sp>{vcg@GnFPM`xI9bSO67C6?gRp&L6 zvBX1HtC>*(pcUEs=CbL=UQoNT?Uf4twx}#92S36x=u+4wdD)P2}f#a|=X!f+YXurf;G*Na{+w z_qjqM9N$-lu6D&(TX6Q_TL16c+D`kKO1&!U#B3TQ0N5PIpiIRrX!7;r&J0hz!gR%` z&D5QI$fT|V_WI01H=oYuWZYQ|=$MokH7#p&r3Dvw)uw1u+t1|V=z>k@1t5Kea-$wDX=Aw%(pdpkv2 zag7#?WFCI+28T)HFk`zANdC6W&O(>PKB}dTSadw6pQPDGCogiPuUv>W%rPFKGmhpo z#=>Hat;7B)C8G0@5uIs@6H%j4oX@+`PBbBz1<8_-t5W;QCKmNj<<$u_c^iq6B=P}e+2)f*ec0%t?NrlOvj%(>o-81yiO`tnmUTS zi$Y)%e#P!~;ymxaOK00cH?TmUFAPewCzkqhvQ4s|`4$S=Cb7Usbr2Auq>Xj%iA-`< zTEV^Vb|Vrjsn;D9g2rb;OK!S~o35`xxUqR!Y3RMMGt^qed~Qp=6N_x`wwZyfSsdpT zaVE_a#DoP_!1Oz34FcAYj=L0RFpFzCC%VcnJjPy4g~%81A1&|aG! zs)=;U7-jhAc^Uhu-yilKltbbb()Hs~FKhi9j|1`&aVnAU;1hZ*Yn@9`2t_i?I}_GG zATA;$iY`jarqSY+uS3HDP6xNkl$M3eka--vGS&0<7PD$rraMM>cz(H`?BbX5>cf26 zxoG`(c`#4nBGVsbpO;-D;SzCxampEElCkrz9sr(oR*UrNu^R30b{5D~sA|_27Jg`I zyP{9AK-^lFcOWLFvk`9@u#8+W3l&rB6JY(N}Ls3wms%! zLIUWa%7;6SjaWs38JO8}iqSzG_qCOYY?T|%zepc5`q{O5}&G@db19Had`f!oYGCzOK@8$u6Hh@W^Grse0i1LP*uyW(b zGUAt%`iPNy6A%VrwOEj))mVZ%)rlt^pJbHkdYd5c05Wmh)7K=1upBCS!EEy1?v7qMLU;BYl>v(Qu1-~0~U@JCzB zJY&3<-h6`K!Q484wig^o?}i9pQKkH9!OrB8xSSw`3cGJr6VmnvI~6c>_fp8ci^fF_ zt&Ci30^o?E3UnZwfG1EqZQj%9s^t+CLCYD&K*I=pG7uBsfoWDzIbEx$zH+f%E zpFT5S&|~=8SE&S#>%m;6%&iIjzn;a&tV5`~%5hpGTD!Ti^V&OYr-_Q~adezNZWE(? zniP)v8nWm;bp3$T2ho*_2(Gy#1})< zZLrsh9ao>zRPV>sVsdoPoase5mPWC>j98M~kR&QsJjSNeY2AMf{>agIihsG-j12$Z z^uhnX&BVye#Q1;T>>sX*BM}>1_c6sA=wAZBFPCJ=u*EFvV>*w| z8*qF9*YyOk?2LG=Gg3gH4+wueuU8|6DA}LrI{eS&@yF*wJh}1K+)2aVn%P=8Tl4#g z^-!Nba&TP3>gM!5;U^INZc7M$Y6vQE4(%S6r8;5OogqU$9+Ym6*eya{0G zTq+%%udQTLn;sfJYN+Ku9~xP|RJ2pK(awp!U$*bI54~`psY%J{FMd+d?U{d{MR9`M zdvlmPp0-FGwKGFy)=G4QJV3ra59W;P%RD7nwU$Tx$@Nr0xF#mmzH>gP<&=rHeY*LT z=u}loAX*7v9-h|aT%AK1SnoM?*9nLwAIj^pZWOMu~pI`I5}RWWE= zyqzMQ_cZ!DkqmD(`>2#Qz+1)7>y&)9WP=Q2QsbeM{dd=*scswkyq=NH7Z&u@krxdA zDKx}b=mAW)rOi~_nT!Jo7CWE~(Ucg<1hwsr&2#Dc?a&Q3j}u*^-#y#s*!`wfiw08A zwj`Pj(4$WqKkBRR4|b(u;s0P)2r&ZGB9$G$G}Sah6VNW2gBt&!i~6gw0e5iBAPztl z2=qG4@Nd^v<;%Hxn#Q;^OYs_R|51_tNdA$ElcFMA5o4if`#c=}za1Tf&4fyr7bc(G zV28PL9^A}?NrhDco3RrDxQkXXDa@|7RG-=@)yY;dI7}FHLFErW+QS|Lr3}1U$_uU? zR{JVeiLLO^u;!UpvI+i2D_)Hoc9ir~At{vmo4vKRFB#{iJ9h=s zjn=JEbfl|(*Wp!ZIHlwsM4I~n5Le4|hh`_+x#GX-XF-*ZY4v0w`l{2E{$N*NV%@!(Lgf%zibo(Cyn0u&!-8RW-88|r@Y?cksY#UDTEQNRazV#B_YLk)qMm!j8iS zsl^d|x(JGZYO1Gv z*>#B`d<}anFKtuzLpOc0g$V&3?SM|KR zH{1PQaY${ISuiAdHAREX=2K$*tp3n=9ZQbUgCQ^Vfen)na?CPtA|hm_+fQ8qG5r!4RWP0GQgE_ zn($T!N31*{|Qy&=0$V?(Sd zdpopKsG3>TUZfI0WOk#~bX#l@i@bo+~QEuJOk8 zZ@i07_@;+bi3I4gUcS~aC#@+67an6n??a$kb~r-eCkCY~FrZ;fKOo#TJxvGn3^2#G zOSBBE=uA4gBzf|Q+6knN$2Ez~5HiB$WfJX6;{S!C#OIA(FZ{`-8;WSalV$HUqkIY8 zD%UrmQ8J~H_Yue&D+ay}mfLViyYJg3+&(xApeH%>EG4n42%+Srm?DaSPQA8=h;Q6p z--fIun3;VlAdnEtLowz zYeKySkAfaE0Fq)JD_n7qf55!tbZ~-<iH=f&SlqFqUZC|ZO`Ms}>ykSr*5v6$S z-chnUkR~fPBwVo2E%1Bk!?=z6lq56GRSjhI z{#2W?6NtCOCWfYJB1Uj^IY6ZR6w^BP@B>-_c9;ou4rvX8>`R0Cbol|T6eqB)nkKp?Buc;(g!92o?WdLKcV>rF{N#&}o-kT1BEBFVtvYnoNKebp~ zgPt5_W8DZeZu-ue?X6JXZA%%2txJ;G*c(ACXFFQAbpx)23W|^R**^b^=(3Xs=~cW^ z%*0@Bf=Mx+HZ~nI(LVu;>J_)f%CA07ZjBfi(bmCoJ(1ItvA+d8wm!Qc{~#?+SG;bl zV^a19wGtmu*P0y^rQDz~&+&%~U0}DcW161xer1}O%ggCo;jFGSi(8Qf1F|BP`%YR- z<^bz=5!T<#oc>Rvp$M|#j(BUY(?5tGzvC%{vfkmeEzO4h9N>+8;yr`T7q*d#d0@Wy zV$oRPflnu=&7ML8R(Y0i;qUL7&IU_FQN1<@HPis-K zHx)+`zc3sNzuJjTALFNwc(Z=zJG@7S7IkMDVT zTW*O7S7C8IlAr*N4O~nZ0~Nup%5awyYgpHL60$J{SKSfB0`3?DFSBM zc*JA_5|qNA1*aQMt*YQ6s2Tt~EDneSxyW*J`hXNwdIRQyZ#PcfUcgASWIcZ8jkm?m z-ce6=XL64J>>e+l!aWk(D+TpS`T8FeuyEtmqu$%crVJ`#01>a9Uc1DzZFb1&Z#)$c z+$t&45%bwrPE0Fv=vfcwwqU{*fTvy?#Nyz#;#o}76VBtaCgp^c>#1X$GV?YH8%wZ; z6Iw~l>ZOWS7qI)5g^j`%z4DD>@X~sJQBA5rR}y^nT&=o(X^XWY6Dqp$EeB0BajU{V ziaV3)gmoMK!=?DE*xRe35$#kwb-sA&eM)oAi7g$yc!)=qcq-pMhX+AvLn)`@8JCr9 zIeiPNF2x%dpiQb0weQ3fkDj~lc_!M4AdjlIRIIL2SlQwoDM5A11xSlcQM zO%askXn}jPjqk@I+ZHL5mOqJt@}wAawXan@Wl$oC za}ZW@bx}K`y`xd+G&kwc{WXr@yC9rhTlQxH8Y;QJ*`>S2(kuJ7Tl!xu12eMx2YSRL zPDU1(0Vd=*s~;^*pR6S@zJfXqAVSB$H5?R2n9X_C*3(D#2tMD^aMfY2(+)RVBK#Ke zFno|X=foiIos1xUCUf>CdS8~AxODg2XBZpDfuGz-QU#_fsh(~`wc{ivW+z4blDlNn z6V1c=xJ_n-8{yr>akPOv>5ZXtW}p7n!QRtnYi#^BMUeya`MV5CW56g>47AyE5i$m$ z9FTB`M62>!ICCw23RzL_gfm@U@bpyp%w+Rp2J6x+MLa<$X^~++Zak2|i-Bk)-&F?J zX5bo=yvd}@O4~AByf|L-{IG4BKAWu{3)pZ%K;Q@poYi7t?3lB$=N2xJa!(PR{wtg)v!zq4{ zR^hccqqWD58?kA$+PY%Gm@dc12F8UahOU`?=JWly(?<{Jp6OP~WTlbU9%az#{Pg^C z{2z2S>W{?;WH7v#IqX+7Ydb1Il&#pgYXb%{n3UldI4V>Fb%pfc1D zB?3eaRtj#7zMLnx8Kkq1IbNl#UCyD3x^b_X;j%KB!phk`S-us0E8IEh)L4TqB|j05 z^1c=vC;``H>h}yS9_xtkZ>RcSO`I^Y{RgMZM4>|#gaPK_73#b9pHr=JmJ9$9cLrZ4 zfMWm4qV2%^!J8=4;4j;el6`AL3im%hPLkN%Q~QF33^k#3msc||vr^1-` z?A~)omzk(?30bN23`VJrsk5%L6oToLJo*DJu#`=nMGMdBs>O=QnuCf1R$GeofbY5) zSPyGt>X}te%`7Ys=(R)ZD0HkRK8}%K~Kk{C_&`4?w08{(c#^?z8DFO#jepWziy#wkNxy)@Ag1@F5fMi~q`2aSX@HC;$NZ z0`$ddeyL9soaSl(&G>a``{{k%HGI6<=N;&l9~_st9zy?(bp`Yw0|^HD3>N z{p|F<-_Ko>R15EXu`5WLV}dylEl)Zg(K5kHPlGJ{AKLB~i?4Mo=6=|BqErN?}~lThPk7R3$~Z$*aqRY@<jM&i!D+WFZ2lWjDrA)jc{ktNTxT35iFvb~w z$(&90IUo)DE29F3lx_J5d#Z0)xSq!^+FzK?Ur(yhS8@%zhi-Gs7PEFXmPt|ZUzq1} z+i3v|tt!Fd9r)x}BX!O;5C|0wnci3z!NJk&cq;UbfBNJ$*=&dVcYXD1t-Xu4&o>@( zY`|E36Xry6d#4e15=PbyYMSr^FFpPTUQ37-pe9T554<)#EP?QBOo-o=;ddUDZRpui z?`~j!vIeK$w)xKWaz(xz>n76=yfy@P#TEt0uNvUb^*=}zVUmHy+Z>!;(KhyipN2c; z+0m2E07G=x*VXTl;4(+nWFf}5P-ZQn!;5AcliJEamxS!N#GqSBf6C)!o@zAg;+@r! z!0uxc@JiFfDj!|zB8xgMp(z1%gRiv#L#+AjrHB(1`^Krz{@~th7}eCVm*lVNn&b{%y$oI!jRou%k!~+)xkYSp6})WVV(XEBO=wsrc|-x)-mr3Z^6SMc z&b)J5LU;Dkp;fVUN9QWw3qZ(UswmI+t*~QqK{Q~+K_l5V8eVu(=n7t53Qe7C)O@hI z90`SeR3`iSho&ELL2ftX2kv|zo%hx(^s7cebu|Y;w8M`Zly~aWdSTTEils+w9smFXsW47>Iwy|Ldp}9 z7*oQ;e4tIOJzl&_+3bE|ERtWNjm!+?RlOlmN%=hMf~QX3|Ew3XZ#ZnRX6_K1e3+^E zVmqTn&R}wCm;d)}SrhA(h{o=IRFAUU z^gi-@KlNIz-Iqdj=krjgZQqsKnM={f2wLset#{afdvN?1TDbl^6lZ&|U{o~0#4(sw z>nI~>UoRLkWFQ3VKhsLQ8VmR5qv}8nE^mbuO3yS0#3Ib5MsBHz27W)D?T}-~(zYT$ z9ieS0&PEP=%Gf1Ib7yJlg_6Lk(T8v#Ilco>gEKxzlh{jN8c;3S{V0ti6$q0!g)$T! z%c4VRJs`KkNl!NQf#NJp0`38M%f)9zbv;XQg^tk%1jA38!$viZvXvej@vQWWzHjoC@5AKJ%+t1#|3^9q{%uqkRto^{OMKUM=G{ zvs6y2Dnji?e3Ym!FAXP7iN%6U1J2ME6ZiRwM7h>XF@2GYKkENWuvG;kaFqu{GHvFA zl3x^Ny*(em07k)~B2k7B@Q7=c%&G1@1P+2y#F)_9RPu5D$5Ao#5Z?{J?`I>~o|{`z zr*(ni=Aa>(DweP)rx2d175|9oRs01zDQMFF<|M*NXlrkBqJCwrP#Ph;bAFo_>`g@^Hu(W znb3h6WqASWHp_Dtt>br$F`DsQ%Hb`fl<943BZu|bWT21o_WVd6L;Y(^U-eoH*UwPv z`pzWpp4Tbq^|q;$T7<1cUtNjbKI1nigbm=lTNoN5x){aP{ygyXS+0Kapze`L2>#Su zTbs%9)6OwrzImcoaD7o%DZ3mDr02wYAB1bThfT8LAgR`(FNUdtxm_RHJ z#EFr6t-kVK4Y>)kEpJ{5#md|tpk?qCoQITFKL)O0jbDtqWTJ1&fScbVgomygr}W0l zgd>h6sGKz%`{7;0LC(ixwYc*dU`K?-gX=&C(4I6m9-gyx*bzJ{hn-T9jAuK`OtK8FdhSYV z*fBRJDb-VrT4{JkFy=;ITYT1>6P1ze5YBfo)PaHhBTtE|h8%1)9k?TMtk~e|72Aj& z0V|Pr`?=4_+Qbjn8F@0fH}Ab~k>k<^hsUx|bCb1IBfzB5Cs($+LR}X(xmY$jVbWmd zZvj_N3DOemKwYs0z+5Q5TY=$0ajO}2uEk>+wRFb$Z{(tJqrxGUJmTp)&s@2_v&xVS zrycQro;e%#&^xm}m*7hzm*1DlFeH#6ACiHWVnjYf+>UqZ=?$^jiLjKbRj0(8z)ATx zvjbt+*%`*9qmsVIOr&MmW}$+@YwQAJNWgiwimsX|Tt?%X<@9byV5g6H1}QWeQ*YPj{lHw)&C2#{a={v ze*?2U^*w0VDf?fV?f=qj{}0WUAO)}0@c#5CVaYFACFx)OkXZh^{yh^T(|no>^x z^zW~0PxyA=wvE-=oL4HOE1ptxwp*U`N0+n{1};ea_y8c{@E_|;D9SN36xpz1;o*Vu zQt+a5U_Kh9TyM6i!?siXx~chm8vg;>?%z2EugkGk@zT)QefzKuk+@&(qWr$~H6zl# z$LL0LkL@5!MbxgZ8(Z5{a{SU*>VF5kHuEN2BHJL9yX!E4GkNYw^`qhIiSss<8SnA4 z!2ACGR36j+$e1Iy1ZY7B7s0pObrSF3@5gZWK>no*?i>5k#w239or*Vp*4pqPfS=TC zJ$@}EF4Fzc@?rMcJhq3Lsb&URZ@#3h{yP%15g<5@M?2;nCjg265~4M5e>#P@8A9o= zRhupwK)VGZl#)CfvFQ(pP1r5g6OWRm2+?PdaHo0ULEDJpW;rz64?3S)59tq2KTeg9 ztz4ypKTut(>I~_s08bJYUna&R5+!bN?#SORenklv^%t+XI(n`EyM2~n%a5C}=foMn zSZ27|PB#edNN~R%Hi5@xqcv5fm*<}!O6qKUx8UQye9n0v#F=R$@jlvFpf9{! zkz)ULqO4HTI))lOZU8!=*Eg7IwZc@fyJ6n)N%O@4RH)}{2ZVCu+>a}&>N+lsPRz6)=>47T5(7C;=i$Ib;K<-ML#@$y%0nT3_+aMWHqCVqhAl_udqyi z=|8oOYK&!=Qd8hW@kyYLzwAwiW!^mOT(NG3l|EZc-d1H9r4?iaT*?}JdSd0m(r4e& zhrK73MzAozJ8#=Uy+f?Gb3uBcoMDCa{P8Ozi8_8)?#3Q^zakg#qxdMNemQepPz*@< ztQ7~%;7u`C)>-Z5h^NASBbC9rxpg3Lx6BL+X$xb%ocp^!ME}fMy(Gt6_BKJe0B?yl z@jMROk)3H1w2K)<8BE+&gf)OXmy*rk!Jnqt`o=#0`2jbXZ1!Z8QkuA1x*c}*GNF_f z`I&yjzvoq>OuqyvM?np2bd~{2P;gl~uBtNxi~F?5nT3=Z)Ih~LIES8eTQHCvCuK6} zO3JnqJc&EJ8Iajtz-&4hOcH^(=(@{+yAiHDIP1_~f)duw3A2!#3t8R+6~QXUm#nq~aUblf$$tAT%4Isu96biID`K7(;JmBp3yn>n zt7FuK`CH=cnc|Hwxws2tL16@48E3Xy6AV_8Ojyhru0qk>uPKVSXOH|yx-Q(vcTA*T zxPr2z1yF(djz!@uo4`YDh`aET#N{&C=x@QVs3%M?rdRrNS=uYy<1VT)&6jJcnxcH4F7p~?{| zDH=|vmSA!I(_h&*_!q|X^W$SEIT7(li%SjB71Hy0q7a~)jGvV0%M;#Rpf?b7iMH7jvM zl0w_jZbf(zCcb*K2>ag11&6&*8LaVDDZ%3han%6T@*rWXLe2B5u^DU=z=}|Z6DgHp zzGcfuyzTom_x*C`ySbTWsD;efs|c!I%(wf@)i)1-J*S|WTa7gd8A z-2*r+o#9s(sGJ0QaRbfE1venaJtD69PN}$HhRNXPC|NlExw65qKVSk8WLs6yJH+|8 zRv9f%2-B@&s!`3c2GSL`fP#oC7)SeC0h!C zyu#u=NZ1AEqLUVk;?Lh2^FH-L4QHEkpxVjQm4^ zsw(#q;H$FJ?JYISlM0Mt>72i#3r_%L2xv$%tzwqYZzny^zrJlA~Id2f%ruijdQHNmFD1@yrk97=rTR`WR+m2St4o-xY>=qng9-8Y&7*9sE{V3XybiRK ze7+e~{3K|yhC_rXV#34k(HckCtCYm$DngR9F_Dt=KTf8!9yn}N`6(6TjCdlwF{%=p7x>&=-J`4^-()!u zqajDQ4h0@lWfgnl2nL@%l*xiF`s;d3A2Ow|=58*)JkjSMBZ8Ou{ic6A1a_bSgRlK= z89@HaCuiN`m_~S2bDD))a?+?PL1?7Hw?d`M)AzRsutO*~a`HS#4laU8mN|E zRWthVRe4w!qvi&FTM?pSl;&+1y607Jm&{=@OSfmlX0P34BK>^L zAh6$u4Zd2wzPh|Vs!@uB9If0v1Lr{v{V#{FkJDrn&0#%A9~u%REgyGThl%}kJ>P4g-`<;&7R3l# zu?3p?=l*HH1yDmvcs8iA{Xdl8UAyAa0f(Ojxo+BRGy_HLuStAig!wz0dfp{EKRQ2Z zJy!%LMRhd)spk6WMzC0|J1)A<9|(AwQjQj7-yc)wks7KbF_HY+edRST3Cz-qEcK{c3-Dl`%< z=i5`>v(9)InU(F>-pt7ogaIcZbC%5KE_zvbNgvke~|| z&JviD?lxwbWD}n< zQ$<_8{8sQ7V4zgi`_lrPTwSGxQ>8fhPQ6-rA!7ozy!I?OuA49(SCSDTK+H`vTnq-Z zHa1ck4X8tj``c7efSnJsT%=+vdI8sM8F@J<@$9Uqb(leRdS-wZO>uGOtP_aNnogG+37uCi1*;3ZN-Kln zXc&+Ot_kWP-CGQX;NNXB=}m`F7SJJF=D|xfT-_SXV3OdAbfGj9Ka$wFjjcJzd7iO$ zBMHxQ1qJu^qn0Kg`_$g-crFzBfIVv;8_Fz%3Ktad8d4}p9}UHN(&T`IS)jHAP^Fa-KII0h0n}Kv%IhB+5Z*~0^Zlg}UWa?ihultFrNGL2 z3xYFDs}yxrSM3L#!rM;$)$I!X$)#fPA;G^MiB)KYRiFmrzZAkLM|?&n^^2xh!`58H zWsv9Oj1Q;|?~ag!=Tf|3#u$F`b-0@ti{5GJ7V8qWnij>p0Y<@P@&ur<@W6z;h_u&$ z_p6K2sk!44s47zC`__N0|4xJK$I44a1o48sR?hG%D%^JRl5=KE6~>m%UTlcD&;my% zk++LA6uq-Z7dGE4Ima=!>ehjtr@8^95zHbVLrT6+m8Ia4K6yJ}>9|te4C0qh@$0x! zLFrINv}ncLs{r$sQb>n{^>RicS_eO`@+_XPLjWDIKM{snbJI)w9_^e*%z+g#UhGQ& z6VHAmmiGE}syVJp-r3oNnLwPy0*bv_M&5DN(=29duGBb`xW^hi%eToNQhU-}u`*l6 zXEzH62Tcm=5Xd0tnz2_j6z&m6w|9^nJ|K|ZSD>*%Ww}Gi9CH?JGGhTJe(6zD2^UbP zrBW1^iR914ps|r-&0OQd4w@qU0pxES!orEHj?$;|*gmbIUWC&3mY;@nLN!s|$Wjz4 zD^0CPq?a7`NA%g@391vlo+XMAA+#cxv$U(?Z$;phL@RcG#><;En1UQ1;k)X*(EX0q ze4VL74N7^O)k2+;>{LE7UmimUaHC9=O$sdADol*Z%-VMH#Dx;z7^q(xe;^PPvV`b} zCO*}SP`P{+lZ?o!Z z{a>e`9Q6b@KFKvP=k-zMc#^nkxy@e3{n0snE9QpyThv4g$N>zy<7op{!J0VpkGfF=Qgb(7Yw8anhBegMw|;OV%AyWdi&XmMVib!{p9?5I67g}L*!|D#c|T>?UQ@Kp%pg$omjWp z9`Ie2RPT;aIjMoo?qPzR^e3WQP;RxS9P=pEcq=fU=ymRDJ zA7eV(zr2L3|5f%X11sBqOqWe+jN597!E8QLUBR0(Vo#j|1)_px0BsgO)|~XG7};fr zw4Yw5W)U2dj5_Qg(-@xWZi3^5nTf+S`fTYpKESseoJ`vu%dN+{t#>@v0jBW;UtUGn z;`L(vUf&|_NmfyDT z=%x_+1^fCiyh*n%=QhY|wfFRsnDbD3EJf8Ng0yd4LDn1)42lTleDxEUvrp|42U|3) z5fd=op}6$a>9YlM-_1&GZ`LbV&ocvnhepc)n*J~uA#YIWX#I#vxFz_d~9 z@YJZgb-PRRb_lmg0IlrhUgxx>fc0zs9#^;IX~FJ7lp}r@y>#m+h=Zwx+H*s$K(B6# z894HPT zJC@V=9JY~I?_Oe$h2>%4WaRCRL?PlJBF6$YCH*+T9*(z3QhDF3ehsv7g#;WRHxd;5@+_W9@D9i*Mj z@-DnfnXzC(%PXZ4`5NLz>hAKLWTa{H>RUvP*HTjt?Q)+XiQCS@+Uh7KbT{27j)mHX z;LJMsmp3;`0|bo$ZrmU5}{?MswmOVg}#d+w>H zxD9ZlJNMzBt?u0u**G$@9V?vr{xBbbvKcKzIB0$n!YX zxcHHL%|vmn({-zA@EAs>t4Yv~kkU#v;w0CXT8E6@gVhaASb5aG**vS|V!KgEY`K&B zguU%9PTf_K<|6LzsYE$t>{H*Z>WacSHKWBgBUHMr-ZgNno6w;UIyO2pJs9=T{aD2T9U3tvUaFZEn@qc)WhXWDWl$4 zM$Vl8D5w{`kLF6!V^;!8MUC1)F2#k)HLR`>x1{1o^-R%ILQ<{dhN*v&*mpgdX1ku|w3U+sz+s&Y-&diME&innY=AHKE1WjAhg|*$n(0$UqH8kPx zb-i-C<8n>j=(Za|s~j&EN}jcaVsn#o3)&}16^i8I;r5=CGuz>sqmu-qiV61Tu%O~d z|6DVkCV~8GPF|YQb`@MDOcuLP$_+pw%qa%O?zjo$W9h+kSUY1@vj6#HGihmAZnHdW z3Q7;_n&nro@@cd5I{$4trkI9Yj&Z2~WV?$0sGnt@2$>W7$J*Mw*blw_Z+C)oUf*m; zfSL`VJQ!;pQ?SI?3kcC+6)$u{*u`)Z&N_-0gVQ_@oO+l+MI}OTCD#(KezxiFeRpy; zD--D=r!t>x?@?pc#|Shzn{i?5tkIbLM92|~mXnMIk1{T?y>Tv0ysiLdSK!wJ7BMh4 z?6ns5X#(Bm0(GIS=)v!I!?k*8F;t_{7AZ*`NMT=4IHlUaK7YLfz3=T5Dj(USUo_YK zliee?dGX#6%FFAvIDf9~kW%6KK7jQUY6k!9LHq9_DcRWm(=`9Tq@C0)xo)pM5O4~h z87nIjwz(HeB=*WTUYfB=yol?wWpjXmRcWSicGZ4-*Joq8OzQUps?DpO-TU_X^z?e^ zv}jKSFN*0m(jE=%HTn{m#eG4-A*4I=W{nty4bMdt&y=n*cy77s z&1Kb#&+^GsO>(pYuqLS(N%Bc0F9?7;rK~ zuw}fMRN#U;T&i@@V{Qgjdzj#h$j}CNk6Eprx!a6q>(u9nJ=R&)Jc6^XS5bVpR!6xs zAdH7)l|yP7o=YJXlc#3NhG{G{c}M8pi{!GlfQG|vDNWYuOhYi%n&ZfQTLD^EF|pe= zBACsG;MCp6b8S>#8lCFgj3{-wk5*~y-fr4a&rGVZ&J7=-UfJ{Ua1Jml(m&Y`o^bm4 z~H+|loJ6vqrsf+8VK>fC16;)~SYQRX^M=TaH>p)>$Z;frFL&2Kp&jD@#wclp) zjP;=legR%r*KV_CiES5g^a>|}_!)Ph6tGp-Ol(lLH4AJACE`Cw8$FHgWZ}qN=wlr_ zU!zvtvOs+q1xx9N&0l0f@JWlPk}Em0u`77VQ!Lec%#Zxt9}%F4qNNt-zo%(m#>#jELIu zG`9>;jbRr`;c4tcU`aF1HZScC!BUWNtTA1dN?zoGI2zLFuQ5lSXian{kw z=uMg{Y~i%dFGuyHB!k%+<*i3bzzL2|`T++=6@)I(M z!r!tTu3j%X&pbCp@{=?6Pfie_UKFF2th6e!>qYpF4A)O98E8Z753)kuUDazj!+VcfzllZmnvY*yktW zU8|s%DlUc`1#Ry@Z2n$?LGey1WpT_%g_M5H!(>$ieVgYX*1GAd9nY`7Wws6RFY`^j zwT>BCD|?i4^C$3kM767Uv|t4TK+lO`UVPl+jPlQC-wW-W2~foeEoLqW`T)V*5C@Jn zq74a@75Tkt#p*nalvXFSs=gv>(^yOL)su7zS;(}gK~G4Et)9btEnT=cW;Og#4S&kC z-=e+eIj0!+@R{~~Tcl&JeIBs5TgW)ABTLK&2^gzX`E(_6Ug+QAjUc*XANIpd1L)q0 z*6~Dx?mW}cfB%$3G>^6&v2Q6Pg|xj~yi_?p9mJ8+HXIGj>}8919YL?D+`$ZwjS2>J zBtkjBphBoE<}Sd+D~Awly>_|Ui$9piiWqKaFBoklP@iA*JrJb?KNOojE5+*(q&T1E zr>uF;S6VU=Al9WrmX1|`i7#ok?9m0iQN?4G!gcxFEsG*bC7|fShuh1Z|D(vwryCnA z^gZR}F=veB)JdsDm`uO>9Zh#!Nu<@6!SXrBccLi*u_orAqX;Ehow%&h<7d0$w7wY( z85yS=&|^Ju<+fh}Opo|$1aDNXM|Gu2@LRL5*wm4|Esa;q9#CcUO5>P=yV;+0m!k7HHD_#?D}Q#?%#+i=pvQM2*AB+W$e^1Yp^bJuHb>Ox_Oh%UGP^j zl%`vR^FmwyehUDr__`8+d<@@sdWPO7;mdRG7jSOgrTV|TnQZ^nh7lth$A6IMo3*53 ziCba2kJT3N&^4~X=}(0G+4*f{k5CV0HXARap7r%Uo@FG8gv%>BDoa^cvdhCHiACa( zUnLqp{y$69@w5Bm)9CfoteKo7!D)OLHe)*pWrz+h_uD5`(d(tHH#T`LEz$923dB9e z-ldf7lBZMQMznlBbNMK{JLH_DHEe^(FPmaDvE?<&sf51^x_VrK?2M}Z8+QHU)DQ1l z^XpcjD7ByN`^&83bAR~}y^6X2-2opJg6mfw#V?erYQ9xMPI@KMD0n`#&UWwZbW__N z+8(<8qMxmCWn>ZQ@#n!earhpZZw+6K@q$2m{K&+9PGpkv=|EW;bN-Mz8tf)va|is$ zsOG^#Uwp#O{_aEQSiQ72BfCec%xxCVJH?)0U&-!NE8HzPJ~7(Luyv4qt;z{Y@0_-m z#Fz(~(NYKEwr$W?`)uK~)R~nLs&WD(`(w(y`OE6zJ`i4fb2UmPS(yklY%%F(F0 zGRg*{JmQN$Dr^du^Qx1D8(z%GsC=W&F_Ljj;f*Z~2L24VMODVXMyr%n9b*VPJ;*;I zu_vgg^N89mOw*G%xsk?%369I@^F6~21^8!?NhXjbNgdLBm<89*vR6~ti{TSnM60B;?n-lLaCUbB2COkm7TXxJb>JE!epQ&Vk`P30GFo0-)n_|$ zJdb8^V8e;BMl#DS6E37)5mq!r}XL?swTk&=qi zfuNpO)t&#j3sNOWZZMjqOj`cKVuD8Wp&B>Qf34n7^SX)Wh9+N}7;ak^aG_rY$>G$| z3IwYhx>r=oy)H3suG5xAuza<;g5KImUA-;dlI#Pzd*5$RJd;C*oll2LoZ6idQbbE$ zUN!poS&ce+$eZ=RMaO)_5FFVbhB7cU(X0R46oyCjqNUXe+xqnS%}G_dy3^|&-@DAk ztF7nYI9pK2fMOq?8FCrJ>f!fLZ}tN1o&aQK4g$O$F>ZdKyXd-KJnI3A=w>rc2|`NT z!RgEemJloIGt-h{ls+!QQ(+gnsn(=E&)V>19{tz>|7UL=5#!cf22+d3U4dDKk@I9! zpk-pvYGt4)LHg6)iA^lar1iL}rylASdi;liR)@ENrwyRj7ktZ8B>f*a3w2T8!F-tW zGKOwD05{H;&KLa#EC+!;k%63YMx66;)gV^&(;^osFxL0$%AhXdm4c;#j#DOUv$C9s z`EvYL__vPBTCBRAb#buZJXCP;{R!d{Y-B*Rs^M+){9d}v*4u2OOHHvg$%z5+s>cAFImXb&_8!aqGfvv^5GF8ioh!=c01!|MH_|XD0 zD3<+OMl0!`*wRW5?4{Af5i18R!Q31Ym*TWXq)`|pEioglb4}gn6O_BZ^hXgsHPCT5 zt4z>4gWB`T=oWKbrjFbxfP}EdDjcn*7`2(EL_%deNN$1_V4ZF^N&bdRfPG4QHud_^dy3j+X3c&iFm-{Wa_w`f_L*aAWlI=pp1yo4hBXw2%7s-z1Fl)jO`XOPs95M#OJ zE$|+b+g9d5WET|c3PF&h$Y zP_nN0Z+*?_VV4a)ZODm)e@8?wD{qe4^05XlhzXU8?o@e7kJhl%i?Y_Nf2NMfbxb58 zGm&AV&@lJ!sW^IMPu1=Av83FzfDVRXJ8&X;loT)}y@)XW8x0KU0GkwKLQ?TF0#Gm~ zGIyDByRZL;v2$n=EX=}m+N!i|+qP}nwr$(CZQHhO+nF^rv+I~%^zQzF8*#o@PjU1N z+d*-5Q5Lw}`RKbh(warUF%wrP5j+zmalXP(>>`>&C+m1 z!@a{(2NF|H-~LNvNZej_=$M(=@*zH8bTR}81T1Re()uiVbI##e(PBK*CUcDB<`G4( zuGYuv?mW-mXHK(@W;GGMxJvz`s^l5U_x(SGWi1y&oyw&J^eb^tN^N!Yuu2A%VS~=X zRG+IO+S#)VW3ayTaZBbQGToj;?M!M+`G%Auuc>A(%QkAGaKrKvTN-cTTb`48Zup)U@ot; zHRc9R@sg#eRKPj9pp1?DA?@oMm82-Q0^PDkfD!tipW~$TOB8vJT6hL5CNwLxWLWO> z$(pYI%c7;1G!f2DSM82A#W62~{Y=m64h-9p_0gEAgWx(Kdxr~AtvY^H;w-JAq2q15 zDA~f?zmkqI*k7oUI|JlMh7mw&0tr%$MP+K#i?u7K37;4%nFjqP>Ce_=_^ox;T}4Jz*cWQcm)?8fZVhEZu?T-<{|uncukrU?Q>b%>Pr#6@9&O%a zP!HBSggxXNmCQ7wD|3CEJGgmYxzppEHM1>hWi+v_rI%}T*rAykm1g>;mk6=Ox~jT% z8^S)C^pQD4H+J_dzFj%RKl?0LV0QOEynZszV%&^38+qHL7N|*UadG?d((kl43T?L7 z!83Ym!zl<{kH{5~zSy6If7b7dFw5|PZN z>9OD5>YX<_D-`fW)1>zT&Nr}qbA%^Dq$ZLTKRW%((+!AO70g^8ePTCAqX+zD8L_Y% zO=Ax{{i}X3ORUPICHaSIzAMCBR_Wy=eT>X&>~2|cVQU|&iK}CA%i?*X?Ow(}V$N#! z5#K@9$hOGk?LUmeqGY(TYA|S=&m@=TPOZO3@$?Wxh$>9Wr8jOXn#eidxaQ)VY9!Tb zga)3xcctv6d}2dkJ$_E?`~dlgKhOTl&CE{!zqIlh+5a<~S%W!YOWpR6TX&8ppY;U< z;RJyIK0Xs+D*#uN@J#Cges;LWrU9*C>?Rji+`pQI!K(2!tLv-xTsZ0H8BzLOm%26g zucJ3b*LNv$#p2c1?VUU(w^_qV{V$j4t2!C{_@?=rt+=Y&OlQTKx>w=-Ih6!iP<`H5 z_;Nyl{x$72bymY0_aeNbL(mcB;4;=CxW5E&^MhhoSH{M)xoYsfs^ZD6BRI~0&-A7k7WAOnj zoV=QxmKOyb;rH$KvG%xC%iW`yW5x)SVEC|vqFj4_5y@O#gLr>h=(3aHF(Tq#i;~^v zAKg>%g4K9j>*7`^cX>%A;2b%}<$1ViS(pS`n1G=4V{AT4#PYj(o^)>jY8`wXpwAVE z<1qq}MNoUY|Aw2QVlycw#meTW@}@>Hm^bi)A0wV9857otxyd2(MMU0Cxuo_};7jS| z&qF{G64-f_rk6Bd5nBa+#37LfnM>0#Z_I*`azvJLG>lE&7=pDWFrw$C$_Kd1y(#=c zlxIOUML{p!H*i-gI7+OG3_5U@(1XMr)GCV* zOOD{mtE4CVzM$GgquRrBQ!a@~7D~nh(#(!ww&?&zP?s+4I4uY+MjxfNup(~EOQx{L|BJ{U;S0a@kJBFJ?|4PRT=d~!c zEAP2}$6~L+`E?B@b-5f_&`28A@2Lf#Dy)?;L>B2t+M9%p6owsrTz6s{3G~r_a7od9 zML#KX1MnPv18C6!CEzIN;#{BzTy3C|dkdwX0EuHfM{^jp_+;dCIRhrzB0Z+&&e-pY zN~Pj1#!L|lQ@2PV(=e=U0kV`Qv>t60M+o39)j;Jgc;)thH)42kP;NV&0GZ?WkU9ik zt-Mu@(gX&qLie7zE+%*&2*=?1K8m$UtzZ;RX)rt@1mn1{Gs~kCA-4PQF4I)OPr1o@ z65;5vGN1U-Y8nR@y|=;hMJfDJBT>4*vvcP```J(J5*WcG3PLEypWzS?kRW#BDGs0a zkW#pXFuct*)nmL+x4*{?M_gH4{0d!y*rf3klfzz7QMqMY@4)w!^MMPi1)`KSQ^UR9 zk<2>uvuBh%>quZw4BHFPcW}%!u!`;AOhWL1CQ9NHgbfRK=KRGFk9;m_{2z!=T;kk} zHbM9~7IrgdSu!BEqSr-{tw7SI z*IC5f$t?-Ub623vvEV(={K8Z1S?^uwQSn&hslgu4%ykS^%7PT+F|qA<`>uyK*n#e) zoM}Szr}2ri-%DU$XbNZ~dr&Olj@v;jE`)l4Ju~c&lk}R9`-e2982O|8q|XD4ZmPFr z>6SULpgPeJo5uS&(1cUJwz)*I>!jw`PW1MCtfFONv>4@D$f^gFg##8bGok18a`= zqQJ@ZLH;o9@XF-9*Cg#lPvlX|y{{VN^@NF1@0hFrs7l#0`c;Pvt!}m(CERYbNNbSf z&{S*PjrO*4Gx?`Cdi|?@VXiP8P(&fg{8ea|=UDo#Z}4P5+P*S*uy^JK<~M@!BI3wa z;NlGO&)YWX6x_CKkhG=+5nR=4G?ko%JN7Mo?4MB^cTxgU$K&5*FKc#4B2o%=bsWWN zl`^A!r|FCS7|(ShbS=wu3Ba>3Z^mSM@v{bk8;({O&p)$$ZGmNZH4>D^L5JX9&=67z zIUyzGp|Nrf_iQ>)Mtz5hc)V>G&~LJBqH6ItvU?*#C!8R|yb7J&=Xqd}tTsG~#7lPL zOT;pvLkEpQ^K9@8CU2_`0j#gvU)0ucO?mh|g!jo%-VrqwJb)4*yk{07z$7~BAqP!D zU6Bk_b1$5#Jg?o`_1RNZZ5RMAoNyi+zxn{x9SH}fuh?s7T=@L3GWeAZ9}SyuoOqFVp7@H=)}0A7x>~A zHs#wkHQPC?-edczWuA8xIAsW~kdu=(?1dL!El7ZU6e%DoB4x7)E4PCYf=d(`z`!$M*HwKW1gxi59>{5Y|m74B@op7aVo+-OECWZ2mFj$l6xyOl6goch2*{8 z;{09eUdvAE&+OT9%-LrJKErY*4@>0Uvwcz%0ce15HMRj<%T@rFuOHK`iEKLp=}bv8FE>nv9iwVBAPMpL-d zx^c>}`Q+@S96VClFIufix2vlP_wY-3!0~1hefVI{ZAk)(+j&bAHwX)SSO!AB>HnPA7UlP(*haLN?6dT~tmuVU} z!kR5MZW{3z65FA)vHY-LBX;6Eq06R^@7tdWHH$sf!E^R?&mRl7lkz=H9q}IKBJLmG z$Fnm%BRJc&U3Pcp_B(g(`3&+v4bhUTLO<#d2VxA=Dcnhswv9SPCq*BHVegwlDFxcv zR5(dq*e$xj%`yxAh}ImO4!Rr!lU2=NTOS{`sB`iM(fVWApYpsbD)XMCcQsug%&Z=Y zFRRO~37zeJfbYXD=%SWs6z`+-eh-)A*jjC!?azU=(Eq$s^)Sp_QCB{+*t?-Nk!+7Z zyFzmQu2eO9^K z<$u|sl8Lfo541WelhRqNHg|R@<+3_cQ*EEWjeVXE6^Jf<_tzwzUMu@DqXeAV;H=ku zjlLg-?FG$eJnw`I&Q{ae6GLSzr5EflqpcZES#(iM0UEHv-H}dx-$%*4Ae2&X_o$7IqQ$cQ%1u*` zRJkBoGrjQYzRt331bXw0mLFC(K?vdTHNR3pHjEm?zxE)Ut#U`Tn(l)~El_qGTec4r z3HWTuZ)lOI<7&0kvgIhMNg?wET-Xxt5x#LOD?d6dPz2K6zul91$ZW$|?*>kQlNd_e zQJK5xI>l_!7f;l4)zILXF+6oevdy1rq{b{|v5baV$VT3=AyVg>4t9V^Xs=@Hq%x9n zq{U@PxAl+{d$J-6uC`rh^y2e8oSj~n40&({V6ns8q*)=HqcFXZ?ivlNJqEc)j80KF z9sQ$RJDA*wWE}M13SWNtFLwRzdiDu)f7y!LuxmGb?Bj35tE?CpLDTpBoXB}g#O?jJ zYx;kRAu+PE{%7}6b0U_i4Q1zy>JnV}lp7!r74Q&XgTtc>Kgzb{M5eo*?c?Vjj+jn^ zx@B{&{zcQ!q5Y@>*y_t>DU0&&1x@B--{x(ft=~`U&wbHu^KR4IR-2fI_kwMk!Po1< zU6mqf@|@QPdr5VVh2E$&b)VA5l^q(AAjX1;@YNOxx>t?U)E*aiTs@HKknF7~_OyEt z&ZXt{)sLy8PL=ylP+rKEU+<66*A`o`?v26M+1}RLo*&2Ke)5hGI);OZk)HT{XS`-_ zm%Wp?Cx^5aexLX4_u9~#FM0Os)azF3R(9*(g7C%M$JeVs?#4I@hxdWg93Nyr&1fU5+iCE(f!uD1gXSW(eYevo5&>(p%lQ zv3Enb+aBDfA2Ii~Gj1FMffDE7H}B(|IFJ|KcdrHlzrVJK(G6Y>nE@bZ30$0D)Km9w zF|%59G+p7;?>nqtPQk#a5GD=> zcjD%S7*sH^3`C*Vt-RpE{{K2xIi0s==sD82S2fKaLG$llS@oIDO#S8`7|0pv+x|1P z*u?-0zP5$yK9VPTI>IWyGT};3>vv~`l9p^#JVO$^kVb2HP<{I2xZCX{gW5!|^}`=J zDJUCvoq?wEWlb&)UV8O%RXRD+Y4I>ifC)Aj4ct3~(g<0jq|E18fCFAjJ5%fGKAS~J z7RW-SeTHBiIUQ!LVIZx5a!)Dsfph+65of`X*v_QUC?&v1eBbF{k4v?YKvj-FbqdkK z@T{;)J9uZrs>eNrh;?82;*xV8+!VFe09{uO`eCC2`_FdNja+}=$)&6bu@uLvZv_@WQDx-j|~;KiPA&E>d6b~?ksX@yh2~8 z8V>g~@*_I%&1|q2JhL$(T={iyAEcFxL7V0RgPtgAeS?_h$8Uwzc4{OKpJ5CdQCSr8 zM@Fus8-|Y-xV_K(%|0s=@GZ(v;*~!@N)0JXtUXtz`&q5&Wu#(;$ffC2G`dLC7H{sO zsjVTd36~h<>o8HMKn)o&(7n!mlyNZOXY(1z@%+bpkd(XzEm6E;o=%ro}sl1bNosl>H>aVUK%u=vF zHZJdw$?6wYjAudCf%$lb7E%5cM+8c0S!kR{O)Lk6gc7%V zRhv%1;W{ry^jZWxHl~1FMkt(;I4@UN&d)2^tS(sM*csa%=(N2+zopG{n2LqiPSDvp zTz|JAqVaUYaFc&b4}G&{?3f=H{5_2;%zg4>%$TS?;viu%R%EuWyMw&NBQ$fcY%!CN zw}xG1ZV8fVs-UF&!iR3;q@S@LnTnyJXWKwix8&)LDECw>e^Gl%cdS!|yUByw*yfD# z=Z9DRezzT$VfP)tWrqqq51yPqzaq6iIo~>keS^myW=r)WQ!?GDRW-nyzK3>E0AtX) zLra`jd*4dVGw_7va+UcK$zG=fS(S7O=XaB+Rcf+fbt*5_t63BPx6Z(>(mtZ^h<-?_ zkZ;Hfs{eG_bPnB*hbtLldc(Fs?K>v$}2#NY;k>o#fhxf_-*slKoCu zg`AQX-k>T>Fz3prb4zb5Vc|>JOzma4Usiryx;H#a0nUeAtNu=C|G17x zAYh>u#x>nN#BZ4ivm!`X>(@huP`rT>Y=D_UJ|Nn&{zKQSQIP9qG-m{fbVu_w#=R&R zP=rJ5KkC*UyUy+FTj9QuS&r3rGeD?18v{`0FqnCjHx-XfqYQp?Rih4f zqrJ=Qqjq_4kNp%RJp+5O3b-dpYQ0>pM0#%$XwvzQro zC13;=o77c8qrab*jf;t5PGTKra@R`oxv(lxN6tU{ zGR%wIx4R4ZnZ|U_zub96&|<|KizdYjXDBJWHRa`MCPCG?vk4)t__aONL*ig|gwZRG z6jdGCQ2*B4vi)(6J1>p6gF%k`jkd?0BtQ&l%mSVla<+CHr8dc7))I4ac}D%W8S_}( zX0>D!*{3OIhdNSTwAl48vc_G_n@u)=Zy586vK;8_Hjk=uh6fVE_;H0x$ZxsBL-AYY z9r&V{3s>n2G}&&aE2wYNMWFDT!$>fo<#QnGq^C>`vqaNxjAG?4V^nDL2fQrwJEDOqROj`HT` z(Ed1pOUjNA!#ixjz1=aY%nkaUIhz^d0+N*3lZHzALRmeRtt`Lj=U%5N56H2{k94+_ zG44&LqbW(`KC{&RhBhwqMKRIIb4Zb+k5ZS}T(!+iVwVuTo1BjxVbmK@CVbUop;5u* zXWwvw@2xJxH{@+Q%@Cke?MX1wnfiEVSY%MlI^H3XUR9-)M=5W#ioO$if)aZcJc zr34XHF26)cGZBlAl?#;vx7#724sYN`Gt*928tC9aEA1#->1*E-1${1T%49u8ekh7C z$Q7nhNJS2JK3(p2GX?c6Ykwz=42OO53x?wTBAAUD%g0e6z$&_Ok5|qT^-=Fas_$I< zT@*6+j(#YNJ?An+idVb+z3w)~(^)Zec8>J=)Jh_g30aQ)QSssUn+az@DWHOPf=SNK zS4s!w2Zv-gY;eVhz+F00Y7q0Y5peqMa0e9GMGWPDQZsRM)*}F|Sjqj7bPmmGrn2{A zwZf$N@i##=oj@TSskESmw_PZ{uKZ>BfE$uS<-{WLvDoHs`-i5Uqmg%QYh1+6n%$U5 zj zk{iVAb2vi!7T;?*zYo6lTlwn$c6$F$!<9_*^z{F+GJrLac-8t($exFXfn|QBOo6Lt zR7%N8>L_tcKj?lS;ax}j>pRcSHV+^n@kHEp?U5*6{{|a#deN4|Tk)O83p)O{YU%Up z;;ya?&v%imChd6p;)Q9?cfpn6_xbZ7uSs$LY0vAoNfN_pfmV-+;BV~5l8$cwm$%3n zm8PC9cREwuOdi!P{5wdksQ4=os#-Szh;L`VXCMEe84Ax|iMQ{QzPi8MKku65YEgVY zS9mv9cYW3#^^?@Qanb8A>n4cVv&E*wp)sRUG(lR94`SC(b~0YgRcV@^*Ofu$i%*(8!#@fhE4Zt7Zc zZLcvOdw-JFz1XIRT|BBS7$U{E>ChUrX(1w)mR2tPzgz2XW))wEC_jG21VELYs4S5r)(uoeV)_{x3G_ZDKbbR-09k_71J z+yQK(-Nk+Z6Ofb?Tbu2@b99&H&oEPDQD@}Rsl1fn*oFwR=3JDkxiK*uYB7zW3y$N# zAZoX+Ig55PCv;8f*}LT_n;zs^d*ly>fZZ4pNZvPBVsugQN{`D|r5lEAig@&uf8gZ1Y%Ye+P0Y^VdoQ-CcCqGXGFf2tgv6(n8KRS(% zsqgk=72}M`WpEk^M~!D%_x{SG4a)Oa=$lRBou|rW4n5ulkJFEXM*~UqmZ^+l7zD7o zUj-?|@cce!>4K&%*Sk_lzNSXYqI3wyW5pyOz4njDG=@W(ICkJ@xqv#-meI_gkzARO zT3!aistM5oF9@vzECs~PovhtKsuJ4D-*C-DFikY%x}8P+j8J)xu!XnP$hBUnN~rBP z$`L3E2rklgs}%fArvz9bO);sG74TfKczB+=nsyAMD7jmAJk&oSvIrQ>$b=`8#(mCV zgydq2g+_e|b{#-MfXKJg;4SMGh&%ct`<_H!@mMBgLV32TBI}*BNZ{_xia!|4lPrzfHD#I9o3&r|WYn>_E z4XO%sT$7fA_rg#ryd+eh7d{=tGUg1IKGkV7&I3Y~eN8~)QWS@tf4;`KIP|Jg2;8{6 z2+P$I64_Jw(~|$wZ=L-i6q$Q4gvy@UacWz7S&fQR~RCTLAENy=yXu za|RO$9fu~(md{fFe+ZnSB5qM1mqV`aSo4`2vsN6JD55|Ia|&8k*{ z;lT|UOH98sA0_J7Gup^V@yyVcaLSfVkicF1UkxDp<_)N(19q+UGhxC%=oMehkTQ$ehVI`19ZXN!zP@?rPO){@; zme9Ppi?gwYadI7WGO5N}V1`RY*GyU@l5K&F>=}0j$vk_iDC206SUmn{XtW4iu8GCj zoWjl2Wbj-31R1fOx!DmaR{M4Ziwfz!q__cXH}EPAf=%SG2Y!&=q0%(F zyo1tQJObP>m`B&+UtrWqU0BFQoZ6i^gDWNnw9w-6K~L7XUkhTqy=e-{q{hNC@zF2t zaJHf$O{&~3UcFH_Y~-HMzO@{XU&aylaMPm{Y9Geb2XNDBDGxumAXz0JqzGHVy-=H6 zqscu_&0s;fL$s-wJ$$}?(Yb|-##y+GyE7a)hSIybI~wu#jQ#`c8`0D|eYU2L9^^9^ z5nGosJ$gD0#CGGuH#akR&D;6{nQ{bv2x;mdv3aK3UgcFM(=PRFap6=lCkJKc0Of@Y zHidDXk$HcHsj^QkieQ`_sLrr8X~RPdnyC zqkLyX>ZQnfG>=6z%A*krsYsIHxyD)y(Qs3|4e>M^9iSxm>G_Zgiwo}4-gdq+M3^5< zU7(4%bM94^g&Xh#!6xXir}v}OwsqN_ezy9%%$5*8lc(kDlqFQ??MgN>h6n|Ytf@|m zyVqX!n#X?z!RrJnX0q=_<_w8DN4q1t@*S+o5KPU_Q@FL)%8hAZJ*#>D6JWZu*Ge?* zdR%I^!sndt&b6r@re!xcV`~R?Gms^ML!AfqX3dw zoJoF^G=n8}>KuxBE{lDB@W3@)Q#s?(?y*=cprN(YHp6_KTh8cBcjnbzmV7$EZ5TXe zu82pRkOZPmkFLZzRTXT^_jw-D?r8+Z4`D!byjz_Ex3Y5UzP@sFLA~BTcE8PcS2M`V zxr&U3BEpKxY<(|nm#30`6N^|xYt_}oMkwr7jDfg3fBTqA>hdDAb2Z@++UUxZjXW5T zF^@AfW@M<|FAbb+5ahNB9JjL|uG$cNKK5rCM~20E2|(Zqox}$hyf;!;#f=fo^;9cK zFZ%YVCQw8x1`Zo*r;}~5@kq;n~h z4Sj4C`ejxe*}!e(EsH(W!k~_!h}?m44LI@IZz@o$IcPTu-g@NQ@R4>2HAq}2?A@KY zI?pZUbvtb4`__LAbusN`_v-*44Bn1h`OBU+u|K7OiS3@%{Pfa$T{5d#pN*kkCoc7S zT0pVF&2CJNOzb8w3rVeKuB?sG$$WHRp^ZiSBwg2MSMr_RS*_J5Z)=^bVpGy6-2(bH zH=~ub$Pkj5l_nSEITa0e`M?=Hs&-Cq>32O$6{fI%xwBR3DupFt9OnAZN=+A@#fQ|Up61vsfyT&Q6_4jeD#^9ikm6l-9 z6_{Gr%J7zYxdIP;%x znp~+)S&P5AD}g!HpSmg^n|oE0Ujh&=UvSXFOHomfdUcjFnLRrh(nXu0i$nGkuT6Kp zm~?wpk5H)Ib&_NL;4Uv^?oE<;---6bjm=;V#S>O7VlXwbQj<}axzs5ut!{0ZGg$;$ z=w5NGmrRcUHnY#8xnn758wI|9rRtw%aBxh)C3h+jFqKUjMP1_N;>)X-k27qao}o1wtVqOEPN z3^&3AlWc%~zgvF+%c1`0{g?BfZ%l)j{GyL#6EnkTOoVfom zY&zCqyfK;fIVg?|*b66@)S_{{!i7hI^|ZkPEbgD> z$^(Bvy%Hi=JuIkTXP#j@X`ZH2d`V_c80Oq8=uGS|vZg*Ifo2(($SG}^K_&s9fDi|j)Y0MSBQk1m-L88{4`jX+~p^wb1x z<>$*24;R9FM;vASG_2w@)TrVjybuKdHM@9J3bS?*7;tE2)^x_G-l;J(Bf_DzmCjyb zQ1AdXPIH+fSq&tFVrrOK4@nrH{5*)H(crUdKDlpkE`;dd zMyDs$i649CDzF=Zx#%^K!2^J zhu>YK4E2wXeawdwTD32Pte)Pt7S^*g<=Jg~PM;$_=9mUmlm4;AwE_ViPI}7&P$5?B zl!!(4RZHdF{nKQm!D)Gv1c67 zHA|{;5#f>V)lZ=En#d}8OCMDoX-t$GAviTm=FEa6{G@o3^x7UVYy?22&AL%}XB8%9 zA|^e1zzK$$dq2Y_n=*v1xbxlHEBk_`q0TaS)HZEc}G5Gy3aDA!6<4o8I18ezcNxQ5K5FxkuuJbVU=RkkY;c+ z=M0MhlKnoVFagQ|MK3Z#GKWPl7_dk{B~Jsk;`2;F5A$0`Rrg!|h?3pESMR$4Knsww z1%NsxS~}y+E(?Z1S2@=2Gtuvh>U3^!nm3Yu%g5AC-1+r1IDf< z7->o?8z2ky;0x+=&S^^6=*Rk9%@FPVpy*kXAk!a=!>}K9+ns1dgf^Q1=s<8~_JRs) z8?4BP+jhk{B5K=mbEr#^4!URROWu_6sQL3rMNS6}E#c(Pu0SaP@6f-Yy@|nJc}DS~ zkPcZn>wDy}60bO((YA4RemUw!Uxd835?oZSErIX)h&oB}=es-Yho~`9)_i?ij-_Bn z&<<8=D3vg(m1Pp^G~@B(h+zs=b)7vcePhN^2bt2l;e^+a2s^3wnAx2T>!2RI2kL8m zJbI8J!*SzQ|CLr`HAAO_cCo3=G}9mtS(xL`DNk#7k5DLtE;`?xM8ov@Lv(X?8}c0C z&A-Kv7^YHj@TNdLx27!pd+iUsb=WauV53>MP8uBCC^BrWEqHW5gVBMwq7}9=Pj5r8 zlG_LuEHOj`$r(jT@Ut=$0Hq2IU|!x=7m;0}SK*j7K_b{2#POOqkB;s~boc>rgP&ld zv1A4?ZkAs(u;G6j-_tsQ>&%(ur0vt>@bZ!U&)5~K(GCc075@vF2PkwwO zAfP?UJ>_|lJpNlzFA3pf=Q3N4(Q z2fna$P(~8t_nCFsHgVu-R88$a*|G_|9n_H&4(mE2C6s%Uh~A zFTMTfiAZro1(J74Y9sG#f~#_9D7cly4$CTuGG6Mi&S9VU#D3Le(G8PzM%x6}ff63o z7z#FC;aQRxf|wU?2q`zkE1Il7yl-C%l{t57A>;!QTbsJKHRn92?nOC_eFp9|wN8KT zWOOSF)CM~QU`joEEb^7v#%!_VtMj!kfK!oCH7|BfW%C)wQoQ!LZ(}W`Z|^EZV9wpT zmf`tc;l8o563LimynmP)iat0|ZU`G#JiCIjxm^}*%xgL6luX&~i>UMb6vh~jXL z7&0Kwe{+SjPkKJiclAfy0CMU$au2*_D|XgSxY~~c%&^@&D=af8^UuYN%Pz!EGuGy> zr+t~&%2zddLVwKx!9E$9eGPg=bl1}T<#1!vX+lJvT$nWjqA40TA&ZU6G)h)0L@eC& zt)F%d%*ymQyW3m;6%`W5(U+}@iIMQDfQ#THrsJ#UbR<22sr}=Bed=|E#|B948u4Mw#wt52Y`L3M2o%!^7))G7w zJm5idid10#YJT-}sdbBiauOegXtC5~^IGc;Q~@y2*k!NzuDCtoyFeMfrVx2JTrqd) zTGh-OXj+v!RkZ2Xe#$(KhwV^#mZ%s3pX2ygX@;qMnYEWC$<;B-vsvMG%D2OOe&kyf zP~slRYp^`K!=CL_Xx%S2?<(y28RGn*%E|Wf^k`~b!Ih%TQ<6M;2o~523%yD2CW*&u zLXbc4d;`Go%xq|Josz89NMdS1gTGOS?33uWCsk9{M&ygp)aWB;vaOFh9bqz@mPk_%H?Sd&yUiQVo^KF|9*g{6AejCLgZzFe zWp!%A*jIJo>CTx>`}ga4?&eNT#j_>sM(?kA+TSk+-5@1bcmwTls$ic#16PEW9j*t5 zmFFQDt@yql*v~irbOBIXzE-~0ozv!@zDn{N3cEf#TH@b_t=GF7wd4_N&RfwY-k!}O z5(ast6D3vnYJ&-r@e=6s5{ME3z1?IhbY6M=H*Mz=So6n{3*2F@joD)!_CrutN4k{v zAPM~pNhD;2zAbY?+5^Mr-_!Sq~&nU8$^77~M``ozS zA%|DURMl~n6^{#b*WoK|)azRoz^}Brr#b~{5TnDQZ_VuTS{nJj*OxVGbJifAHuk#m z`HU`E88ixO={@?*g2kLcAOc1%H_u<4{N-n#UpX(!fwpfHDSewB?^%}Pb4J)-LFug^ zKAFeW-7;!{Vj86Ye>vyQ-}1?Fd6DSmM+C08AGjA7DepMsnwP0Q_|6l~TkRf&Uf@Kl z6aJjTxj$Lut2M`BF;XQ}nlqWrwJT_8FMwm_2NfchB{;kUYDpNDJR3yJ59~ z+cU;1T(u>_R)VpBGhnkhiM7~nptSn7JyoG_i<{+bj%e{9m8{i-af0?_mvzKAXuQBq z#s=PB3I?a+k)5y2tUQ(LNrvSU#AW`SJy{o;Ow<@#uyGYOvM2+glz@`} zb~#%8ho*n!Vy9DdkQ{?J-adNVHC5-!CP%ZcddS?>E)ubOR|QdF`x?7Tqss7Ersp!y zZNQgbX>^Z`NizGx+{uphBi(g^XoQ`}rb(Fm;IIbsotLpHk;)Y1ag{V&k{q(-HD)~CJ~apRR4=Z7jD;P zy8BhB;;#>H#kJky@EKAHs*y7-)>{D*LVhcX*O|W#cCAZ(oav>y9Pz$@H=ZYL=qK#j z6}h`8abZF1XSqdvd67F(Gv%!;RI>c+uMP{u(AMY$u$NoXln2xI@`* z^}%fX(fNappL^RRLRdmYkz|qJ>tzv0|fK`yeS#$A0#b-XmstC(oOw-Xu^ zOk~kYez7vaX&6-bt)4ckV{3jY_7DW6k`%X#G8`5UtK=1`u>smfk4P~_v;7=gH+am9 z7xl9ZD~_O+(+(X2Kd){i{JAMyTocQD5rYZhYl)m>nMwhc*+b-_b1y~aYK1F+*aqRK z(@vOvc6Wju#$^~E8;pE2DkHMUWRNOo!S%AAZ{Pd06&ng$`tN{`OW_{7UkR}8H+#7l zGd!VOKM&3Vufe*%A2!CKSEYA=S%@xe77>yn_L(@5XDIQ^o(7W3OP!%1bh6thL}Kn9 zPxH#Bkg)d{t1Rl$7x7t4xy;6ylUIT9(+K#6Fb`=qXO9Xd^KH#_m}e}&W$DMOENNsL z=QkG%*N!jO2#?3evIHXuKkbJEXVxJ2;=<0>;)67eH)TO8@!stR`{8KW6AMlpazPqG z%YkK{cMdt}ByzUXGDM%eX~*Yki{p3@m}t&+-=$gT%L-P-XSV-)(weEan3%is{rJAn zhJ&zrL#|NwP1aE(@4}TT?t!*CUno&7i9=F~I%_7;4>n2XSq%Q{G$C5msMY-jtJ-?J zL#9LVV;L;!MTAAYPPytnE2jGPqE~jn)}(4!ImNU#O*`1Wd^?mlo*nTqz4&Fy}Cc7N}XCo5YaIZDS`vtv@#YZAL$HI9&m;$Zxj zR@+9*n|f^lx_m85t&CHVQV_-}IVO>^P+o)%L4=8LlbLUzoV?HZjF2m>tg>V=q9E)k zL(~uH0(@iC0)FIM7|_IhOY(b|F}frU0(`p}RsCMz_`2q?i9>Wx?4%j?m;2SV(*fOB z_R}O3CtZuWSs_2GzD9O1fiRT&3nxa4Ibw|?w!A76Eg70x+-wf83)MdX-npRJeMu~i z$qkM+J_ehx-jZB;;kPQvBerX)<*{%dEDrm)rlFQ;r$fX-2O~_WT5OV4E4*TSwuJ36 zn)tSYYuSM@&`ID++bg3wOg|w+diTt6ShAoV9)@Hw^Wje5EC=BzrtBqsFaK8F$t~S3qZ6nL zX0B$xSKWD{_*ZmFk#3eOsL23=RynL&OL%9kt}z|maxNWx&RT$mJWvQ|-%QI?_RFh} z?T=fuX4-fXpZ=*A*@HbTm^b;SIF?*UsH2~0?vb=`HI^z9Pu0GRSDNJ?BNjbWi8=Zd z!xgS)lp3o$hIZbZVq|VnkKu;$reQ>poFeWI!F(eGB0V8IVqs>bmsdUcDA-xqaZK~q z-DixDU0EHou0P2Fd+Xz{8-`sLN7blUwXMA%AnFl;jz)Adr+N?mmMYae9aT0pAWovo zrKVV^h^lL?7Lx))pQ>A!Sa;i*5h$UrQ!G%*1#9?+rV%o1mgJgI)~@ULjr;Wtms(+? z%X%C(6Nhg03kv8?SR&Tk=V)#{%-*HyB$$6ULg+7{=Ro6Jb-v%3VI0>o~Wwc1~H z72kXFk>x;JbKYF|@{z@4e`vP!#G~)>VyC%a=jdx1k zbec}HMvY@i-O3;YG=s!LvPO}ePT#`3o8}znfLkY=Pmi}>*_WwyTWKv*H`v}%TZvCF zULDczH+HyBRIcdPwYW1YP0hD7IDB zOf);3nbNrzUuY?jYRD>?Oo*ifZ-``Z8B0yaCOq2SK*FK?AhTfXiz1d zvCaD@me1Bd8{URQd0M0QdwL(g2njt}<4Ka;pHwIa7@YnX;9dk=KPdFyXD}Wdc0WXC zD_lLS)@ZFP-Cnj9ARg0=A%3?VJwmnVBq3cWO87OROO$5(P9Tws%DQU9c~`}L$-sH( zBsO&{!+(~oM~Yw`Uv?2evP2x)1)dDBc6%kD%-kd>Hb z7)2OPdu?I-gY#@)y6>Uzwa%Dq>K6k#m$7|0Y#K5~=35m!*NM!j8WU9h{W?rUtwyj0ZWd^kJO>h=@XbQjyeyoR*Y&DKd&>>6jeA6r(^4mSwRO zDBgrw{mC+?vJj=#kBM*)%IZ7PH%}MDE4)}< zpAqJEtiXqaOZe4aRF#Ard#m_b{RHefHk4$#!c?^gKt!MgFXctc^EAY0UO3x?`&Ge$K~G<6nV7rzMwC99jg%^fU7wdU?aZlUZ1nDhRb%+|0 z*NchZ_T+ySchoT47K|(D+fer`&hRMjr`Rmlh6vqldp@HZ32{f4c`f8Cx4UXRq$oD3 zc~$+>2v7(XNfK`m))r7AQv~dVKVqDFAE!M>uPB& zT?Eriq)DFNX7P-jFYN3Tk2h265T3l+6QE?)SH?d)mqrJA^Wj4K1!Rphy1{1(u6rS4xez0zEZz}N%?At2~>=)s; zI^=4)GX#b;#T|kDl6wT(XbLt(TsGiMQBz9e; zT9lY%uDOdyKjzJZykB%jysLl%=q2JEhpx!6NBicmNwkaYK8vhhi||%IfTxp~AwvF+ zFt7?nA|XY70_7${&bf_gJI;yT5BqIBuZTInF~1?9yk@sk(hv${dL&C#jUj|+Yh-TswvXlP z>bc}`;|HP*De4Gum+%gmly3$|S-HA_xf~~$d)_w#wHTB)3<$8w7;sdC)S)_|eB9|P zr0-xq@!VXtdaun3RIvQ6Izk&}zpFDt)H!uj+_pNGHi77;Yw?G7z95#|Z6PLv1N9=G zfGD?dsMyVE!$}r{IgPp3oED$YMg1+n1Gq%e<0jV}_Xki#Y$a-r7bh~Um6s~eHyf~g z4iA$prikkr4dXafeh-IpCfOq_+uyh;!{Ze-2JWO#_du^s(A~L zk#ok~q*SdsON~*8j*S7QFUFZWpIx4LYclB?@JB3NPo94X52eJqlNYb7EKHh8iG>v< z=3Q8_u{1!}XQ{b!u($#;H}Ne;R+^*Yn#J;K^9HE;ZlpZwtTQcXK*$i|X!c5FwJ=uK}ze>A7=^ z-}8}~4Y2vOs<(0ZILfClmLJSiIA<66e~L6`96xvq^QWfvmI#)@`Or~PNGRoKTtG&` zM*4pvz^6grXkLfFLZU@p9~!Ze z?Uk&@bfzqyQ8QWuhU>QJi@m)!F71C*=L^|RGnL6Qj^>XLi!rW>bPiz!Tg?b3Upayt zCf+WHDhfOP>ugtdDd?+-H#miteb9j+UlNW)F*K)2Cs;?@OgNTNf%JGPH#a_9tAchd z7MrT%#7bGa{IAo*EtMeZR(M2X^wUqyZO{aEXN%~_788?-$7hyUdwcQF6xP}n9WLyP zwsC44iRX&bJfCmn&xP~QWFQeA4i-)j=^VL5=)dGsXZA(qJlaSxO*uLM4cD~Ot{^Cx zJ)vc|QYKRozDR*`4sUFSrA%crS(2T|;_T!!i4;EurWC}Z z-JidduT6k-&-v2_UF{3~lAX4f>wl6I%GZ{Ms}B)@Jv@ky#e5^Pf~A?Ij=dVbTRQ)) z#3d;IHGs=NUOH@3Q$vg1$O7>P6_%H|0mmG`+5&CCMqCeMthG-4D*~NLSEIRp;wME! zB5!EiOJb4dWJfZ|c`mC(y-|KrYizWr-WbL!S4#lhjEDR@rFD2XC`ticP6`3e8fISf zO#?)Im#8a{vFh3z`qUG#nl}wKI12`{E|V~#MCmqeJBgY=Hv=nh`Bqze5A_{irJh6V zNA=%ZDNuc&pu2|u)vPf`=SvWM6M31nFX~j*DXy(C7L|*$eg>=OV^dobbN+YNnPV}{ z?vw{oiZ{fO?L_IO@eFVZDd&l5lelwx_Cu@9!?*7!VI+^0Bh4va4!J_o_QO0GmtJwc zg<%nyb_ADG(Tzp!HP^y~}_jrkOO*bT5guC638%C>;A!bdSh~Ma%;cNM! zsDE-HR>uTO~5x_u0X<9X%wRIzsp?f79Va9IH0% z(mKztlBfoBk55?29tD^ImF-xty{jB|cIppznioPZw$H9L7`%-;^=ns~y^8fKkFU0o zyplA;Tf6Q!8;Y5}d&^9MX=9wxo9*WJ)u)OfylJFqV83KKI0ObNYb*4hhtu0QvC zCVTcYV{fQE=8k=n6G7_y+bLso*e9pi)MeG~kwqs61K`j>o_8iwQhSwLz^agfQyU%m#OemGb z1AL^AV23!c8shAGN4lTi51C$n#<`+$N+){0=}E$8iq4L0&$u~Kj;<9Jfnnc%uewKH zN$7<-f|sVPyGVPTrP(PTnJS#GW&n zFHp61R1DxSc;F8}XV?{@#`iT3H?OH-CkZWK%FRzD{OPj05_IE-~z!FQ)1VxW3`7C}rgo!+t2 zs$gn)H@d%GUX*umwo^>aH-HOiqg~Z?}%{TGWdS_Rk3Tg!QyB!By+x0P-8W+u+U8XdfB}fEN>497 zCS5&%Q1Rb~IC6R2#!=Pv>Em7zY?@zUJ0jLOEH=K|fi!r&`^C9{Kp(%qYC=vy zkDuuTTWfuO6y?hnMkK!n^lRzgp^6If4o5#eE>vhbNVuJI79}BmFNNc@1fQp5e@U=! zk3&V?Nftvmdq+)<(QVY_)&h$66i#N$1X=#(S=bQeKpynJ_!yPk_sBJiyiJ)$Q!tg~`ui()!cuP{{^;92WDW@8 zn3?%26LsJ_?nS{9{3;I!9K`^~-3@A-j+#x798oA^TCVS{8NM5Ea{bbC=NS+x@V=U< zVX!uI57XxOg>7KxnHqFGh{)8+J{q#P4aXCP;4<{DK~DQp@cNO;BUdV1wu)BIf_KYT zkd>q6?*LX@zdy!Lx|hUMjHiB3ls7A+yH}Jebg(S6esLtJ9+E~E9Wb=5nsop?9QNZS zgq9iTC4>X)z1b3Uw{#H=i42@3I)ouM8i8NFiXZ>9M+L&0vU1^<4?g$Dg z{kk2-H6>RSHzU?0VrJ$>(wRM92!FSXp^Hx#zo?ZtZV}t!Gd5|ST5RdMXAM*Zj1{`5 z|HlMvPS4cNvO8>iuKIpDN5(l0CvhoCLcboZB9+b>274u6`m#wBQ1nI%C!!BI`O6bh z*Z4p+c@c38=$)8Ii1KwfJ5kBHMA!oph(qrFVZiK6HCmTXJFR)5>?H zkokRZ<7@vJD~=Sn=_>6P?)Ec%7@}K;oExWx*Hz%lBde2z+j&lQo5hNgD@jG{V=2iU zz~!9)k`e+q2hSx3hklUvkts{~mnq71$E!P5h8Z7lH~qS&x}DsZz8a=i&bEFyyz1Be zXyRZ7{j!u-osN)^_?Kc@(l{)XVgTmX#Gz^fpVXh1MRE%kWA=GRYHMwqr`pvYA|EUi z**O~gP2$+SVni{P-f+wW;(tYKDf^Sq_~P;5q%5a`N?HP~ogOOb2}v`5+(t!qHhG?) z8kN*C-L3dmdBer;FMRl>t8q@uUvGAofDKO3u zp4|$L(l?mIXj*fMXvsS0Il2iNro7!vun^{sw-tT#I267Rh#U&L;>)&Ph@7!_CRO{s z?LCuJm4t?EV`(sQmX%=ys1?H>QQ47kHOG8|^ap_n(%wrK*~74#tSs;!EixB?X<;n# zpYyygm3fM4ba79XgN()^jd^_tWx`u=2fm8}ej*%=i_)B0$QOJ{OfHIKSHx zE$?A%860H*hS*~?1xh%b&?gRf=eb%K!sezkhu(+y*VWGdxw7Zs3Cg5{7_s#APp6gB zPK;Qn0xH?6k1;OxqU~Wz(Xv@~CXKYa8%dd;_HVzt5b9KcJR6IDlWBD;0r#h5jm~3f z+Fa^4K>zSOJbSLgnaZrCSkio)4b$J^UuxHRM&(V2J7-m|V3=&k9UOyYju^c_3R;}z zFO#s($xr!rxMhJ_P}nt6c&914|E^PzqPXp(jt|BNqet&4DMAO10_#@59(bgGbDq}< zV+CeqF6~j=YMA?lb4+!vY_sRx-d4Hy(486bIf06t=*1|Z^E#qk&3EBnhioz=z{+~3 z0>u@7PJb_g9L7j4&+4SnIPN{viqCm~TMj6STD2b>ugsy4c0zVrJnBW*0ktZtLXK6= zE)+d-&8Pf`c#>W8Bt1}666p1ndtq;O{!`I0d0i@5^el9@%L>_TH!OM3b9F)Hyv3fh z+_}o#($=6-X41x%>*`I8wX)i*inSg*$ZfNQCDf=B+>$qHh!K+i^13UMV`PVsrU%Uc zX#L#x;>qyQ=Jh%-r=7KW1H2*VHPdm}ZfDr<;0eCOx9R0WeOR9JM|4r2+)t1>sxn6*6+r((R zwDq@hV>uD{7mD!1vGpB)Gd6Y;o_}q2;|F9DUuXJ05VkXR^YAW!VXQ-&ul@eZxVuk_ z(wRTik$%s?*MTVwOIv(ZkD%xYWAmz@T4GcCg{$B5Cr&*bDK2L$_w})XGuqj-jl=b3 z)on%99WHWqRJ6+oIg9$2#OHNWj_@SO+^T&0&+9|_O@2HjOw-tnzCc_4-%s0ANk+eT zM^qU~!9pOgUmBwi*b0cHKD;EIPaMm8c$OnCTQ6s=pCtDFh5b)?@i*~w!?eMBZT|Ls zc~%h9_yH3EE-k9!`?U!CDw%3U!sLU(iFFWK30ILIRMAV}sQBJi-P&RFq}RiHH{BjR$VWJ`u7 zFZ7hy-nj;uk)lb-PksjTOjF_0)#O8`w(~ymngw9!1HDYfVUFF%SEnu4zd>yWQF8Uc zl%@+LS5xiFPx~+9ra2N|gJPVOFGZLtVH5)p@0d}-Tx%%ZOUp?bQm5dVP!Dt5_pm0D zb1-2a5rcF zFPDO-9Os9C)IhDF%1zNb0MivqfHwgOwe7(chY$%w1y2{9=^rP+wdf+1*D0r zDgl5(KX%>f{iYj#Waz~ENV>yb8EY)h%ndZR+KSZKHk($BmO(m#4Kmtv6S(?p3U6q8 zsQLkcpLt&?c~_wHO%`Hr@H1FX7s zmu+JG!CeXo>K%R5t)x!@!AzrsM#d>luTRumNoXl6HCWt)F?=gW15=O>r8bB8&mS_= zi6fg$qPVVR2!%=lqc7CpDs?HN;+;D$G2UliF3Zk2P(7ohsCw4QA0oZr-5YP0lW+Gx zsfN~E)*Ts_<0`M4da`K3k~Z*@RLhz(eaTB-u-86XCrl?~E!sWR`;P-_BluOrP6jPV zRTwjQ&1IlzOqe07BhN#orhT|jL+^#_2hOXmjUeuRJL*eFZ`9>`C1+;*UX+B%x)Tj~ znxNV+)a`c_5?LX%iTGki;TU3AcU;y|T{X+;sO83fGdE{_5lEqY@I7}9FN8&(@No*| zq3<+7!aJ%J@1TtX%v*gDPQx4}*d~uVq*TaUO|rA|EK4mT^M2*$pec|xiNAb8jw$dV z)y0$IFG>IoN3vdD9GceNIH6~8N>XHTD*{n?KtR<*_JekQLS>*-pd_b z2?oU#SiD&;AnQbDk85exKJVEN-%N88A|`IYeSDnSdO*ljT;x3H^+ysZ#-EpS#Q19z zDmi<^d%qK1$q0X=u4qf%u0IHwWpoP0^A|4r5|K%4?~vk}K?}{6;V{QU z_W-M%=J2r$nsVXbHuxg|RCkt|A4orTg!1mO8*W^>wuw-qU_+X@vre{h>9K6AKV!?6 zD~v#Ns)J(rph9g^4{h{blP?dCHsY zOg}p%r_TT}Hh7*B8@J|mOF|Z*i#L`RD%y!m#{Mi@E3e~5gT{rj&u3L9a1 zS6rK+d{WC%`VN>6Bv12HKwQp6N@E4(wJ~lj-;FNp%M3(#TEhy*ERQt){m@2O~4~gmRrFll1L2qnpEDB{N!`X?^g#uw%~j#HiC%~)k>>T zUwrFd7RoAZJv5OUdUW;XsuRgKSsG~EuW2=qhoRyt9^2E$Q&o3{QV$!<~pz`7CD zSe4DsAtT)Best&QgPXim8#z%HY0(yq4Xn2=ovikOm) z@neJiljG8a^#iJ!eT_`NqDGO$hL5zK9c&HIuyxj*d7F@M1O}I=r=TJ7ms-)*Tj!(F ztXS{TE%;PKO#K5YmVi;E&S_ihK6Q7w<8T8l(s%^GAw$%)+bs$c-JFNewF8@J^i-nN z-UQ1122h>f^QmCXa|!~xUyzaSd=g9=E=rVP>7ROVs-_ATiJ zCAACejcwp4nF)32#JOHzgn*_G5)W5s}Zf4xNUaW z-dCzGkR$2kcvHd*k-%0#d&^ff0OQfk@gnY`jDBB{q;$&l#sqBIy~`19`o)VU@NLg0H&vD4BESC?w+kIoNhHu z4ydz!M4RpN)$I|#+d<}eKWSCO9>?t;9?$yn{IdQ0s5=>*bN>Zb?`Q)*o}c{vVGb|`NHlSz zjBX2PTsMXH;|62->@V8i^)XBB$k?Byh(6qTOjRHO;Ece+^d3FH#D@C>EdW9P{N^4~ zWK><}`jhf^bDHk2teEN%&w?gJSsP1;o`MC$ZySYv8Shy}EEf~AaQSzJru$GZyy#fX zz$Gdy6BSOKof{iRj<@@klICXmnfaQKdTt>_+@09st~qGeOJ9vQ-^0()(Gw18jU@=I zJ@60fZ1vG^!8Ue&xf-0-z}wYh+9R_B?-cio3sYTzYyBH*g=@ZuTEkXFA=HCNwP0ju zQQg)QAXvq~2jRsu_ba3rq{bJK;4AMz_DwFjp8LA+8#~Q$4cS8dRh<##d-`#<1s1Ou zo1#+BSP0sIp!~HH-QPkCs?7-QjCYtg4k7P2dCNtLtXh!-YN#pf%>ohZS8BYRVcBHs zs0?G&-@Wxgv?qk515p|Zf~IciFJC~-HbEP8Lz@vbur-|n*dO0(o;>Fjbuj3|aax;V;12E?_LESRbVm!Wi)W|iR zmFwk%GwIUg{0NX{mm&Hp4rKXdC#E#FHWFyw$sWC{kMoQ`ceS%L&(?`x9;`-iUV;#* zew|P`(Yu;!jzsuE3;sGGb05(-Rf|YprBVY33q@(PpR}?@xK^G`-l=3xc#md@hm274@p!Gm zR^LOla^V(}(x_9m2aq&Q@4xg9!VF@TJ(HHhS8KQ;hmzP%DGoV2XowfM=3U9zp+~r* zV?^#zpt%I+iwWMq@m;>nm!miRuWCp89LFv7o7eGsXD-W1T`|tQxs~6+%G}&|ctbk{ zsShbR{BZu}yxT&tJhRMSlShmNqp+Hjk91}GzkTW+g&9`d^1Xhm(q{I!xrVV?HJpBP zl5kK@z6Z))N@Md&y)i=RaZV^6|b5Ad?)t=AGq!MHwm3UCd zwQxNfhwmm4JDuy&%g^~qPFfX=%YEzpdNgFGw;vzb7^Vkd8yLO#JdH zonc(_EnD^8(CVOocayDJ^46`Xs&&dyb@`}J54SX-eXY*8rACMA3iNn-HnM9CLd(Dk z%*ZLi>s=;*wrteri)t}K+qx9-!d4T&*a~8`V0VlDLe>Bj^{b@3JC@bAL$>6v!npH6 zUOW`(nW5LdFxJ1Kbwx+@5AuDHD*lcUL<_ruHZ^9@;|RV1g0ZZtdeK7f_>o!s|5;sClD zo-NKnhkQ$IlpDm)uvtph7{GuAt2{nImpWkrlDeumok{0F1xrTJOv_qxBpCU`35G9E zS_kcv_v-FCu|U`i$kvwUNYvQkp7~yIZ0wU->5Y7gI_+Xfx}ID~V2|@^*jd8%>)KoH zU;vwWK}@gsSRqUMEiTFeG;!PPmxrH->RJuy?*_Dc?oHDLy-U=Hlk~g$*P}#a5_9mvS&1*w1sQf2s(bM(>va5SyI`? z#+{M-Zb^5=&d169HvGMXvPpKLZdzw?x9>vnu<@VG6w#?j-tk?d%a2~^kH^00aZS4E z0nte-=K-eNBB`d-pHi1bD+${R9<_Bu>JhqEm=k>ZZw#+@+nf1|$FUu~9QWn$l)7TK zYvS-i`Az_!6Y`wfyCHq6PNabmAaLcAW?x3&tikK@7l>SaXcxf?9~qpFz#!9i^2v9W z=+9<-RqX};&%MCnco*D%LLcn^4f;9&co1b>U>|4Z%wKvyGpz%coLjsF_AP3i^X zTEBeIVGf@l>&w^b&~RysElBhbMT;IWs)@h67&9pa`(aUTy#LE=yH}R4Un-wJV>0~@ zdGzQQei(dR9|9gf&KxyuLiWJ?{4{fTGJ#mr_xXlca^Ts;3ot!cPF*5a@iN!IGvcRV zeAp5Hb@ZCBOe{PPcMQxSrdsshpyza<(&w~LW)3_+%S%2d}C%aSNOoXh|D z_fJ1gLTwtR9Y4O;n7_`pc8UEQonv}5c_HBlSrY_3;wj|AH1^L-ie>YF$6S@SZ?*u& zSvy%}{uBG2vsVD$N2aU)%loJI(38&qt3XX%2YXq7vF$GdcOR%lPo5-?n72n16{rA} ze4(A~pLlV5TqS~5pE5LqtQOr3dNEHWzJt)hW=pngQKRy@Dg6YxiotB60Uqlm#yh)e zpK!42t}DF=+0Zu>%k!SYb#ZoF@=t`3#1(-bV+YJpGxKzh=biy}w8SA~kX$ct&pBfU=2hE{***%-@f$a5+J|Ar_Oi{s`@+JdBxxwm&_MbJw5nH2=JMGxY#OT@;N^tPcO$x?WvYk(?bKj* zMCA`Fc&8u*_qcNIdXjOM*Xe_48+AqqUUfDIFUcNNKD6FT$Ri4RxkFWpD+BgtR_qBw zPBT~D{V6eNOi6klM=Dn@H;sw|eM_j^0}@nwPBT{L$CVFo({h|Ft-j=yOxn3tj8NGd zL3ZXZ9bAD0S2-Pu(B7lsMp~b=D@Dz+FO^AQ1`I2e19v*z*ABpy>#m)v|Jq}fUSU3i z%RyC(Fr6z$pHfb7mV~#&1YP7DVivBl7WT31eUq&GA2_@7C5ctcOqe_JRjX4({NJ=U zrCQqc%Gebm>lYe|d^ud~YAn}(nETj|bS}pVh(kjNFZh;DYl#(mcsZWOmZ{P7LRT$< z4<@zpVt{~9rW$TF88^5Di#EvAu2m{)_JNUG;%Hgp+N3Fd7a@1o-pWiuT5D&Ut9KRx z!QYkw^+0DqYCZrBGK6qJhagT*#8f!MFH|E8-8_d-rcp{UH7e?A1 z$*XV`A#M3F_;*`C>&%6=Nj2_|>}oax%cPo(I%#RIv6PpIIA=$72Cr?Un0C9WOPn<9 zXuj~c(X1WG>YSgDurnRmFZHFmqNsw_RXlUsJ3CssR-BBEhgxhsxULnsc=J=+O)l*L zx6DV{Qk&BiDcWvdIn($TJnce*-wn)Ll9+1P$T&@mhZCPAS|>gE=|wlReCuYhV?w~K zk8+(*d@$?;mE?bvD{cXr7hjukoSspaiP|tfpcAMI9HH$VAxVI|*l(fUo~Oa;g#>Kv z)lpGPM8dc537kfxz0`}VClCOD#8>3z0tEM6Pz;WN>fEKbFvGYxPPn?PIiRkdrEBek z=R7Xoe(&dj6IZ#@TE3Mof+R#@pN@3I%@?syWS0}}BrEP%p(kUghn&4G2Y1_he%v_u zPoFxBOVYbF_RLKH4r$5=Yoqu9?s(-cg9nRBj;Ho91mPq+(Z=~x3DBQb)mFGD^Fp|d zWugV6VV;5w5i!QATSV8ru7b?@v@u(b27^mtXNypBhiWhQ$;=1`4(dkXT(HS1s|EBz@;dT+Ce>gjmFKB8t;8;%>hU6o)T z-7Xa8gW4P|vCKJOO-cugdE|6yvf{&!VDj7|9{`?>Td|u zRS;yF{RZ%0n;<D-BGekXryYwPSJ{wQ`%x1WxNL$Sh$p=}kr86mc=)dPw zm|s<;OJx_~XBVIOfIrW;x!HMhZy!=aHs64+mro(8qlech0fouUVmD4RP<{pv*D;DC zzBmh?#gDh+Sia+q(F5=NvqRn^i=4V23-rOnXV#|>0oh{Ku%;U6JH4rDz$z}$aSQ*k zCO@P+)WEUlhpZaXS)RlaLYzPEU*_+(-;D}Q`F`IW+dt2}sgRUB-h0tth|5IfB!WIK z5`;pOUz+4DhgCAKsTM^q{Jwc+IO!Mm$ZyOHjvuUn`o{-z7i||Jrz5{3nLSqHlvy~< zNTzb7{!|I@lc8%621EsefgR9B&mDl|L>GIE;Bb=dHU;RE8(Zq%6VvE&Vkg&L#F9-n zXU863W?&fB%*$IR(1|<}VWWwO<2jpTd(WxQRB^{NvS3T`6d>(CCyXW7=b9wCYp>qj zu=V*KC>A*dniV;o<}%tM?j{>1XBO$2OknLsVni~UN$f357q42H(vsBd>a6IdMtG@? zVm9&`SI?*IkQj+iI?GwY*G`~kR?m?ITVHcOh}25)0CkY$)kt#O!89H<*~U+!d1l?z z_Jqm2SUG1{Jc}};NaeG9`);wtZ_+=4Z0;HwdcNd^28IQOK4is_o4^=+Kj_V^a6^j= zwW`}PLx>?f1ktZxHRKR$8**ie%c&VUFjLYep=2!yrjdh9F%Lo8TNJN+L|QKxB*N6^ zX6w~nx}?@wm{E!*E(g%@NbEG0$R?2-kVnQiCXUfS&s+R5ZIFF z;6q47;ofFFg5tFU`49|X2H^Hp4>OD~L1O1pHjTvwbD^36#+3}*JM&f9ya-F~QNL==5`ot_CUc>zG)8Wwd&EEUTM(aJO*VmH-AH8Z4P@gyX5s~gN`bOoi4-+EPLp>PZ(U=;_BR9Fpe6#=>0c7(lsFtB|JTb5%3s zKJj`Abj?%zCTT_dh!EBeF5QfO=9>|~3m%q*vF2$~0oHF~u|6z3H4{BXa=??e;HKFF z_{aPLqmt+g+Im27HnlqloZQZG_^fsF9=u!|=c*73-*{IQX<{Whn8ukc>=#4oa{3*y zt~uQDulr$)XUYj>Xr_?Lo+0(TAbkgbb!21xU2KqXyCYX3gR=uX+Q_%8YNk;en(Jeq z+845=a_V>f$IvrIzhqFh{q>1QT1;yO8sC%?KHx~a|MjRB4()6@k8s;IXr3TE4E#U{ z`09zTXKu!b@gvXa+05==;qX+knc3VB^Ll@9d%+K$pAf=(EW%OT7BCOId5OEKpRN!B zrBD_*qt`ahD^h(8gd044JO7zWI&(0OLqjS}ER6)VQV{}97vt6DOjo?fSQs8k$1fZ1 z?Of%cTv#WpHga--+t*j@u53g5mn++B6tm)z)Oz|^`r54=FAx4Vv;LW=2Z<{+h)$(L zg@fFu&Z<EpnRZl6c%-&{= z?(~7gZ^5CK2!v2+4Qmd6w5G3?Dl4kFzS5E!7rSF~hx)$v`y`$kSHqfr&Vb8(NBJ~f zLsx93Q=27EFw2OnOLf=KZN)bA}JeHKvjV>Lr?l8o$H68UtWYT{+dRdawN6n8sKcJMT>9-Rr}hk=1sr$eK5jO#&g~ z&8u8V2=xvA%8p>$lEx6*)sX{uBhvq*`}$a-x{aG}zO6wH(XFz>JNpzj^(gW#@jTr2 zMJIoM)DJSXjVgwN^&&I1w~1f0LZzMJz{l*sJDE&Fmz=Brl%WU=$s#eO%EA{0=N8}a zusIIZ!m%2Hn~Z?^)}8W`9^R?0`n=r|tiH0f|0ksIU->zlfZ2`W%A5VqJw=eGrfwGhq2{_N`urJ&vv^e?EPu`-Z z`|H3}?D40()l*k+hyQ~Vh!+#T+aGiMu_YX7>sl+PdzMvA|JBPB^zhG96Nr`y z56p9aQ+Fvi%@v=V#rgC7W&i$)>HI%P;cv_C&y#5lQrY#jZykDiq%b+OB%{D*v4~jt zSJU+Qv^wQ0%+lb^6u>siHfpJ_{GM}+)i*aM{_+0x-)cY7gh~0}npYcQ`8r^Pu;(lv zLv5^#7=&inbf_Z(4LB_|#teoT< zGuAt9u6YQ!eNAl}?OHCwbsj?uW);cQMjU1>*xWt_Y5^L35Q4x5JS+PHoYAwB+=x$twIBf2Cg7dX+&mKCltXjh}4CljcUHADHKpQ2wBoY--ynjyuAV(JCGDsoA7 z-OO%#=69o2lDhT$`fiXqrub-gP)6@ST6J8RxR&aBo6a21AF z`f(S@R7gD~6siF8-0d4vd?h2MKyDixDBXcOp}3cpR3zsxxyki_?h0`+X%KdS+$yb4 zPA{z+Z7FS6Q?Cz;^fI_1PO8x9AOa)_2j-M6Qn^t{_Vz+g+MeMjslrWMEnHhFH_4jT zKkQ|)Qnq4B=}R~n8>{$5O$K2)>d8yanH+wZC^a6c;?mx0da;$?E3izbeO&qJeMnth zj=wj%-}MNyuMgvEzZ=%wirCqHBH4HmK)J&s;D{bc#uVh(!f=l z?25N@y5o5qvC~2!py`fQlzV<-g=kyZKf*OA$j^O9!)|##3Lml1 zfY8Z8;l%HY+az{?ZbF9Y?o<=d$~G%`y&Q9p*Vofi5$#B+yd5B`q=ZOZ6b# zS!0HfSecp^ahfQYU8{PV+3mT2pk9;kdfl|F_Ih0#v9t-a{h8`_g#=wJcxjrswPryC zt$G;Ib7JIhVFB_Ns|rntZMu+3bd3&Sa2etL7TlrL+IV~mt?Sm)%(B-vz3IRY)z1#R zra@GB;y>vA)yh6u04+boSGnOIe!nHN*)e)JfSkTAre@}$5_W9fw202NEAhaHrHllQ zZ|3>hfn?rhbj?@qNBXpUrm22AaF7_|?w=ew1I&2;+MV$`zn;*;<2rDq2#RaM zmJj>A9G7od87&l7^Sx~&(3yrf;1P;W=9hq1!*I@y8fROzUifq|yl5cx$DAfSFMTjy z^4sR%nEfy2Xq?n&F1W8p2Q`Z{?kPMuPkjG%i^`U*3@$h8@g}al<+lU{P4FPO_Ov*fUMY&BlPw9G_V-w!C^`WFm5dE zWxh}NaAv&b_XDjXE#S_Q;uCHrOds5S#yayW@+d~nhB5*#YK^lpEFZDHrC5MjfHT5P zglAV?B_3B?Cgn+JuJOzEM&z3@WU;U%sA`hj>}$AbHEUd!WmMTts?wZLb%UJ zCs62~pqCMZGn^g?wL7q9*5#)kObwBdEP!P%=A}u>CFT@y{_)HzLOdu3gJZRh=hX{# zYKC~SvB8XfrwYN)7Jo7^qPBgs=*`@!Dhr+!SHXl8Do|M0@EG$1UNe)N9$u2;r*T-L zwT>UgTLd~AQByZkquZ9+e`OlBy5f-UFVkepppK+nuBa(Ot|EP3rfdq7DlW^DGZ8m3 z{e}Es5eCa1GC4_=LzPw+9QO>PE~FD^u3o6o_cXl0MoM9kDL+DBGUj?Ke6vvHQ~hYF zdy~b_Lir;0%<*{B$++{TB%s~Lbaz5$m!nF+?Rk5>_2GHvAL*|0Ua|EWRaN{FBsY#; zj3wRJ`!L~3d6r$01c7**YL0JQ9;+Bxtzt6q5M!II_ui!VCGsqe)JF1ySM zfv^2iueQ}Elj|=wH9CwhWhJD*Pv(G%%`N5e73`4on)J$E3XH|lOanScFSmAFM=+>u&*cE-)P*<$4BZp>+VvF<-fH#Pgy_OeK5P9SM5is)@mpaJJibHEy)W&qj%N+Z1)|TB=Sab9vgP;GVft zFw9v(ym+k&vMjl>qUS*GnqoyoqJ$-OpmE=`|7>jceu9~-)s8+w~i7^Ob-)GDTh~2f&RcW;Ad9pnm)+ zby)^tx=2tSaIsf@6Yk}&h7eyqe~B2(t-tj6OBB1BTfmnOD|i;OtAt{TrjO^hlPt4; zlax}@Uh;OD{h9pbQ07h$$b6IYifs(HxT8$^F?VK?JOU=@1>RB@TU{rloVP$H6z;~T zsqozsMv9M7QbJ!CO8A6k7p3MW*u(Os>qJUOCEZ8pwbXU2$DRpCRNqLpa%*M9nJoKe z6$8QRn*N*)B9-7x%p6!r%?fZ>)b%SWhXhP8Y1)1B?-a60`@|P&rz2O2y(#=<=@A0Q z)-Jy?j@Oqie;O~nRWX8N@6Cmt51p5%16aa8LdACA=*^3*-OnC9=HOl&9SrloDZY++ z2XR?vMAACy=CA+yFR$t5gZttFDpta?ecyX;J$G0rRxQ>X#SHGvut5&b;!b&6u%_a5=rgtb7B&rg^?8+PMXQ=#jqJjH)>drZpL3|3 zI2QFhcXQ(DB{^|o&PW?B3B8f2pu*KmnhY*vYt@+;A>simTsh)BmCLs_sffZNxS9Ht zvpOv9>CIy^Z=z$ z*$UTGeUMfoM_q$5xC9!l<2{~h-xWDy;L;?8O9r&96f8z^V?HPhpi{>`99&l!by>{r zatHmOb=&dMGU6n#TRsrfQ_IOs+-y}ipGXyUzElWvt6phiz>YH;Tf|Kt5}FhZWmfqK z)>p#m2?T_CR0Th~A0n%<9o}quJA|H~fautHqzV9>qq-QN~eSr9{;c z<&nb@ncc8ix82j(gE^k9NN113ISgLkvaEYp-H0IbOCup~_0AOEvk|vYTd{cpeXoUC zt~x@avk={1MZOUU<~(IswDF@vg4CNG8K97?a=;&a*k>`LQKMvn1)Xv>;>OR6H3bb} zau(&`hDGNGEiTBv%zkAMJWN1bkSbcv%Q*#N0rSyK*OYQ*TvW&#M906adf$_XS`61) zxJ#NmhzQ3+x)nVjl^%!uC0<4~O3*1=5q427gSchWmU4G&MgHA z#oBQe!WoBN6#_$qk_+|fBT0C^E2+BKFWQm_=N6D<+zO5mb5K!qMtHNv3l z(b#8`;1HHYB`jQZU7)dPSQIO9U3F(NX>5*0Qd%kUZgq8V;SMu8aD|zG1|$bZqxQ;! z^sh*z17Sh#k;Nd2o-0WrMr24a31bA44^Re#oKKvG)=Pn{QeDr&7nVb2UqfqlOzHIt zubVtGg8Fk2k}iMJQ)rakYs%SND??B;IbJ~bR6}MTatemXBKatV$QCYP&WRluhVDQz zvBF#6Ua*G9POy>`s0)dReQ{a`_JOdQgUzalCN%ZB9XCToaEr$_DFP#_aLUA67{%KR zgvJXY?Mz21MS$m=5h4x&t;3UU8qyY=`(qyDkhbH1j>H7v0UPj?#i4#u7Yna*^uG{Z z!(b3AF}mvvW`Lfh79)TTPON020Yy23se#AI(u!kovO9wG;AV6F>O@xpQ3#g((=Viw zbjS(a_Y`--Ol5knrIY~%X{-R-7*G##!Ug}L`WDZErb6CXuNhRV`b7`aSFk*V#H3Cb zO8EaU_KrciM8US;Y1@5Tr)}HjY1_7K+qP}nwr$%szs8(-Z(`=&_wKy75&5HbRn(7) z6`8v-cjj7x&2v3x6tNoyMcgmZVFi0-Y(R;A=O`#bHjPy`~myX0f zNveA8cTIker1X5^{Z24B3ea(oQp#g^!fbI7PwgbZ>1FAtbwSF45)|n?S_R5i1Su*a z3OSFN>hfhEjlig-^>WaP=5rDR)GQ6Pvr8jASpgBKpc71qa?pI11_&Qg@iBi zPmE09?JMDh+sRp!Tp(18lJ6^F&%;fh@Hwi8PN-R&dn?dkTp6m(3; z$=CF70`Zz>t^5G!FElgV{9XFZIAK5GJ|~dj_YhRr2q=mKO-Eok;N$cD4{akWP=()~ zYO%rt)EVMnAB^z^5y7~nS~E>{@ArH32!RGMluO`-{PGQq!KfC8*r&)~5smRVDu3NlZyY$rxukWXk=zP7}v^{M-I@Rd2yV*7G=bMw4 zc<8z{HZ!SgbTlaj0E_!&$<;8rx#RZ(+e-Ax;ni5$kI`84*%Z^uR51u}rXZ+(R8rLN zzZQ&PBNbg9pKnY~UJV^Ok3fz1*XsvRe^?{l8|B41i{-~+mOfx5a(1d_a_Cm+&}Dml z8r*o9i|1^pe*{vWRb9zDx}>1OPMh!Y{1xJO`$>_1g3Vbuu! zO{8UiSDX(HLtb~{M*VFZ$hA{-;_(mPOoq9s zcnOzTo0J3Qt9N}7i!J-pBr(Gy_ZxI3IkPd9u=a%PyT&>kaQ1|hq{T#+m1j@X z$O78LcYMX*->OqXy+JrINBxVG83x$h^zr-Gmc*Y(kGA!rR%{`d#Z`KD!@k!lh5FRl z+ZTp0U~O~#3dbQ|)3Wag@SJZIy25!~>_;)P z>P@KY6a1@fQ9da;oWIL}p{5pGdMGP7Ppm(^_ATxuwsI1LrsoYq$vu{OmMx~&pE7j0 z!tE+OZ{fihCxxm999ajpgh=R2E0O06S$=TU&DF_!PX1cpI62WX5;?_V(6u^Kgo4=8 zfpYXNBe$!)pEkqxC%CcdgfWHEEmj;Ywi>3=%Ak254`wr6=^>^@mM+`}X`wOvb?A-- zU;;wTfrZwEZ41K9qeb{_CEd4<+Cvq)%*8zwn}E={OEE2V$!UWU0q{?j$WC`)_M~9oXHRpZ(vaFoD^aPPTiz28P_$B z?CZ|z^XbM{)&G^wx`<$DXGs6e@ULB)n)F_3;1S4@m1btLD(fiNH>|f9?%LP!<-_3t z7t@n8g-|mquB+DAq(>$HuhrHkQgyyfV^;^awodx^V`kQbc2tPGvg7D0}quqRWMzlC2?={ z%2k*>Fo%6o;4HOXwYS%-$Bu->>_U`8NY3xBLc^nid`PT*$+|1c=we?Q|C*2IEfAB5ULy zA9o)>0?ECZJj}r*Q}D}_jjXJ`DxXH+Y!!LU#4l$XNa){epz~?Py`IG8vylz*$ayo? zpzIhHxPO0@NeapRGU0-#$D{Ipg``3B;6;Kio76+eqYaey>tKciGfM#{_^222iJde4 z8Iu)+&s7)F1!z4{7m%HMq9vAwHJe_0lL*Zo0C*AziL<4Mhk4ud5z9^OeMlTPa?=0l7@l z#G=ND1%htBUHX5~tE4Z3eJ=kE-eOU`Lo48!lMppJ-{Yj0^z&reoJ2#6N$`&S6M=9{;bT_x=7R*pWWXUI4s zbG;C{ZD@(6oUR2-_%Pr1du>cImlp|c$EB;PYHgoY%o=^MQJ_(S@d+1CBa>MDpA+r+ z0V-%$zw?G+4o9OD3KTa?D2TKK{1<$bPA(dVkN|9(hm=*X2IX*)Et}|RSF7XcGj>E* z)kAouqCu(Mm5DE@-&})R_u@`lx>u&0oL7FmF2y^>8dpIG&qpcXkpm`aE=DFjvOj?;A@}q7UhYavs z0g>ubjT4kax(@AR>t3jbHxKX5f_9c=>W5&y5l=r)IdV=)$=aHlbh$FoJ|^sN#p}tk z^{)Uh1G91^1vnGCT)Gv2;rk0`(sO)dN>@1$2eO*yXBbXTB(gH8%t;Tla~>tq^(VB5 z!!iveyliXrI!(2>>nxUnnXV+2gshL-Z~@$fjuTs{179;y7#tR-DwLL{!#7T7MI-bz z951vl@Eoe}^vXt3V{4yY-Cf$dE4tq+i;mq$ZCbiCe7$NqT56Ru8vT5(CNwT9tOrrZ z_4nfRpjik=+U_bm#Ic)Y;(=qe?#DNA$*KB>BnR;d1GC5(jG|n z&&Q`9JhXki$MtX|H&RKOQyAsR_7 z*pM`(iL>14A?nCF8A82XrpoD7bG3H1YFcA{UXEN~t_~`fxiBgUhuxujaO=`kj!W!8 zu&PPecbet5?1x4s80(d80(5_7T&iLf=|h{1=&$86+z^tFQ0}lmT!e1RWIUA+d|(y1 zLOcPp-!Qtt!OH)863N2)AF7}KzeywqJ?sA|iDYMI_>Z;GZcWKp>`}O$Q`IE~4$ulh zb-F%8Jz_C-<3rybynWXkrerZ|^bE&d!n+3C%{!KX)D;9|AsJ-bTu?1`{)# zX=7l5=#8!zZ=Ucm3P-YbP)xoBR60G0m2&S)9eah`aaw-(u14r}XuRaK!f}$z!AWmY z_q0b7rV@7f5pTfo+>>EoIDV;2N52GSgdvoUr5xgbFDcgrPA=Cn11wQ${8+d-NwGyYU6(xl^ z|5I(&x!IpghLfTugh-NHH#WkcKus;5;8{Kf^@4iK$x?#{O{LP6C9rP_!+YI>zB^<< zQzd^mygCrHq8(*oyaM&A6!!m}oP|OEM+N$j__l)1LDZhbj@Ibi2rps=`U)#XN#uYl z&bAo;=kO;kx_{5Y=n>enzM=LFwu6!u@+yrIGZ{m98kV)Lnx!!zXz#*=N3NJXs|)@9Wu(xj|>ol*}la+4f~kV2AzDOsB| zDX2^_af&05B!?H_=ov8E{1Y$b)|r znm{6M5U!~sX;km?rP^E)M~4k!OCj*L?B z@0Nwp;K0TjO;w=v2~kQca{5^?*-#AmdW1qCgIKjnIlf+OzS6%5V#Q>lqcv!dNBMYw zaD)?n(p1bJX%&tQ&V(f`R2gw(Fc}v*CkoLh1@Ai#-8hG;(w+laZ53abX0YB|KY zjp!5!vk3sNp{l!SHd~*!^T}S^9(OM{ucs~fwAnYN?akb~O^}~^lr2o}j>BGy(}L_n zz&c{?cn#0RbCm6_*W|;``$;XH@7vqSY%iU!8{lQywKW%)*K6IQ%XPQ+{bq5{_f0Z^ z&UW{^CUo$ENQe*(;&XJducRTEqJpj26`De*lr>_b_w(tz(JVT1rFYjx_u=JO7SGp& z-wofeg(Ken?P!t@_Zwh*c`!Q=73+b${wKbEq|C1M*1>k+5%oD%GT~2vyTdDc1g3$3 z>BMy~gr-@RM{P*U;Kog?$2XzM`VFDs)v2p z1vdX=7fCm6p9uP{X`8nXfO2e;V=Tp7vIqD`xt%%JUShJPxC^)M^1+< zPeu9+Sdzg|2X|2BeyK*~AuD8YH+;6mGU8cW%ULobWnwn!4Q!5bb zSgwB#U?85n8(FECGzrcoq-dIwF{M&W%8iRT&9RgIz}DY`ZDg1rei(z$=^_L&z9qeKDv#(v7*}Zu3o8i0fP9TjzNddq-ht0KTlqi;`sNaPg;+Y$&XEp z^0=oHnie(3$2PfCvW~|z+bdApBS!8mwsmpRCm@KM?G845M_)Q~o-ec=+LkM$>rtCM zc+cy95>7*ypQvhyM?zpBPg_~?rr^q|ftXYz;T(r|vAnYVb2&euU_>=%gHdK@oHRor z1Jf^|EQ3QbqS;t2SX(h!QlXf1-`p3f4Nga+=W(xZXIRGquD{ZA|H(!q;M#Isk5y*> z_0?L^wN9NHljaOf`H1)i`1?fuY1UgHOf%Cvdi(}$0P}AMe}ERrANw8yJ`4aw?pu47}ezl3A0r8#JL1=)J@i9B2v)F>ygNVj#UH{^Yt zQPgZ=3t4GWYr8$w{c3XS?2_$7?Nx zq)EfJxVm*~=}%Cw2aIliuHGFm+U)V{2nvqCB(l*h<9R*D?w7|eTT|?%Sh&{fH9wl% zqSM{mR>0qut$NjOR*xnw`J}gzOz8_Q_dP)9ES~ST)9c;(IT7FI?Jh#q$!O?cGXKk4 zDBb7R<8;Z#cBU<#*W26i;|qXo*{9HZn8K0ESg;hF9WGmI%TPVU06^H^@0kjBG3@L6y zzyhKiNB%mDlB6Q3Orby`{C{3Bqi2O=6;|U>l9VSEDLA#xpCgE6ed`UM(}`&*P;^{5 zcO;%am4eFbUT}H$-#p>8EVd40qhBANJ?bp2c0{AUHg87vSUY|2&Yowol-{;+8ox-G z5*XGiuC#Q1ozHsuXBjjh{=6*mh-yEo2*kUKG6@_rI|nhTJtL>wAWlBAbu^wi#m+9v z2ds2Zwn)l7iTYoRh?23tb&+$t(OO{0%wx6a(L!_n9=D|tr5vPog3O+n8-~A^!(5Pa zQb)_?ntw`e^4p=()Bv>&DzSRCd9cGiQL4}Tqw7(r#l1*~Ap~AHriYCgMI312aSNQ* zf$u`=w*z)g?5Jqng=L2!R-~-F2EmwH5#m2&OjXxffL&0n6lm|5m;bxT3hY^Bsj{3{ z?GbyuDCgEBa;=#`Hx#fT$M{z&J zbjFd4sb|Hl+qAL$S%Z3S-d1PTCAt$@2|QM}8Q}ULz${x1YyKIr+HnG9-d>$qJ0ivu zWEzdn@+%t}0Jjhku~7~w$y`vScdoanRX0wvmV{>2v~h>VrCOz%r0<`i?myCFoKnMo zxE?(@N3u*8d7~{DdS;=b)K~ytT{fw*v=iY7rT7Xq(Ibc%Px6MTKH^jk?IoIWf9A1g z9eijVez+*7tgf;w??Wy5iTXzYav4pn1Kc|&mlk=!BBc%a9QN2R94DH!ST*N}4Z9D{6tqA_kn&16BR zvcNzkCWO@pgyz{`PgE#rA1m#EomS9!TUv(=%vW1l3>KK?2#7|*L72PWXG2AddyMb6 zJxEIm1QvM8K?U>$i06XeHJG0@xSz9Y-Sw}q!g{a+E30{%xw4q;HHS|S#2%w$0|1oX zBGgd6P@=BNItMd=gp{$?ykjHrtKANy&?D+hv)0gUTeZ5jcxfz}t z-n!8-SXOZVXaT)H5ORld#yZOCofJH|u=1}oDw~GSE#nu~smq(JmD7x8qH=begHLjG zx%x4_2X=w_yC*pJ1Rfu^PyeT9gar*Bs)xWXS{{aYOs-AuJLs( zg`lkN{?d&hPuW=J(0a__1XHB-3$}qmY~eV37pIcUsM#qZu8;5cj@~`Ylyt(q)E!i{ zhoUcR>{)7dob}vD+p^TfTGQ-ix1w_|uX8$X_^d$KH!1s0tyN37rmBX|RScUnLRc#p z`~PsUxO#hL(fzkLHlEjxUT*ZVb{Nju^pN7GOewIJ#S7-h{hc;^NhZ7WAVNQ`>o+9l9@#xJ@Q+s z(Z2Yln#lQZ;vVJvkJKQ#PdRPm&B#9`_Bl4QLZFOev)eIx1Pc06<>dDS;6}bkX3efg zGYB|IHD!6PQUhy*3f4f@4e}^+-$sl6W+3}P%@BW@#6A-Q9+?X}+(O!ox!}Qk7*nBD zevxaXtlzdm=>P7pI^}oQ3waucI)5s(*9e~NY#bkw^|BcWp|8)0usX%#9b>#RE3R8( z#NRqv-3I?aFxg$?{_n{+8{>bA`h$su`9G%H+6mhhf%K@Ox84z2F7&2R)z$(*DrBfH z@+N>^Sh3mkg+osRt+^bdE`>luy^qg);xVb%3xO7}k1-vI92hEW6$|uEsxM}JbXRD7vVx7*2gKL9c>=+4oMy<{!u1Q|(* z$+?LrR)Q$NcS#t9j^g`erG~L6db`nw5L5 z$00syT5q4f+;G|({wtjRTg~=N%>Ro&Sz89uBaZF@C>|UFITDq$VF;@@1=dg+y?G3{ zx$;L47yWmAG8}QF!uDO;Lw`unjf{0FW)k+cVH>MjCG_7gL{;&`4fhSh~LsGqgSMkPUEPryDq7GiD_&^@fmR23pawu}Sy8gdB@xc>L-Vu&3+f7A)Q4l=PUBOw!~_;;41_ zuh98#Nvblj{wEq~?S%i~MIry9UAI;K%5xG(SezMXKADAs_CGHosG01bczapKOcVr5 zw%ywO`a3HAz?@pGKNET*0u;hhUBv?Xr3|C@J4@5N9k)_bA8nxWOv0FB+_HRU0zS4wd%bevDH#Q!aFx5=5NzlPn>^s9uwn-oZSPY^7 zlwytWJqd;a-A&l2)orW#J0oxP5d?FNmR8h3h_a+PbK01h?>+t)Y8C(#iYUVL*)`L3og^3?X_2= z`&(;g%xEdk9;WYIO|qH!jv82|I4*Qh_0$$8GzRB(n|`VE7bmA&)_43iA^41_QA$bd zNxdk%^5b}M|HZS`yE@}zNu_-;KjUEzzKMa`Ui0R|SmJ(^wRx&|^0z7^WI?tN_=F}4 zFT$RF?zrJx9a}SsLszl2|1946#aXw1&rcdJV;{M`qUy>-J`&OMbc)QUJB|TK$k%aQJPLIrgt~Qaj0LFUrIZB9 zP~87EET{MaRl*06BAa=nnu;5~eXvUEs{;k}iX(tgQGk!w--xVjSk?H) z`e!t-B}d%lt|!3Eu=J(*o*R>0^5c>w)azuS2aD-G03xfc>c9Mb_-}PJhyJ2_yvxG>U~5P3w%uh%^EbN^nfm;!i-ZJ8>u>=J_8$^llUx zMpzo|2yfLtNW-m{OG{LCdxy1q%?g;H zfN#;d&{g%mt{Q;CGgH4?L%O=r=*Er)5ra)Tcqf9RPG=N%nnfF;yST~>pG=^-&IFb@ z9ym2zlGVeFuj#uPs~VS$^{CFlnhda7IRMEMX7_P9X`pqCWv@!=EN?ftg)NbNYlI)5dYqPGT$ki)6UMu!!=8W zu=M#-T?~Lk_@b|L`+|t{9r-Ur0ofS;!=cRo!N*wsm&o`(_AS3&0M$eNzkRDLJCLxd zC7>>qaT71^egn!9mf>r!H+N^@egI=H7(4Xi3e zv66>CeUXw4rDwUFQ75ij^`wv!1m?4~r6n2Xvum;D)fLdN@RjIz5%0K<_tLJ`03MUn zfCo#@;aE=*y3^l2HyTr|f@|2ns+RBSq8GVZQn|060ce6-Q^{RBh)ZTy)QNicXEGaY zOD$>3!WUg;nah;$uYQ8+`i&<#q4LhIfZ*i#%9mgDQPx8hIe*EJ;h0_|hB*(DKpYV! zDDY1VM3`e9jY5Y=B+E=lIG*8sDmhg(mhT#SP*@lo6H{0fkD9bhEee&isiue$6*K-J zfv`}Wsz|&c^00FI$vveJEj-Bel<2q#eH<*uKM5*9i_kbxrRU_}XQqTHm-A$W{=(qe z&2dd-4Q27U8OtWyl#|JL{}BfJqvP_wh=)uJ{~uw_|Lm${z-MD(U}640otQDOvi~P0 zfU0h&tl!J&Y+A~$<(*Euo}B>N?%F4rMd@2+&B814CPJ}7nlitDzh^PX{ZnJ9kkH~m z>1~-&-w9>&M}N|V!wZ7}8aDp|Dcdyk;G~ms>mMT~A)S84$j< z6ia24vyVAueW*7Zs>+%tAJna>R9aemtxxB-l^)ppKO$Ro)z7aYv-H(nD86oXnywRO zL4PhRd7c2+0kb*|?=jMnd^_?+>NAZg&oj%ZHeGgu5NtkQLX#hge5<`l&;dWVYcjpH zCA*5WUsK7dzCZh)eDk-p^FpOMJ$4+(+z*mzx%9n+wU%{zhjYW)mwadmTS8X z24<~3-|(`mpFC5Ijcqnr8|*imZF8!MRw;^3`SjkeAg)1F{Bn9{)rDNC7kgj8R63va z$LtG$au4TzzFakDHbGR587Dt&^>)_(iH24_5RJa;k_E0b_QYNp6&r6)tX`qa9IB9f znX1392wIl2Y-(6NtE*~ERs&fUH;4FWi?14xc~)b0?n18*sx0y94`*pnNw|*CTp~?o zbX*}(ao3&TSpi1+MXwS&@#<-5JeQy~dz{gmxDD17si@Gca(w4>WcjknmFAR0(rhh` z2LgLGf=z47F{`#z+ik}~ypv(5=(_C&1$?VNi(&q}!nLU2HmTICOa0_DmR#ul=!J*c zU}Ikux_oZM=x(gDiP2aw&{)NzmHEe(E9hM`Oa%6H__LT+bF^9djQ4-P2a+f&C&R$= zGSr>yp*%`ffJ2n4%y}w)08}$!rnx$wX8K751ve%pSReqB@EU=Dm-E_;ionj7YpQk8 zU40)u10II_z7|rnr%d1rD4TiJ&OId0RX?o_WkuxyFcxJN<)@s$$Mg05@=28%b$(k7 zmNf(QVdj&RNA_sH*pa-oik6HjuobYC;+5qU>6O)L&nlr6gzD3(pSo`|Z!6O)%Fg+l zM)Xb7b@cUAwOAel-Hng1?)K!7L-u_rkI=&>NZ`=Bt;5i2L^xd=o$shYm8n5sB`l&S z3k90jHGK^U^6}z?H-;Qon3XxcYLeK6DvAsyGiYpDyDBY;yb1x2q@Ofi+EaEmoF<1O z0)jvu1Cb*j4i!0{;4+gdwaur1iZ05{YF8$k60$|bT|-wV=O$NI=M|RC^cN+@H7nQW zr6NuRr7ZCkrPa>s^B9+ot>yLkob&R^av74z?3|mJ7sgHvALpi5BhCwx&1{xs0XD_y z=LMW{y^=`iEf0$dNy=9%hH@wr|A_`;tu1ZuMb4e zc6GdK-pEEG)AjwUQ`Q5im$x*jn&Rz(u zhf8ZovQ0Ra1pk?U=~6Kvu|f`7K)gw0=a&^#r$`2PtT_7Wh&Y6_q7=H6}pJWkz=#j{QI z<@&zA;p^7Jk4L#nJ$etc z-^`~wM0Yq_2IkESb0JTb_&a#-#{Ex9LYGjUjQu5UtUN<9QsZ*LoU zZp5)8_WQJ5bjaXrG5ni3aK$yKolk8u8moHPE=<)=E*>;OTyp_BA^LqG-yHT9ThpEk`nR$H1g+>*6L_KjLw z6Aj_=N})#S1gUVuBj{2kw<0MghLV7~4^0p`Ao0k6QH2rCCI9M{UGhlo!z4_IE25CP zbck6@3}2_vAUfxoWFlb!BQc&Ya0=g*F3JA4RJ5qjs7(0xvu|B~br<72JdU#BiwFm& z=DzaydHfXA{zUsJc8QT#?=F)2X6}lDP3#u1hXG`LwZOqK_(<6`v+vy;z300i=5-{G zm3Rl`kv~+pB*a0+8(%fjjz43R+`733RdTq5hvVKf;GMmNL~)*Jsd^$kJ6TCiTV6#? zQDcXT*L}LzKkrLhUPew)bEI0-L*D#x#g=oJZGJ>oRQk!d8^QKYM|77&6gP!U8j2` z^xKFw%ig1=ExlTkNYpabNn+K=Sg8i*{@mV~++ET+UG}_RG$|SHPsm_PCIXdDO8#0h z>64+=%q)pyznPRMgb-*MNkYx}u^Vqw(q%ZUk~3A=t(4PN8{BMY@LFjuk>?ldQctq?zVR&aE_ov@cl^(xS+1H;YYvL{H~d zs-}mF+M$_M1*Vnd9Dgrqfw8FipHP;yLz~kIPY;*1pD`E{BA>YOepTo7QarXXe>I=m z#_wZEgrS#J+go~AcyNMpY5}$W%`3@~xE`2(hPg-`RZ*gjrm57FYfayq8p8Z7i5&T_ z{BKpW_Idldz4|l!-COuGp9|ReB=kP0N>sdJwtu6rR62q0wdOyG9TfVcBw$=|1=^=D zjvd>8ggizRTqX^Y(B&IOea4s`C@q_b1hqx%lH9{97>Ewi66p&Vo7Q5Nk|s|3isvG9 z5)HZuo5MlcLdySt7GpR-83|BS#6<kk@>xLvy<5G{92^WSb6pxwaU(fIFaE}_BSRIs(hsxT`qno^)|L7ZYvRAEc z%g*1XTB>oZ2M1GSkIfw%BAl}Tb2TZvN9jm&E!{Si{NpWGHkqCkHk*RAJ&AgF{WuFk zN^jf*wTN9Jclj^HvmH9TjFmq*rMJGpdo%$E^S+vp>*95>dokl*=;qnNHpM@LB|l!m z7S`Lr15H^GkVQnhWDy1uLP}T*3!4J@v?8xJU=E#6jshIdwo~?(r*gisju)LHAMKrl zZ1T(Mm)x1#^Qu;z1%=j|kj_mv+bc4Fv_)Zs^vPP@*kk`N7yHUC#_l;4!5We{bPquZ za|U^I(X&cz0;8@9ZT%@@Qix|bgp6tW1o}gi)vr{DB%}+PR^`9T%LmT^+!97>zJhrB z==*{j5BV{&yR*QI^gf>RY*09}_xO zU%NZsb3&1L9$|pW^CROYN^}h{mw2l?ZWQMQ&{$7hsl=doGRPRDuD|?=GsVg{#0pqN z=!eO-{S@gZUF;SIx^gkHVH z_=2XPQ51ynwbl^YoFK3Gac5__e^-=6Y8ynP@xNEKLV0oC@nX5*CDN*b??FYrns;yl z-$d-tAQXD0!dh%T;SO?+RW)^{1*Yk!E6L|pRZ)>=D4@WTNM^uHma)!;_G4k^o_>Jsn>tJEeGS_jwjO%81E%fA=CC>H?+HtHJyi|iI zaM<%|Oblb7y&2=X{#pk%3U?Ugz1$=}2S;XJjCw~t_m?b!Fyr(}jT?pXk+93!iv5y?X6-$(KrF=!qSm+IrWPI@;o5XF{gZ1L2k>74 zfdW299isn(5>~h{RC%9Gdjpk^{>M)X`iNCT%R}^rDVL>;X~pz9j>=`ErWJh_=j%f2 zbbXFyYq&DD5?HCtVe5 z+6}ROngQ>(oG#j8HqU9;u3<^04F#c;>nh1pOJD~DXcd?+v?@{>9>E9F0-j_zd@Y!K zPYwqeZFS-8*~u|4@gVN%!e6WdOzx?PixPPavEtwjEgXiJZO|DxffeYp{A^8BgvG3k z3%y6>O&70|iv3ybdPZ9b*=@|o1D5XSNwjrzZl^N$X@yhpPD%&>s zr8~iwW6}rrXwN0XhXJm-Z=+Ll^>!Pu;TL|~7eA#RY~F*VLV;FR@zDt4jv=8Zm>Cdw zxDnX-pQaQ~DGgXdzd<((j9JLTdwp)|sLlG!D7(;3yZm0aJ`X~nhrO||tfh+YY zOK9xWb)-3E7d8TjbO@yfL`0K}Qa8VG=cNy{FSoEg@c?v49WuzV(s`8ysa)nnJDGt+}Sj(toX@I8;j2t|@O}d?E^#dF@)h4#IUt9MAkk8t2~?%B z;zNzSK~*S@E4ou8c2-5$brirDi9BBZ zRy4175FK9nMJkLL>#M#JM9h1n{2gyVmow4V2?96Z2#L=013P?BhQXrAkMEm(&0KTSZuc;p%yatWuASV?bb*Ghx?FW@&TFlauej3eylHGb{e8C3 zF!h-%bV+BH!COnnQP|aCwxM+_zlwPMUHsUld>Ms{X52j0Y3WY}(quHpV{&5@m;C zdtO|YWGDGgSVOQ69axA_Ig$B)7@@;kXz;t(g%uQX0x9CRLvxcw^eSyMO$;<`+1zk{ z36YBNP&G7Wv=Wt~O3o+6{@}R_)^HkiewQI5&|?|O!~Zm+;X9A&{0f%p4vCpSZ2RU2 z+No9yOcRLtjP8Ovl$~L@JT8A~B??x4-Aq~MN9Q=!Ik)u=cE$-iEs-&sfJ`W_4t}X* zI5lNeqz27aWjyP3l082O`B{7zzbfzs95J$aRK-$QXN+_6+`}-WJjs+AQ6d%kubQ zW7|}Y8tsMpvSL6M=5hU50eL+fvtLT$A-B+W%I)Vj1En5I>eU9T*jzI|@`Uh1%n7+^ zjbu#PMId^B)IDZpMqlhX&6s?z)389r2285eb6Z>=7hfQ5=|3A0&CBGFj;dNcjGa zn-&Xu2Dm2Z4V=+?@@M(VjzMfWcby=hJaG3@ZGj9nLDLZ(VFl13ZHeFEsNmdxkBk|D z^6h5`4g4k!qY^_@jmvY--3!Lelb1yFmOQiU35ec*<#z#T7e~CV@tVCldH8T@M624@ zHt%mxNN{shmZ(@tto8h?4C<=xB6;L^7Y=@hn7nJ*4}CzHC_0ubrH^+K;i~w&F~RD< z!PwuNk6$gnh<{Df!m82g!7jd!loyDCHh5xSz)HYCDgPC1H|3E!4%VyS7l-<@M|)0c zMDQawP8`BRUo-X`u+-3`yKIc|qqwVx;_AVfm32KS>T8iZ-~BZnR(nEa4b%G(sry+l z!OPk4k=%HSmyUbjeJ-_;np5OmKBO}UqFx420N%K8KD++n-|*`KKZ0UH3vQq!O zR+{_Ep%p(?Ets)AdZtL)BjOhOP+cota4Y=aUq4hy8-B91zvH=wgmhhXPC;t05pI_q zuvK;PFV%s-lbAn{xe*==VQJvwHA5*0Jz0;Vz_ipCPC*XPe&=j)$qV)AE z&#s~CnPJS$v4CzN2}IvV>tG%8eeQwMHM)?{B~W5Dju{`SX04ut7nGOW{}3e96ohvm zai-@f-2JjYqqVNAQBjvva)Mz_d(7|O`elSS1^w8cSp(bvHRd%Hrh%^tbPj$1oQ{xe zMiXa)pXv7`c(pC2Ft1$Ya=ehKez)S?1^Kv&&-beV>C+f-3>Tj%iN}OQxR}s8K+Q0U zjVZv~BbQk|ziH-2qdT%zX(3snLlCedS3PxY4!?9l+c;~k>VB@rNYe0zJ^F2E{>m>3 z;MWxy-LOPEea`9Cvmm$sI}4Ut&28QPB*H*uE3ul?uyPTQE6Zi+B7MB|XsYeCdpaBS zBL5byNmNPWJj}FF1GAr z`C+MehGAU`j_VFJF4fN{&)C3w#3Y+v{=*`)XCuGX#VnbNSr{J1W$KRe%*+u_wxjZm z_uC$afNg)Y71CWyW62oB-~f}9l+)-w_7qZwl-|HTtVJt5rlwTe)(C9zu8UB>1d*Bm zgLqAMrI{~8n}a|#oQBw8h9`AKq~Li2F-Y^{Jr14O;4tL9TsK3sCVP}Vj4(lL0p zEqG5SKnPS8h29eR;KaAm(;$s=rZ~p2{2x;@yQ(`Ncp?zg%%NRDNax)As*n!&UXrJH zCzt5cBS145&On+!%*PJF8TF}6c}RUj)r;Br%&%9 z$g+yoQsB;$Iu=t}gTzFvGHgsi0rouBuxBMVb3Ux{B=6eX$~2-1{#KE@299xb6eu-UHj10P>vL`Ik|`r zR7p1b3;S0cg98o4{HY2b-JS9dG3(S3(bx0c9+* zFGt)9rF+e|N>x5oQuiPUBGu~92k$%kI)2*M+c(Qn1jY8FD)*8ROm`>Wv+ z{gG5EcMSIQI9nWK3XrOl?{$znA(us~JtM(%P1f8EZg8Ya$_C^G_okX{5u`!p`u915 zKoWP8c{ddvyzP^`h8h<_=MAYTntdY^xC)M9`&V_LjHUV& z<(ZkF*|IIo;>P0mT{-?Hpbms2=n0PVgn};@M!75UY;TWywO+QzNERVbLKB%YxeB@Z z;=<2~u|$cR1$xIhdZZGc=!xOMY(2Aa1 zPP1^98(N*`E?2}Xicv9R^Z$g@lwOiZl%fB7q?v)SpHNIrL5MV~Ww9dpr`lYPOQYEc zMpI=8aVDKpxf;}4Tz%SwBMktdVgBixS@59z(jRH5d)=xG7b z%<$`O!0h){Q0?6~dRl@ywY-zdYndhRC8^?g9t_w7b7>0P8N;8fl-Mt{leL2BD2_*2 zO|>O06IW77O{$2J<)UvU?M;=f1#VXh zaYgsfo^~PU`-+m8i;r*f;b3WR7N!~N2-)-v#l^0&!m1`~9Zh#hYxk;;td4>5WU%`N zG(gD0$wk9f#(Ojl&wFt*VW-nV4H}#V;e8jp%pm;jE-2UM^%!Up(f0Yq2EhbzZo3Tbm*#Aejjo& zcu~%Wump#g*nl^njlm<%HuKYhG(f-fO3#Tg@U=i$6kg(^@xmRk;!FBjfyZ~pl$}Y> zN!bL&8(|ua3Q_*0FP|-Jw;nshiAzk`f54BPGFf}G2{m#Gjo_PNBQ>9uh=^Dz4XQ$9 zLtBXctJ{u#pcl;NG!$rUZ$ z*w_T9x{)TL7C(N4%ickyOkZ7YD{6H(ZdhMLAIa{z$k|wbyxwij=BfPXs0_XBbC^iQ3);qGy-*RS^lA)09L?AdT8 zGsgL4e6mV+!4qBW_sfK6l~H9Gbpm}B@%~iY)PvRU=c}K2f8&J7$x_d;Pu*wNd;}!E z$@-XSJ3f;J&KKV!Adt{h@f!L>ZasEV|C|)PMZFeT@f1F(mpC|?yJ&j`EtG7dtH2yQ zXz4G_AiqAzPn5#1?d^c+c?}_# zN~vx5f2Z5y_UcSJ^IRV%x*xe0Y_;~46?6~-iDAD=v?;!z_*>B!?l>c<T^~F^`jp+cn~;Oxg4cnWYy)yPZm@tHlS@2UQ89qX-ffFNmD!wa zSSi(`rGdt?U47x((R#ZykxNY+rk8EE8e~W+iSG7M?E!6cfEpb@qXT;DVnqV9yawnA z12WEM(ceC4VKI%;pa}RE(rXUrpmx)bF$Go&Q^l4n7VbW~EOP@(K&JoSQ z0KLaK`qDx9PB0O>B7uiW-vx=YrT5JjGgoO6sK5$%n zplO)`hT{?-Q=rib07(N`2xQYFE%6>0f$NBwHms#VW&xR^f+JrtNFz%-`pQl8%1!#p z5kiXf2P>PKv@V+iP2Fay+l)EUte1;{EToxbSg1BE<1Tzi7v8oDg40}l{#=OH{g4d% z>2g1eYV$Dl7U<=xi6Ogz!1VZ1dfZa28zP3)$kEI2#>?pPG7QKv`lw}Ex5zpJ{)Foc z-&jA^|ILuwxgER1$6{N$Lk#51*~J`{;<`De2U>NN_{4(LMPgu0%r|x=opGnxdY?4Y zaq>J zP3?~3kJYtym9Z4pv}j#d?bK8zue!K?{`9iSret$dUEKb|=)V^?CW^9)hkT;G$2#UA5RAG@G3L`MmEReh?MM=+(H0ewWc z7UL9k1iRkbQlid`F6}we<3`WS>ge~NXJ%4wvqKX!*0}0dy^yQUB}qbHk)Ka+4naVl z=z}kw(c*Hf&|NSuwW^Xg%Mn=L*QkEq2C@!!$1QEj8G$o_TDjCynVDyYgjHD*j=ow6 zJBJd?Bv{5wJX<5wRm_2A(h>hF`QWhL7q*@w-9z zyzf%4LO3LFIHdA=*!nRcKPUJN!Ji0ZP<$f9 ztLc=zm8%1xIOUP`F(A;S!ROAGK9(joo1rwAwYU{f*Jlg=gF0Iy-Xi=)eBU z@*=zFM?Z3&`FMsMd2!3-)YPhz?>hW^cL6Rm2*;I(H;_QM2nfRMXk?68dOf@Rl!T8M`wo-V4Rcqbxx z63jX-^cDfKaP#raDe9(-&b7&&X4mJbo2bw1-OV;#_0h(y0ZnZD zPT3zND%-2edzy+{mRvABZ(4hMLG49-^=F;d{JY9o(@LtkPOCcCEiSKY&TC5)HdPfA zHFcL(^~9XgqRy7;us=}PG^??DMSGzy5ODq>7|N|Z?c;aiRc%#`?WK{AIF#C6>^PxJ zMPp%Ab8*z?`(Gl9^`1Q8q(}y-v|nQXo)9#y#=l40J2Y}H0rHdZd~(bx@`;Vn*hNFw zeAV(Ov+PwaRlTiI*UrTab8*QsdRrE;3UwV+vc+LUbh_19K9`eBabqrA-Yb22xOMKB z2a8J!H$kgEA#O^(A=Z`fXvah@lo@Je_MjbmC!9EGDCf`V(g*XY}Sw% zz`AU{(Mgq`-#Pb+v)j7Py}WnU870ZK!N!5PbyMc9YHv9`Q+DT0mdcG%d~(C%OYAZt)kkCJ+n zG@ywFYNA1#cw0WcV2*E05SZrF7c|*1+s!NYL3&tK(AqIQb9C}ZBK;nr*(VCy74VH+-a48t~IGcjvyo+S1u!yh;ThgmE~_IO*kT@%c^Rd_|# zemiE8hBbcAXvO%yRrX(vzGUZ(zHPUT{%~tw6l!f&+qlVjpI^3ytr?&{!WH1zkO< z2s0_H+B4j8b{CIzY+j9aYkKspmDHziFCBfx+vldzK3D5J!U9ANQ!Dn5$sxLvLk;IB zgRm7L3oFJU+UYr}_ZC%-P@FbMAG?6O24p>)8@#*#V}V{Q8xbF39M3e4D|w8K651P6 ztmuge0jx!*19YH7c%rO&IS2iICIiPcl+O{TDA zqk_Jtm0&Kx3W9Y60pk>M73RwxAl=v-_5isO&bFJz9Ghdf6vriljHniiCCwuG#v-_L z7Kuxw**}YLcQNV~Q{7_JEtdUu{9b!KkT0@@Re9HP?7roA^>VyTIbO6JZUhy0W(AmH z79%RePtvD)rwZI%frjB`xkrlZj=TxVoUFaPr>owc_lHDFM^EwT+s>ZWyLMaetmP%C zw!x;Ar!`g2Uft2(@-2I4^rtz=nA<$Kcj&@>x~Z4Vzv8T=moKU*`f(Dp$5|$Hd@1kh zqG<_;j$$rML~*Dbyp$(f$Azm8K^rkNrj3x`w=C|UAIK9xJT_r27>BJuCNmDZaOpJ@ zsm~NPD$g+ik>iqj2y>A8X{^AcsK-gt^H>-pOG6 z@;dUW2x{#2M-Q%CX%7(08$IGYK6=!i{_%Y2dsdS?Ci%*Ca#TtfQ7HqU++GrZ0np-i z5PivEmb{g~b0g=ugA$hNGQBuQ^`0}=zhuL$d>a;^LM#Ye>D(3Cb2(#NH`o^#=b zk_(11S8@!=O-pdoAR(Jk`mCz#_^onb&&idSiSYvb4M_9}MWRILVpbQy0s=%Bktj|hGyFK}3TKc?C-CWLcbT@;rjeG#5+2%h=+mH;P$1w-a(d0k2Wt2yL~T@+SK+ z+4*tYacb2O`5KG9#-gvWG~TL)5T13X6RafQ3W1SqYVFbQRv-s(sUIcVkeR{+I^|~b z*Dr$sT&hSw!p)DUMu&qm!X%d%_0Ayb-p0s?$50*?1z}jb_;vbm0@9WrA!t{su00^Z zZtp@re>1f9Ua5}1EAHYl4BcqqUI=a+-}aQY;Ceq^R9|t|3x&If3r588)im%eMYva8 z>Q$F|)umqLZg;s?72y!MFY>)?uRbQhbA~_nK|%65AtzwCei3~90$hHckXN8T`T8lW z-8`k((iEa86{0B>(kWF(NH_ezQ`%Y{ExwS&_I6}ffY`d5;AW01U^ee2LcT@t5W$lg zSHNErqOS?j*MyW*{|xW)4MM(WZ0r&C*U^zHq92WH3s5=}AvzP$iTMB_T$K|J`82l0 z?Bcfw;by(A*UT^I$D8mN+byCQ2i4_5L%oT9Y)7E+LNM$1gIQk&|J4dzgTMmT>D zr2#@xT&ljdInb;pVE9g886?1PB>w;L5iu@^fscR|o-+#Cno-aeX~I#)dwilXKNC_2 z6zn0x0!Y7PAmh%nrSo)yib$6h)Cl9zQ_$gaGj`1{T34=Y`NR6RnmTN2vps+GabiCX z$L!wGpI0@E9`cv6kU( zlv-w9`}r+&UjLqce85I4b@cMndh#nlyPuFp)tu#ulhIy++o4n6qTT5dDfWAf&??LI z8fhe$L9m2ikRYgguIc=5V>r@M!k+y}%dbX@>#!Nz0~6#Xi`AJ%9=Ht#%pX|nzVCxC zwJGIXN2^e}0Zo0@L<!LoriK#Mq_J1#GywB8sd z;uj!#z|N}tn#MTyTky*d8xvcQtzG(ckE+(z^@4Qw!j10%IKCngiKC>&XnB7EWG#?= zK<YV{MK~xG8%eOD4xd%002yYp!rwV6t`)>?HvI7SgfJrLoPWvCY*l_ZT() z^0kC)A=pW<5607TVDC>I&c^H?U)>2m@AvtrwY7I`}q0gtG z&({?aA*2|Q+2c|G{T3Ym9&IU16ERJnU%_g@%>2?MD2=;60f-2Y)$2UtgjVjX|N!kt6%sl`tb*Xj}X-yh3)w$6fT>A zd{q$Ld_D^SWdo4wfUJhM<<+zxZorxv1Y33)A=iNK`|?=IJdS;_dum)?jjz5Y!<$+` zrlW^tRcC7?P4hf@Nv<#T>j1ZQuad#{qus0YPd)3Kz zoim(gtaxA}yC4Lh-!O{BVNbD`-8Bb*Ab+KXI7(dF6If1_K(=C~%?0AgNUs4oFkV5S z_NE;1S>tUmM~ChW$kp$S%aFzse<2~OA!Xc(()$ScfeI7>NwhYoB6>gs_ad#&j_8(L zb(DIUfbcI9@->uRjwkNKWv>PP@f;y9gpfhJ^P>lzJh&8f;}a_iq#O2%i6E)Mces z8V`AzkeBeo%gHt@p=BXj%^|U|rbYvAA;olQJZvK}!w+ z=>aWi9H-YEk*O1xlnRb=6me-zra>(sT?AYx)8Jj){5p^?D&ms35+|8HPBM&nhkj7u z{xK??mqmpqWedsSf}BsVAxeRt3;arjZH#%CsIX0&iA^tM(}rjpS1Pm8!?aCDh}uSI z21bb5Ms#nAihQI#Hov2L-dDN6Cn*c%gU%!5GJ#6pN8 zGZW&AG-JLBVSNK3S3+1{1-<;a7~v2hg$RG#hHkrC5G(r)z9_dA7;d`SWgn zWcgHkMQ0#Nf1cmCakSfcX0&Dfdi&XrImnakG*>#$a?T{@WL6BAr(#?&mZ`!7gS`r* zVjMD@o%zrj3+)e~oe(OAV4pTf+eBlUC21(wTPMpq;h@-cKT#IRPMen+=SZM? zMc^AtR3c3lVEZY608l{96+k>s!UB@Sx=q3bHjQx3G$?ACC~6ux>(clhuU-Zo%^CXc zjMn=Sf?sFA4zn4^URZHB>lvp87rM9;m+u(6p#<(4C1Bf)+r&;n_QAENg#K&RAG`uh zwyGp7IlC3%-Ypl4kLlfV>W*?GB`l{GDc2X-jg)hBgmi1lxq#Ssw#yGon8Jby@3>bG z380bqO%3bH&QsZY)83_*FRH$I-;&D~RjB1rI*fxo-E_`fuN* zD_Xzu)ft=VUr}MQ>>Clkje7etyuOUz#yjIYb2PI-2pMC>Er&7jHy|DwbJ=fWINNVy zD!h6^6AsgxTrIbDJl%C{7!LOERZft2dYo+uBzzhcODK0 z^V`mu*T1Hx(01(6_ngl={?T7Mww+r&r>(K4Dn@-xr5T6qG?dS zG^l7AWH1{U2BO35A?5I7E{8)`Ib5{LVFoBSy1cYiE`t(nm4MbLalcVv8&ay=Q8&pn z4M3gH)^ft8fwuO1n!jTe7gXt{8#_*u;W$qY9?qD=UNBZgShMG+*x?QFj!DA07h=C1 z$Q@&8BufynP>Q=sQBr}D3RJGd?KNn53XlfS%?5f*1ITa#=1c?PkQ<5oHiE1+f=V}1 zXEwr%tPy#Dn$UO?$Zr!qqzR1FRJ`p}yzNvtmrX^T7Es(4s@H-@krsFvwV_@c>a|h5 zHh3(xq2V^r;psG3(-90eT}zt?=|ky0EoH}+cB

ZMPF?Z&$Ww2O@;_DZ<^-N!`+k zZt28Vb|N;n3q8?=ZtkMXU35c0-QQ}e-7Z~!9qm2#r_fdBiNa}__H~12*A}K@#j&Q9 ztJk(qZT|S`Pb9bBaRaHMRB(yUPk$oz4?mIkD(#)>uv($QH;ZX+zOKrxpsR0Ba+ZoK z5e|sU&s=c*4^E=U?~Hj@<>StLU6~I;5waDR_M_w-lvq-tsZsI_S=OVgic}JP+5~-u zaw(gi3YAz?_^8{apRq*S`63te@SM)xX#$sw)J4DFS1TX0e1SGrOJxHqe zIw2>JN6)Wnt$_7oLVm8L>|z!p>J$_8Se*XmDgQo&esmJdCpd>dz9UN*Vik}PWjqFY zMA-B=IJ-Dv;f*wO4><0p2ze14_d}3nE+*u&1T5T$nMt@yp`QJp&Y5OM1Wz(a6j4=m zDJs$od_}TZ#>EC6J;px5MONIL9-}U@N>^9GNsE=P+u@|;B@wt8+h;? zmF)n|TwEONVFlF2RoPo<(9IOo_;@E(|3*DPY*pRGjnh`nty{aG?e8!A;YBMS$}KI< zxXTx;UFtmShLY2kcAdQ`uXgkg_O$ruk7)ySoYB$wi@Q0Mw>9nL3Hx>0JDZ)`4-@fs zb%hRKAE*Q(CBu5ojiuo>uc{(|cSnO9Gpe@|Z`G)yRZ=}wyv(k$_LXG$EA? z$dktQ8_8b%>rEQPnCIe{CtiFRyk3|#hm3VU0XvyJN8s128W~-Sjf60}zl8J5jz}_3 zlYw>%Av+27@fB5oWULQZ7#PX^p{dR?G$Aw6m`|0^8AwJMdFjgRZXS@WnO*Gor7P*B z>%AGg7=qYhFn=G6d3J}ewTDm=M&MvR>=Rygy)xwTZ$g(h!P~vX@PyvOmf{(=qUjwF z2i^lu|`gWlh?FI%&$ePr|O4W&hy!QRtOli!td z*7PpBsH8NrwzsOUspxx6U5!&Zmi3*zK0mf3nw;5C-`UvEwX~;Yac5~Jwk)?Ox6GWO zl23bAk@GlB==aC@tE_`}$_gCBa0JM;K;E9@)3R=SGTp4a>aCOF-mZna*$N=*CWOS9 z5W5j`pp_ny6979JhCGp-_g@D z+L(dwQ$}~IenJL#b$CjwNjj@B7gAN>S;zEK^Sxl67ijl;o#2ET5nXXbc#Ggeb^}l* zFf3{bN3VwIYM8Eu_39#e!*g}ZawSLaTLd3!5-e`LfLbr0)(f=y3q%oLM`Dyg5gIL# zwBkgZ;@A`t5X6$|3~7Q~^9WN8&VF;CYWC{R&;RwxRMXt1vlcp!kG9M`e`e{n5&Jiz z^ShR`BnLOKPuu9pcbz`=ulC)fCw7`sGD3(-7o45>`~x+GqxcBXQ@;6GgB&CV*l>WiK?luo4uvv9YsIq1(V=#<&@R4z<>;SlNB`@*Uv0VEe)Z!Sj{5V5 zPQL5wWSW~Z!h%Xt?RfCkFj0)=hbl9YP+cS;1tqa5Pl`f<4Lfo|1}H@Xl%fGj(Ez11 zEn`GH##8F2gJhR~Aoz%DaBKJ>kI&JNFAl{{SAfM)Q1TPbCO3e>AFZc*@aZbq4$&PtZIhoAS{GjZgAC=w5 zHw-@&?YyW2%Q&h((`vHtyaptWA%)1+jadIr1G!}!1<|v)EaW*fCAXoZ1V%#M5uXE5 zS%Xs09bt5tG;u1Ia|tfd!|n>i7z%>KMn--*6SG4E{7P(v43CW2QduKw$ zC;aeZ)7O(`oUTbn5+KWfgn@+6)}@n3<)2Y!A?j?H=pp2jNO|cWM&4(_!eqXQ5RSoQPI|4y76w-7 zb5%!v^*)D^H&Jpu zkYD1`ULcp@()&Q3!KG(V(u0zWWDAp>If#4(*-sx4KTmVl*+Bl*q;yhuBS{8h|RoVY2?S5hFS%O~@{Epy#W_g&+!oJf$&`YqGV2!d_S@yOEfNX|5aRZPy zfdo+}HD;U(8wHu?-?xB%tU^rt?+AGxKB*yipKb`MwW#tis=P?Z8wBsF`&llHXRdg#Jx%Zu z!EXuPBM6QlsfW&K^U%wIoQq3!h$47NOW2g3OMR3}eU$4Ri?N&FW&&5|y1C_M#3j5= z$O!~9_;J~f%NG;!SzJCFK5y)jlQ3>>1sEP~v;dCc1t7%*^i2gg3cy_61Eijj5t$DL zxdY;RE|78{%YY05`2ilY(Bdtu0J(GvB)h+(?h)ouDIgnxTx3p5WYao67wyV7@s3}nc(*X9}v*c7l=n* z6G0!rQi8PvTL^X%>?62?AUq)kQdI;~Z4A$#c2zg5{=h6zz zxA>i(C%}ad`GtmMO!AQlI3L}Uk5nwCFuHE#g5Yrw2%pw-+9Wx^UT`BwwE4ai;~Ymk@WY9O~M;*R6LeR>mL z=@AJ=(CO zHab;A80y|);xf-9873aS?64&D6g|XAD7`%&%LPD<@DGW~l zH$Q2V7jZA2pV(7uY*z+Ztw=z^ytm;1*@I@uIPAg5KCoXzj?o^hk|jvE)kH|2Cfwq4 z=^Ub64$&@$XqQ8@%Tb~5azZ{&@MVIpaRRPkIcU-0ygSwz1ild>eWyAc_b&uN?mk*Z zlK)EtInMjMMN{c#<@_3vfC7g))ghk4(Ubgea*3ntqyzUU$2&80{4q_#lKbyW1V70ibyi?f z)Bzj75YG_e6l{kqcB%}F3tk8)eKTUnAOw@Ik69hY$3VCe<$%YD%XxOQVky~evE4BM zAKQSYxH~38VDjR9laTL2|B^&$7a+p!d1*q8$XM>%+s=j|ll0!G93^7ps|+%?;{A zx`>bwf-eyKt)Eq%@!MIT08F4e~W0U%_^K86nqTlU{;S2zBQ8%ZRSNiBj7eDxd{KQrm!- zzi$%qeS#k&=I4TDcVk3%V?=k2^TB7pbAN@9uWLiB`!l78XO@n<2GPgkd>Yi)8KXH9gDbZQZbrG5K z!Cv#9GiLnf=!2s-e>7{>N2+foPNAOjV)*{f4-L^JZ{ zehc)SbyDi3gnbeoDoE)nyab1Xzm8CkE@f%hsO8F!1=jdeShJ(avqQ~=*Jb1lc)q-= zO~pU;Rtfp%nD`_@P?F%T{sex@hmsl-ei8(~;(8nVy&C7pTt!fnirrd}wT%x6OCR(K zd^-9;xy8hW1jWh6NKb5!jymB%}CAO!bp|w|BswA1#zqyI8{uH80z-staD{vw&g{)?>Xro$qr zm@~I6h+Upff(7}@g2~9rPMt3kQx&d3Ju;A~kwetTA!_8%usHh4JX;HNIfcFB{hlOv zL7972Z#qivYYFMX%3G)_j}3p0cU+ci>w{RSUn1mAoL`B>?+lH(n((kXa{i!fZ#Z^v zH(GiZ?i%MP!pw-njn*&S zglIPj(QXo=-NYnG$RVT@k30{4?jPdWtm)WEu#bQpe*7a7*}6r9oI95G&&vVmlh7#4 z15J-%eUhDZY_4l|ICjMFk|lF29GsekeOH@wXy$l4? zMG#jP^GWl_sB_Dt6=@!efT8CTQlledM>~u21zsDjepln zO;<-A!SO?vUV7-a3w`N@+LzYJ4*Rx~?7P>_Q;C&=8ZODsI|1P^COCY?aR74LbWV(C z-!^*b^$R5ir2gdl_TSrov0AJ-&PyyTmB0h01nS2U?BFGcZ#jFm? zdJLHQ@zh$O6PoZfuL$&y=v90QVIWaJZ%FG_PkI*ZNCjtlgSeQngs zip6^gl4u2ZpUqBG%ZF}qX7{u?5knlnE9u@!B{^|ID)@(<4PQyEm>)+8c@@bxTLPVva+WkGiBa+ zJ+YFQZ)#s&ePeCxs?w>IsX(kORxz`sq}@K6Ntd>Cm&_XJs6DN8VXPz-OV)N)O`Ta2 zcghQUrUt^fq0#TeGo`sJZQCuVDynIrHF)O9Kihv`-LF+{Z_m>HdP?61p}*Y^L^QfX znxHl*)7U;HoJSa*KVbythmknbC~*%?O3?Y5AbR|HvCjUZh+nB>#FOz1#TuLIlai(x z2SekW92Dz`(zJxkq8!OGiM+`(!I57IH-)7@W{x>HxCl6Op+gEG!&DwB=i~N59Hd$Z z^O|>xS}9K8D5D=`Cg5(hN!pg`kmINIh^l&y#!9jGti*zxIpEJMYP#^kU03#=m-(0W zIkAH7viWDl%3GbsKPapG{1?7>Lt)JRdT+;HqS5u6>gTtWDxIEw@`U{j$FfQ}x-JIa z!b-^N13)Yw+sx5~v22pK0%Xjia2^$`n4IZV9m)}VrOvM9cwTwdP@0(3)Td?6cE@GS z_8IxrJ4tbudEKaYv`zdNQ#+y9aWCg%kz6XJOQqUmDK%M2O_s_LNw!FnCUxOugj@sq z;rT}Fgs6BKkX5jiE}+@8N*uuToV`qTn(HyQXe7C|zfpd6OW#08X4~er(@Qd$-pU)} zH8Yx~%*d}wXKEK*IP==;j?)PIk=WS?Q*k0z%i=Q~m$5cD>vohvygL`rtGKIa3lC3B?ie&oxfjkIg>$pq9 z*(vx};8Fr518Di6luXFQzYfxB>!fJ1{SbAI0@;sCUS|FW$3?-Lz#?$C2 zKsEtcgt+&6ttyh*aeBm9gV}_O85Xz7kS!l=M;)DY_TlpLI%b^HT|Ba-dVY6xaP&xi z-R!B=^Yd<;xyXILuc5HCcES2tyY|GJ&YWA-Fm--wQDMSfGiTWuvt>U@(?9E+A6X^# zS&z{ZL$uk8-twRvSFb0+3mb7z0tom>M`8evOQc&`PM$T~cp3`0v{cjNsACCy!;;c> zfM7krHt{dh#yBN4Kc(cj98+H+LWQ`^vedu=0}B@q68OEzWT?_4o+C9ehGC3u6>>r0 zSlmX;M65~tF`S^4AZO%~Eu0S~${Mg9OMvtN*@3CEMG(tN|60&7;aIIQn)XA1V7YywblUvpR496SB$%jZDUU52J=^|!p(#`CpV}W2S!=d` zc9{NTkdZEv5F@SYrr^(y2&}?0}duh+S9ljzvb#D!LiPelBVm=5$ z3M9g?kLQ3RUWwgwA&}KL!fqpCvsMeDv0b%r5aObMvX>?>YqmXZcjCP%uMS(&PcPXx zYe{h`)7#S2Rhi>Y&S~GcZs+G_oK^W;M_*3EocYURX)E}$w_KDfc(O4M{6brPr9yp~|UoL;8RTZU4*9%0@E zgE1#he+P!$gl6y=KQf;}Z^y^Unf%igILPfmLXHp|C3ux{5stt-psZ1@lH};geIXf26*OS;e;R)O}@T^-TD<{xt$h zSlp+!62MOiJ(N1e9(2+}De9pV^-u~ul%gKuC=ctC((p~{DdVjdSG6t^s(gAz;c@xy zLQw5ONOOhgutMsvLh7(W>aarUFePhmOmO}WNSIAp%pNA|cwK!L=MTy5$f1G$g`rre zv?@Q4)uA8%@1gT;dw$-Oo?2(G*Rx71UX)zqS3f4lEoSGPA4W*0zPAIlt%DAqkb>OH zY}bm>ZbONcogw_2uzzQ#01!jOb?`{N8HV!|A+<24cjIy|Shf2Jc@zfowGga-h5X=N zN&qAZFoI?b8-5IlE4=jK#tGI-YB?fIUQCCIC*TVN$QIz&xcnHrYhu>-@em(MFCt__ zz91`;xJ!3g;&S!^+}YkmR=lhn;{nfs%^4Ys&OATxkGuR%9#DzdCQ zp=bRSLUE#4L&d0vB;@iA@Vs->+0)##2JZ_$KjGBj1?Y_X66KW5jZ={Ad;=j@5?rSq zgFfjKBj)%Zw)ij)eV9oT&Y8f`HCDo$0I?fX`z2%t_Y#7uoy0}nTNj5ky71w35xC)k znRj7*b0vfLA@y(Lkb7752jm3ukKoZ7{i6qFXQfIHNFMZ)$hF2Qy9y2C^hx}vt*3IT zZceOcUsb`3*GY)hNr=`-2+JmEx_%>)eOy+_{kRcfD)N>W6Y^Q9e^?wN%_*V_$6Sk} zL{_3$8730D2*|nc@i+vAXt!aAc!+cK6LPffCa7%=0SV*MozU^*0x8C&`%$?L8Om=V z?9#0>|==^ZqwOCoC{HwnonZBPI04CNs&LwWX*y6UVMq(=oMT+%*%>U8C~ zr%YGQ#~=m8?<*)y32oDRYS=`VH`ngqqwZ^dGHqa>@y?;!8{6-@_}~BCd3g0Xg?4H?F12++j5R@Oox4VN@jjh6oZ>l$mQ;?!`0OBnd=gZNGe>yNPpj6$ zCpVh|pE>sZ-okWlc|kZaBh}J3a7|6Q-<=zZbj)_v=)Uf}=~z~y^R>ss(a~^AZ-c^m zZVY#!#0uYA-=Oc}?i;rDoKDJP- znGk;m#|U;p*@LG^yHzE!wli@Es|pR*De@ zRg93N5~#vTz)jVuJT}9sryupyZawWSDoCXvNM(T3O%$XuYLdx7oT~9I+9PhVwtU*` zoPplBzhu#jw%K`^vpSmk>hcEMRBd^CZ;oBkFtZ`q+cf%Z`^45Vs$y@Bnsb0t6O)jpPI>U&q$!yYPYa%bIjq?BL~ssT7(@uc{g(RDIYZgezkSg0 zcOndj^Qpgq*sUOREOkJh2J#+|6wEtI2pL55TN^~CZGu>1etVo1%7@t(gt>5B^E9*S z#!oDj&|7A8Er{_nDm<&VaZY2(E?d50M)T+cGHoE8tFE8vXWS~YH)Q3aT>-MW6=d_s zq+GOj0a-Doj<-NpEC@!~?hC`&Y25CD7XAp3W4JUh>CDIVcIO`6(_D(e!QI!m8c zkwwlXc`%I6R|_@Vm?r%VbnS*QGhBh#0v*2x5kGkpVVL_-G62MqOKfaos?V$0IX2mTo^50ItnQvcegLH5pdk&S z2soxBq8vu|DY$FOry1QR`B9twD9&6O$3nzp!^mS-cF+8tlyQuSZ3N@kH_7}yI6>nb zkl>aS%yKuwScl{z!fdl7RR?J*jVT!h(ucucf_$03!%+7D35%P7yg(Hc>{Vus&&NB> zmwl=L`vS6DrD`Tv>wDt<%#zj(7gfz#)u}eUnK^9JJ1bT(-99m^rgrVOg`>xu zFR)E7e#wT$(_4#;O|Mt<@4U_zX*Qg(b?z4^}cnGHoc8+Ku_R*qY&#=#K>mg! z76-e!I7`sQDtA%O_1rc|6pebvSg`=gkuZbEKX5x_Pfy%5w0Ye%H9(4hGyz$vh&%42 zAm2D!*xm^w!X+~AmotZUqV652(u?BtLzY2FP4?J@&MTKw}B+!sX1`!OqM1Yor~J8xi&F@WoUc?OV$Q7Q}t%u z5C+DHPDTz&oidxHmoAbgm!Tyu!_3)WayVv;FLZV?nTAs(rM%WlN@;sZDbhWUN!-_LlIu~Y()=wj_ZDvkHW;tW*>3L!yl2X^kGRGC&Paa zEwG1i67eS38I#x&13+p8u|zdA(H`A^H(H3@qz5_QII&imz|6*?|5mcdZo6?x*W9it zXD{hqQc{qaS36aIr>4%EI%A-uFtfC-x%YP)JtbL!&L3vy43=9SkLmu1pZdRi)b z8#3wm{M>Z4>Sm%e4;MRESQ-1p$0UteTF;B+%;PLiv9c(wJ_iAz!*@v#i%us0G5zb= zhVP~?ItZeE0P&=VwNS&3wwED1(<;u|8Dj7G3IL>@7nY!ZU)(T z6xbo(H3l7=3Y(v8U)n`%0V|pACOF9UCAM`Om++MsNd_@mg)!n6#bS^m!X6uUs4457 zju1?&9O3L%t%S@aSV6Fk;8ZtRg+XTNmY|nHAz(qI=XsN?By_C4^|8kd zhtB3`cy?}L!CCeco*xTne!Og-u*w`CM=h2qoq7%P{wTZ=JdcG}f$Ybn2Z7u@COwR~ zE*KKF6?tG@opdbIgFub~@eGqIfE*bYz%=3=-GqahnEVwmpMZlfI3dg}1e`Y}!11vU z6Y>Cg_V#krSi9^Jt^@%46P(X54i_5Te?mG0c+p?e~oy300Th1(h?s&U?-}v0R z`sU(m#x8tS39L3VRGBuHLOhBylwBv(m~O)iX)8F!DnmFb*PoWLXLHMQ(M4qS*V`2brB9_Vj1$1B{ia&sbYK52m3 z(sBC;73w`tHfegArg5CAHs%@3i_+oat z0y;2Y_Y1g(I`fK=esmPRJcJ$=xe8(GCEL3?C95f}1A_s)=xEz{`kbbakqTjTRW{Aj zf`mv&w?G6R{Z@T$j1|7CxQ=H*0wH(^m@C8qWD}H-IS(L-bHoUU73Z0 zo}11VxM|f8IOhxE0@-;}=C3*tJlZZb2wV6|?hIr@H<0!U!bA2O9yN#g#vnQ)#z-&H z>08ZXLr}`>TXc>&r^f&M8~JT9J0yw4pTmdnK^TvFJeO`LkqJ;A*nL|QpWGaFpRH{? z_3&VcmBrR{JX@t0ImqrtTj-sFY{5Mggi|D#@H}uU#h9e}O^gie3@TD_HwXyWY~$)* z3Y=#AWPdXeVi53_4!@7nVwIRLjj8kT6y)glZk}__{tkvCVe#XQu>%BRwUJpPVJ59h z5$I?FqbLL4b@@Mj<#C)-5yv3ZCg9-*@`Nw_=_UFXWWuO;v%ZG3^(^3p5*V1po|DJ6Ly<9q4LKUm1pyNBMcYdd zi)}pFgoA@*sY+~D7OzJv+82beo*#d?3oEb%b;2i)_YM3I$^_8yWaQ-XS;||G+&`^ z)FTriw@R4~_7iHm%R^bPVkkI;bRa3nL$ApFr*D20GGGDhsjHk|aM3EgF@;csV*#BD zmG;$#)3{xi%^?QTzAcF0vV0?paDNJ6w20D>Nrto=oG;0iF{5VdL*R6m4b-%&^pV*U zIof|cRNvkEAtS%fD=o}s$Nl|06xdXzSC143mxX*d5|n;0%SmIIvnB=`d(+=DLu4?RBGPv+a8I1?7*E78;;Y(f_<|8=S)_~=MX-T z#JYlWZaj`VgiKA!4O~uMv65WOU$Bw8wRi3Wm=6Z8hYEQA9@duAFo!g}+CzKDE< z^#!jdG0Zh1C2usWc$^bZZ6MM9acvMXSFEl(O93zZDOt?Au|W=)3eRHkkae<)emvL+ zP57p}P@o#0WVa3#6`5P$0~vKr+=N-r;nTV|FEPGsByD_Xe>KPx1BNhnF;YipgjcAb zg;P>vpE;rEEObJfAoVF0nzjB6jMU_QtNL=ZOcz28<7&I|wWx^cL4!xfdQ4;kM9{HD z3vDLG^s$ymyITl^!-eAQ3fHwJJ$kxkgQ9XZ*`DU4+ir)X3;)^1mw+^@u_1_D9if}i zwvmJP%RmE9Evs741Cu{=U!Ls;?Ydz?f?AYz5k5wr1hrKLM9sL!e@-!E4M5cFTlFY& z683rs%%4Fb+s_Q-oERxOFm&@w)pD_7-bDy(z#j>8CLSO|2x$;6uvbjOs~dC~HNh%Q zjq*JH0#62uovnrXwrPUJd>U!ADU}5GA|JRD<{%v?w-@>C?Nu`!e+C9UQ}!z)T_U@V zA2HLaa`eCsLF@TY3WWU*=vF{V+XGCYF{sx2j1uhATTF3+=@vD78KtwFBVrj#4~-2(-fhOfSaCY!*cmm2Fc5Y8O(>FX!SR9~3ues-r6W(QxT}_XTgoNQflY zzb)J4U_w1GXr@_5p9CvEV_-CcEV{=U%!z8~@A83W7%5h$h7@}cP$Umz6k)|U3kh*%3a_*&;hKzO+ zblmYr&BAo8w7c>`>0QSSx2X@o8e?2MzHC3Djx5%pTH6V5Pa4HaIhAtl!?vSIjKckD z&`y0&E{qz>CZB%*x$`7K+mWAvLk9HtMj`4Go)kAG04_AZOp$`aA4pGIZzbT*QiHc1 zoPU4xSZ3cA;7Ot$1K~e_;^?bs62J!K#wVwF$(S~Kxzmoky10>J z78F3=?m-{PTs%f(>&+cHw-*GKXAqHTiiuK^8AnVpXkxga2W1dNJ0vZc{%hndt&ydS zaAa56^9!fB%4KU1koJhQ{>w_x+Yv%Qw6fg))HH$xdO^!nQqCH6!Ye7CVS4Ah9i}S+ ztFhqySNYblhf9J@3h4@H?TO#q>AkgRc*J+l^6T?k5XlCuSu`;~_DX1Kt>I5E6bxTw zTj?grkRNkE{!Lt}i~GKHzr`oWzBgFZb^A};A1}HK zxc|s=GLsf?F-9SaJ`JN>!!{b4ZsYQE5pM@CY%X@680;{D2yrNeKN- z(f@=L&CelEeyY@Jb^RmVJ<>r`@z@f~b?NyS$>@QF6AwC)t<&f@8?GJt()A=D2YnX)Hf)biMQ|fA=*m_ca0@tlP5coUk@H zJ7tSiu_aNapKx2sx3?8-^N_KXAV@^EQqk(6a-DZJ{o2#64^Zh9mc}ds&N!(6`2^gu z%?PK3ZtOf*O48C;^TlZ`wFS>lMXzv(C+Jn}pΝ@R(>l zl!^jjvlo7n&dF|@d%*^~vD7SdIo#=*QIMM>;m1c)wZn=tS3|&WhV=z#FR|*?&33@S zOw`9)z}3h7fUG(+(+sOkLRaD-topwb;L_ue*FQq2K0s~XM3X-!cSjoWzGEPeoAE-v zFP;HBi!?nB^ihF8sxg_WdqT2G}Ecg)pr?+nE6}}aQd@3pG0XG zRKe0fkH|48cw;=^{-IH54!a4UItaHHs6lbaszxxS9v1%rE(MzOi_H!h|A7ti-8kx% z^bm+CUH^r-iv^CQLN_YlF^G*6V~>>Ci{Tj(Fz!_K=8A*kfirdvr=u>8q;N^l6E+ND zx4FyrjY3zV;1E-5%taoWxb%A?zg1*{Ejr4V6OAf`7OYd zhW_N{`aoyvM~={6OjjHkY?{jjwSLp-LJULgM63K3PZPxrQuvF&PNVbJxf5IJ4SmK?}p4tE=y=RM?sOW>3m#lya1S%Ypo!I>jmQP+?L;~O8iA0HX&l!OQcsG zVz%PkNQis2b;`7`m)xPaY^q-? zNy@f5&RC_)J%g&Vg3-ge?q#?*(Q~n78|t0V$CZDZUY1@L!A(#BRsxieu>Pk=l}xu9 z!XIzl67@;B5Z-SWuwC2g!fK$vS=@`i%*!;K9Q~E>{v)7Yn#;H7UDfOvz`N`BOEK1) za97xCyBjMl?UwSdRTKwVAbf#ha)H;Xw>isp@`gf(0m-;S{AIG}7_wzGeZjh9Qx{wZ zy4537qo!9Rud|C!jq;nV{hwYvhdjE(H$IT3gr!SLSc6n_5$pxRg|h|7v|QfHRY9NQ z$&sQnRI(f`^MU&pPabao*6<#h$J~blJEU7qJrt=0au|Te$Y?II^*V~U8G%TgXM>woo$0FV zE@<($mRDG)SXx@G``OcA*l09W7|Nxt_7K3Z_`{yPJ{I4`o6Rn|YX62W{@Rt0H8H*+b8R!A{QCFqdCK;dj0oKZ++qu2|3gIQ-qRkc zS_FG!&G4*A=1$C|!Y$X3eS?}*I_pt9_1*T(s^;TGR{*NGGnKomj`_LGNTY81R+rB+ZKA~kPf$XQ0c4mz@>F{F`n z`D$Im(a070gPQtS!PI-(q4E48PL=L^*81qc&61(AcPu*{n&ho!apG!$@8c;{i{Rwo zTG;Dx0)|q!(UqK9bH(ZeYBHSFq^>xdm46-f1giyP-UE$G%{p@TgWg z`kwyGd}n`hzq;Ps{*LR~kpf0jrhE3KwS!2ndmUOb;J;OGIK^n5{`@5PGT>*K6I?Vf zp<%!7(YKMbkvy5d2e%3f-gQ!UaArjAC_6WK2v;?m$ZA`E^Df4)ij=gn^Rr(jHWD}L zT2MB9X;^wCR4ugK8i=b`SzeNncI@w%y6n3)VY5okNvOnu~UL-76 zTi$T{9&c>;>wYiCNJr9JuYIkhfW5&E-k#91>$X^LZd^OMI(0wVy4-Yp{Sz47co@IZ zs&=^?JF70=u)~*CnreMNT8>m53dxfC@OwS)gE!Q6$R717v=!J1GdkS3{`+3h-=~9j zdG9>C+#-ApEl2RUUq2sx4p(usLp!lXT7e2Hl#j(EF@J{bCXKL&HV;0#`WS6*3v*pX z&U}@gEjQ%K*ptumG748Lv6_i=s?Qnv6`7(3uFR!Hm0LYhODZ9>;?FHub-x>n$ep@B zdP*#ps_v3AYLv70vq~<3@S%LA7N0GYox)2>E6tt&Zi0jFLU!#~%Fq2OV)=^AfzM7^ zaFr|z`B$C9mQ~X;;3`8Z+DeEkx-SH!MVE6byfbPP8Y}rq&n=womyt7Klt(KpS+xrf z7ELWWRID?7>Ps#I9!q`I7N0NV9?{v19Fc37nKT&iSyX9seR|pl|4o_5oSR!3Vk6Vf z0eOH=zx;a;kpI`)8J;{?PwHhm}8oo)g z+%Ef@4Gy^_iR`qEdm7^0*6pFwS9R(b&6EEoCUyMX1n0)`!F9&U(Jj2)?3r~+>~r3G z>T7-SY+P!1jBZ#>b8=SyKj_ReY1b#!N$OLZ_Kynz>0>4jGI&f7x~pmL1AixGYJ;~F zu%xLISwb7ii#TnVu}888DBkS-aoerP&W%K*O7)7f{_fz+beM-R>H^57WP+%kYt`#@ z-VrL!nPV_OAF4AOw%fR9iJH)* zwNc8=A72B7X4W}?l4rU{`Z0C|cqcVx$!f}tw9^ckoMaoi@Y&n|y^vpbF(>rXz;I$h zKuwPJ*ZDh+F_uB80IHd5v}eHOIzk|&G%>;&_QA;@ppe>4 z;!vG1R=Z0fql5+PKB6ej2%C`k(+}_KGs7xJUtpw2?tsXkS-}iqNiaGl^lgAJBJswe zFbW!p_KZ%Ei(EHJ2U%`nPUI){CzPH|4a%_jrV&pIqSU10a)Ic_cNTCP8BZ~i>ynU_ zEXrXzQyn_jcdXITi(^vYHpbB^7gz5^DK-LTSVB3d9^j$*;$bS(_5E8WR=lF$RZ-QH z*gRJK<3bHnib;m$X@roH?f&G90pG2_0hl!f@8qOMPuisMHjulN=_4p)5zP`zOH_VU zq%>hXtqD{OadVg>vrVU3{>YUQ8+foEVCS4kHBV~CY8&D65~w^cmJ5>{I*wQwiNV@* zi8GMm$p<2LVjfyI@MH>5_f$Z`uH49K<0-9;&eXCerjy-^{N1HS$!ewD7eY$lRj3E7 zzLjjWT8R_u0G1iB44yhD+)GiOcMpk!vll(SqKdLMb?@p%9?y zD06vLu#Kk_H?I+SyW`Z`2VE2{?`hr5lR)4!iQ<`^>qPsy5h4~6 z38aP=AW*QAX~U8)ybvp$9f7gXC_#xO0(0}SxPW0ZC32iKL`MNg8|%{v6nK7$iNe)> zUN&a9=KGe?@cT*6lRyz$8O@X@SyCkqYk`RJpY)4A4Ae^wZ`trmaK`Qo16P zuZoX`74(<;n`jWjposwpjeY2n&wa1gcgE~PK{bkcLq70px{$YnaSbf(zKtl7R)cpr zA@r1W@k;3Z-9pEE0q~I$m14z#$F7vgu0UG`Wf)|s1fSZ#WU~9EWq(&M8ffq5i=IgK zIsdu~S>R~BSq^e^5#Dm(sjkN045tU#V%k|IU`u5K*E}SlJ7uo8Pc5oC#nzKKtBti1 zdDT;r4x$+7BjJOE2^|(Cu?Y3lql}OrPbo?6Fquk@&ydP+qa;exSvd@!v--~nZbTsT zO4~eioTw!+J$ZxlaB*b?)Gq6%qf9Jh0_bu&1af{pD$tw{D&f;oAM-3b*^H`D#hehW zgc_otuOw-AypWHBDQ4eG=!bo+an)}5;LvYtofgH|*Xqr$GD0CfhCQcl%7AHY7&n7m z`X+oCJH1W4D!_?^@1iX~@dRh(JxOZrtKm9O^GL|0>qS9o2XeGd@muj@OqQh*HOV6O z;!fB`EU@n%O6xqXmu#Ur^N!A?8H#_*cwsCy56Q!OeHxvEJT?Yla=aPk%ln z6>8Z{OI>^@1fjqpqtj*sosSlE>p^IdLmSPW*Aal0H)JF(HM8wk#v?sKyr13`yBw91 zPa>CETfmcI!;G$!pE3!OQx}G;*QS%?n+`$*AtE-nQ%6%3~NR(MR-T zq=n$WMjdxWQ70t`H(t_cO`Np^@=WD4t8P>XJwBQQ;%O^(T+OJw7CoPKV+9a$cPvBm zOA;fdpr*=19AM^eMW11*^640RaW*}fSu4(R9$nh5&&p7FN5ylpi?NQEG^wO;J+O#+ zhg7x?FqV`LL7`Hnb5PGJRfVNF?_Dv$N3 zoV;P{@TFX5pxLBHHv*{SClc=gKNvCq{E-k0iuN! z8_{t~_wGuz>{Z2^tjlS0TJdlxe;MB_+L{PrS9O*-d0YmAyu+P(t8>SG z6g|R3OdCx<=%KX7xy13-k7nh*|1y`BRdUaw&gM8J#dw?0B{{`eyL&!QOyeW#PMAEa zw1|>&X?cvKBXW9nRpYSal7PS!D>hZE&pUdYwBf-s{&BK9*uhShRBUviJeoIJ`=_?3 zMFFBE$2?hLV5QI`WWcAAZ4V#Y!yL>*?zI@xnwk-Z!~*0?gQYaK_xk0nw1-#z+zR5U|5+h3!Hf2*^}) zdLv$5AGxXyQhAM_g>A#xlMRu+!6OESzED`X37g5r#;cY2^WZS5B!wR?7;1LFUV%R7 z7M5a^O192diC=ehcJ%4BSL8|3%@;A(-D$O8`@Ru9S9mF4YBuoW9q`*riNDnRSN8Jt zdgIr0{KpsI6G_wNf5U?_{Wl)`|3*8 z{@)s~{&$1_;*T?PvatMr{BcGORt9E1J}5^g2V;F}D7TI4Zg(#&(PVlZXHV72=BAG2 zjpgc;j^@^)l%)-;$xl4)@M|?09L*Gs$m(g0E>e;a5;zx(gjc-qMh0XPKN^Nd12+UK zLovT`uBpg$zy!b0J{S^x%mI+lAP~vk+w$V&23oxxTfW@a(a56(-qs46?Fz-x8I{r+ zOw%aNb$t^9XY8727Mzav@4_+8$ficq-6DSDYI|72E`Zl&Z^Q4wMBo~cty;q=w`$)r zy0VpWOOx&Ng~nj2xc3AUY`*eIm})^HhD0H$mlvqmoQv?(RD@_c83KM4K=D;BbT03 z&UerhleRSE=f$+pdc`Q^THawC>{cKD$5_|w1LoFTgI3fW6F8F%d&6nUk;?C%xoz4ip z?AEYZS636Ve)lysY)ytGE>i{BhuUWPtrq&NW`M9-e@P{uHGahv%??*8TXT52Xnu`O z8*07;`g*^P6tP=#ye!mx@+zU5tHN^*KJxoxlnVdZ2M=|tZfNRqe{<#Qr#xIrhhe}ySzKON779N+v#Qp`#S za;p5nTlsgn2)L1^!F46AN}x4mZvb@h^A7kX{iN{>@DAji{Yn0g&_3eB+e7V&u02qF z)b7eno)=W_LG>kiFP+aY)lZ#ZkPiu8M|W9XHU(t@-a>16x9UlwM~k^PQ*6p_FK1L5 z_J-AoZH{0c4%jI}U+0spBeAj^i($)aD`(u;iwq7R)sc-yw2Waxc|fv9w+?$R$Or9W zR5NIPmnhS5S+aa)B^*Q(QIsxlkYYoYv7yM^33DCdQ3^TrrYOuxV+{-WXN`D)O?_T? zE&UXT-3%yzH>>JjoH^w~?miImc>0seiqVq48R<560vj?PYPBwFq3GOQj@T?Q;O1}9 z#EE882a1gyb%_3o`C{u`xqn`YefOGfTGH*($U1E9T(UuHqG)JeLCdPw=pU^?Yi?6H zETvkxoMF?V)}~*yQBAQ=X_6Ul(1HQRUV*dMftIP?(l(`1I&8$4J`JYPgylD_A3JI& z+g!3g3Or)PhG~*GsLv>opqoLx>B328-5HcQ1$L^^nS5BgOk%lC0li!mBBTP1%6(n# z;z`9`xMfsdv__lNdA*f&(v-&8T9of80?RetXqD2$lDKTA!MXM}Y&ljq#1Z(oA3Wyn?-m=dKF$;rQHC4CAe zB7(~_#~K+fgtFeP6T29nlXG)~wnsW_u4by6;81+h&~6s3TV93H&2+5E;Gt^MF?=A& zy0AD!7P+loq_zM%l|af1>s+luqpC7M{vH~AO0XQU=6l9!mQQLLZ^`ieWq^D+6mhZ% zNJFGY?}yHcK&Xe)7d7K92ArE9`v(PhOn|8@+>z)NWwIpX)?~e5KN{p}xRP0>KH#w+ z8A!b$(68J1*=#fd&XgE)b2u87oo&4=yLe)wm)x)8P>(J>vDDu+Ju`xa!l6-%#L!da zP>^^-&ggAHsy{)4m@Gwrb~J-(yiywn%30)rV>Z$$L@?6wk!&;ak#m-wj*cP1f{VIw z>o}4)e)!m?!-lf57CIOscRa^ElHaHcAY_?^UX+<)kRT=mCMq>o2(PBZ(fL^~O25bW zdAL*so1Uh<&686JUS;_4ZT8K+Nqs5|-+-pD4KdI|3!pSOLhx%IyX?TUMD^~_u&4#Y zYI17xN;@Ck_@80>g(912!8jJ@bl8dG2#1dj5IX4(xXC2peDQVe-iLEp*EYkjK$bC^1Cn;GL3hD76#2 z*<6)hF7|E`=!%rvsU1>JX{fgqmy$Q1W8rz`x;sB@zV;saK0Cw7q^#bj$ouua`+Qg# z-otVNX$0L>kd({B`*E^LoL%-|Dha;P!-n6$?1T<0$Knj96buV1KY6re4bSI=-p!Kc zh1gDpr7;zd6To*DuN*F^pFFBm$Bv!$Cm|Fq?i9}HuS(^3G;ozEToo^X4K{a zwfPxcB}Y=Z$>>bZp<~x1x6O_=-{4UB<}TN-#(^;6gA(X$)A%XUz%O6;`xtExPCa;g z1H2I83Ns;oQkqg$fr{S|ar@zPjgQWf~4O8q*hMpy{|@ez2PAmX4mT zFDXN3XEXAMl-lE#b7;uRcSmniJU z`&L|HzEVF!WBmh<~a^>IJ+qwyc^^L{ylS}e+yShyI2S5UrrijPGl1fbX#SH~ zO|&A+q!F%Bo&3!V)lHBZB>5<4lB8FwZk1*uMZ%o7_eMwULuvz`er8sC{X8w$Y0jK$p2hf|`58DJb8IRu=m!qqPnQza&PxKAioaxdfpXmj=v=YC3eXW% zbu!C0_W_F1Qt0#4>qwr6fVG*z28cYdnImEBpV~S~D(S-_{Uk_;5nvS9L~!Mx3+rye zRug^m8vaTH@gg)V;mwG>2r6Cmjc65Ho18`6)XuKF?m8zkp~Gj%!7n!_MSJbR4bWri z8wyzP$H<4r9!!m$`7=lw=wlIThek$k?BNUXln0b8~z2ASjyd*w|4u`n4uV{n^1B)c4xEe<`vpr#L z5&*&JOfGUJ@Vp7b4w(=-uF}XGG+~6#)8>C!N;{?r&pyNeWhB=GKfAplH}3p7ia$JDmv*Z{zX@0qPr~7ej<%r)639@rvIC35p5@1KyT~} zI`dQ@*5_u^!dxHn)8B8lox^)iHJ|G61L_lfFQhUyin1ft%_w>l*)RjGEEoN)2r_nF zh;x9TKpTg&;&KCX6g@L8B2%#dy)YYJ;SN?&wgmC_*6``48^Ju5X`j|`Hax61P~3k+}mvR$~w)T1vDoae#+ z^ohzB!%K)aj(GPMB4_1c+5qfBO86nd@5Q3bA2x3SDR%nRdT>XAXu5ae##(~3-|eZCF`J`7`!ea z4r0nisGv4fbAWSzgmkAWQAU_NfX6F6dg63rX>bcJxkdksv7n{6DXA)Tyv7hJOQ2+D zP}KM;IiL3Z$}<{D+wy94tz=7U7dDhMiJ`U3b<3_CSACl24K$p^7QGI&eBlpmOADn z1DF$;+(9=U5i)AuBErhWn_a>Y8UWx75eJO1Ttk4Q03(=b2cvc@M9OEzdIWLeJ>Qe*G zMHAx7N!17Vb&m&dkTqeJk0tFk+@^T9-h9sW5KBXE7)D2OWxT~G{$4_x%J`mJlEZKN zoV^6LZqu0C#;+;5!%bS0=KR5yPNOvkQ=}wTo*_W~ch0kfYqW!>4S-&9^jR#?2<^ml zIGgl}#3O{64fo30{&xGnWuH51*XP#!oIULz`kXerfLh9Gd%6963D2VK1<(f7)2^UH zQ9y@E{3t?!oF`|XPHQb^Ay-)S#$&G~fV`?*;Sx&S!!?6GN~J|B=xcZ=dvB8PFi>Gv zZbV(|3HsLS@X88QEOMkD`kQB-FMN>60bZW<6>3~P2`pWilhMOhYWPRf+K1#q_ren9 zm8M!_SlXIMPUhNy^QF>c=fD=zR6Wi%bG1fp zOl)ctGcGC;6{^ZqIOrmWRILh?%n!FtS>wC)@C2`DmMDEpIPuS-#BAx|yOOz}l38uO zTJlYnT?q@FZ3R%yHMEkgtOuB zl#!%HtH15(zv_>hO^g`xLp$#HO9?aKDqmu~(^@<&`Qi%j;_7#02Cd=)kQkYH&Dab* zM^fb3C)r5Z%tk}ZWb^D!kF!glhCJnTx4NHwqJVgk2!V#>Htzne|egJJ5s81nKcKCaYxF z;ZK7u`%0X$Hty+Bha@lgP%bW%O3YopeqU)*;s9MX3JWUK7~-S42oulTQ2on5y>k)%jCaiB`0c+I%!bB32FcTKZ# zxfcs&!lq4fM3Hn^6g_dbzfrBkAtb@^fKrlU7DTsg?WPm;?Nrg?4OlN?2T4u zl;X}1g}mN6kueEwHx0nblUUsX+GzvDcFLeN@^6a6uDj>RdoI5^7y_EWZ;W&Hg`^gM zY)rWZGtwMHN7{5-nIJC+&Vw74`da9t4UTE5;NEvrDpP0xhKIoXl{aZQ`@0!FgJZR_oG2Y_*o_?k zmml7Qy2Mq3YY(Pl>C9E);uv~n*fuW2kTBI?1b1H%05cGwC6X#vgVTH@{;LiEv`&rM z6i)i@OUzhnGz`*ob!2ENbPSN$Cagvzh{h}v*`P3u(v`9BmaH86g&Wjiw8AGg0S+6I zU?7O6P&Bc$36WF!lu8Ny2{7+>khDilmlEYk5elEIdW#@bJjxEWlZC1Ns$(pSYD8Sg znbBKT*K*S#A!)RgRVbY{0hOov%T)a?xhSq=@x(fJoUmJj>8QMNQ3nR^0-WdMp20kK zmb$h01%339zI03IjONA-JKjg^+jM?)E2Wmk^WPwHGnO<|{;Qxr!y6VW6$+Iq;2MnW z)eE}bKta&fw-P-ZwHo5aM;PhPy{MRc#jSL9;1&-Tnox$S%d1u9R8|o#G!RZ!7G`Z7 z&1v-Ga4N>40rejlYpL7A`nICpbsYzf{c6(Y9{0<*`^K=KoXe4d*Q-e&?6l?T+iGdL ztu!alsHepz^i*`V)hGDll+&-pf6j{@Dx9rFQIo%d_;syf1S$G;Jvz6Z_0x;T>r?qW7tikTZ^9sdJ) zJYJfHta-Ze4J|N|7k#8YZeu)bU0@b;+%4A2{DjnliM=6QtPu~`3ej;IclLOI=0*#@ zSzQcGV?JmxbP~YHth~A#Tji4DjRkAMT_;eVb`iu$IQ2?L9x*ZGk`X2}W=wdUccpDk zyvMKL>-JtZtLU^HJX^bhMaEhe+AG&Lewo&l2)a3u*BKc20*63g5!(j4;6h+6;(-}@ zHjKWCoDbBITtt%k$e{O%1?YBISvl-+g96alPYILzYVVx|Jut43##~{Ex1yPYo1vP$6%ALy78-2|fUq;qp^sBq{GGAPI4U9WxvecRzkzmj�&#UiL=vOFKQeOcxq%G{8st@ z*7$qqXH9nRq3GWopTinKe}dZV5XTEi{{s8rTPUCH0%|R>69d@HvtI&Qtr}c(p-GrF zbxDMkql4tV#Ep%xoo5rl+wcgagF7C@(>Rg(T^23a_@5jb>&}N9N&u{y58g8}q%96W z;y}}~K-UxUx+d(Vb+?e@j)~Id=t*MyPnK*5=FF)TJ^)?&yDhP3uiB?uB5 zRF34_y-6^U;a96;I0g8YSg@;A{4=N}d%_vb6!m2hipa)8sLxmBQDW`?!R|dRE-~~C z``y3M-QGNFcEk6Ydm9-R-nt);mq*l{V|?UZ%bykCE;Gy)k$dIJ;ee)3i)k>hExyz|PVp!?_P{zGn~g5>b~gBmPJBUCO&mlJfBlmBx5H4Yusm4D1Q$ zpsp2L46suk1B`O#{Vt@~ZH69+2X>HcT5PZOwBJ|v>r{34NER%fy6B?Uc7aZ;3D!t2 z)y8>4u2Y|W7SL|>W;o+uxZ~2+~_p#hqm@e%70=;RNMP9Hz!zURmfiI!QM?zSSg0o8RAigjrWd94}N?mua3* zKX~>pZ?4XJ9Uav}92e3XZck2Xg#Wl^?DgX^+hT9;nZ{vv+30xlxE$`qvr3A2CZW<7@^uA15Sw zX)yZ-f*{1^Wu2C*eeitub?SmcmSex$^yXv$H~@38=b_#)jYTu1e|k2Y8`(g#6Ru|g z3(##}O(#IBYwGRO&}>f;9gPQX?^|1#KiKqMXULtG7~V&ftca{iuCvNGs$zG@*uuy(Q z{CIA(k>r~L-Le@?0N>IoYvYl9kR!dOma z!tA}~ig1=Ct`B=U`VgTP1p!q^D7RB&Hx8LS?f zov!T%WV>>*-|nDKZ327$T7STMZzTwC*3SzKd3@Nsgj-$ zQY{GYa8W*dG>Bo}e~Mbnk3}fbuY@7iLGoDXav@yWxq6eFo2zD)eoR|UwYj3aE>GW_ zqL%Ox1V6`z?yUBTtEcdE=5pXBDICRA=Mz>EO?y{o&tW?y|1HWsd5>A~Q6kVNdP{;W zG0)TTFO3K_S|QTuzX@qKulPF=K&R-SyXoK_ay z%0m4iCM>fygMEO2lW&7)M5o_e=Z$-DGWH&9@BUJQ4wGM4Q>Vv9C!0~7u6@W0TBCIm zBGb_*r!6V0;ja-%vZQc)>6A#od(*qU05-{J6aFw<*NIsLH$iyxmy=3$sKzre)LH@J z^`fT7Hy6@7H9$_XzX}R`VhCuJjRAnl!gN~=e~n@K=25lljSn+vah=JJdqoz^mecIN!FBiEGyTA&y^(+uJU^Sob z%wdl#%C{>rJ@NXe8#w=oJ{5tKED9*eT~`Q_CCIBSTw8tK&;fQ5;S;OJSorG#@z;!P za@m}97ZVb!c2=E_q08ktk1;LuPmYOXsNC+h3QD21z zhfIAD8;x+zk7LN}G4U|dfAB}xOK!IsLu0kIf+$I}&j6hAozy~h(^CyOCOaHUxA<;p)ZoaTA4bo0uCZ}L_VU&UJrY$bR3oGaRZbLeY@@~aCJUf>`^ z2-MDcvdeg+0d~rhu=VN%+jHFj6ni=1F*S>V^3^1D7Y9>%AH$<8D{9Nimbc(avfRhO zQ(uq>IN{{Q)lVlkZ9^NhxV?YrP-E+EtiJ4A*`;ns_zT)A*@D(<-&UMh3_1%`A?sp$ z#JN?PPQ^vFTQ2t7fsBZ@C$GsQZ9)m7@*+TOcLWQWdYD%{SPL zfS(&uEbvv5^@s~+v3`(twUM?u?g%O+wm@}C%x~^aoQf-*{oC3r1LvpOjexJJ8Yba) zqf@ePubK?u6^LOaXS&K$L}fWa`T~m;Ae2ng6SJhK*~>- zLm?INJJMCt&t|y@^5n<(`Qn!a=Vk22#y_urC$3as=FW3lz;+! zK17cbKXu{3P}Ji&>D8k2S{a6MZXET@qNA>-7Zf#!kIdq>prCtUxrp=`vaUGi5xk}T zHuSkMNiP<}F6`yBMN1p@s<=(7MZb7J3}02!q90y>AF{erq?&Q0+N4<{a5=9tI1fUV z;yMG;`VKY}B6qxjpx99|=(~YxEg#){iL(>nUpGt?2%#^ZjhbHfzGE5hjYNZo9FDsEh6NpugK10G`G^YQ1g#^vZ)y{qxrcM(sWD z&OBD5Y4}R~(dv8L`VX6Gqlyojn$-ehhb98ju*PvN#)>^1_DrfW1N5Gnp$`<6Jd;D- z9}js8Mc441G2;2t#fOIw^oYJyy#fND*U(lPWdPJVpYPF4{%f+g@Q59w70d$ z%LMYTG%sd591`@}?puEI5R~Mhg-0!6KN*jm`B>OYwui!_3-_c;LUj&_$%M>=KP0wd zQ6%gCZXU|VEZf+P&e(~Lqng0onwc#{9hgH-?y4WqM~R~B;-6?sW%TFU=1|`{JEwn* zKq7?*!X{CctKZIPJuNX;>>WP|OH4=-;@TvgZoTTY+znWjA*pzRtZGgwM7;`D-lD%W zupXjXOJj?A@W6)H%L*ux_&{dCVr-6a=`FM2=#n?dNH%u3kvtp-ceQ|oGIN$UKk%bO zI5AEqEFcI`0Wpbtm>O7zoHyoZKyB;#mQv2#Uembdjj6BBlg$JEXlu${TurZwNvY97 zdNHWLK=paWLRaM|g?4+s(~YNZ1FO1rR=fVSx{n7jrq(*X)^_aPi)_J%$Y0S@($d9N zdUAQ%6WmgHrCG&0lxq+)R{?Z$27<42Y*p&WI>(&9KaB`wbUxh&RXR*k)aG zrw8m{8TgTvFGu}nS{{$`x|@jYtIPQOo9m|#ea#GS(#;k9>yN*^m#C;UgYU5FQMd;r zn^yc?xLqzgJ_{DcXSPFBMU(cAFdnRXgfSHe{fnhBnRq&pPI?^ASW)-TzjoK-{f^L8 zy6YVQ`Ao2fprZqJnZV5U*n2M4xWCS?i=4%{3CV8Sp8S5-elvL8l(S#RtT&&*$q4*F z7^`bLQ(Ateoz^+aL9S8;+aqqhEd0yb+olgf&I0Be?^=m!6h_PCw<)Pvt!#8sA4as! z#>_)qeffB8T<9zU4e}B$@I4T_F$G>Z|E+cZ^E~p&XD~sGm9@X zg9uAjPzwVHZb?%}ZpoHG6Ngk$49ocDG=*gH{I2i2&TtR5hc>90U?r+~9$B}=nA3&q zC1gkl$!w$MP@*(J#?uxS(mTEL0vH?kf}Dl<7*Hk$A!wpYwbCC-snhzx(rQAye(3Kb z?L54R`|F<5&|AOv($DU!+x;G&OBibPUWTt%055%==40a>-qC%%#>a8YpD)v1FKn*s z&PmbPWu$DG;yC@dxbFoHZl?y>TwcUeqg;kuQ?hyVc%1>_J*&v9kl=#a9iv0WZ;@F5 zuP?Wi%&}?`0a~HF+kDx@kz0~y(iUC%CcSh$l$f1z%4UUeT`cBoIWrReciQJix<2>E zTB=V#>mxDMXeolnMzi>CX}o!PHo+{^+IrTnH6$b|HqYnBY}mSn@#H`k!nqjtOz;lWW*Lk6|K&6b|<1 z6`-+#S7vy zGJ@vCQHZ3C{hW(Jx=cj?G~@7bF^U}+=amR@EjGwV0zAoftjVA1J=<&17DlHo?c(XS zJk6nuA{3_5aH$#!Rrvm|jcXalX{sS+<<=z7T(w$b2|TB~bikxdib>IL?U~_!LJU_0 zOQS;#uCT_IoP3$@JV8}&ZSA`@>n=a=09vj_aeES+h4rc{;w+X7n!hIRQ9CL(tIvyH zsBVNgSgOu8Qn}YKVZlw_z`bUU8f4MWKtjy~3EMh+3-j%T#ETO(6oU-Hcx z#+i(14LkS;~7_yH3Mmtw1mMBF{q+BwsF{lIz@Bw7tk{PHdqHT!W z%NSZ_I~xKu<1>1vrPyyeewduze5y-ZD=|-W%Q7Bb**ihobsopXd+L6kH0~i>tvqE7 zp%cIeochl(Xb{nNh@_3T7see;5i(j)+-l?kY$ec+b$y{Z8iol;NNF}ARHXMA#a3dX zw2Rgv-C2(}i|u0~n7~Cc3gcmmfodi$9Z~yxkonmRXz{{?xg=i)XHy<_*>J#VI|9lukcpIZ5VBQe8HCWSFygGIBfxoT|zu?VAo zPB1>KptH0Wpsk`nT5b+(^ex_MpS9yV7Tvg&)%A|;>0V4rr80ki{z#oA0q?kt%h`^U z&|FJFQqVhlqZC2lgC%k;RY-N1YUhIOf86q8WA+pQPHRT3r$}FX6;A|LVTjf8( zUoJ6I#QWp>h>eM8Gz@_6NSusPJ&|=ti%ZKWr5Gh;t&$qw`mmp`?V8MO0V9Fq4F^uM ziT+Tk+zV0<#toUtsab{5!K&=LZm)-IAN)F>GMaZ?a;KTLIqK6h^VAw7oYm<+@5r?5 zhf(Hj&=lDMQv!k_A@k@0SLhbEf`PBaiAjRs2i97}MxC=ToCjgJj>2*6MB-aR{5oeL zINc+$hFwI(TM3JH5(Ml`H)!U)+e#vfYKxvow0ox9%?Tb#xrI#)7{J|80J07?i_xIU z7~<_H7mOs$FgXuVWBBt|hR7liBS|-qHHvFP9B=4;&SC=V;P>L{6GT-v;#eX)^p&~; z1Tz}vrZ_tGrr`Gz%z%&cu<}#$fA@HJtGkHPEGd}O@`H#HBEGV?P>QPMAYdbB!bpNT zu~rzFNX;FHgUC8TV`g5D9j*PFA%Gmv>&+kVbx>;ar?7aGl@dg+-KtpsD?$=F2&Ns@=_>ex1ALDa6w6U z;3c!L14hs?@5tJ-B^uuF>$ZQXwC;K91!tYSm>#IT!3#%l9r-#HMw>a<2>a8y?-$>+ zyKiUzAP$eq=e3o?TVaT1oKZR2(gcdK~+>#;^TG%AJ~B7H6qK3cE+H}siLk4~Kl47cRE zyvC@dMo9x$T<7_lNwt1QNLhhFr#iw(#p!xG(p**}y z_7UngnQluqEiP5B^s|^*#^R4enFSh&RG&`{pvFD^a1muH5MDdvl8d1@`Nol{vt&E@ zN_u8mW6AoK!?7a4zV#LJSqm*fzAKqmWol2J{ZY+Q>=7R z97ayAD=zU3Nd)PDF)m1x9B1&C2Pj$-$o^Rbi)%C106NEHnGL>*_YampNLQ@gY;{GY za~@=Q_7AnzCE77SO_W+|T1Whm8aTC*$H+r#)qu zP94IFd2g?sOHZ9bB=r!hX`;E}0ieQ{ToW4;yhE^+pNr<;YQO0f-gmnCg}JH=gCF1V zPDWtP?9-2|9UpNK-y2gHn*H*rYeqGOiLiKx=cT8m{^uq)@exe6aEp2-qA>10z)Bptm+@ZsceWKg+t z`6dZf2~=K-v>h6mtG2RPz?YqdIu*yUGIpK5-S(2f)&j84DV=LKIli5! zPCVQ1-{Ju9Ao%6Klw18rO6(3(sNW^Vu@cB;NX>~SGaX<&z*vi?m4YSP!IvOKRQ}}- zW#kEXiHM~wZmlu0yG1g-N36WG@cZ}eNcq46o*Vg!GTIY2JFK|x;ec*05|)bXa}y$H zhj=J=S5Gw<*E-i^mvBXIN6)7H&gFl#+(@vW*2L_17%P69U}nhHg;gpog1phvE`JJ% zm%IGf=6qEN#ijVO*!>Ef;nc;c)o+x#Pr`YF)#%Ukq$LZTT!&>Pc+jvVcHj~vYOBrF zZ!Guq@pZIgFe1-QTSuRPxf7OS=%_Q~OiSekm!BNg;*0Y{z>4%xAVp@b^(fs2BNY9o z2dIo!QiRn%@iYW6{o6a9B98xSEs|w~LQFIJkg$sa#Z8gys!)bf{%a%DT?xqLlU+17 zgWQ;0+qv0>Mx=zWm#K=d(jFy-{4!xl?GFbJ9dBaE!U1(Cr#h8w(|`4>B+1Nxl12n1 zC=QWr#bWKm8zChz>|v6fx)L&5xt%hS3;nsoGf)F5NETzSl=0cVX*=z>=q4I;BvC4@ zH?#o$Gn}s)tdfU~VKYv<>_}cGE|!9LWzAL?F$;`DqYK;+P!jjEoIsXXUiw_cG7#bN zIi3$e$h=q9;c!zewB*Tuzht*RR~y>)L=)qj9{Y(##3g7pQI<7Ymm&-o9I)850D zz^+e=KXz*S3_P^x1Ty9A|N8C--N2vQJ~b|G$Zdk|k##06oBLkSN}P1m0;**=6*lN) zpUutr6g4!}^1O!Zc8{4qYAvB$Q@r0o&-3UkYM&oV7V|3B_ViJ#?w0hHXNKF*%y%+9 z^L~(x%Mj+KN6G2e`CA$;1Dkmz*cB1ET))79_!ZPd7xXIE+_vx+y~F2MnP@Gu_@8s& z>at&--r=@*Y!Ca&_`10td+(v&_j0~kS4^$+9xxEL8WHRO1F?MVCGamn3Ud}!5>%&v zdz(p4JVx3!)tu81sH-LJl4-A7*6P5o_pT(Dttskk5uQnmlIgyo6LZE<-XFk|owL^I zH>BH$?w_R`UjHwQDrMS?)dv{ns|{IZOs$#1ne)8I-M-zHYhEr-P}2S&#?mHxy~dx6 z`?6<#-wlj~N?pPuvhkH}MGuKq^6Nk?WU^EuW7(6N;Hc!y7}km=7Jn1vlr;j-591`u z>4(47^;-xn6|t?e+aG%eL4~INjt6z})$|W_KOE*5&(#_Yr|gUV9Q9_?z+^AyMW3vU zqxwCcAK=cc8>p78UjM)_&!0$E|3cW1pOXOHQ4Ji!I}wh8L%2=hQqeP_(+R z_eB&P^8TbM{sD@T`KT$yXVbOSno6ZVNCLTN5gCQ{oi(+t;|og(HxR%SN}@Q$wV%(0m28V6GE^z!3`8rM)IrJ6L%{cI&!=V zI?$Zr6=)o%(K!oBv#5j%CM+fc!#=krf<7y=|GtC9Hss7J*o!{7XQsuXzV@l=8cQ;= ztNAVJGc=aV`hr@Xpg%`&a3_=WHhHe^wDHg_HkijdJ|pa=%z`oAW({}WnzL+QWEgps zYRqt7M@*to@NK^(Jjd-+0t6njJzt1d|7kR|k@JvL$!YNf;)MO36{g>^>m=aMuw+9X zr7kJKBUG|z|7|FZ-^sxHJm2^IdfJV+vdL@vioD|?o-Oy_;b_uOETyvv;fOL?ty4uu z>L5)Rv|;TK&O)W@ml;f(jZ#`2DM}T>%-)9DHlof3hzu?Hi8-BmH%u<=tpM z=G#su3}{T1Na$mBlAe{Dz{{R^nlQ2^(FJH&0;yQkWx}$K<%aiS?T+$l#8#{~lAST8A z0DWO)_2^_&Zz~jo4TxVU2Nwg2 zNDdG7K&GB4N=}-W{w03lxUCp%;^G8oL9868%Q|(Fbtu$gP`lxh8z>u*T@(Mj99>`R zur=&zasO}Q#FhcY^erU=53sSjAp{cT=Cz=_LQHVqm>iD0F|MzARJ(g_UvYBe z&y`u?%~2VkjWU_c$WL+^??;Q>_MrvWQp?bfvjYrUkZD@&WV=|+7 zVmxHPO$OFq_FK^2K{3YiSVrnv;=I1GkGY@vef75k=@UZm5r5M;jB@|KCzV+0-+%Lf zRr>>#&Y9dqhS1|dnFVx0%F|R_A2}@vq}xy^eLTm;7Xj(eUNXym4=Oa#DwYesZzG>B zeHp1G7_}EooA{y@$bq9ST?%@orA^os&i~Z#LIlV__plr7%rFN(v{7c-JQQQ;eOHl? z$IKoGgJi6A;?lpaveIzM$S6n6P8zlZ`rEin{iMnRb%jz{HTm6i%pgbR? zVD_8Fek~h_m76xfIj@ciUqin!qK3VbFFr0+rLn3sWxpd{8Biy#F_80%NLAK-R#qE< z3@F%bkn-D|!YS8}YmUej?v!e2fUQ8P0JQ{Gg4@`gkzVs^CfX2$cIMI|S>h^&E5`xW z-43*d-g$%6>2mZZ-xF#L(`S8jR$Mi}Bjca=##zuW=oZ#(+rKb-6N7QaMyXz2V|$D{ z7h584C{S#IwdLh{gs2Tw2;upxp7??Lm&aM1>K_Om5MqRVdBp=RkVxt&%^kwbJ*g5MnIWq($e8*I-Jqgc?fS4G06Z{Du z!pCU4D({Ss{pwj$-x=fQICF$IF5kTSo-FQ+51ktvPv6%sjqlbVZRlHCEoGh)cSv|} ze7XucEU3mk;QJ5t0ec94#m;IM?eo?~l7gkVwn2Z@Z=K=HiROteYW~PweHB-guBzJ_ zPMyu5-7J#6+OEo*%_qyJa2$<6TevpSkHT;qacuvmfm_Hvg3s^WSKEy>0M=)&4cEuO zt^cz9Bf4c44!y&>l?eMV|1ZC5BIex#^j%To>U09BwM)gfkXLDQc2b*sv#cQ5`h5(l zHJa}{Y^Y>VJBa~6MWH14rh)%Xr9oGORWgHTU7mtN)SDYp{ov3K!*P?1x&sxAwhK4i z_bv?r6-O-VdL`PGSw*Xz6G|3d`(+axb$S!aCO`F>f!n4$s*Ta44ZnJQ#_^gps*NGm z^D%U5qs@mI_~sh=2R`_w;tvkATfOPCI%@WTgd-}|+PKxWA$VD1)mA57TE)MxT9M`%<5W2@N)m4`Dso@B_)8~+EqEgb%z~S%ibsp~R zO)P?Y{Ox`G^BXzjf%8X_PgA?w_1Wv$T<*N@_VPDeOIG;kfv{sx+mhSx2Sm8|%d~Ae z{^cb;J}#Gptb8o&O?14x3&L9&*+I+qa`JcXd}8DP6fANH?RVsOu<(5(TTHvZRk`=p zF7LwSZs^SW%P1+;GlCraUWQ}7iH%FKyF>9VKgT*R%Np~)X$OyB1c#jLUg5=q-U=>W zR(51mk%6h=eeNc2i~oY)9G`$-yH4+fz7JrE_I-2T?(bm2#J7NRTjKWBQ^c!0c#q^_ z;FRx;yuHcI8o`xp^iFn=+_;^4(=a|TpU6MY(87+zPZ-X_xE1S(k2Adai4q)sfYS0U zE8uVMV^r@S5>{{R046*C39Gc(k822fG{+02^4>K%a*&>rnAk9te6#md3L;i&*H1M!V> zmzM)R{nkCxu+M(4M>tEs`>O(?{jIBvva||yfkIZCB}G1zH8KK~(bGSvqMzrFSxjaT zb7J}zK}K$*BKAgC7@4z2z&2js-^9!>O8?tMM&*Ot3*unV5jbY_ki;k?n1to=!1bFq zxCq7jNLu_p%JJu{cH2UFDGPgdnfG9qor94yfrAIuNTsLRwWM8%jkJ>`X#HM3ZYF7g zOC`BSGm4ZuWPaKxzSKVmk!d}at1!<92~N(4LwK9yOL_b29;&BStP^cvIN7wb;YK!^KF6ovCaYNein>Y}Aqx5F-~W6Ng|$l~lA& zKtLX}fkA+cH~3p&@KB>^8^vh_B^sv(!$x9Gad+>Rg&`u|a?TkJ0iGHj?gRZzd^{im zttatBjis{}$GOi1UayX)RqKaIa);Hx=^oU>t$QRl?-w`>Vwmldz#cYwC?>Ju&cgPD6x_tG-Nv zY4GvI*b_JwQoIc8fpikWHNd1Q@V+54(9ed1!^KR2LQ@)Kew5pifsb!aT*uED$-)sBq6U~y#i*+89GMMlWn1Ej>m zjzGB&NWNOOQH&pDPYL{~G=UmRY*Jzyf^D+l8vWRSo`z=eg{=%+Uv0sgk)Rhi7RZ*c zjUA7wg=_TGU@RC_vWRrd^Kud09d!=>eah)qb|A@rthZR0f{{w!%@7^UPCt=9Yyz(y zUbjf}1RO|QSIR$CCob=8g!Dbpu-W6J@yS2A)MR>kGf;fHk;q0dz8tI@GJf-p;h6ds zng|#e`gKpKH)5Jv&rh^_eBgg>hiffU>;@!Fd!Q`i3oX29C+voP@BwTzmVS(RSL`nb zzZj{kTeL*Ijq_(twU+R|Gn8Kqg`tA@K@^66TnY$q~OW?KnmBc8*DrdlgFZ^U7Q zjjH|T^YnDwDW~4o{gxz3qrTd+P)DJ>z~FzU#zeY57utZieigz$*&()&4QZ6$)MFop zP?Wp_R`iz9_idp`9p{tz<`0fYJuEOVH{zN2rMiYc#D{-U(s`Kpseh75st`R7K^B7# zWE~Yr=&Z)S-+|)`?Ugdzv5OBz2BnE#+E;m?wE@+5Z-OmQuqorZ;`y$tw#A==9gDF zE|Hvs?5q`0NW`ff#IGRqm=eyDOb{Ty;-enoA%AhFhh#y8p0;CdrxZF{$r@Fwr%3Z$ zDK90)6i_bz&Br{YbF91PO6*V8A=-{KCr=t-Arm8_Y*L?}MD5!R{P47IPg9kyG6IXLUCbC6^R^tP0e>#%71o$TtLsq<_8g<=QXQ3D zT`%@`Y`wPRb^Bg+SJG>Z&j~i;2S6;c11%`&ps+4&mTTWd<}SuD6zy%qkkL3f?aAc3 zH}1E|2;F?FI)JC{He`S1Eg?_|eqtYxLJ#-ODs-yT}hs zTZ=ygPmxUH7!YV;^ur=~2~2}&1`ZMya$i9Y-bp5ak)h6<>vOO9Q7A$F$Hhy3vz=eg zlP3v7LrP-Hipsp zNqPk@uu-Xu>Iju+3r@(i%?-c&UZQukw%n`cC$OqjFF*O!xrr&Pe|aWyCdpaJCwj8- z90VwNNm}txoVopZNN%wi=l-2mqsAha>ESB0l32`Do{KMIA?$o!q(0r>o*=FqD z?*Vm;@}#3jwae=v+ROMM*CAG35`2K?NUB-2%ykYtQkvw_!N?fS8|ls2x4Pe<3uRf& zx}f>CP*xnYRPcO=r8Te}=~fjggOC2u>>hW*!4$t!GFrRK^JkBHS?aISn?hkpN9IMn zg*A_5>gBW8QbetewM=!6UNaqO(vVW#f}^SYp;T@R+4-(-6psAN`S_>WXcSnl+HW(f z91EgamYVg92;*D=*YeG#nkr0SZ;rj)o)T-TjVSz7?R_!xD%g_1Kv;Q}p*w3xT zGUZ4mW)2bqV^LHdQeGgaz>lM3I=BYkWZ|tggZFasl#^!MQzPysDd&|W3*InwRC-#6 z3h7}ZZj>|}`7r~Rh@mmtMXvu_IE3?`9KqOsK(m?p!HbKs%OkAkl+K&t%ajT6w`3O$ z(A8v@oMM!uio#DdS6?07=<`kab~>e1ybG_YPQKz=`ATapaQ&if_2nl=*KL7SNiR9Q zJe5`U<<##%QZK&3TJEJMI#;x(vTy$Ht}U?t3r@uLKX9V|pMJ#5@V{9^hrR#EM<0DZ z{Cz)PUoXHAjX;MGHihs&qe-wT|5pi)|0(g`{39j~W;Ry(|Gyw32MZ_b|E{^z?HQml z+`_NtdimUY`{Cui+hx9+Z;ojYfP|PJ`;3R0Ap09E5wS2rVh(JckV^3P2t{1Eh+}jS z86%(Z(5sJC3=%6@awO3ZW_HITx9T=8bN;RG&-c8H>vm;l+Xap5%&E$s@fJw_SMB;vKv1eGAT4g-(A2A{)t&f5TPgah1Ma+h|mR3fxm0O`q3fqd%R? zbl_$1FIkp4jZTMg?L0~~5|(SC@;Y5$@QbedA_rge+J7nr`|g>(!77n6XigsIuVrft z`p=5vJ^K7A`^C#;n7S@80w!7!i;>g0oj$Yui;_IPyS#YB%!=@DcHJhwbJmwH;{kuf zOlK6Kk@;Vb_ItM^PzT4q@FPS}DnGeLXp<#4GDHOTqEC?y>_i5?TWYr2fzc9wsO7BC zr(fyTx$MS4LT=vnY}I^$=m)y)xd23&!FuA5bBr#S*T-CQYRzytA(!DqzEA}Hwy&rg z2sQfsT?N~h06CW!lX=DB5qbw+hZdaevA){%RKDT7JfM%GU8PpRYX zmNO1_L_G4k{OQ+!(MpSFgl#Bd9R%?r(R29Udd-lu0jK;SGl}XEW3)kKw<3^%e}fe| z^B((O*v>q0&X0Bk=#%8iIU^Akxvu`gvq07b&-!6rBR9v4&0962-vZ4ouBPJeUe%cwwdp0*@Pwt*iIpk3zRu7b~eZRG1HcsS8 z0lk4u#O-l>3Sa)Y^eag_21`*JAkdrLk?!?b(2o5kHM3;#p7Img!3=8k?|4TKLn}rB zIjvq0NDQ9^Bls8#Xnq&MKc8-#b3tQDCa zs*qqVOErI>9I)?AdN~Ji12=b?0|5~j>CUD zH%IJ_JLZqdepY$#z|)=lzN42a4q_ z#4P$}slWdyqg$HkGGxd%DCC&@wf=7ZNA1m!i`DQ!=7;h|yJ&MV9&g!gRILfs^C?_Ld8l%n2|{fB^i2qk0e%?V!w2>ewB8l zPL|1O_xfz4pndX~9+oS{PJCN~Mv4gd_)JY@7>~?!B9oDLc^k05DK-8&%M7ri%oN&@ zi9u-R-bmrurIdznLVBUpdGg2!#nD$0uGLsH5Gpdw>A1J8X|NFH4Nt{;Gcv~0&&fc% z_gd;6mPuebYRzQn)>~J~IsZk8_b&I9al&lA!@a1>fN2YN*Y^o7;)*fD!v2B^eap)J z!pfe8J=cd@TZtkCwz8CN0j(mW$Z1?j+hm|oI|M4IHV(Tz&1tv#%`gt`BbR5J#g7TN zRl0eE1PvtMs^7ha(s<_P$lE00XoUa~{Be82-#Bu^!MOYP7Tx4n+I*>{C-f+O6&xTy z^a=*{M|Ai61g58#8`Ra)p99Uv=SRFk1Mw5gK6(uA=Fy-8v)FqAM!LE_4Y0DIh`gAi zXznR*YP$%EG9kRQS`KZ3)~&*4&sW=upt;))K}|5*kLq`aqYy!{qw?BFZXm2shwOG! zN+6b%B3(v}$waCQ(o)`q=UVXX72o|3wGZ{}UvE0~e$ST)X@q$1D+u&GtzXwtEw8DF z`z1(;^(SrV&$2|AbWBxk4Kti_&A!!$>U181;Z63;jA!1=c{YRlO~?%AmP>}*#hpgX z7fh;E1+M{n4o|D^$9&Od8^K3)O2@umH9qTC)bq2Yx>UdAi9 z{HI%wJe^qf>mII`(H?W|AqJ2fc6_fk06j~qipxnXXHPZ1 zH1mSt++uQ=mMcv?F`AkycaTJ≺-D+yUZsO$We=mX&p3UFj6*p;2G87&R}pv@%f! z`rho-ti}~M(|CiQt{VmcdaU;YbnfvrF>wYY?a9vvXC7dj%-UqoT6MMF}|?3aO+;W zA!8Ui+f*i_vD)C@g!#V&&2qR%J@TIqe{g2D=bqDt4|F(QKHA^O`3F>Y^SZ_cMjXp| z;1Obk1$A6-3A@O9l!}In#q<~mPrV^Vfo1AggI2^KHSJlorm|xq!3eC_TUn1DX3lL; zo6Kjjr^Sfy*>2+qMxuP#KQG@~N2|?73p+lBcX=Fie6CwNU~(8B0Aze3@BP-XqSVp7 zj3nBbI9Aq;JYrfMGMj(m#6J1zrYqG=T!N~uQD-oU@QOCHd?c7ku{KN>pezb-6$9AF zdf;ycq*6U)26zgE{ZFpE&7~icDARgxVKuni5(f=OxV0mTm?Yn_m@*sLwF)V<3Y%-` zbiV1fe-lk%Dm{+k4LDWArBNTl=Pq6j@#m>YEM2e>FH56Zog?^BEKl?kVz6pud^W#g zHouagcWbOrE*o)YrM6q~t2dNPfgilB8T8Xhx}1FX;PJDvzD&Rgg2( zp7}{4wd7zYCa1LGHUoUEg0a7qv1-xsNHw=2ugW{in{nW%^r}SQua(5=GkbA28 zw9Stql&zEo7X{}tCEFTJo8G2_Sp6`{$1xQY4r%c$7ev?Wo!^B`R&9iG2(Yb>N3wXvd9{_%nBC8XjzEIFmNm|QNoczI2 zowDoYy91t;Y@Yfl)2X)1 zL%;NAK%boE8ad^ZyIT{E8V~ukQ>XVlBy>lA5|{vf`v%hAk;8(6rbAe7L7Xh4ziJ{0k|YVpkNLT1z~4c~L% z>*9Gv&8xZ(3u1(W)IkgRA_=~W6`m!}eO#5BYMDuCtBNy)0rtA%i9?%*m(>^siaQ$4?3B2F6 z4rqYWt^s$DVK}sH&PD6u2M|itPmyt%w0elwUZyY8BSsAbTc|$E(KPz)^<)6n%+&Vh z;BnJ-MTPR`i6ji09_O`V6ZhwSY`C8O-<-RjBkg#fddF(^&a2WYb6Zx4h~gGW$q2LI z*SB3QG$&U7%Zx1bZIP#+-(wHXk;qQ2XQhSU*+rAYQ0vKDXiVW(?;%u2;$?S7qfC|A z2b4T$>yEmNQpoe2K4HIovo&R1l-lG4izyOZ-e{ECkUfi*CEZubs#fzj7kygiwpV>x z3qW9F;LyO#42*7pJvLXjY)vZr6F>)BAz~)2v``FM%W9cAGDv`QYh_%hyatq3Y;T%h zd8?%NwSoo)~Z3*%6ruP%!piRMBlD~-K>Vi&r-)? zd0KYvVFS>)w}uD75ik)Qn2h4#0{H17BBK+f^x-f5=IcQ<|FVPHx3xaDBg1!pzCh`} z;ARJVLrLySCD#Y(_jR@XT{c^^Z@RDd(iwXY`0p`v;!8ZRdpGg$pqL(`KuN#*80VzV zsALe)qOIzt&0Q-2f2eOO7KlM~Wz&_4RY%Am#_UjNWx$_iY!KgyA(=-~ zYT%F%)1)m7ru^iGY?CcygBne-h~3&LcSJ;({TfhYi5~@{B??*BT0LrJDUaheT!<rBU)7k8FacW`jfY-Y74ah`ycb#Z zQ6q|eH#0+4n>kLt=?M?!-y{B1?Hm2c3OgkcE)`;%YTuJ(*XwaxjjdAmm+x?1f5_oZ zqyLdJnE%WFc~!tqr`Zm;h{yN;lvh8roOIu*w>pN~bi6&dY@^q#x6NuN?eo8n*L!;! z5apj5y6w35-u=D_G<^w}>DFoub(_l|o5KRz@B^Q_EZsl=J1^e}#~V9KChpicO_rY2 z8axO_#*?ux4lbRRa4j)b!q(fpM9jBMY+qePb5N4fXjg>Zde$>A5!fl5xemVt-5yNBjM z5vvMb0MN|ZYZ0Xkv_XB(W!D+zGK zM6P;mw?Iw9+Y}x;hQ;X?qFCe)`Vi%!@wjf$*(L9`nMq~3!Ryv4g7(s3jP?-XF^uf$ z5#%1ZPKJqTH^M)Sbvi>VgCJ`$=}+;iGoce3_Yw1>DgU9mFBcXulZY!}QwHq1Hq ztP9^?BLa=0@8r6H0rN5Gn!SB_y2hMvwhtX7de-LwmLnAUDaYFY>0WoHw2w(){}kw(K%g%`y4@Q}TEA+{Y80|z6 zUg~NI^@1CKLi(^DN|*yK5&1~o1dK4B0|K~;*K}U@puvR|2)O_r1==r@qBNc?gI8ur z4F^gwJUzkJ4xDM)0g0d#05en&ws}Q<#f2NAqa1MG=iXiS)|TdDCGfs5;_@jfpu?^} z=g&)+Xr0lecv!?}Jx)3t`iY4luf!7wWJHYp;F<5O#_09EkEm-~#fbdqj*N(>ohUkY zA%L?;Apxbz53RvQg$$$>W$FfF(MJ%1J>YQy8c>cFG@d(kOaCobr5Aa?^9KqX-?BNt zPCw2Z?(P4JElR#`zeq8JIpJ3+CQ8;OuCsWEm8ddPlq$&n`JMei3v*=^_7 zslVUh%C+K!oj2>1nN2S5o$5FJr$zyz zGDNVB zRej_>KVJB9*&J!)kHN^&>_N1m&T0!eGw4mGyhLrCg`;6fecYm@k$j=)!`IsZCZz^1 z0!Iq*&>ri??_pM0vBUrleOTbKZqZc#cH zo(_}dUeIAqcl|-&=qzmRp!h+>+C0|fA&9{lVLGXIa2MK460|z~h~;r=>i?W_YLyVs z;i=g(VSmRbqlTf*k4%dhDPD=^1^f~IIOQsgUBid!9DvWrnA=e(C|pWOppJMB&5P4X597S|2O6*-ys{&_t_JjKFRh$hRBpKm^WdPtuA?67 zpwjzxSI!(F;N*g?Ebp5ldK@SIp^T6}LELgHQk%I{)j+R^RW%Q_V%H~#?4qrt@+Hw= z#&&UCKhm5sHbsWSp!!%l3Z6BtMAR{iww}1{K z?&u#gy|l#lz+I-|0Mw{h`}jJTG8p0~8ZTaO}d~ zk}0{cNwc$6%w3>+{(b6h{EDi2TGleJOvH{*`lT1ih*fwI_C^Ad2OV6sMni?Ls$+5u zR>0%_X^Nt#H}(w?EflAF*PdhO^Y{1{8H<(iqkkRR579Sn{CA`8i%06-#CuR=kTMz6 zHq*!b?$=jn7%jrnJ19~cKc-u>eJ9O?0lfSueD$!jFJD=W-?{9YMU^6_W0=SO;SbW! zHTVtCG8GEuSVtBu%~(B>rt$lyMcXuF=G_3sm&;9 zH5YC;k;T>Yx~u)ZMM_Ee$k9-*HVpue!>IV%K7EfX@(e_>IIx$7#5VK!(2IP>6VR;; z+~-3c!VDnTJYY*@FC|Qd8fuxa@e;7`%W7e$3!=?t;o>{KGu30=)2W^_E84fQJGfHt z-%hHu)YYDB^;q8TICc2zWmz`vJsA&fdXC2Mwm(7p-Q87_FIAvBE&#*HU^lsvAt0nR zE<{`q954b&eX>%!08toKnk7IDVfz$WGNsN;hNiwtTPs@X3Y2br{@pJ|sXxdL zVBN*DmJazqi>LYGW*hz-2>yc(S!aiW*3x8&I6VhJF2}q~%%*pNm;CHA5=F~5lWlJs zoplVa-`Kc4>EdbqZ#~fnk|aT#h0u#_BwB9;BIr^FemjZ9cc<<77-00#=ve14?%46; zZ4`Ynk%~GBqjJkDgQ9H%g$lP|PorS%*h$huphgWl6=mCpY#cSx7a?9Fa#=5)!nD$!b|xZF3ju;4(^Ub#8W%2n+yR+)*du0tdVAfRlW8t&ZgglrW5SYU^vaaM1YYWBUZf_Q3zdqU@#$&4q;8{z>XJ(Wvm-Vpfv z^=pPO>_WO{8HX}N!5b?}boI41&J{BUmw^F?ue`u=$R0y$qoy4hK*bRcSikl#aq#gx zlI(Yj*4j9eC0=eeTX|yY4z$S(^jcu|0pxIP&S|nzfB>D*DI&)y$#NTylQ7 zN~#2r{Hi8WGAVsX1{8m8_vQ2gk^g5-Qaiw-^$EWRKGgMn*~2eo(J_wwi*^v$kBznd z<}|jeV+jf3&-ZA$eV1bA%OnXzQle&fGyCU1&#@1bGdZ$UaT zm$%AL_+k8#cZ$@>VO-D9(%&iKH`GPTa`AF|Wi5p&oLiNbweE&@oVvj|afVkDDr$LI zU%*HZ*>}&hi4+1T*$R9Ty@8c4OS2oagEWncdU&cX7>Y$hbva8_PFl3)1D~3*DNaxX3 zev7_%r|niyg33izwnbVcLWET6X5-VSRlzKtkEMvjc$3Xus{~1LJH+45Ha-YHP$up_ z!46-z*gktf2fS|Apw^JSRUfziDo2dDR61*Pg6?v@1Mhm*cc0EDQhoN9b-?X-t!B#%We8>9{n^7dC@$&4?EbESLi>KAvq5&q zV6onuZDEGbpG5Ib+{>FiBhB#?_w1U~xdS?&<({xJlB=pv;gobwln<$TS8zQt=*}g7 z`b(z)v&RP&4>YmVYcJ3x9i#6V#aW>gSvnW5=;ao-#)3Z6_2U81Fat-htjX5DL??z` zsz~5p+1#nj^BL+Vt1U+b72(hHc|KsX+aAN)=d^$GePmyz!fa(F@k4f)VN?sLA-vS1 z#<&Mq#N0*Zb$%+b^@4kKeGKXP*rDo|5(fT@?BL!Xa1Gi@hAG+nZf=gwTwted!b;%v z^mVJd34jxfyUPVVTpv1I54R?#P!FF1Q&NuWM;=Gx@1`Nq3Ek?jcLr_ROydyH>gIsW zrGG~P0jphgVeZ-dw59=+j2aRS&;3h3n^mCic9FWDB7;aA) zE2)R=3oZJE8XzY-{8pBn1Y24bEf#yy8^jvzX4kd(?k9oo8|7NNe^d!wcAvo?U+<|B zpD<0%21Xzu#!4xc>)(E?ZyevmOpsPI>IQpwcg)2|&Pkf;QH52}#pZ=FXOR?{K zDeC+womWxLB1mOW#|Cy#^I}`|oh;U7Sa}QM=j)qSmOn*}KdR4AiW6WHjb%2mB|H1NU7f1FHogZs~9(;Z@9nBYX?~|HLL-?Ci0ktnkKCAL}{MR zQPf@-b#)hYmE}jF)X|_y2+~|v(H>hR!McR^n@dsb2TuyGoh7QZ%ps!h2aE3HFxt76 zw_H$n1G-Jf{+OcoBj~TW97`JgRWhNl%3qZ<);Pk0hCruTYU^d6&VdYOL&?RhXF}}P z#TV#H%uxu(?dBU8|6WP+$42HQYM;>Gi|vab4Fuxn_uMp2*2PEefJQQpr0^r2<+0xd z_NFcHdOCphA_%Dj$ibBv$yE0z8~sBEodqTY2nsPg0GP7E--XAYky1Ga2l}DCP#RNFYq=mT!oquLyZ!c>P*`Kj!R3jy&7$u{A+21_v z#c4rPA=Rh{<6!;sbuHm@6qOWO{L|GWfkb@;$33(3CNUS#^Hb;Zb&&HjbXbMUHq!&Z zBqC=bhlKFiuDVF;`jn11#6s8LMg%a_tV%@m>ZRQ=1^q{}LTkQ_y4q4G zoyKqQRX&o+s2IP!D5(0`D8ry^6O#)@W;ID_MBP?^F0oQM0zAvkMoS~|R@f(Uf2(%Z zCAKnmnw^Tzk)?>cNnF@$m)}GO5EFB5F&`fv1XwyKb42vaOmsc$-mKj_5SmQ~nIL-@ zEY-fukN{Ev2B0tjCu6QW5wZ=$`c}1G%E-Nbir76EpCe<;5duL_{oku0odbE&1dcr0 zrdf^F-F|)tW0)&8j?s%q!MR3gAJg)2Y|lgIr1=d~#%sX2>7vcRmD8P}JFW1hV^81i zHLtLyH~xN{$73jQRA09(TaIEGvCn&jV8QeX@qiaUem06u zuSzjeSnjKk6WJEt!vy%OihV{CIaWDp&!6FVGp-<3dp|mEc>;h%q?~~&bdex{)gMvW zOsZm0y4{#J1A5#LwD1>wAEx6NFn|6?9h1)VKb`Btwb%QkfIp}}+WmaiKx<$EZ?TIy zRm`iC+9_Iu4`NO548-|>Vovx%^@fU0o0Wfys;IG=?b&3bVIq&vd$`cLQBMyfjN8W) z+4JTGl^lop*74tMkOr#498bLO=mi`o*zXRGRlAvOuPM_s|wrD-Czs|uJ?g{!#7etIT1a%CbIAZk05TSULB^;LZBrh)pL|}&_-O&Sn*91 zw@Q2;|JvKbxnf%mf`<4OF<>A%c`s@&n7NY4;`)wV1{uT+of|*oIv7T{_8$a>r&t^l z|7h;34cJ=t!E-0i1*8=*_toc_V0roVJvlnxx95|)b|4*YonK0QKY@ zdX0(tF4*^}{!ovphh$;(Vfj?lRs8caoi`mo#ZQ%7hrI4K@JYiAFEMg1d)n_r+ylx-VQWSI9HDThiTD5vX)vp7*PxTXnKeQj#J3i^K~SrM$N0CgrT$ z$CaA*vQwR$WL)eP&lR2PN1*x1W}le8g&F_ES&WFjhJ2G|4Ud&v zOD^TCAFxU2I*gOH*liIh(HNtiXQEUKrYZ4#Pw|289v#WXq(lJRCH`Za^G-1_h3Y{$ zF|#9XE^6spu%9;j1qAfQjtA4x4G7^SsOdU%*RGBmhU?b&2Ok1)BNjGj+yp{quSp1W zej+xr)bZYuk+WpPS+@+IrX~Yy+#~Q4i=|`ZQEBQPK`5)CAh!^&U5^R zgcM)3lwTvfJ-ri*_^)#QY$?(-n;CW0mR1DQZ54P>jfnT392Vbq8$pOo`NornF-a-> zXpjWO0EUCVrGz}n<*a>;H+dVs>(HHFM0?1U!!wX3O%*gc>EWIR1HrNyHYK846oW!T-4CDb4cMU zd4b;0p!+{I%(j77200L+5-bL*<0oZalqE4^`U$`0`z-=#XAMMU{O zDkSBLLf8&0dTmu%bX(hCY`w+3sZk)$(Ov4@cRw_18DYHd%6@G7)g?h2MHiy4gMSAV zk0&#ztNmg;CEu)_G{|Hb!1}@egPP;R3eJ+zVr0qF}qmh2@CQ^oa zVshx#j7ku=V^Ry~G)lL0K;C0Py+re(^C?hb0^jiDRnKs2yizjAq#JV0f$a~Xgrw9l zl{x#fM5|t;L{px@DLdA za=I(d+Bph(s4pYJO>kUAJ^{eDuR9%t(I;73SpGhr(B!;7e1YeL2QEgZm)gvKt-f!p z)NyAY0(XD9VtxQqhwvri^OawOi??j$&Y1p*(U(kQ=;fduh25_Jf7*s#a3@rKpw2y{ z76ONK1BMMnp(Z;!4inlzKtF-KNJ6?#oNRD}X#G2&i2Px(Z%9gIQA*)p1Q|j*t+M!< zkA@Gc3PY_$nR7ETtW(9duF6>;_^P=N9L_JLs(+H=5TN4?hS03BajUsiX?cT@pQQf@1=ISajBaK`*y~> z4GGx^i0oz{N7~9af`Zfa#Zbs94NpNjOJNe`{z#zf=$=|%4v*PgFcB({m~87ChQ47K zgT3x6#bZMir*^+QE;Hn#yEkK_Z{e-*BX1q^+*j3+-7C`V^U@r;k0zZce#;+a@XjaZ)y`V1T z9woUC0uWzaK8?^5uQ-RUD^kDA$iOK6$l?o?fd%~{g>oC1y9{)k=%>vaR@?EY#IeM^smr zYLL3P6xyTnyqYiwQ)jYUw`nOaFkSR#tLP~UYsl#{>X2?V*S)c+RA%Mq)1OHxWr1yz zhyUD~+4oX%5(J_YHZ|VB0^4p@52+hx+}_n;ZeBK}M)`1Y*)jZ8w5bLdTD~yPo?%{D zoz1ZRipGM5Gn}DuK%(kCSFAdEH@r6_E48w1RTi#~x!U2R&VaM$p_e|>2^`bA%j0XD zqOWE7Ex@MbQ@8KzVP7GuCCb6$CR7BfAWG2NaO4^H$Mpk-_gY4yr;CO8yIyfRWogUt zC%MiF&HGMLN5CLti0ThL@97XjxR@SKOYTNQvM5D1tQvme^Xa}YbWH6l*gpf>?wfl&F)9mt?8tB_ft6Gq2~=RpdWO%5`^L zE8Z3}@^*kH5lP7wWjxs6-BNK>0AAtw7%@VitlR~S*yO!rjlL)Ak(rKR&8Ku}S>76> zMJ#5I@_h#)3PtWtAyYT`eHJb{tPi>asQu`HygLuta0^L$B}qVNaj57xSq|f>7on6q?3x3K#|kpkmPx1jlkYm@yRG5mpaAslNVlU${EWH$#!4Z znBAaa8jahqokmBFmZ03kBu2^54i?O`b+WsPbVs#B z+zi^oPX^Q!gYB4~*Km};taonf)~b!!d0Lrwv{Jz%^l$r8mK&Qq`KpxosSx_9XfxGI zOc1um$(Vp_#aWT3S1EUiUDW9jqf4VOm~m!~f>WJdu)r2%W2;l>t?to1BLX_?finY@ zi4PUHc4F}nfDo*C+c3e}H{E(nl)o=!q1esW%{3V1`1zzq;!vrR#7MVCGL$V}CgwYf zt!wb+uM4l*-H;>(%c%rVX~-c>n$kvgb~6@YFR)j0L(8$}ga-jhXUSD7iP2h!Fqggi zIt0pva|}zF=NMngN~M4mb8_C-iOrjpP2eMQYv?+BL^K>hSay=#V|LdJ`HLXo+Hat6=DvJo;ZUL=H+UMlBf$uT6*uMAx>9~Gj8QRn1bK-KwQycCh#-vGtxAXP_PpJBMKf&F@$ zQT^5M2yp3qoX2+Q3^n=D{``C4^W#y8#9Lxu3a(iTWy=q(RFEZ>f9idL1 zm_*-$Cal(82TEYU&jMyq6T*PY=g$|lWyEND#I+Fy$deASU*;}MIU1l!@ zy(we8DPPdEN(B}XkR^nNbEjg0Q?2pFzA7>QVqfq;BTQHuRGk@DlP@Bw(_>k&j|TkC zC4XaNC)nrFg1VaMXHrP!=&Q7e+gTVK3y#m0FT|6kqcA?a09a%+kT4MzG~Ce&#;LCU z@@*zF5Y_{s)k-zcc$FVdpC21q+W~c^d0UB-B?fYKjx2v8c2!=u?oY2XaJc7Q;I~$>L| zy{=IuY)pbx2^y{VNw><1$bxe4Z+SVq+`epypKwb|)Bb(+3HACzIl)GLU8vpd<3)ud zlf9}bDs+I`ruCrH{$oo7qE0Bx(Ki^KWj{J-QcJ(P+{}4Vjxj-N4ZG7t=miMx}fc_)s!-`QG14F(`kEb_;3Y9!0tshKbI7_ z3=Y#&#V8zO)%`S#?eb^bG_SUdLxmXqVXSN@uBr2IxQi91iT!Ug(9zVTpSCx~5At~a zn^2M_@zh|v=tW$)X{YsrSPp30Lc`+*AHHQTi~`L*8kfA_AwvxQ0)A{MX$kMb=G3P5 zKy6ftwL4BD;&igH2k|jIoE2co4s@|eX7KcYvNwjl1W%S|sEStIr}*53IC44~E>6>3 zcHo*V7XtaDDpr)Szo8iXA&v8w>sxstXKaIrzyT=;8r9QYn4j%tM4Mr!`Edm?HahR@ zfDJ*2EY6nf;z^Wx+KQO0s<3(C(@8ylKHv~OhLGfb0ST#2AtH`Pp^$;MW5hI9yI@`7P#_^OGCo8F| z9A7RzcLbAgoU#fB(WE8>GuS_6Jcc>3g${bBmKG(^dte$l^xIa02X){%SX56D{edkv zdYtou5T=y`b)p4hi1hE9Ww|b)x{oBh=Ui%!50nexiHxAvqWzP|1<*ejje|?j_HB@M z%vqOk)bMG)FpPkd8S`|@!yk}dT?;IO)3!`!^s^6~eqP$srs?;%WoCAGF? zX+>dxEeFi{dUm!7bHl}RpB;-*fQ@^L_~yJIF>cNuO@i$G&hfW`2vK7!c48t{OMwzi zweA3oS}g=5eX*^PH&dcW=BB*!I@pxs5>CZAU9P;HXW!)m%bAe!y5Wn6LmovT5V9dJ zf2sgPnPJbd!P;r8ttnoIO~t%wSWL>BAsV z%$;Rj$}z4&*@{qr`uXRvzI?w+vz}!AS|NI4M~{opWRB(}lp@+SH!bOmwNe#|!qKf# z49>yAqG}qI2sfX?@?=)ALAX0EBcf#NpN#Z>G;%vFDG^|P-hVc1NvrRK4tT=B zw>=enYeIPu_Xk@B!3X+UNzow%yLC<80FW+$zYXUK6TUO~BYK6oXePiq1F=n`m1^bY zm><`}C#(xRnkm{MM@G{bPJ*{hsjLLhx*?uYZ-44TG+5#?N!hD85RfeD;jy|M6gOv# zBdfBf&|#W|MN~vEzp-PAFTn6xDcSA0;yt`x!er4> z_RvC~7H{Z&t|u$HzK%VLQ(=|XtLPFWXdpCv6Bq)PTf(>k@}>;b=7n`UNLfN|4(78N(B-bA25QLvyF+~>k)oY#DceyaN)mHpwuJ%b`suzC zry&D!pn{G<2xU0=n;hZp`4K(cW1g6NTdvRay_+Lqt!kJMMA#jhnF6Zwcg=$e1+#3Q zO^LKWv+alRy3vtf9?wRuAg@HGNjzT&s%U-Qh6DQAGUGA6l4viwklI;lT9hC%jYoH18bE3XwD=k*qAsC(6LeBi zW8bt}f^nuEk8ENAySj$H!5+-cRxea&tZ3z8VqL%DuS>i*r44i9PABb;Jq#(RbbIkg zkcc(+{sQ=>->Qp-3$9GD38vxDXCko#EvbQW)G~rLH$x)FGUxqJZe&V`XI$-Mv+2NS z&)*mk5%WLFQEJ>jr#v|(H(ylR9yy#++DAG-DXKvvC{9Xeifo6DsgV@K@*blLuPAhY z>Y3#3}3*KbT-o;C$LjY5z*&l)Rfy z_c7~5&7HX`mv#SbCtV!L`eG@nM+$XKo_eYl9JRTixD%^FRZCY9{(UKvsEK_r$GBcL zqYt6(8}B#m?%fjNIf%jIq>xRADl=qLeD6Xkj5Z^m zvW~UtJ}uK%!f6r6euDeP2_Nc_N!~Ik(`Ul!5q_A3D~OHoK`)ZW|4^SoOk2CF6$eL_ zfH5bKTQqO{8}dWL%8sLKLHyTSrCh;5UOkfDr%IzH9;r#vavmUI5;4nPMeOzp2b($x zzOGH4N(FxQ0%=o#2;kl+|1m+DM48+T@+W>w@xopi#O$kklKGL4cEHf3EYMIMYK54Q zT^i_REXR<9I3ZS8g6<_+q$ZGl^e#gkyLMApt$N?i%sXrUIhO6f?R^ZfqDY+scKl?I zm*wH>KRTbggoyFU=L8Dw$bb6EV}*qXt-`NTI9=)_N@9bFn5{+!PQQ8o|5D$8SrXsc zk9`0uO?X$+J0fyJQ*ZmuRJ@WcM*DrV z^yMdc5VKexjP-VvHReWeM0#8_gniLYK%Glr4Xy=X6zT2G|?R^ zlek0m6OpfMmzA%f2A2b_gui4}PP+uoj4&m3#dL*`rS9^tW`)-#)wp$H6syNXJXM>e zB_pTlmHI{9qDre-c;l%#p_xY`hZ``5Mx@Vf*38M;G23Np*SVwT;5&NcTJ1Q>HRlO` zhuXW~X9Lh^_Z<&SlTb7W7@wz+ei6$#81D1u0BKI78|}?WQ7s)Rw<`lcmJ0CdfDb%E zG&r_;jSaKf)aq{zRwnM#5vQrSZ-sm|a4BNK1MAs{VhS>|u(TU}v#LJuc( z!VP6LF6$Nqnk7KM{E;v@rB?1M@u;Zs(=0iq?p{Szd-~p{p%W z_CjOA4Jfxv{y+Tj6Ow`Hx{-_TqD{E5+Z$-H*ZgDuWKC9q#VQGp_Is%9bXRRlK5k>0 zxWKPD!c^S`aU*0+KAIX>*FdK(>U2_V3)td}IMSl($vom7Sbq&ZTBw{NNl$^pD)C%p zTpAc(I--wJ_n1n4qD-k-J)HsG7XMAo#^n9-I*htVq0zj;Z85eRzOm_gH|Moz=5lX2Kt`J<##tIKxkvFL)eQnO=NXY}xXAbS8)QmftW zwz}D@k!U_B1pD5a8n3}cqaB__vYk~{2m??)T+kMq*8=(&YrFsD-QPvAHW8n zHWlnoT!0KrViW(Da3kRNvH&mC-kCQOY<35_5#EVN)uL+O%d7)SZAH;-7jkz^kRwE6 z(U+Bem8ls{wsa0R%shrE6`P;=sFWW|#ad}egECg`lX~m@fGdNo$hQy1%q&vzzqMhT z(}-t9vm~5lIP4qYT>-+taJ9xXFNWSFiH}i$uE%VA2w9w(zn$Ok)xi=bXF{JQh`U{$ z**U#2M;drmzROU4tWbH`;#DZ>l_B&sdM@~j9KBn;S`n~#{Z{)d1ZeTTBny=3q?=&Y z#FQJp&3#Mn_e<{P7_Cm5%(`+!n;b;_OU#? zkfN$EevN;O8Ut-3Fq9%zzo69GeTyF2+{mC^CQZB+xb}|i9cHOzSyGx(C)_gzw8D(} zF{Zi%@Pu- zlyTL1+$smaPC+j#e05Y(6F@S7Cej3JeWPE|Q)Gk_l}-c+pZdW4Qe_EHN(d!{1VqX~ z{Vno;904;VYvwO01|ceodeyTmLDcqy`>4BgZ!F5SU&v!)l5o) z|D+v{SO)aW=Kjc`;tuJI{RZ}d&6e~3@soTs-$iN-NrwM)LH2D-iQ2W%mH%_iZzuXA z&hGcqKh8^ehV>npG{@DKvoAACn|GA81xOL7J-qvHs|r7(?(c*i{oqHWp1tZmz1e&cf4p&f zM$~&|{NseDXvg$7atp~s$-{}g{aM^S!ZkkHXLW0la+J$sT5iW1i+;nY_c*X+D`IeQLF4{pH0b{(Q4%nZT3Il5&mB zlcs9on!F`Yc|{g!QF$d6#ne9Pkp$%UDGg=q`q+jp-%#WN_cXUmS=~ z`H)J$$wT?y=+1EZ`i#DQ3n)JTCvQjF7#OwGRoonSU7F)|w4>}o^m(X#8z)~IpS`Hk zcBp=LP;G_v052=`%lo_RVy${^_Zd&a4)0;DR&GzL>&(nsMQ-eXfymq{e^M6)ayHAu zg|@(Y0=mp1`nT*}q&8dWy=bc3=T$;iuO_fIq+8sP@J%6lQXece0V{qt2JS`~nOPcg zt@^Gg_=K}ICR@&c6_a1wah%JkVf!VTk8^m!JeB_b62w39i9z&j+({qqUMV`m&n}cI zYbsPJ)&Jd!hw}f??i){GR8QU;LMGoex|}Wo0D;h!r_lhqL+FdRBY18ck{pldgS@K@ z2vUA**$6SMv1Z1a7Q&fv{q?}df`Aai2WGGsI~_ET!{g!)7Mbk@aecb zg5rufs_37_YV77;vQNGka8M>GVV1o+k;a@FNlG7;J!wwz+pFF~r@EO;b~0X5Idmu3 zWgkNrYh%V3sIU2rFswP(*4G`S@g|QsLt|~37871odMl2t?8#l0M{!r7psgW=UuMT$ zmJzD1_rF`x#FVFP4R~@^n=CFhRSz^x>eJ1@k}n0QYYtEeQ#YVDNy3@iGB=Yk>A#vnCYU5Lo2dX1F z0XzT>Qz*%hTP8|^$HD+9dq{xMUQh;r7>rtky5L9B$@p)mLb%`^7hg}}c&HzczK{LB z?plX71ZN0iI<&Dpns_-{cs|Nv z_=tSq$36($ZnWg?t3|in(mSc+cOnj5z(=uU5>$Ms#l5NHRkTrwX(J9BMYA)-vt2b4 zxoG06a{`IA&_)Yp#|jA8>HWBX3_K12+*FBpk;VjgtrEE${XUT~zZ&DXUK4EX`0jT> z?-S_QVVQ7x_;CIt7=Vv{5wLUkeZB&)+uLLvjw&7Uytdn5wY5ZV62=b@u#?4e!iL5J z6TJ0Z*n;o zWQw~9H5`Ei(x@g}2{U}qw6BV?TsKX&gn>7+nW8bmCNFPO01!P7X69uNO=Hj;BH#`xiF}{yc>=wyDfelBG!=zjkGa ziafP0Y#eSFELt4US`u*x$(%+KUzQ8VGKQ?Xj2x#~O_0zMCq@@7Mv>rI}2SMUYk- z6&aIYM{wqv9*HuB9v2yWy>6r@_MyojPGl8pfh2Yz+EDleL>_KfnAS)p#`w7Q$z&Fu zARNb3DC$+EChz0B*r&1uDi4*lm@XD2TAru%1Sk($uHxj2d`}^!Eo2Waii(qwCBZ-- z7D43XN0i5J4NMAACYlCumYZ8TP|OCCdy@i8EoknmNCRuZt`@u+X)E1T6c^Ll)I z*dksstF8V=wieSLX{7)5Q1i`RTtJb?sv>h{$yW( z1R_ozCO7RvND3~9N4S2I+tI!>tH+x$YMjS5 z@YI&q&>vnFJw8|V`Nj4GD>dz&868_(uW^>nM~c zLBXNl<`QLG8e^V8q{2U{`0k-KW8ha6uV+LXH@VORllEg(Hw`GhEa{%IB_T4fJ|PAP zKFw!;qqe>hiFN*|X+|XSddhSBYa8%LAm-UPBs?ZJ1G9CJg|VUs`3$Smh*a^3V{s4v zzPL(x{QDJXjqu37F2l?4%A1e7z+%cJnlZE~p)yz1h}Mdcxzre`Jf}hynsjld=RUZ) zBwWRWm1RoLg~{4Fv+(gqd#NzG^^^9{6RkkN6q;~dax~kLdOd8_!~YYB&OB?Cnq^S~ z=_z)}Cpw^=#PP_tFy)9*6=Wr`S9C!hxS+DY;~ojLDC5z~D=PJ(oNXRW}Gf&% zUKO_bUG>cN`9$Q|fFbwBvww%TH57ivvo5WX8qh5Ot~TVh{pPWL&3`+%w*a(Ujj3V15E z%8)}{j2-&UTc`F&^UCaq6r_qkSz=-ePFaYB_k(TQ!!J{7KPr4i&ypoA@PoN|&j@qF zUwwxY+HUxpH&QC~h9uX7n|k9HwubD^^2V)8lN{vfk?9@!&?EA~NSbgK^T?8AWaO#` zSC8?CxQp?61>uhP%?TFv@7-niyP0~mZULt@jds+;lD~P!ZhOO#k>Ut&aRv2o)}Zu> z^bF@6EwY1dBLear^-Jck_a#oktM+NLtpb9!vMbAAFTm0ejCdM*|8p-T7%svAj&yr) z3*vo8cB+S;n{~gcHht;aPfGmjvGj}DERB0)I+(Zdi*Cu;8Rml!6^DPw2m7_+^eX2; ziifbrW{33?`~%6v;?nJz+@yxrgRtA^ck8Ga?G(*1QJdeGSEeUr;z(!IW&(FZ-HQBq z;Q3}Q#;T|>teagvhuZL>wyKufQp1X}NoK$ks9QQ&piw?i1G#(hhrTC2mj zsl`aiVF4wDl}g8Xtw`d++@hRY0#!%8$yD#iKjLI2gR?~6*-h=N67gjcW1&QfI(xsp zR5XptY#-$0)h-Cs;9(>ZCn+T(A?s*#QdCAls&2zDOb&u_5z<2Ae8u9xT!T5JVmhh9 zG@4RITdsJH%p{IdCQacu%jj2wyhXSGtC2p6`s+|_cS(MeP^fzGaDOu3ngA zo+u4jUeq`f%dtUJ)UxU~3f;b4-hg2eXU z*#1+nt2GqruQZIN>UBOabRzV{oHz(+5)(cl7hVS{WB=H{Pf#Dk;uHQK!gdZ9?3F8A zoErSC=ew+xkvuI7Y+Q|$Zeg`kg~At!)`7|L6-DR5Wc*VH3#KLWIt<7=%&8JqRn{Tr z@?I7iOl#nN-tiF^oas#vFi{nK{c^s`ut6am(s(#rMco2n2Gd3wep*gkrzdwy(R`FL zNXzHt1M2Qp6VLhhB`lBzUCAfQ^?1on10B-r+B)cpuS_^Q)utYL*7N2FBclHQQgLcr z_L#^jbaVy;|A{s!k(qm6U%qHN*)Tfxk>gTv_$>P~$M0FIV9BIe)?9r; zQuA_Wv0U?8=mWf8-Z8ioTO64y*Fj25e^sZ+|!1B_y=Y#=3(Z zv*Li{MNzpTHQdks;U>kl1^v8eo^4Do+YkyU{rGy`2{r+*I@NNQw9HY{A{xUf*tEER z^(>!)c!H@A(L{f}nO{=J!cSKy)W_Q(K~@O6SgA zsLM(VMgAwotIVaNxrB>b)8;a4v#elfg@WrfwUzm-aEB`EWL+Itne#c^>mm;3U# zuA!&Cq~M0wG~xSOR@GOW42PBX6m4#<=jets4iAw15%2jI?87^9m|(5OE*#cWzUmfaV(|Gs*q&-SJEbN{_@PLkL2*B zP6}lThXY?!bMvkkCwZ<3-U#IHbWUv4!K-sI+5sEkM58RtZ|b|6`7M-^c`q|~Cq1kn zX)_tYdm?McDf4`{{UbVm?LXLtYU|8<>r|W9)3@T^H!`)JOKz7sdjFJfVRUm}3q3MA zX2_1Ap2m7L5zJ5bM%$>%-x+YO)ZDTM@KKj@W@>>Jl`OZax_g%CQ=b3??E!|U9&F1T zBZbV71rBHiB$pcHgmVpjA1s%m8{Fg_6}_F8#3B62Eqt(-$_B}nI&lM$`Kik9t_7ws zwZlIxKQ^;$o7+IJd9pWIP~`@UTdN)_6ssQkk`%Wy#i-_sNZSgz!OZUG(kj$9vUNqLJ=N>%6jB$zQwP9Vb!<`LN2LwfEc&b7 z*R6Q*@X?CRC1v!TO#9%`)EM|Llxkr<4}WVGAgo9q?gvsg0e9@&0RqtyStLj0q5Un7 zn!lP)?)GEWs5(e}Tv4mUi-Naw5)1dJ96l!@QJ=cNl@oVf56kBd=tvkj?8CXVxKpov z50u2WGU#@5oDXsQ981!VA)AvlfR59~qOUJ>Nu8)WsFAUe=~>aIMiRy8q&(T6O!-O$ z7On9H3}9wfg;9TgnOHRwOE0IY`mj~sjC1O^P|l&bGPHbx1*3T^7By3mzS;zZ_VGYK z!OaZFNK@}7w3eCwkP}yxgTmVs_CDJBao-+pt9wNJdL<%S_cS#Z{aDxzKKEf%jG?K; zt!;7Cp)rIrS9Y?~9!z`Bd_5we3B^-iyV^b+<|AY7#^n@KmUwCAv3x)YTaV@SBL=Y| z1HFUu*=GFY{QP8mTeI7PS#XEvbm?3{0~C~m$wcF!tq_KH^5^r?0E%0ID!&ni`t{!C zfSZFooXX+%bK2UG<@V;#{7}S^n?p%E&3LlB*2D2kjsm^dIBtMgb7qcC>`nT}efT|_ zC|XHm7JHFyIb(@?oji|`rn|+`Rg=V51nHq<8HHT&aY=N0gqJ&s(6d*&@0a)G>VDco zaTH~S!kM`#CS#HQ{0d2ubY_F&@ZwMkRhE(>gVlRr;;c)L$FtUkmyedo#{(&EKd9Vx zOg-Z>#yqQ7aie#d+}hsSQNany5wH1$fywhFf)9j1ATMaQ-7}V9$)@+(bD$@rPx}X) zx;C`vG*lPc4@`2|F7ru?p!9qcdr*h9= zt9M5kuguC$%X0#`i8I~ET16likx&Os$$8A7B+{ebj@Jj`T}lg7&iis%+X&{cx1uZ1 zf+Ls8unq}A(Y8x-e5vkJS(^zC&Idx&t498$xd(Pk*HWc1bA{TJxpG7L|F`+|V*Q+Q zCij7rjQhWOx%$bsYHVMsvUaM_*g98k`QOd2AGaO7|84Y#^Zms%R{QYB-gDb$7JiB# z>5@o}CP~hh%nRb@M-}C#+B2nZZMV6@)rVS%6YoXiwMkYp@z|=_uU^PPdybR(OM~=<_p;g6|8&MQL%rYcXcuxZj(ll^ z=VC-%Nd72Qkp3b+|14xxfZ!hoP(;t|sHZ=N0lPzd6}wGgU7m0|8Zs59_T^wrVy1V% zl(Dli_i~)i;E`GMwoYvT(qhT?3s1TJ|CFUF1^JvHvoyCGnLpW4FDT1*T?}%(MR1js z>=OPcJBszxk>c5svk`I+tZ;%dV|N(qLhDvh+r`Xe;~=wg=scvn?6Y5$&o08^ya*v9 zBJBC0+p4EXe#+YDL6z_1fg`5R*(_1WSTcX!dxkpkzwzAM4#N(LOfZ zaOHprR`!D}+Y~Kur#eAZ{;^=iykmN@9g`OIv-|lBv9rY-?txZBV^EHNy1WZr}IH3RrFPme&E-_rwZ2&WhO(Ti_ViD1kR=7yXa z5c3=oQ6qFtJBex(h%x3n%*P_uRsw6GMhA4!y(HXuGto+zQB@>rlHx^Hi!YHF0PPI#fCWG^$u zZrBCbsRSj5IW6o*_0x6{%wxeseJUN&UWre(jvrJhQn);YXSvt7_+|Cp z4g@uldW<&`rn)Lj3-S9vIQ5);bD0c)9azB<>!YJMf5bD;k~{}TY8{K|9SkiTwFgFJ z?I*XJWFXy?W0>HiSRZ7+i>H+0R13{$eQiDBV@Z`AwnJck@5;{!k_aL0y!gi1WkjaT zn|R86^?!$sMyB4i6M58upOp2E?WC2K7ETwcbV|*37jl9JxvWRpq`nbDhiYjJci>2M zqGbpgDk;j!4pwpRm02L7*zKiA{$P`|A--+3&wOa7HyJEL@j4YC@P5}*5PUrS7rxFh zxRWTr_OWf-w)2lU(ZsgxOl;f9#C9gOZQHi(yzHym+TE&suez&0b=_P2p{sA7`#a}c zP)XgTCOo)gxB$z0Hx=iTNW7j`Q*@x9|DNqe_lPlN3YcFUYK* zv5_Es)uT(JSODMG?L7fQ8{WcSom_$UlPqD$-U_C5MUH+$EpHWAWejI z4ke0~g96U-uLAG#zkxn!Gp-IH3&cz0GBTff!3C*~n@a>Rbp&GPx zkbcAZG3TPQL|;t+F7Rku?mvFKJC_Lbk>LOz86K}*Ni(Lx?O#H40q26^AWS8wM|N<| zPc*aYWO$a0{=~ggesjn%V0KWUhAWw5)jtjpd)`M{u(mb>+zT`u4luME15IUrqn3L^ ze839senuZZ^VM0kd9D*_x2h9lz{vFlqU*klOk3Y<8pt)oC$Ju_*=a3wUresRSQZ#9 zR|#teHPY>SKJei7Zsf}cRF{FFe8w8;4#eJ!ZmD0m4e-@(Yglo?eXtjn8SE37pty{Y zNZH*m9@>>dt7CDUe$eAhX$1Y4$Qbl0@oAe=(Gnp7k}JTU+xe$3SsZ7HYaB zHjMLDFlH;HSJ8G#GRKE|OpWd-(BNS}SuShHk@gWz?i>i@;eDBq?gF>h7cs8b=vvXz z+lAE%sKr$Y{?!-j3+jk0y7)$jz^T%L+H|IByVw~%$t2SB87c1&5 zO#j2ZEfD?nxywLqVS|6iGnT$(k667mE)umvy!0b0LQb5)4E-T*dW@)9`q$R+S1qJl zUqP8{n|m;=wAb8?Qf}cKL$`OmuKR+;+yegWSS!_9`sPHn0LC*t`TzH<(Z3uC7 zr(}_A-c*e||F&t)EuC1>Kwy~gl{kHce{>6F>M4}7Yi!F5CRhQTA6k|ULVWcUXkkr# zY!PPN;TX~T0GV9IfS%0WG{r4tB9{dUrOX~8g~J9}O!`15#Vv2*pJ}o!_V5CV+Zd@1 z8x#qdJ@mvst7N(?;g~XesT2+?WC-a4x`{3GWUd*a8)U9&1FnfJlVnS21D1(5e?=pu z*fK;5q_k~O;3;Z1$c{2ZTcwiH2j~*1n8TeDCE20d&D0f2z`oRXV!;5^H_-mEuwF7d zh+sbQJ8s|rnwxcyZt9zJkZy__S`b2vm$;s3*pJMfX_$|w9(mZ0q#hBFZ|$8Nm=3)i zAOC0QkFXv@*bcRwO^|Kk8wP(j7(C1uSN~>cuZo^#AWsZNwYLH5iXKkr4zV2$e>JEL zsv8rKWvI-_TbISuQ9`5wz$@A&_zLU{kcb~9umlh#u!XW|hR81|GGMwBL#A(e7qWw+Y1jp|s2c18X@}Bp8_0T&H0~AHL<-U1+Kn0D*NLdObn`xU<a7_%q-!aI;go61?R#HJ#lc$Y7&xb3i7bgf#OW~E)q z60*TYSp2ynZ74MXEQMAU$mWbE(S8II*TWyfSiaHBA~1%-5L^q0vcOSQGYcWik}3&=GcYX} zH6ZrnxpL(wx)sTHNL0-S%tw*T$IV@$V}Z*ls>gxT=F~T=KvJ4PkII#5h6l~f_G!L&td&DwQBvhLSxhcL3-RhmcVr%TS7_#!fVF;Yu>l?7 zKu~%H#}r3wHvJG(>+%ZJ z8s17==TJG;XtKqYRqBGHNd(M{SDavDJ=y`XUCDYQI)3_kqx;K}U46pIH+oHnLd)>INdw(^vv7N3L!*sa%GP{Qz zc!BGn9;)3BZa6=#H&x@P_RCT2*}mS@ye1etIGIRK4n-smL|9yaeifN7zP-H_0pF+1 zdGp&{ItBd~8OZMhpkk=@ItM*+U*oQI^zGim2EVeN}Z@GrBr{amIaTepdiqj*qG) zyiqIH0!U*(b=Sw5Y-zJQjBuUoAU7hEY=I|MR9kIUIovlnnw)Vnx}#+`hcYpbF{h@d zb5aE?ZGEOPy(GkZ-Y!0p?z~#*a-{F&eG>{Y83gEMvr_oIHK%0UT*G;fNz|Uu)TRnY zSH}+U>WNzjK1E z6JH%NPR>He@i}?enrF=Pxpf{(n9rVnm$NE~&1{+{8posJ)p-INFC?d%SF(J!T0AWm zQ2VScFSImWd?+tdQ7UIBS1hMc;jVzGxT_FXIaDrED^ea+QC{RKNw+A#Da~sY$DL%V zuADt;!G$m>lB%%hG(U~D(tN{SzXVrHbj{7qU|)|Bg6=O}TeQ-ISmo;Km~;m^mDLnE zZ{qE+eHN9qQD4n}lzp&7&up>EPsM47K>s_hvfrf;Ipi_HjKivalK&{5qxo;L^4Ws? zvC73ZkrpR1|MYICdLV5fm(?NW-AU_VqX$fkxteZ>yLQDrpca-UcRC$9diMS~&fVbt zP0x1PY}0hiB6tmDz_w7(mj}_%NGY0PvD#*4p%}tOasRKXO-DtskS9j{YqS+xXaz)D zfk)(RPBs-{(9}6)SyQXt9u>IxgIRc(dRJUy)V#9*`Cq=#u>2w7iaMQ#u%8n|2tP; zq>lye3>4Krt26-*1eyU9{J)LM{$Jz%C%?eL%Erd||KS&y*;v{CC&1w4?xif&WWQMD z+0MI}_3-zKF3Z_1;^ZrT~sHpCkho z*##*cIh!^1wru)@&x|E%KX9L#_A0GW`g@uwj5ZtbHUP^G6*RyOvc>67^Tzp7-O#khmWe^oN zG#hl#fJBpxfq)twMw1@^UKjrG%}X|r|3D(u1pYsEFQ0Opd}=R`XJ^Q@#S9~XvV1lTd(O#_@1;W0odWc zLx08pxM9~Y#8*oEJiuFJe2Oz-IwHfB^y`#es?BOhP_3I?fUhuaLS6C(!OH1{<&2Ya z0A81gnJp2*-%cP<--ffQstl|oEm@Vi<9IOfL-FHJtt?>SmZt5Y&NUJt|0 zmFK480KNiFBdu!7+%N!Xg$V1<3e?DJLA)eEpUc`=7FvyF@+HX4t=qj{k8={9_ z-UG;vB?lBc6;?!w_BEs-T$BdMt>nj)08SqTER{uxuMd7KI2Ob;>e@@4Eicd>jz6@m zCWBlz)3rQn(Z|phB}XYST4H{FuK!i~C)*f$8)~~I%NlgG$HN@|#E`eyp;vAT!?lE9 z1;3Ek++dI}DDq_p^v1KKj}B?)h^=xc^g>h`YE?Lw5*=vE%FC=w&~dKn0N@xiq<;aD z@oP(U1>My#K?cHey{{_OCoshm!ON5}OVo8fufd-!ew8S7ac_O5ny3zmqmExn45*LE( zjrdjE9!Bn|vPM!9MER1Ou_-hyb8b4nEnz7(SkHbAr610Zy*1} zPgZhN_v8@KzA^AZs#o~mA6-r0gl!29*pkuT7QqctT<}(i_Y%K>zDkbY$d4hYK%`LH zYrre-(bQRg0_+S}mvKhYn+bc*3Ia4<8ovGA0J2ZeIdh;7vc#B`mxT}Udu%o&;0ZjB zalAbx6p4*6oSzAR!Tl&0kV>{_TeHL!<0h#O#SU2{K>#$17@v^DEc1^1d{2SxK49=k zkXL7e9-nCOf!(5;DaRUuJ3IL)u78Zqfk%UJ)nEyrkJ!2av3qQDGw0;z4r48d!Ps-{ zdPl-{_`#VKxskaakNl8+m*%QHxSS29^}dPzo@e7f3DHCG1Y}G5M+z5swxcvoltMxA zaON6ST4HK56;ELBc1hXHWl=>ZRQGg6V(4;Q`44@RE3) z@ln`TZnA+k47@wt|95U3A!8LR5VZto#FGhbzyEJ}xFE&|{vJpiJgKyzb6Qwmj-Pt) zO^IB20>X?%7E&6Yj+uv-sBiJHOzg6;J&tr1#4$+xLsRX?*7N~_$x^dkm2wiQ|JCVx zfJ$TzGX5y#SE@6%G);u&yg{4}Lzb*44{KS|DN9&x15&4~Z}GE?JRJn?v-XMiuzs|= z1r-*;3;pVCGB3>4tFW#33dIT^8Tv(4Z0}Bf8e&?a)xm+nlC^ zO0o!m$8jiDQ?ojh59Vv-IsOE7U5ej=IF=mt>>LMI*r%DTZq9f)u}$)iamd;rjSWV7 zm!q*agbpZ3jffSg$C@~nPI6_bl{G_oq=fJnP4KWvQibhQCElI|Q|o!Sa#F@@X8Jj` zqOr$c^oUs^9HjWJas4RlsHHS!3=t{_rUt;?X-aI)a*jZDHs^rh&LY#XV#2wpv!hS9gAjv#$WUFnD0$bF@bYFZ7A>Eg_M4-yt!^!~%=b9Ib5P0Gh9J*5 zqa*4PZJR83V6|+54ZqNen0>-)wAxI%G0qAS+2vhmxpR|QfsIlJ+8Ro*X)(cc;Sxny z$cPNjG_np>7-7F9{#J9CB%{c1J}mjh?uFuZ5~SWmbEH-F>#kR;yVd;!Hszv&Td8?w zgwaQ+K&yCiHyAZ~RVwAA>Nn^RX+}1J%;1smd>T)`IYPuSYIv0&}X>iiksf`0*9!3q0j#fZA zRovgbJfdM5P&U~rOr+>AsRc`wL^Ty&ZQtVe=gp<0Q}x#S2iMou^W0u_r8;Hl)9tY& z!q#_R($IKGi#Io_#*kaNvFjBjnyS)K#RJyS+{ABJ!J-B140h9Cl3xzr-eYt{NmUk8 zEL19xhuvpz`RZ}WMSNaU>kq1B|S z31W5-+uD$0DsveL5E3cU1ymEG(=|W6#Uds4ey;7FR_(LjE%prh%W;m9H*5{{alPSJ z81^`dz(YGStqDq8=oPmEKPgl{{WJK;RkuSYR0!jYU8nyl?&o)*(~3#G!h_@iNdImJ z{I{~4+pzprs!6Lc8*t*o#{!*End*qs^Onn!L>HJkzhu;;)%bI1P&@Fpr^pfPyyvYa znQM8hVkSjPFprwdjt|w>>E&$4*WbGgncJY`B)CKUuGgg?vO4uDMo2XI#SdWlx8{18 z9pB4Ot88ql=G882Yyv^RPke!N#!^4xv;3-@vn9XWr>ZP)TL_7O7^X~R<(sYkx^9Oa&r`i<^m6}RO9KnLBd?;VlI|H7;5$|%Yr!@pgq_o~+h^Cu zT+p5x=49(kP#6dU5s%$?uE`aXEZ+H6b+jPuVRAjM()I+v+zgYArM^te(2gwFhurjw z-W30x!8*??TPFam?2cpk;KfRtbo`WmGKqH8ShTT ztoWm&^ZJ)73XLZ(cJc(9pH5v=pNx`!FggKnHTGzs8!~JsuZ80ZEbLt+hLS49%8wIT zRUPjQcGJ9Z^Rt6^m@oI)ifVvc2ytKJ6XUWlSuwXTUxq1S5WJ6BtJ+IFIn|ShRtxFG z%N^w0MY&~6wDX~~iiuO;ZZn22@pnc#b*;Q#HopFPe1nbW$ih?to{l$#!e8JRcgixN z)fv+nPbp&a3J^N}WvxBsg9Fq8cr-gFE1OqvTh>|?tq%Q{P0XGn#!Pt?=n+XyxRYro zjJHl8G$S0a`mcw9#{T|xb!}x3Qs?6_i+Q!mkJ*RAGjdc)Mh%b4!ojH~vAc7-5!#gM zme$xz9%8+=^rjfSKm7yYut)RVQQ5r5I4|+dkObNfJGXjvIrj>(uhn7#zSo_U7y`YI zEbwx8R=Xb=@_eIFAAErXh1JS-q8!kE}&;E^I-W z({`Y)TjYb^z+U>AX8uxtf^A9N2Sf-VED1^6owvR$+x=@nowe##ik>_y%V{?lY}sDj zRl}U5>6)qlfxr7BBI~_&c1{;g%Pwo*JXBKo{lABgp@rtd$KWEn)Y~zA(Lh7K?hRJGAo2)y$VLXnfp?GNnO@1qnc) zgzwPhxtWm-NbG$r>Kje=oO}0FL|}#GR7#e^zvX*LJ4PR3#{m(B6gFoafWC`46DTkA z{F_a&Vm|G4Cqh#)snsJ(XGlFMuhaU;w~M@!AqO7uZ{+{775KLWzvOJNMo2&e^87Tw za6H`5h#vX|tR&DM0&D<>MZ_o)dDEA_#}IegBfySY7vy5!<=0r13WbR-|{DBYZe4 zqk+sHa!5MagB|SDCQCt-0QhLJFlj1C(_4k5LIyaQBI!apv7)pR?&C~mxuWCZDi;22 z|HKgV@pluoj(Kr}<&}1+TJ1{w7#BvrWgLn6m+_S7E7qHAh&;>lkI#{yJgNsXTF9}BZ1FXFeo?okJ6pLD_T=% znDnvT%|rBU5mc}vB8}MLdO%b}ofQS7tLdK#_Np zwJB9cY%Ty7(po>C4@Ur^3riI6-H@2{f+!p+n0{Uf_sXx5EIR3|p-Girfq!PrSrO&2 z5v(ajqM)LiOZA`sLKxm-@m^d#M;HxhJiVn)bnzSl+Uxz`Ohj<60(Z*4iWCV3$5V6e;oxR*uwN`{v)>2E zj~+sSFTvT*tN9IR|54km-e|N@WWWkGy7r0VHo@XHLE?1MHV|i7m-7uo={>&ENBDO3 zEz%tf;w_o(Y@|xYVS(YvR5LFf&22P@*jzX&;FRs-gRM5mtd=S72FSE~426_8#w6-~LDohLgdR)^f}`C;Lr- z8}co|LqXb{v&Y5iZh*T8?!&?)@f%o?EFd*1VPXTg7$?Q z+6R`?W1ndTeNYqD)Ejd`<3b9$VDANOQz#oH@MS8N9ay* zPwrBbjPub|%jPVs2Af+3IsQC8y!Uyy^L4f|6QKR%fGv{0ReGE?|4gEOoK;T%WXKGh zm&|Yq5%xypfhvaz-~PEtD5|Fh4nH++37Y9*^b4K#3-xeRQ`EAfrFKQ5YLG%vbfT;Z z1~J|G60{(gzr(|+WLZpYmyUq7c3+B8bSl=x4Rh~r%;Tx$k&<4NA&oFC0&L?gsHHWi z6!q%61UC!$hP>0_b$NW0X~n9y$!VNVn+js(8tdtWuS1aFizi>Pj3GFff=qP)gg*qYlL6(QycJ*@oV=!z8+Bfn*!>;q;+lIya{@O zhll*9hj2=(00i)76N65j3|V}%hr>C2>Vi4wAOb!d%GtjNF*m3SUqM~lJhd~OT$E4_eo6q= za@vXbBY6*vzCRm3XsX_yaCr{qcrysrT+fSb5Mfad?(a~YF&33jZIaz|{(8Rcj9+&? z-}yhgZ`puq>BZ*ICBoUf$OEI7)Y?+Ad+FOz7sX zvD{o^-@EE(>~#G&NGAEz25>+9O_}YPCfhmoZs;UFs4ZkD45m`&97xf@b5)bxEr{dC z+5|0$wHXjUc1cMmyBhGxXdZOtqLShn6Z^yM3To4aYHJqAz1qIHjixW3u=RvGvs!uV?($|5IKj z`~FMTz(zH^6}^K4;*qVb3NTPHl4$njy%~|I9b6+ZHb;@Wrh8pImRz#wGM-s>pIywT zS$Wr-x|xEREZ}Q6n0Phe$ew6|6HXR@(L9sVQC!5FY`4}USK^<=kw8cpjoxdS{96fw zPWnLA3QatpnIIR@4Fw}eZ(0pAc@5G3a;f0)h&?$O^E8Z}6Z!Usrm!B%zq4MB3;ShZ zHJ5W5u=ggT_BPinFzomq61N=ea^ldx6ELWM(f#Do&fKQ;%1$NSm(>J2Q|SJJyk{I~1$$LaldMcKtle^S?cL#@#9(`#nHNjL(dV%U>d ze+hj-1IznJSEQcIy5U5<$C(G)V;=U>1T%d>=qA>z70CMa$Kka#hlHHTor-K9D~*y$ zMy9#|X&iCevkTrIR>*Uwn&GNF0xr<)gb9{I4e3a0i0HyPv(}o9Mt!ma>e_&$w!2D| zSByk|bQSlpO$PAamJ8Su$yq-@VCmh#ax1t9exWm?vC~M5{-3w(adK&E1&iftw=cI( zhz`AH-6lp8-&sRx{MV}D2f-P1N5mCUd`&$}JC8ShlMz&S3w1Hlj9GPt^3U0^v|PUE zN1*A9K0^5ekN#R>8cp}C3g-wfRd%*B#{Abd)Uq`q6OmSZ5yk*{)kJbe^@l}ULy!{B zy!?f~gHV_t-PxHEG(DCPmeP?I+^;Eg(Gd}3-T5;lXeul0=sd|gb&=@ODCN7UNk|`7 z?X{A)HL+ijz}cL{Ah+*S|4s=5_}3`a5!xY_>d#7fwHS^EmC55~=OXdy`(l!b z#QoP_Z=2VvxO}4qEFW)Oi&j_YY@nar&pvks3SwjuSK*-iaTk$DI652g;Nf+WAgmk;%<`h zdi186l0F+09>z=jGiR`sF|_vCnv=Y5J+VBVqXBzp-bOw>Lw)E}mIiX=#x^#IhCzz;h_lZ__3U_Irt%(i8P@CdL zB*XXoE`c!Il}OQF0rqRlbCq*4%$!=Xb=rHxZ+xRKi)W2;(CWI!}E9U==gN#p9$dIkP4d5 zaR15G-BG;kZr;t8H`(_GjKj!K*|xj)jToF;pr@!*`Q-TQ^`5(RJAVa^)UCKIb7WV- z4Sau0t%54A3Odfrs>p&i)ADg!kJ zrdG<7=Or=FD;Zlp7V1hY$Km)a3*jLtFU7I65dX#jLOwLn%HW%Wp1|_K2&xYiPv*FE=^RX_5IwMfJ6{jXfj-HLbpMTwqeq8cQte}(zg#L zzk^5Def{vHJg~$4NiMtDg5lVq=ugC!X8(PnVNrbuM734DLEtS%Oy%V z?QaCmOLOfTkQRAGh4nCTKcsurxZ!+a=Z=q zU?+8sV96Kx`@BpM4IQ)C`8a^b9+x@)s$9^GVJ53q&n?(B5z?^WcLgm?6H}H%{I<3^ zcKoa|U~E_buk`ZjQu>@eS@nB+ja4TmHt>QQZ4V;rXblJD?8sL15}yzw7O@~cUz<cPZz5aH9;|>|0O^|M%x>qJ-g||MtaWB!XC)irxXXy;xWq|@?4*i=9k5* zgh_Z>e=*c+$RusbMtthCg6F%QtclNSEaf*%w*qAi$8na$0@l0B7DZh;uuk1PNLyQy^(Ho#d#Md(uD4Ni)oTQtzmb$tIx@o;Z zfo@8%CO*$}A<_gE5r^zP(sD^8%YBAQ>$x%-jB|nIy<`#2Sb#@sHe#ja^PT z?Grdbh*Z)t-lY}+o18lq2iSFa8p*Wn(luCbv7s@zgsLh|pyMdzfWA878e3Aa0Z4nm zN#txlld9-5r4xx5`yoTttS;43%U>(BL1WPxsd!eJzCgNzBU?CnYQ~Gcd6_k?XwV!k zo_7(m@)`J|K&vqf$f5>XIl$2U-FD80g^ofy`)iM(!HPG%-Kess<=W;~KmcW^7;(mE zav4&Cl<(Ca$23L*ZLjV+qJoXjP2BF{F?E}nO#HCW0>{In!C!=b^iTID%|SmHB8FG7 zT6xQEms>y$A_1l(wmvz(K~>vAg8bic-uis#OkSk&I}|iDRS#OV`^|?=m0@br4>;dp z>0!uQi|a~ThfE0Z<%6|!Z;PeVryTiD|^tkmLhBymF^;EE^e4a=G8DR}(_JL9M zn2^k?CP0r_?mi0punf;l7Jl7=T~Bkt?)t&0Q~^}Eqm|on-%Ahvq#gZb74EG%u(JGL z^jn1V{dvT0CcOzRI-vT2D##Gr{?I?SgI+^B<@#1_aBM6x@`58U+gCuyW`gne@j?of zu*&3byVn!q)55digr7zH#m*x_3%}VUkA43Mj&kj-T_x4&P9UMr_ThVdRZYPRise@g z_a5AfxC&wk&Fsh?Qgt_h<~f~b9shD`H!}{x>0_^CgF`o~+Ka-a{o?CqcsWaBah++B zm*9>>_n4(y^3^2zb=y5?BenN3#NB4ne)he??@gff~GO6K`Y<;v>#Di}lJCy}e ztlqZ1BQ~ZRO2Ms4(zONTEy36*UIKxXjmqFyr-O% z4j*uq7rf>hg1*~`4W?HfY#<3l+79h3+oy3M^e}ND*|k?2a{_7a+kf!RbA8%pglbZe z?}2n*KVP#@MqhC0jkv?xH`M8s3lkIn(y4ve1whs{745x5eaDtyKJV4@pSn8Bj;;Y6 zThCMY$J^1Eh$4~eE~zxSZDi<0h)Pr9g%u{7fDYc|4#;OFGA{!7VNlm*9<0hIWlz^4 zNAhl`R!CMy%$}!(gTL+vPKjP3q!e@pFe;4(H6H|huB*F*I!FIvEC!z z6lr0irT0hN=SO3N@DJ_%NYwPJM&dDlJ}1Xrw)qvFAGV*7nI!R-+*gV4@Rj+_@Rka* z(r1nFTo%2zcOs(i0(eyRkqmmzVnUayeT>_0YCbZ$y}^T{pDVg&{|3fxI?q4lRCk^- zTfT9=jw|bs`i@#49dg_<%p^ig$;ZuVi(vyZI$@d|SmwPPm{9ttOTRR~)A&)57P?5D z#ceH<{p!ry^P9|u94r~fXF6QFmlP~9FJGF3p`xp=kXXrxybB3^S?!?ocF5^U#JYj{ z5I1(?Ieur{KG(hl{(9c(Ep|=>$hW{dUk`CRaoA+?n(e<8t5-^8_pO6v(iqC}!dUxP z3G9_bMB2r)3rJ2^dD*W=BqIX;gx|&Wia=WJi)Y#p%(B7RZzX;!>Wm(WjPlg%+t@di zl2tJtu8&nF7l}^qhc-4`pugc{(qsn;dkKv0%`#f3l<#z8lUq1CD?G2>xsd!uvv5|i zH@!Z)l)kl1Nfd46(*mo(|&$lA6G`gF-rlzgy1V#qpzws9u^cQ|!~$-v)X?7F@} ztkQh&$2Q0DYAnf=U7*2qY9Zy%uYMP$Spm04ZyNCxp%E(^sb3nhMRU2X%Un*v$(F(X zHKI~^YxaJCZ$2sIB|LwphD0=w5@;r=`MAuu=~E8WoIbu~{Kv^jHMrh&-VXw)Z|Xo_ zSGWzAQJpun$A3Q4gE}WU+w1UePe;jm+juQ?85&4q6?9cFl-jFpJ;l(Z6yHS@zSoRf z+;e}P?d!X9J35LhKcZWWD6S*XTm|lL+Y_5C>nFF`+Hpv3g>_U^8a(nvh>td!UGHP8 zf7!|r)pYf>lPhdmt3*t#bGlwI7oBx<5jZsc2~fVhM!mfrQBgjs5r!>04rK5z z4pz9B7BBJUwcVhh@L*-4+M(sa~O6)e^O=FNH9n1OzcFOAfp0vha|A zaC7CCJG&(Dd}yj#E6cTYD@zgstQdtii!oo6JD3sJ4d0<_#%Ef(4N2V@l@_P;Jt*DA z+r*d{0y&HqZ}w#LLzAn71#gD$0hx?EMH)#2+M8!z_oSTXSMtX0Z{xrpE3Be$&{yE% zgKtUC23}+c{9T9T$A|}7cd~nf3Lx5ts6eN~9*ftSa@q6R6beO%>jQEdBO9A3ZWPVn zAU0FrT!aH=V^ikM*jpS$O)4Od`G3 zOv=oKHSQ$C@6`trb8!AL)^l`ppl`{&7tT+@3+=C-05d2vGOxvDncTv&@65fs5`%_N z1SP6+FXmX!iK0-;^SjCi*4IKtq$=u8aV#aR)Qsn+n)u$E8yll?P=FSn8d3Ja%*c-* zuMGYXY=C<==F3E<`>*2jFBAHgh0?KIwpN61(2Kvj?6y*>X3^-_q+gMwLGcnbr{3Oi z|Gc;SV^t~z;>5#u!Jb7O5&RW4md@m6sQ8El3ycTvsjFj3WpEBWDAuL%aIQ}AZSggT z1%-$dDz?9GmiUVsU`Nko8_Oafm!?XqVLP>-}h7^dT_NKA%J%jQGW5z5PxsTz`7J8R4LsM8M!x91? zqExxiG?!NltvFS-3QqF7vXqxkz_c1RV)?HH*oEt|?fH$u$=R!sh5q}*itK`PiF%wm z-9>Kac4y3o@yBhfE4EC|OwKJsuW{#ptERT>Ih;Au*(skA<80%@DX~@cRhUi~hhCXW zHnbYxCKp~izll5&$fSiQ#vL_ths_c%>ck69(L2}$8No%O;r>eZMyW##4GPtWUf8e6 z^uicIycX%BqlNqcRm9xJs274_5T2&-q!#LAK6gq%bS1cROu=B^scdlXQ1ljQ@ie_z zA^$O92o&mkO+XT~)_hIG%E`~L@V79Gq?Jc}brWoGd@y=MmHrN-xPL>$P)uK;thnK= zU2sC4>u#aU9I9&diVfnyR&}7x9dZ^e(ykNxI2|-!TL~$UzW+UtwhA~qM4SFyoNHV8Q7{2)611AQPs$mt}`sbNu5|`q$ z&NcZmLWGw0x=AL!vt{UO*(QeLF&By4%OOUU*u&%&iFg_VZ~pIjP$@g!>hSX^rp4T< z(NFG&#BN=?ehk6;u&Yq3%H*^PH#(T(W=D|t+#5s~_-WJ4T;{Ml{Oj&yg_ByP+iJfh zowGd4H0rQ- z?rJl6@deKAltND&ZHyf>o@`8<4p|lZhxi|dV2@+m`G`FWPB}AV%O;;A=)@E#XU=1w zY9&d91%-xm*Nf1~y@Bl&VxP4*j_N0pwks!ZU)u`p%opt*W9ZGe+6EA`5xV}HBpdo zkW7y6rgE?Zg1YMto}H+`jH8QlyL!a>AByz1@6LvxU%dTl>^3?gvFrGS19Dz21R;TU}xl5-%{p9 z<|HIS7zIF@JhRV)3K)F-9(Y1^L|%&xjs?;}0Z`!2yhEvdL3ScEM(-2O-J1%6iO+Pg5iUxq9C&$WRk%(ExvGdFdINHzFIBG(gwj^FzYGestn4?Lux z6qo<|$6tWIlUEe99qE^r!Y$LT>@L^b9mUn3%rDFZU6dH+UHE}>lGPc4g4jKTVM&7P zM{l?~ADutY*7wa3A78#&WV z=B-)Ids<)U+uian=p(`?PX^a&RH>a%-yrKH!M;LoIYZC(Y0#ebM^e^qM(-jD?O}s3q0O)wv}u~5&UZVAcHsh3uKOj@>{+wG z5h$TK11p$!DK^aLo2=r7RfKUB=P4>hJ2(m>`eoFCIeLN)`xF-@9JL$iHnl=Ji%QeU z`wZ_eqUd{T$&(0;Fkv|Zn#eN^W*o=t&@h0}QKp#8xep_Qf(whf5XCWxgCpaff~oFt zgI=jRUt6yEl1{V@5FB|hJ)M3EOf2Kpij73m{E-bH=D7IrF^i3~(_+xRB-6xU^e-e@Qu<}mq;reWi=meN^`!dH zGFxMG1Aapfr!iqucW}rKHij`n(|9o?OG#dfCiQ_C@SS;s7|IBa4Z-e@C}ZKqdJx7Y z{VZBZ{&|H6jZ@=hJZ;vF++uA!;ux^S=mfq;i+45=@xhQYgRJkqT$$n#Qn2Oa!1X`M zmd1+b0T1IK7YIq_99CJso5*!%jOBq(~bt3@K|2}X{D5fFwc-l5Qj*{6$i3lc!+hPZHnMip1(UOQ*_5?#P@I=ytS<5dBZ|I4%9=O78F}l1{ZaGkmLc^@9V(?F~w1-YL z9J%5rf;eUky7zIAOE;)Wq$aUMAKWfo zfoNsM*P1Ie)P|vndquOhQ9mQP3R?^HY$J?kZdVecDLnw=bzBsO<^2oJZaJUc0*swH z6dQieAq^Tk0LF$3beKgUkVYt+qf!`GHIFPg0OVo1N1k(DiL2PlWaDyiA|*eH8v*)Aql5Q)ZuQKjE9y|IIv~P$yk_jx3icCkGlubp`$z zuJsOdjfYF?wFEWTax5b(sBj21l6*gZ0D6Xb) zM-0LqYzrh9dP3qKVPzP612quWle_+A`Hv^~^&sXo{7bSovgH}J#ZOe?8|>#j*WZ6gErSbS zh0|m}2J}&>l0R5je}kW{1o8?ZwM^JRLbrh2-2x}WFwaJz#VUxTlbEmGZ^ z-rE!I9Z$tJ4b3Ira8-H3GrJU72(+Qmn^RW59OpYhS)9qQ+kThDPQ10f%X0P$F0atn z3_IBOuU&r1G1G|aCn$;1P*oSlZ@lAtGFYS&NcosVy#!5#<}1OSP$w$uS3>>E;k@sG z4FO-QZ4k_t#ZS2ph6902`A@T+ZtJ;EdDdHFdx+6Y9!N2N?=O`E3SIZo+TQ?u%i5)C zGPPZKu0_=CXj`5VX+^w$Hk;?xm=xBdQ<`Tq-6x_Ar@v!qP{eI7+J9VAw4q$Mp&8hU zA}#;&jWkrNCmA>6?QNcZ5Cvmx){E(z-WA~78|Ja9rOCIPC9H#VZsC#LvskxQPU}++ zZH48w`t7(Jj7@t2OK5!}-LDpw+~Uu0G=us5R@YI1bH;p&yWgFs=5F0Rz$^Ln@l}1d5aWZGo{FyL}L%M;V%SLDV`nS89NVS=NaGmM4@ABd+Ty~0NWH`Xm;gc zFV=L^(21gxkUKRjg*7hW%$(N2f&YIWv(l!-l$FC$v<@s}ACox4BTfw{71PITR>ko@ z8WQ3zEoWY<2AmU)MH||rB!|AsFfLXQi9y#%^SILmC%(r)6u}0=ndCvIyLy-rOV>7mDOrCJ1zD4?$#J7k(3#Vz}n+H zgl9s!CbRg#P)xf7$?wk<&;QOjV_l>Hk+)HDQb{9XpZq%M=3b$q1=)lxd>I8-Tvnn6 zOI#|*ELN2sotEmmd5?y@?$k`>LoCWbv!051UjJc#jf1+eU|Lct9;#u$FT9q zk9N9`_HiE|x-V`06J_02MsndC3-3b}fM?;~=0dG2!S0Cb`0Pl;IRPv0%~^|6UgihS zOX}6Gqn>u#59TEX@KSLmigpG91>5kDzB)rt_#(_W0xIIXBa#sjqo*mbHF2TfM1K zlZ1(!N$m!Ur?82jrD=@dA&}74H0EMFk?^iQGu7(Iuj?xQDlEpNR-$niF?KB4rRgJX zXZF$MaoBE=q&|ePF2txw)&$8W>Nk>((RVTyCCeHp>LzJD6q}VJZ~GT%dvoRnS$(^) z%aWMO5rOh-Cc$|$jf-cOVq0gxhD*76+XZs_!Z-(^0iMyLVQQnCQL~oOnQd}mx^Yug z&_=@}wfTjjm9nOm#=_+4u9Y#brb`_CcXT9u(h6xRed3B&>cp9zqhDVuffWEQedC{r zb4@D2`Rk(BiAQSVs*qm=7qbzVG=5~cGRW>u8QPw*`cEogP#OjvB zrE;8N)Jhl%&o?v*&k{J;SYK;+KdZ)zmv6c>Y;{kv2)b)#Zklhzp&E8Psk^0kbJh#wFlD9lT{UVBvq+YE-DSU(uSN`{m0;YVuT@OW&G3ISO z@h_oN2&-{M*6i^P`ti9*3nLZn!niVo3Ld$N*%}(Didgm5@zM8jdR8oOnk6xnQ`4UW z6)l+88@~QGmBb$?0>X2cvXDxIhPu6!uBF zLb~?M)ZeKi$B8m5tURegSBdZ!GFL`zTw|k=ztvgB=FtW8z%VILKlVjtHZD%C|G~b<&BXfOXwMfO z-|oeQhv(L-4o=oos|4pdS(XGT7AceLb8?adesUp{*gU$rYCmx3bX<89U|!w;sKRRX zK;fc7#JmDcNvP02bOm-oY)%M8!U)~BqG zEM5@oAA!9Wf45s*64#n-#%;eOQ?&1+Q`-tQyn0jB;Cc)|_7iceS&zPFkL-lMZl<3< zST&QU)NXs;hDzn`rSME-v-vKLd3Wf49L})ma77^N-z`g@ZpnQ_s^6^w&7a12PHhW6 z@8~NPDZ4-W)4PAv$n1T%Cjc9RT1hE?6j1)z;`6=jIH{~TP@QLlgkG6#vh!H86&$q# zSvH>vCF$80nPvF%H@QGeD9R5m8(4r7PHNsrQbI*i2T!~K79gNpzlP-pF@E$@wgPvI z!$S3UIwi>a)R4q86>W&(HEM(&PbmtaA<8uEg+ZYeZ^zH1x&!YctaFw1?1 zR(!)9=ngoEeKJw&!c>)-(ejfuL^5brVMIenOh36kb1oWw5dJ!FOLDY|Am>@>WjIfD zh;e^4F4`+#J9IndZD`cMHD9N99XT+Tf08*&swUfnfVc#2(_nAKc3J+BiFKBySdUs$ zf|s9o(HlczcAel}Kx~S`<7rMUr2}^}x3h1XF5@p)jqc{S6wdWh?`Sqf=&AU6}tpfpG8Z-E|MefV{dJ$-IEAn7(3HBMEW(d;^m zn-C$RTp(&o(6L+q4Ur$~xU@}CJUj|Hb?kju zq(?j<$FMF0;VyO$I378i&=9dKS~<=?>)s+M9gi%7%4_O$al;U<%6T{_JG8357|S9p zM+0|=P6;kFl+rFK{#AA%oI|4y7O_$X|FEXuOnC3fMLZGA&{JJ$tf zSM4_uDtAh3aRY55Mrm8dJzlg4wwaJzF5iguxDA-N2XvGq*>FW@7I2U9O+u(wC%v!3 zA&d{BwjxQIj@ayj#Y^#wHT_26V#(nyjS=i$6Q9)2p?sjO4|Nc)7L40gWlq7Wi^`hn&y6{(O28vKk zOosz9*~01^-4nLUz|aZ3Z8XXXEP9aHEyOF_GnG6JnAEG*8o^#?IXq@VE~q)ekC2_? z($S&50s?ppzwHp^P{{hLy$bE#v277uv+l6tY`RVGNT=`j9W7E(N6?%ARV4KElQCgY zQZCe$5hy;I+XUIhMZT%#F=ar=C(Dy1snZ5cCE9F>j`I@|v0lGCk=trj<;&S{;?1Up zi$K+B0+Qai6-BcTnC=P>ABjy%Ny}-atk7goWK*7D&i}Xt8N*E=OE#G1D!J3h{?FKw zask<4UJcYeW;(FC(%v7ue%|?(ZWhEJbJoR=E+{_1ykPo5rnrN6Wc!kDeGj5^z+bI!m=7>WxK3>hS$g5W}Qv)B^ zTfrQ|G~0L*So^;rUK+gFqTQVg#~4(#PBjlWqjeM0cwTZE-g7*b7BvY0p)w{+rex*s z6I1F5+&{$%^?;CBd8`!y?@KU*X18yAxpoTaw~c4C*2QG(Fns`%LAP}VQxgx3GU}h) zBiMLogqUS>qwtZNbRqu|_t^0TbQDmH$-CB#`NegoQVIK1fA(kVRWeQOMsN;7H=0!> z|Dc&NnbGmn$21zESXrNVuo6>A?ifuuu(0_fcUF&-Y4s=p&pa1|GLyAoXTMB<|AL3{k``nBRSMCS+LgjRN|*A8{s@15VgX)!q)`0@~M+AMEn@e+cD zeOKRrFU{lWHy6ztWa1nc-8x%Zr>C^eEz-D!j4g?-0@E(4;G6o_eTGQfE}B~|c=se`kokjVBhrp|llM;INr`rs2t#kLJO~z) zz@UQLnw&n125h^Z3=%vqHeOkbB9X&b_>ry$qWNQKNx6FJC7iC3gB@XVKE6j2^=gtH z!N0w4KLSh-qthq1o1I-pT-9XFF*8SUd@h|$_J`QNWW0Aelb*J&CNl1eZMU?>zL)ZJ zOm@14F6xud6QEQ7oHrK)97NJZcH~u@yGrB9fZMwoseh+BrT_~1DX-d0{X8P8K6R}6Ejum90hK4D}Sep+>Oth2@`Eh<<}Ii?b6Q2`t2 zlcuS$O4+eH3WA1hS-KGzrTrkw`a(eqXM=C97q7ssy?Q);~*23FKb!g3|f&QH{LsAo>&n3t4!@Z)CMuJBa|6G2ol zJ-``Xu2pV#q_NMYI5lO~qi8{G&Y1~l$T_R*Gy%q{=L}x$qZh*?lQPXIBgG>8u?14n z^it(*Mw6M# zPNwn~!=9IpU*q~383z`)gTe0n4~>(tE&FYZn4fooj)SsSz7;M>UJ~NcX=3U4`93@L zriXENs>;!?1qW40alr^(>)|xg%F4Ge64Ih=9GS#arEpHA4bMXl^o)4BsJM1_Sx%MF%PSMT?CkdZ?S5SZQ~RG<>o`+T-bSW>Sua zLwl%I^d?~&F|`Q&jrj$#^`9<(or@vyj6=4f>s!HBa}63W%-|T>S@*{J?>v+ZDXPBJ zF)Xl58Y3!t9;Jgx-~hRuMOc9D?d-G-SWl}PB9*@m9)Dz{0bD(QR zw&T%;%+o<1U9B-7eOpZA^EQRcus(M_8>X0)epQhq(_EesO?18JCq=(}+g?Zo2@APc zQ()nKC?6s8)?Xq;f8=5wXD>Z?xk^Kn58Xgv?+@c;rU6@^f zqxCly1Hfv6G_~c?N}y3S^$Tu|A);^)JM$+ zINA92-k3$=o@k4{a;%L3DlhHQYZiTMMcw@vpKF@Bmd7f zzDlZko(_aA#>5g%(*bOT{oZRs@fEtFjCHV%c(PWlip!k5QH%~}obDeAwV zfGVn#s0dg%1GgroLA<@aAXIDhCOX`0j4&0ay&f4&3ody6eFVDMqco4*s zpw&=HtJ-mRN`Or8PAGFL4%c!V5HT~>c7Kh(u`~$aJy6VE`&aHi-Y^etSRr{c^O|Bb zj&^da;P$>D5sl%kE{;H`5)>q+#hXl|1c8-#@`I7>>;0I-v|#9>mbIT^ATAh5y{?cV zAcW{X{9-!zsAUd3Zy#B(hfEfdgZo=)|0}aVKw(d2YL@bQdXY_xA3Ry+XCp?@%BQ5* zULhrebSUB=Za~#rx_%6Jv8HkEmqH-|^H6m%QY+D!VM!QEEPHSm3Z=<)gazy_{*57F8qVmQG@L_WQ8q0a+S(w8goJIhC>pivw0j>Y~oG$)W5t_)bXQov0H z-&0?!3NjeIK6Wf-vr=|JAvM}O4g6-(4miva)SEynClZx~p*D81HvS2(P~Fn2zTOb} zT$fUg)aF5|PKja7g0(6f7T)7Iwd+a4B!&x(fzy$68kZ8pEk8Q?I?wQrXX!F^m|OWY z@m&TLWebk7Wn+#LJxU!oN-j_oKu}Gj9gR|y4~gW z5sRJ^*lCunaj;ISr@f+Pq=97Bi-9jd-RS6u1YK~IKaU+mi&Uhh;EGgs{MQw|496k! zfA*a@m4hy~n~Q?A?QdpNcH8lq&z0L_qT7q9=tzIYeRzBprE)e|r<~a(E$tNW-Bvzh zQ;RAbd30`6e|O{@{n!_awWAWfP+=;N|bz`ZFRJ0tA@rlL2FIw08o`0>_82iGtUKb`r_F67dfAKf7k> z)LAyz9OlXiSb+$lrf>6{kKT64vPN-+L_O31O>qWsaWAcHJUr4R^sc(kqQ@k$M?4~T zM^7S4)NUxL>0j@HvQ48w!Yw1&v1g5`=Qk)Cl2OgB>c18|+O0m4`890l6$@~$Sbl~% zq%NiDx6NyfBSnP{FPRu&*q=z^8;&GF;_X)ffBxg@P+~%E+U|vcS+`7OJZ>rg)!K;9 z=IqFFA2Aq;FX^rDrCOvKnCD|ZIN6~4*ob?=EM;u8NpluCdtGq|N?_4V6q=Pf>OOSU zZR0sBh+EQmo5^BSH#S%Q+GtmuQhPsLy}8hOZ1bBsF!9Q|Jj1bz(#=lJ>Te)+4Whhh z`3}edoqLHo(PsYG@nn$=du@0omuwn1`Y~WxL?z|UrNd^XizMYGG*9$?{6ol`mA(TK zxvutb;BGCoccST=qqkMR(`oCay0zJzooP~WQS^ehvU*(Vs1i4@Nbqrn!*L#=-8g{P z*B8sa!6dT(@a@fcioIB$KIh!$!AU`jB+)Qc70**)@9q&M4mkOMAu0Q3z;WY=xH0=c zvYUo%9Pyyl;Z7hpw}%!91kYr?3fEjhssh96NO~m?F1ReC#@&2g?B|5L4dHws+MZ#z z-tCofRqShM$d|b6&R+*Q)V~a7>q}Hk>6Rw*ZhTvwxIZl(VVkEzJf%Yp4<+OZ@GIl_ zxQ$|9Qw}&&6vlR~gD|jRjI}XuI|%6JuWIhGjON@6+t@IIAOtwUJDG(8AiF1$GIJ5+ z22eXY`;-46(ZxxLp?2Ov@%tTONEThyft`mN<#jrp5y}i%CT@SESMFB1Po5Qau!!v^ zS?{O6z9KBqwW^kzk5UF@IJMAxM8)sZTj>z2T{zuYGa%E1HGsILyAx*h{r z$cO2~mxWZwn=DvwcRLZoc&a-tp2dGn^swRx)s+C~c$^+jf2!^_Pi?!|s@Tcql`He* z#VotZN5dK`{&UHwa^Kc-Co(Mt%klVhPZIS*%oJm63AEmC$W#}b@@$luLt zqyNHlhI*HdnB};XFN-R+{+QpFu~qETmFzSh6U=tnXhB&B8Z)r!##7yxAP6_La-kEX zESU>AYSdNK%?>yRp+T{gnLTF!3#I4{)f|LYq5(>UTN zFpD*lKX|F@^#)GpuyFTL;tDJ%;0mlDeQXNCa9g+ssE4wX)nElAHxAxki7;?>xUCyO z*mDi0nW}glicZtj!b?jxswb;AJ3kcmOc~^CS6t`17<}1WR zKN#1KIRiyQ%oSNWV>gZEK-q%1LIJ%^Z#HeWgOH&D0C-pUbA!Z$qkvReTZkJG)zFa_u=X0=Bi`?(+DGzbZQk1Si}{N?-?0$s8FGfrdMCv zf#jH`wW)}zOf|2{-ojeyGuC^5!&-Lf*U{A<3334M3m?_blmX9s?{Uk8UgneuO2s$2;B53E7}u z+VM4=_gxSwpO#ZSI8=G*l|6UqvpKC-f9AOC0tfMOqO+TTQDscRKcbkj29r?}AM&R} z)t=@EDe7O&YxZLirJ-)bJ$%Tr9Nhpm3C*;S9vo&CY?_TGH&$Ke?uu_kHWil>$g0Db z-YH!lx0L9@WBv8q72H;?ZuQge2-Ao&)1WL;wm$^TK!md+v4!~sPKSOc(;}+LHOS8! z3S|bxBZ4w%V=(R>2-Sd^+j%1|{z7el(kBr8Wrd6w1nw5AqQ^3uR(dUtoSX}rg<2#0 zOpb{eXdFJo2wp+rMP~`$%Yt4{2Vx0BGMDpnEc!KhsU5DL6jKwV^-Lj&b&1gg`kU5lk=3{D?JZ^iJLI6_oz2 z?k2;wT5mB`t&kdIx0iH}eFl*^0GYzapC|0-oi;y!>89EZJY)Dtc@aW?RaKp8+o<+4 zB6p$CTf%EE;>2i%w9707K6 z3pfWn!{dn(afAw3#b)*SdsNw2Yj)W^j;mjM6XYZS*+YtYhhNPl-aGdrcjJABa?Ys} zN%Zt4LiNKPcCUFSa6p;t!!nz1`R(Iz0C0%cj9rMs!sBhARXLw~bi@>rV$#Ca7H`*uQM+xP{h*g^X@1fD4?<-PHfFC? z3ZN2;Pp@bgNA_YWhcJyKJIB(@iXsY744onKQED(qnpPk9s#-71OJ}mfL35By z!{==@+!DwL%~J*`!cLV9WBWp@8i3;Qg_G8BGmXHa5SZW1$PY@`WF~a5RaO)@+H7lY zx<(xht5mrkM3-Z(oxct`T8_2}Okv6!{~@>Kw}p9rwgg%MuMSC9Ri4cS_;`=|76ey9 z(#@SPXBbE{x<+?t-@^^7O)@=jQ|T(ar4Aw3EMJvh?_tuIu_kAuDMLr$=a!uV&A+5P z8DYi6%cn)ph;gb+l9&x1^#}mP*qv#q2*R5`N%Ovtc5hi|n;_ZU=#JUHF%uaSNJ+mB zEL#6CB!4)xu9E|iIl`EHTI21y%6Idnp7ron{2XV*FT_t7bDzyVU{X(t$F}+(hC28V zQ;+hV#yh3ItP8o)Ws$euOwxY4=Q#v8wWGr-nM?ANk;=~sLp9<`<(>lK*wAyS^b(C= z{t0uXviy*yl2R(A29>DkFA-1#M||-Whah|4LM$c5|0{WFj}MDoT9-?p-fi~w+;z@( zcA#|5w_r!5XSC(0v&{WSw5zUv1peT=tX}qv?kD1s>nest@4w;&1vi0YqEEJ{S(WTeB58xMI=LKH+fOd)ghT97>B=M(bxNFsAy7=5k zH|zjl^X6HofHMgQ*NHLvqF-ec^CbP{1?o|HH_*iBb_BO9l{wYyjh5TdFMwtAm1lvu zV(Rt&^ASfTXVRYe+FWn6SQshWY7L`GiK0fXf13GGt}dWAI*c$R&KrJY-lxBfBu-pl zH(7sU4f0<4AQLp?Ttw&t#50>uNS`RwnLF}aoB6iM3@Pj}$80N)F5+AkgoyY{KGYGuyJQ=uPPVQgs!+o*f(QMyyX9qlbM z_DQOC5-rbLYxr67F=hLZ`B4y^HT*dDZ`_CY^hcUCDFW5`QeLx^*`6xs<}l$;MwR8k zUvhT0R2xWK5Ba^_L>L)X$c~F}WzOe7VX|)YP6^TWWCN@fM)3EVniCPLsG0?lUKLAF z#9Hyt>m0jKkjEV2Ze6Q-jmUQ`y-ULwarvB9JQvuRk42HmO)bDLxj+zRNwqh7rjOLGuQG+IVvF9u`{ z3&TqPCl2Oj+4IFwlduhqAoxmy<`@5FcY`TR4%KmU6vso@GH$CTHP7f}+h{dY7rV?A zf14&X(_}S$igc0^Q-{-0=-0!0)@3IlL6PYx31Wr13-2 z9HP@e@FD5`Q+#n1@_5Ovlyu5#ff)~oK{AbIGwpF|wlj2oC{cM!EW0YRdNGSeA&y3z zaT>Eq19I&K%zyG_f6>I!i8aU~LUKjNG>z=(RGvjLup=-CkwsL|jAnLgA`KwzWkg}Z z;CJ0ZjZohIn8uMl*kPZn4jzSssi4EkFm{Yi+~;ADF3vMoPKN^Uc{GarkWbBnOt>Ot zQ07@gBy&;J&qwtOEc}`y^CF4PWh#EWFR%XV*-HEi=Am?gudIB2rC_Ead%rdwlhI8o+nl2Noze9pPKuUxn!PjawPTqv@*E-0Z%B zH2(T%`EqgJIzu$xLTH&{>;}MhT=py}t(O~6I`b%dDG%`P7kMu3&_1-h9lRxN&|GfP zcfZdfjE+6+jWv%kb{_xHX#>%{9b=r0#3E>+#dj@x_7C?R>$^C+X5_tjk$kTYUsLk3 zp|nxHkt2An2=_hjp+CDu;=RF1mva{%*qU3q;=MM1_0SmDDt(?$5ICU5$iCk}qYh$H}*A3!me$ zJ5AIvE(=%mu&)b8qbwN(#~3Pg>kQ9V#$WLx!_^)Q_2_UR(8=Gm!$>dvR`MfSIqlTw zSe3*m%x`ASrs>N2* zywG?k-_50uNeDu%k_mod8SrzE%|0K})|BGK|`fuFwSUtUM zU3CGWuU{TuKai2Ys{TX8?9Bf``NRHAF8`mDKWyBr|M!h9JUqP;#1^l|S*H>-=g4Je zi_9;Zi<%3hJo2Z1uY%HJwT{XDVxUK_ZJHJqY9iIdpv^0<^H#^45yNy(QWk}fPpnfw zwjI`R!a$K%5u?p6*J@~x+hR>9M5>mzzJs(rh?oEgNBXF zOu^CEdRb;WUV+*gxl3kW-bx}63`AZe6XiKvqA%fAT1xth{KX!*)xEulap#+Me`ypL z2pM?pcUs1sMAS^xOtQZMyVtrfjY2E3CGv)5)?RLjn@sD~ix?P>vaz?g>h6dhwThG@ z`?RLYYU-Z3+qtZYa?23X^wGr4t}G|`zS=&$`8W3dq3x%#vj}CO3rQk37|DT0;EUn2 ztK_c^_z^w-5)tog>vb=o?E?P{X#b2Ol-G{H)B8^)`MGqLvndW)U;u- zKtX;BYIDw<8SUz*a!yhSOpfVxdrbP@-#5RHN#;kXK@1r*#O}>7Jn%OV4(u<{HKNj9 zVq%eAp2e{X54fsD(`#U@k2rEJ_L(%o+poXF(Hi_L#gX!$?3uSK4u~Wy_19i%#t`qp zxMf6_tQ`5;OLpOU+S7PIX9s%Vo9;BcGuzNw^b6)V9uw$@t0YKyeT$4I zAm2+ffW8sFP|AC8W-Qm7VDw_YxiNVDrA}i<4~aM6EZng^t5Xq`EdOwt2=buKKZS}V zL2{<`04cmf%8SxsP77iH6+oqXPnHDfifW19@}J6Oe{Yo(nwV}!cQFe#5Sn<-=qFAM z)a?!NJC#1)gXKnOMz0pF7AZ$v`C$mD*K~a(iTOl)L6$yD(-4gh=Kj?$dvx1+qShx1 zMO%}Tgc@K6w+e|}VYlEP^ttQY3qKBmls;k=20^|7k-_1w)OO9V{f1J76AAs;Gth!w zz=Xx+9qNmJTc7Nhh~OrTr6>rC%@sZ zOpHUZxzIuh2Pnw;EMqEWUGx~bMh{1kzn6*wZq6P#kC>6DpG8d!F5e$l@Rqhvq`pg} zTwoXpsgS=J2*IX*8Yz=dua(ji!LRmKu!bBDeGd9K%m$%Fu25WkUAVFkgMPdltdclh zggWkVWBqEozj)Lu#4A5ClykuJxD$S2zC&yVPwtGc*a_+LZ2qE%8!=-4;!hjnbi`Mi zM*gJdLyZAhO9gZWtRk(zKEV4#T%+FZfc4rms4Rz{7Si}YN)nONsikE2g0@~16~^d% z@{RO2<_wtpb+vzZm#V3RY7J@8{&j)L6C!eqvOYpG38rM~XQOO}xx9`9ouSt(x(yQ| zAFN%Ua2Hv!jzcK8@Hxm9!nl`Kq)pa%CA#M_SXI+Kzs74rV~bjJfj-U~Cef7e)B^Zg z-8R=9EU{O-VBD$i3l;|waClNV0Wx5Tt%W%6k?>AM@XIhYUo5uMiK*)@MEG;>yc)8i@3;EapC}QHIDU_35J4Rg67h-eb-WC`XPd3BrW`*%kgRy=@Zvi3m!}E|M z&)6(_hQd>pcXF5WU}c9= zB28+^7}2R#LVb}1OpZ)WjNOU)k|ltHM$!G<-D{;+qmaL22^t@E#BF?j5NOR&N=6M6 zkEQ*2=F2EAJp>ACs|{+LOU$@n#+xB9C6A;tGmK_r*se ziz_is#jpND<@+j?n>fO9U?Ef%@1rG?$bwqjB2>NG;$fvYNWDXpv;m^kC%4TakM9ul zKvVe3O&!WZ7q2*e44hmZwX$eWFYpVnt#u?bIg%U6MfH(5MT9C7hMJ#@y*nW;m4~=Q zUQ%!u6$WDgGY`F2*;yQhgcO3NLX@0(=mu;kJhk_%Ft@K@*? z1n-QO))~#7@zKAqEGd*yksVqiF(Ejb`g7Lvp`@RIJX5w5kD^{UE9W2 z4&_NTd&pRJ{GhFSzmU}?-hpT*Z5g|GAQ6@E65VyMIIVJ0G!ke>PLD4A^Vbw?j_F0? zz1h^Y>amo7f2Aq)wzqf7NH3~skN8woQsUcz32|>5 zblex6umEVQVw8C*iyGYcAmt>l)93(Tm`nEL7|^@s>pLDKlzUhr>pOpbY#>k8Ikcfk zrCJ}46?6({;*(IuWB8ec)~d@&L3RQn;)G%4m$$6HyJkJ)^jGkPZ|NFeiN>1Z!X;-TuXRNf%@9r3R|T5`N7&$dZk+lv^(sr`$g=54&0ALI9UVM^nI4+{YGpn z%}ZTgCo)!nSm(UE1@Ug)pno!47npzvl~MQC6rB@RP3e0W3`5X3As7pAr>@a-)z5SM zV&$V+&Nna|x|93gowQb(pm)~uTdw7^vWvDs$7hmscRPg?yYu?_%bmd6MDPZn*rkAe zCjN+;s{i;oU|FI4ofCi?k<#Vj-zA>Q+iMu`5>SsiUzc|q4+|qb=|qWxUpEhM)l@m! zCNHk=zHUB^w}mCAocEk53BS!13xW`VJUW5|OT`%>Y#uwQ=?N=U88ucoGlQ9pn?crk zgKw;F-;O-YP_z5vD9#5qo6F*73vK{9`nr^M0XOV!hs_h3uM4oKnv$(PHF?%4yV2C? zO0vj+mzvmbp-bvBZ2Zl2e)*CMN~TTsoE!!$*lV%+-YhO$<`3BOs%0qO5SL`4U^)(G zce8?xdVkI_`W@d(gVhx7OPFN|V3U-cL^CoF&JeD|rcdsOPq3&RATJY~XjJ6&^TgCe zVrk61uNf&b=R6Nu*R`mpz`eJpGt6-hrXCd7zCMA6;EOINP&&e?CsnuL~f+^e1OFDB-rz_qzbWx)*UKDCoYJ}!sRF;^MQQmUQa10;BW_?~`RH20i z|E88Rg4vZ!geo<`#8FjL+_7u|5@y=PGh#9#v&GV1+WXHsicM*k&*K~Tpup`fB;oIN zj+=x%+ip2BEI`qIHzu3K^39}|+CKa6--5M=xTPL0ak_Ouvsmgfe+pS{fBIs59h#PhX4-QbK8 zSS*_n#@*H6@o&AG(Ra5HqIvwy?j@Oj!r-d3y}v40+4afG11Wi_stcH)#=bu{S~!mrskq|N!$f&e_Y;Lo*p?gy~>h>CHi|CHM>cb;dDhV zze5mA@be&ovB9L^_sF{fEtR>v|L-?m38CjMd$mq!;#geKyoeI3O@F7}f#(bvdWGCu$$#wO}?w zO(E_udZAf$AHAVnw}Oj}hHG3^!77%QJXgP~#UO;!SIu0ZR>%(@HCu>7MuE;T(!T=J zh8`;ahDmn~3;FF!tik7x<7I4-?A&4qmMa9aVC+(MT@4pB>Tk)=(77>K_|{TmiB46T zumb~W>8rJYzy4cM!{Zx_3idL9K=dMAKZ5^fl{Ihd}c+{+2zgDt_;_bau z{fG@4rPQAL<*zWqKxr0_{j`^-){Cb`KG#`98>YRq;-TU!)9+~PY;Joxyj_}`<2KMue@M7l$z7-Nr4XREW}d(kA^wv`}E zTn8lpXrhKnFPza6c9y}AuU@om&*bow_#?ac?-UCg310!5nQGs{g8t96NA$i;JF4Uy zw3qn0*?2pWj4Jh9V!LyD9y0-K7>8N~7@Bin8B!dk$&5XMWbdgK}R4f@ zX{4vTl`V66k730K^)tE8X3D-??mxh~A0@L~9oM@-SBfdScn7R%m~Wukm(LUhNLZm{ z6uy2GOE6`}eYPZ-7z-*G=bV4E8P9@{Z9<9;X@0+g#fxFEX#J%_(WcpaMB&Zrj7J2u ze#7FgJqznAZh?f3zlq4*haph8`0<$rDyI%sOTE0-{5`XJE?K!7gIHGjVG?47G}ph@ zZ?6scy3L{o(oXx{cG<>k8LF1G=&RU@`-_SJ*)P|(i=4X+k6PLb=K`<6vjRdEo+~kOw=k;EVMw`^1 z`#TlY@8ukBbBBt}T%+}Tge^6a{B+`(32+Qnq>Px z`&gWuBMiL2g8gvANvNH8%IkW!62Sq)ksaRBrsGw+ zF`kA`0Q(}jrvA+R$J`cQ2&M1W>PaLXcXeLri%;#+-21h+Nq~I~Ys$w!x#@MN;@hZj z;->Ph!6)?e83bGgN#}B;IV&?@+4E16pRg+HWwi9-ncDi`nG$9< zlgN@_JIkq)Kx6VJ+*%Knxd(K-7H&pWjuCO!oi;&5Z#Furovir^MBPaMfvI$u5uA;0 z$DcY?L+VgC?7z9QLN6K9No89$_iC&@(=Qn1HurTC16k(b@d>ZgU z7NRmJLOHDFzkbaQ9Ih_z9M`HYc;byHQ4hzmMqY%Ph?g3Su`%P6p=r`!%}p45?LZ4s z@iZCCm%71Ljb7tu-2ut6%@sFiDK6So)h1Lvsfltn$Xr1^*~OT5Tfj|?3=I%hT35_> zwJhPM6T8Rof_%2ZErTvDXdREYF|u*|h-9FomOGwZ*TKqoEF$kzFo``gV0S>ev4B4z zhLucDF?^KDV|6<8>Q7!F$&H~&)AFu#xIY5Mae}eTS|Y_r+b7TK>v7L5^=Z=M;4CjW z1j7C(rZ{23G)d8hGg1476=*#^)DAcP@v*DWAl)m?!b2f76`E2>#01n?til725elz{ zi>mvnl4EMMr4%RUOrv!3>GL3Lej>7@@kJK(%XR6qMKSq}zZnytRL}q@e%^21vkW_e zJug`~*}8>07wJ3XqOb4;=dyl?9VnW>;j-P;pq0FF54h)&Cai8QYn_~*C{oDbbGqDz zhTrD({&TkgUn=Rc>f;L;kj^F7=8!lDqn0li8rNU(5^!w%49w~j4I+hQ5>=?~5+S|X z($MZ;yB++9I9jBoUS(f=i||v_Pp;A`_~bFOX70qSmaan;TingdO(^&rygiA4@Cl27 zt>)g0ypa}W0X0^>arB-KR6V1Qy@nQU>aLL9nl-If>K-wFG|{GrbOGD#78bqD_52RwvhD(>uK}TEGi!g6_lf8$koY4=M7jN^8i1H#@OL0<@Gq* z4wO7BJi6SpGk-e$LZ$SMpcU{u;I+Rx8OA#gFyP;kamj^egT8EZZ~99@wnRAnCuG7} z4xypFBtWuV!L^-X-*hF9K_dF7u_wiSkoqz{=&@0ma;_IAa zGmF}_|J1f^yPXUL@y&s0;}##2mfO4~(BB*1dT&`+Iv%BLGgAIA z|HC_rAY{dAq--IyNlhfBLrFo{`c;#S0Uf|67ypu9ohWHK){Wko$@P+u^O2!o9E6v> zzm1R2U3NX;fMJPKJ~S;$@TxohLm)3(U5Nw9XRt$y zF^agg0U!U2RTu8r5Nc)GS)GJ<59OuXG5JXOI7a@DHt$@@N?#_6IslBiZsQT^ib_=0NLWhtd4N$nP0h#gTuj!&NK+vi*Z_AE)i&IE_Es z)Evq8?^&NS4KDi22Mhz}G>%mxI=Z?x#=A>2uASY%dEcw^k70;Y#a^ya@r_ zud9>#&&1>a!_qUM7w_W{?VF-oI1t7~Eu4c}$v&SJjb7H4b&gN9$tknd%ygVDvW0|t zb#AVAdhCW;R(_3x+Q+uC9eAvYnXb7OcM&*rps(pP(yDCeA)Je+$W@3QIUteV|FoeE z*NE+X+bYW+u(Ioi|;f)!(tDOff?!WWv2z7KE?6foyTHa zrM%+5bbjNpGVmy<@1zcwV(k_b-Qwx*~ydL)I~t=k96aqazB|!eLiU(}dfj;>Q~b zBu+PyNKn3lZmcO;#eiLJaf_m2B!q(d?P94CYjXFBea({GRS3+a!HGKX5B0`yRZ0Ey7%BK6GV$ zI9;*`4eWLWgZB`4PZzOW`Ec>Ehur(47@<8ET`|6}4+|v+#oW#1*`mE84tQiV`0O-`ZV{imXG3my7&SXP}?H-TM7sZH5R5K7hNc~^E=>|<2KaQ;2D^n^QZIy1$&@0yqYZ&t`ZU8V zdzZpv4DzRX5H}%)VzsPK{o?k8*#sp1VPEQFhM)fkLrjOja(_Zm!KJXmG*Z0gHNvE( z1&$W8evP4wmO&CmMH^xl+s|%33{&Kcxbyvw@eqI*3&Jxt$lovZ5cik_vs6T;Wxyc1 zUtsKT%c>s!#ez~0{+2dG8n3$WG=)wDcZo&^ajD@WomT#}3b&esl;ItqGsN+xRm3{< z$pTGN|8ZHwdj7rNn8F~UO~OPwLf^7JYVX#pn04nCEt?7Ap#^bed3Z^OD6H_;uTf)? z(}1tf_AirK1$d1?kEn44Dy{e*;y=j&)SGIu0d=Ayg8aiSR`E6$+F7Rs8(f zWFoVei~kzAe)xR;kgVs_!jbF!nq2u(Ni|+c|8CJDm%&)Ai;lP=N3&XsTg`^ zS#%R{ewryoOjDOg1oCRk5cqp_N_sVqhp+={1DGHki$D)FCJE*XbX~#!@$UV^9F%rc zfPYL7@HPyMjNPbtk-a1h&3XNM3`+KIc$5Y4rPZzjtw%yr@EnhD{K zedx7?F~)KW1oEAo>8$%XE8>+?1YX;pHgg^inh*G>$Q_OfgcFvlBj-c-CxoR(UZJ>! znIgZ?Kac^#l8U=ZNyw6lWDw0lL%)FksOp7+mDmy2#IE4p*ldH7FeCTPzE9PtkovHp2o9r+5C?id2= z8kVZ$(O+@9BV2CDLyU~?Z>zVUrev<%5VuBudZ+)HW{tW4Dv8M%bN*4<{S4QD)Wql} z`aY_w)VO5%Mmyk}YT{^mPjW3;b{i)@PN2O#Q0*VNh!Sjq_6DF2_9i;j89%}HWy$fl ztZf?$Lr1bh>kii$6hz!-*5qz_Y3uq4kq-Wu-lEy`q9{3EX#gV|s&z%bEafn>9GSs(z{M`{ zjU9`5phZ4xd_{IV6Fy@Pn#+Su&xvlp4tS4P7c}W$?0GK_CYO1Pv(Lw6#g@~QIr%%L z*5L2qLIZD${geY@Rrq2XJBQKWjvnb~N$v)^gNh>do^9)m=xn??yg+OJ#xcAb-h+N?KcVEMy)VZ= z{$#xs$63xbW4Is3KyQ}Gw5jfGBU-Q(`x)L7H3+&JuUf(+xP0Gc!n~}h*Ji@FjNKDn zp9MCb@VC#GTQB#;iz=op@_rO-vb8`^)*_EUde)^jmla}fP>Z8+jY>7~=m}aib3{}A zjtL_1*a^F(b7?!|Cd#d>juBmoJsfhe&5V>3>_X~1D|5JAHc;}btF|WQjOG?Dst;_| z99g0>*JS{TWe&n;F2S#SEo9@e7BYELv6ZzD7vz+^uctru=e`1w_Xkb)&}=$~yZWt$ z#HZtCZf?bHZmZrM_KwH{Qb#GHHLf~u;oyBc;*}-J*l05oUGCMx9TY% z9iz2Xy(V8%&bJYMSVap(0i1I7btRLQ9Fq>*bPWDPG)um$TsrysymJe&24%gkOy6oR zb{P>zj)Q3n8go1(4f_f(SP?vAzajsh&a^I{d6;g@zP1tJshSy<-EVD%^hH@7Ikx08?(&MKT02T$(Is028_?l zQJ3n8PSe!z+tHvLT-OJ?8fUJg+{J6704y5c8Y-iqq`Dt(8RXA@89=x5@VjnFxtfX7 zigcmV;;ynHinBx+*T3@BVSiC4r@-I9J#EpD^MaKh!6o^2$N5sy1dzxIg;uM{& zB1qkV;v_&{i=?x#VZ)?u5RDHo`r%vB<^gC3=K{wNb2P@`4Pjad z!?68Vw=>PB0O9Sl62)|c7rw?%s+1$sQN<(yhGeV8k@*_XZ>^Dl81vT@ViO+*uQ{<+ z_oVMJ=2g=9sH5rMvqG83pHrd)J~E{|eObLG#JISVq;f{eG;gGm>@i2bbmaZeNzJ{Y zOEDm{B!LxKV$ZORE=kO#NKmb%iZ!-OiZs4NqdB>bJ`KD(`EMJlw$?8@+(bQb^a}&p zWZNW0)X_I))kRr)nq)8XtaaJLja-@u9dXNn=`(6qH{vX+NlNZW^B*{PI@wIIn4^)=vV}#-sTqR^2L|Tt(&1p=e(=(T>^5qu z!q?2%tD-CQ4|$Vq$VT6nC{sd_hC;od5me|AIGtW9Q-czu--5JY1arW2AFGFW=n7q@CAZp7VkJ@~|?At(99{1 zVbr0{k?UbH&B%rXPJOQ{kOC5SpcnxAw!)|(S67{`ti6qIAjxVo`@w;)_dDbBl-OkQd zR6yG1d=Vq-b*5R^+Qe3M-Mw3($h{Pr%1Ae=@#?6D^Ceo78bLIyv?*Psy_vuLVmj}2ie zZI9zKgb(}2ifki>Axuq=#(vFYcZM0h?E)QH`W!82Ui2GMF7`vAK|q@5^V=7xB4~xhw3xmC|;x@}#IA!R==4UwKR*+@7J+)TMa&e8|Yk*6?R|E{+Vi6 zL7dndfJG`Cx}MjnosKC+ZPF-?lv^+UURTPcO?+R>&L28#29$H7V zUud6(z9IrtAF|z)A0lu1-Q{7;^fe-SH4aO)OAmI%dmA?A#&6B(@eoM4FdGPIJSb+c z1rQf}0h%kuZ~DFc8dhQaAv&ZBNVtQc+QV-;#wLV&!Kl;S0Pu}wgpZ-|DPgAZr3+0k zKIr3qF)-9cc!{hd3zw5nL#)c|jiYBEr1cN`O+ghKid^NIFtU_azJu13t z_2hm~uXXY9o5tx@2;$ar+2(D|8k58RDHLw*oU&$-Z5}wCiWm2(;K!~(hNi#2s1^4K z(^OE3dbm&~e?Y6D&~@MxUBs=UMQaY{BLh~1RP)ifwoQ~Va~G2{qKzFR@9;~L1bg7l zImC%d3hH{ahFY{B`Z*J^cA%B=30s~A5i@;P*h`LTzn@Ly)U^_B@oA|*i(L{SiZ&Ny zQ_{GfLXOlhfPt!z@9I2Vi?f#M^55&B=seHawhy@I`1$ntc8egAv#PsO&zH*;v$}xx z6Mu?+U`C;HagVuKcjC#RMOV-=Mq=K*d=lQN8N8_wCzGkO_Fvr3ff7B$O?#KDntDlX zdCMkbUR`(Kq;UVV<6K)Wo`lQMN~mCHrZ%Ws45ylN0Bt zHZ-)zw<^bsSyPjUNt-5KPL6JF9Y!dwm@=%jZ%ykaYzDlFCTTJ=mga^AF1)hRs1S!0>7C90<4P zH=-sly6y%Yx&0Fj4+1ji3?L#LDjX?BFV^j`QisM*V?&a*4AYc)+=3g+>!pEC5k(85F@v>f)aX3F7kQLA2Nl zsVoj#J1u?Sn^ME!spv7Zt}}vuvhYFJ8($%`D9pwt6K{RQHulD}#t9d16@@`_t#fvX z6m43T2%5cwVL@=Q&xW`S?zQnWp}-}eWWak@*)1% zXL#IPgz~#;8pNbySQFok~MXwCmQ8)i1MG7g>6a0fE?CwE1SJ> z8;4=K`3- zV(iezFa`blf!6bW%(ya0lByv|3&xb3*VMo|u<8{kRy7gtnM8a-){<;#un90i7*AAS zBh0WMyfnBm1h55gIG~Kga-a4!hZyoeTwxsH??6RBRdv`@%S<6Q--2j_?y)igk!_(H z(~pX<_?CJxq#qSQ$ec5U(4DN~_{Yi+M79NDNTgTw!iA=IMBs~I&3xxdT0M_b^zTDg zPDX*m3qzGdG2Uo*zm&x9-H!stgs;&Khuy9mFb)Dmh&(~oC**9Q*Cr^lJwPsP<677T zS~0hx9etu;-v=;MH5&=|UuB_OylF>ZUPwk}$LH(|;)UN1lw=@Jm0{g!L425^U}5?Z zqP1dV3x$cN1w|u#sbWN99mogz5w5jjybFc7r^-|Av`2iY43_akwttXYKqF4fh|Z%n z1n8Ot`Z14)sSZ7nzEi>dy|gB(og(PC?1D}9D{#1b(|fFD$H+1#v^TuQhdewBqlJpF z?qk@*IAEEOV9%`JBWTaY=*wV5qqHKC=&6NL02Qiq;V3HhUARnxUqg7|D)CXW@v3lz zY3z3*DpaSwP!t{A?b^pHu8+WD9i(VA_?o1}`=Ys)8;!X5V-lOY(V9vj-+tPQ*k zzZOd6M-7JA z7}5-f_wx(b?{eBeQ83`Gij3$Gs+jCl1~Rmo^JX?+;r4PWQt7&28y`YnsWD6_F)aM0 z_nIM(Ld2Xzo;`Cd8V36}1hWd;Wk1LfD!ter-eN~unFt1T>$^Gz}n0AZ|N?WT4j4$!X9s}Sd|01++y?D``Mjo#C zq;el7X3dcCc_t$fG2a4KtGWK z=K(B$H^2@F*cKRVA{Caf469Drw5ZlV%EXxp9T2+Efv;I1V#6JFVJHPqG1&`w1rH+|L-a2BIyo6(Ylm)`3K8gcs9b2VZ9juFQ^@)Ko779o_=BaB5hK) z2EcrMFXovFFGTz!rg$O6LBdp=U4ZcUo z?iVoTG?IVtw}uMqAa3N~C3vN1?4VlIQxtf|N9w48DJn&@Y-bqoe|-54PXoIDYeqA7 zfL=(VQWH);lFa__`**sukXFPBOs(PJv<4Rodwo0t^Z~kH*|rafD~V3IqZmASlVSM{daXXd6y&X7SAm z*+JRA#BQjy<&)4BB;zX5ucQ>B+OavCr}YWf3;oKt+z$w*HI8*}xqA!yuD0lFc6=g+ zm1{YpUWSbRIlQ!qLphJQcfJ$SvT$hwld5L{0X#-#r`V%P&=im)e z00f*8i!J0U0AQ^ls>h28Ze7L$0b&s9M8ZFFuwX%itLN6rgenlVQBViW!kFw})h|o93+DV9l$+enm?VF?`m9J=I4^N{BixQyG%7=EwmB-a zT)`GrAKQa7yh7q4$h<)73J_E&F`+@>;?T*PU5mI+X>C%$ViC8kWa;Sk)?yr=E5eA0 zwVDlsL4$~wlgtt3UyoMJopPuAA2kfs@Vw=;8RLseztJ;m;aqMeLHd;jttlKZ#x z=Stl%3WiO%o?1r(yRad9I1TQM`|TO5g&OSl>1wV3`$?a^tHo+VG)LOjPiQ7C-M%tC z_$u^FR2(Yy5KU;1D#Lyn2-mCfresMCLD$nxgS;_Cg(P|*n65n^-qwA4bS)k3mY zc=jq!jU+Ep3Qeh^tZ3rkAmpQ?Eld#*J4nZb5AYP4w!Erw_pFoyB`1A|?_EYdT-f&u zME|A~!5eA}Q6)J+CHLiPMNKlo*<0xSz2q>pdhbb1s)_ZDPtu{z`2zJcl95H}{~dA3 z7c+t!h@E?uK1_PbjR{vTPfgxGHZX;E*jwg=t&)`xt8WsN$L zE}!|z$-->m?dY^(t(Me5ZqA|QboEepf;xfrhbx?6zV3J?WTo{u55swHcO{LPxczE~ zK5r=!2!AY8q&1b_QqZZyQNw8Xmpms_^MfMbKoM}vnV9Q>1c-0I!6GO()Ka8;{UT1w z1yLW#$ry+`@XS(61L=u+)J8@qW=&{8Bid2lRG(^sqycqVrVQ2b(gjz#7TzW~g|f4= z8{1tcyuwK{0aDw5v4Z{V?%n}d7 zxLh2?;a(&9xO*F-It)JdiBVf-|LH@W6TZS`bE(SwMCZrlH-+V|kim}A?O>kZWDdqb za__0hmD$U(2+ONL1;({o^W`q+`lo3EKC7sr_c0VH@APC`juhkq98JQ9puh_>g->Y< zbXLePMQOuAjUm!?6;DlwdPxYeH<)@7GV`2>#Ga~6Hcd{xjIU0?lL`7Z^b?xyFXwD7 zK%;EIRb)R2ExIhwV`eP`KEonEwo=w3csblVt|(RvJ`-6R%AWO%i`0g|dY4O=mvNpQ z=2ZZ{mlmeXv zj^v|QR)G$qh`^w>S!bi48>w9WQ7%muf6pxr(Om(rC8Zx0t)t(Eqo2v`=&idhEneTD zgt6&r37^kAa~6zgzU5f$YMn+H=d#!vc!I$jArz}9_>@i;_S&bsuwS~)0O?X#WlIg4 zy=f6>kWNJi6{=_JJhioCQ%DaB+>rT>3dE544g$M!)&z#M%={9||I~TncMtWDRcvOQ zubr_cv|6j(@r(V!>(8UxQ;Kmq{WWidN_;zhWPFUcFo!?ueThwNe}toql8B!H^Nl&d z{I8xgKLFJ2>wr#TRg#g^XAb(#dZRZrF4HQJu&{;CQ`g0_EDs=zSH{xX*r`L#uHuBM(Q}X=YWZ!j& zy<@*Yq)1@9p{E#%JQD$Lp7ZBd;IXLmQ76Zqg_TADAUS3u@ss%rew{$Q znerGDyFzI?s?B*PaI!X}cJ_}-w*V@8FX&BR?xG7JF$B;?DwY;q5YYmTqQGh#w%Qx8v#Wc)UR;b|@PdG#@cL-S z($g0G#ByThG5$_`-dB|CsP!rc6__Tw^~vthPe*ORl1}@tE->sCT=NoPrAQSht3yV^ z0s@uhcBiIfxZbEL)}kg4SVW5I-h!?yTC>jpO^D3g#@f)^lY(9>6bY<;TjL{|l0UD2 z#3tscNqGVbm#mE`Ln~dltAp^LA+Z}nBaWIj9`mtfBVb?k^k3DDARsqDPHoPQO{+Hd zSsn5OE9u&_8uJg6xv^)W#L zJ2`@`ajnf}va%?GUr#IP(ObKd+ldKW#nWwR|2{-2eL>-c^>5f^GNL~k*H{#vw^ zcgMWeK}ao3rP~_P1h1|Z@+ZcWbo$1dHJnvl&!n9wMX#it2}Q3X@jtLT$7rG{+q^ zj3!f}%Ug794bFb`jS_#xUMl~TF%RW&p_7ap7im&}60%PMzia5l#Zr4a4r#bIOm1ov zzuFDgb{&-6i|M+#RJHl2O_p8Idw9isaOUhfX_IVo9#!c)Wi9RLJe7T@q}Z7JF=*m4 z)FyaHx%dZRxCGr@t@8QTO_{T6?f$p2Kpdi6un$K@DVgdhR^P9oAf5#Iv3@Onc)Vm4rP9Hf~rNp@!w-!#1?G-Qnkh6^6)_TpIve$EQ+oX7) zlXb0x8`9*Y^@TlL7Xo|(Wd&Nw6^NkeoI^KmiD3T)bl|jw*RMH^DOcBu_D+tFi6gto zZahVS%|Xqe)MFS!?!W>K0MM1L9bhP6q$yG6eE8QKq;4j0cBCbee2EL@xv9|FcS3{X zuYC|8p{*jOB)fblLmc4%oDqotjMz`)K+Hgyv5>Ux3U&5Vlq!i|exeoU4BF?X5sS_= z7apS#?4GnC5o__-Zu#$1_=xJ+r6KYL9;M-+(oLPNMkfo0&2R$rDksJo6vUs^ed(h9 zpBMxWnB1YzUHx|J14cDAPG2+-`^$|bUG?MMel+c-O0HQ{yY-cH`G^fYeX95y?2-n! zomZO~6r^jwW6;AQT#aJ8j#4cs}HdP0%LzVPmi7jJS3j5q2j>7aLUP)rmfn;={w4rW4h)X7fbF7VZUZ&{Z()UJ(J|Bt8 z+QrTFJ(0ipg@W<-e(r*CSjg|E2$QFd`UZw`8(PaVg?R=m3+nUhnhTA1?@iq?rE5gi z)98H>(A-q1iM6uvnASOL%#|JX6)tnLNc{2CBsQf<{#)72%jUjV3+`-HGccmuFEEe? zkG~*&gb)a~~+d$shEJljVi~q!FgnMV5!QiPL ze(jmcH4)`ii;o0f<4+~^c~V%&qoX))i`RA0gGVPcxnj@59j`WtJ!@3b9F%cd@|;gr zblsjJgJvFeBeKBPzFw?x(_K?yoi_HDWbs8-e;g5AVgTTxd-yUFyI<`?H(lN_CAKRL2mD9$EY$GRM_G;euC;Zr}E99JzrH^YSeF7XUvcs@{}z}Hv?xA zC(EmzzKfw{v{$j|=|)K3i~#)DsDMwmE3`Ji!~@iMwEtN>PZ$-fB0vAWQvD*^wu)yk ztNXLrcK#{tKuZeeL&`8;@0uS-w#Y1rHI3bu3++Q?3Odis0S&vQx1n<`9c7^* zr$97`67Ontt)%}{f9|&(43s^Jvdc&gE-pr?#7rl)Jm8#yPR+nu9XAAo5Z(YN)MVA@ z{~%gOx-%*uHR5a=iX*GVYv@a2S*Z`SR1T49=JN=FB}Gu^c!SMVr^I* zzxKW&>B59S$W$Zf`3lr_Ws}^cb5TtUc%5=(Wp4q?7 zus-cTeX@x<=Bp|ZE}5ch!Aa&7JpY@tZZWEeTkIyec3a{pca^-dJC!LR_*E&32b`5S ztHj4_I`iz4YQwPS#SFX#HuixLOo?>MmkND$lAs6{uw2PkzQbE_O{&LHgAIL*BpK`r z3Ikqv2L>s{XQ~I6Co&3{)u30c*o^_=ZFfuq#?{*Xg_j|Pr9?F+FbM;Nh!}6T0P+CTS@rpD)``-%ITChG1(C~J+U1S(;hh++ z?~}^04_-M6^J^whwKld4=NDCm0R?sS-!PrOAu;+=t*GO)*4=SRo-T9ZNPRRrnuQh5 zD4t#|c6keNH5zgg96mof7PhRM)wdbASzCxDDE}zwDcFAwqCS_o!|sO*`4Jjz+EY?Y z_kb?i1wIu{ctnao#FS-q;wk?^pa;u4s@9_wj*kZ(*`)ViHdk*<2BOTSG=D>nHv+$w zBlU-4>p^d%G&f*p+;bErrrzU4*vF%yi?Y>aDPP1SpKD#{uQZoKzSR&~D}1~)*@H0W zVJJxfTVp>4Xkjjd(mDX-((P2M7^0H_xOAcvMATbnq*ho8cmM)puG-|XIDr6F^HL$> zQlZsy><(0&5fr%h)gS+KQ?nSyh($Qy@Tz{V+0u6X`YF)a=6-yV9@KNrnYXxw;lU@j zY3b%;HJ=WY>a0T^u3eom_heY3AK*50n+&=gl}4_QHE4pcnN9gRzQvrD89 zThFP9^(G?Z4TcoJLI%eA&QYXV4Q_s;2qc=IkSkC)ga7y5jFLzfxDG}vyv{qt-Aq#p zG4trWAozp56dZdLo)^~I#uuB!nYyTP%0`|R@r$0NB`j{q^r_MoX*+>p80&r&Rh?-9LCR z0U>B*c+*Tuz~=J(zM@%h&#*veqLJpjSXHV&F3}bhzKU!?NfO-R?c@X+i(^*7RevNh z>C&wKX`RfjzO%TMT}2(UfCB^dgUoBz19AP#&-aWYYl`AfPYg#m+O0eE@i`<$ z)&Q@pA9-lq2v3Uygf|h-H(aoygTryyUWv7*L_7_S_2U0G(n%Fj#Z!zb9PE5$`1G_45WeO)Sg=UG~GReyZ)M6N02=vpFMb|LM--VC1 zI&iy>!NvS9tvDL1q8iuIuaZWEs|Fe*ESI`QT?dCBwKWF_b*asq>b&S%>3iWH;ua3p zpGX>0X_guDtS%yZ(y6v^ig`7_aT`l)tObk6fm5j=ufKP-2hxs+P z8GndD+K$JRhND*YJb`?x<~&Od$NWUWkr5&Pd+hRTQ;_<{@AHXdQ&65KtBi@d**1;B zMYCr?vPn>Ru|DfxedRC92C6HbRyhH&Q^qcelyv$>fxLFT5rW(k)EyaX`j>%Yc0F$M z({TGu5EBQiu}VHk{&TDcn9KlidV(Nj)N29am&WB~W$7#>j1UaOY>2LRFlJGN6_cnY zP+sQw-9AyQKeqX%iVoQ;SM0$>$Vnw~Lx5oj!%L}O)h#@MVo5FoAV91}?>|;Z+gBkQ zx+;xkiN!ksFP^E9!g@&`>V+QarAup0Wc7p}0Sj*ejzabv?h5OhWh3AN`E6TM5sZul z{#Ck_CmXt34oNpn?CZGp!Q2ZY^Z z?b=eBh697aX>+vfMg)`ItV;LQ_UyxMP3_g+<=SJNr}*aI?qE^s$J<5x+FSj36k->I zI@WG{^5Z`7B)bFhdd1xpg|Eh$QH zlY+^IV4mCN%drC&=ARbTe1G z&3Ksl2Me$mpagC_kpVCS^Mu$j0Jw`z$h=OMEC?zfVp*uq{e%}Lrz2fnh?RTD$>1r@ z**|-;C|jyyCBFm{391L@Le)r&oGS@hDIU$B)9f2_2}x4ov3#T`4(|$km5Q z>V_H3OeE?JC|LUk*mJI5FQ5=3oU02vIZRJ`rlw$%^zR?x`==f?EY4l8)iyCDS2)Hw z4BoSc-j^P2f_0aPpq;{C<~e}CUkk$n8OWuZsvyL06%UaCgoyo5z!zX8TFaUXN3^k@ zseZ>mxu(B#YnOHJwc605Ux)jnXdw!|I$3YTZH$Mv<mWU9X}N(AAFd zZ(~5Neh43~+j=^>URh`f_?z;X$_~{h))uK}LzL)NbT2MiV8d z8N)=Lg&cc(*h@|hK88P)f{A}2^#3)aZNWBCCT&(Ax=rp?`~hJQ8TxP7 zjXWvs;(=YscCz88t@M~tuzI;oC?-@c&F1)|!ssp2u#Q7w7rZqNgE6ZXggsO{aT^lK zd~%aKW>NDh|`lVvp0;IY10<5z_I{L-(8Fea2=0DbDD^C3A2^IP6PktU* zX<|{Ll}zq;rpkt$`7^91N{ZrGLJ7#|KXM9{7Hl^E!fnV@>`GJX6SGo94`hGC*ack< zSHzqg(k=64t=fp1_pDjOtaq@it#THHw8ipK-7r$1iGwBy^MtMPSUEDDh|F!gv!1Yq z1DzFtuhB-Br~`p3u3i($%WVw;;dvOEWhtzKc4eODS4`}4x_C}zj>dL_uQBEUz~mL^ zpB~v@APiryzdwb;4??04=Vg6kMmXL1Ne2K;0NMVSt0MHI{Q#T@0TwaFJ!BP$bV!5j zohtK&buhfc83lW5T8gGiRk|5vRbxr)*h9&gwWSsNpuOZJtl8juhzPzKOD6|6s}kO` z-w7V6t<7HEFy1wiDmJWJm`um>V?_o*jnQ+RW&L4R%`yBvv#y_GKLe`gw%fgj%EB&f zC$X4%8*dt4(t-VMj3_`Xtx*j35}M67p-UcUCK=7l+3+ z7CxIiY&sa5hxvw`w&2`3e3dvRgB?T!zNK=1h_U0p-1|syhb!Lt8AiByM&}6x)k5Gx z@kCF_+#H9irPrnQjsNrU(ltTG>5S){P?6-4V>TZ>TRtLD>4;FEgQmFrTf$yxDEZu# zxQ{49u*%X1pHaTzZdS4J!ff$4QVOppsg#nv4nt>FxUGRFmOM>$0!|GBLjfie#34K) zzf0}aDLN}iug6chnG;!nH6$CHZy|WfF#+H*P~ByB#jFiNvb582u<=n_fcvp%!qsJ) zt)j|h6N8RA<~r1`C1JS@;uq#P9&kP*T-Z#%KGk~U!OQZ= z+Ve%wvTSl;;r=wwFYdeZoRlabDhb5%1=E{tJo3^Q2AgWnpw}Y@F&-0Z%;*l?f(IJd$ zD6L5!iaLE>=%30(NL+yj3=jF}dBU#S(1U>QvzV$r(^G#l5hgyEw0}xvtVe zZTQgfM`>e01^ZKa5lHmf$)LO3e1A6_A*n^}o!v%Mz-IV1xhH#0VjL@0WM~wYI}6R( z&o<0&FPhBJ`JDKKFUf@wtY-9YZF7QS^DL-4JZUntU{=LtcCy;pqsoVWhC+h(Q0e-2 zVOzT%G@e&hQc7$)UY03{v$r1vHg?1qnJPia_Dh1gh)aS&19vFl8e2D3F3P2YjhT6P zXy^&iBz8P*bWI32Qsvtu8k&gWYBLIrX)0`j9H9bjNb=f_sk#~B2`{vNt}35W&$=(F z0Y;{Q_t6xxs`$MMmLiZa37?4g^sztnZcHbW7qvHrds)uw@fwx1tx;^Tr#?|g7Fnaj zY*F}|uW@_|FTJXjcxhA29ZC4;i*UryS$wT^9jzhSb(>+DecaEr9O&je3kRg6U@jwt z`itl^4Gmz}%>EFDL67OO-zz$^nPFdfHyQDhQEl*W;cta|qVDtn{nxlFyVt4N9(k@- z2iz|*6t=0ru3aLGKMO$j50g)cly6XXMHOIh9^5e?s1e=#f`Wcm?A{0(#Q00I;z$f$ z(?5^{5Qd!ON2YSsBRu)e;##NobG$^m5 z&NOev%S_QT^m5G3Z)!Gva(*^C-7HHTeCn!wHWJ)WB_5n8p<@t!v#t3`=}YRVQv0(v zt!oAAE!3DbaN*+&w(C`Oot-nAr}Xxex8t&zT|W14DrJkZb(5%iSz;9wV_ZR=u<}CU z@5H9tucssa^l`;xysn;g4w+uehV}S`Y86>sl(T!(H7Rz^^E6|o>kJa=LSERk|CFJDo3>{o978ads)GTjrB8Qy0ZS^i()mi&5ox^YNW0E-zqJ3K zEF}cU2VhO%Pw-_!M6naz>pY&Fm%2X2)5|$?gKuq$l;HHA7UvX))5CA0UG-#WbpUoP z5FzkKI+L=EYWXlCo%pTyo1d~UFLbIL7Em^Z$tWvkbuIb7Pz#u>mte(lCFm`McB98dr2+j`#-!sTqKT3dKC&fiQ+-x=r1BcFOu8 zbNun8MgnWdVX|ck38Kd`$K-;|=VZ?yO`_#sD>!a#D6B3uY|Jjkj7ef`EsW%8trOjU zc}uu@&PaIr~f5W?Be$nWg z#l^1ZkKQ|Kw{_3l$699A8+M9Ex7>*+c9hKsm-GjNg`r4>ta5>Vf~fWmjlnjYqyJaf zS;oWxeC?hhMOwDF6)bO>n#Zb#V~LjRgQfC8-?|!U(7NNBgxMH#j$85>#((VhBhrx;+$wJAV2=ZEPX+C*Q&MFqGwt*>-&K&baoM5YA#sGg;DSBWzr!E;z9Jkd#TXa4LY zva{yRbZuXrSb)6F>P}zvr#D(?s8OfwE0})W<(#Th`I2m0YvytB%OfdpeY;iK{>>rs z0w>NGsS3jVFU4Rh=O6xGvFZWDgtp>!VvPhqhIjGFEq431FtvdAs!#weIcgUu z!WiK$quN4!v6?g0AEvvsLt-1ORy`!>Hx`79V21$5+mQ+0^Ra=O9`dK3zb=j7?h|Vj zI3eu><^+Bh8fZyU4Mc6c1P8X5fiV!OR3Qi(t_W?kXSxU-=BvuLsg?&`D8{PMBNFJ3 zI*qlYT(DM1d-VGYrm8OuE+nOb{l-W;EK`+#ehLpsL(ODzQ=(sL%OfJ3xPJ;k#_ZW; zXLl3O@rRkB1k#=8g#ng^6TThU@=lBXs@&#mE+33Jb`l;v+_YDeAHVwi_=AGb1{un# zleH-kc3*jpMW~#V0$())t!>|`uLviZr$p+kDabfYLWbAMBak?DB0xBMXB@&FWFREPwgs#4+R* z4wtfuZiy+%b3ey~?SX5Wx-l;I8RFtSfJ_*1ndOdn$G1o}3T;BZeIvm*-}aI7y9avD z)E_OHv>Bd=o;6={Aowu}u7?!jyg%FQ3vz>C&v^F8n2RqTY6*(tadB!wig56R5s(mg z|B!X<2vF=$dy01q0K(-jFCV0}3DR)_k#ZVd@p$b$bJrT-Y&FVCRnH?Cv&%g#%`fkO zyE*H>jmyJ+Iv#V+vkFzPus#`H1ZmMu$aF@$nq*%d(2q}|3v_oPReJiqk zalg!Sh#eSTV%$-gG0QKkii!x#2Skxh|$L3E{ z!!lPWHXA-5yGG-%v`yeD`WVt3<`l9@jCn1|xZ~y#JHIQc7N}t{Dx@;1e?E`1S2Tgh zsgi}qlDe}TvX=`qyajwvd2=DOZhI~)7KjLM6apO#OI4s8{JSvKNTEE;+n2*q$5Oad zybcW00tGtBCVS8CU9IcQ@rK5|>z30qujMF`I^$Laz)$vM&Ex^YA8gVMu0_Ig>u&7| zmQyNY%@%E@k!9t=Op;bC`e3Uv7xT0|dQ~axPm@i1lLZj)Wo%AQm^p92?LllzFuwO{ zUPKhVR)xU%T#qw_Ze18&QhzQRU43qk5GyBGX{jG6z+5TFk?2hh3!?>S+A`a1rklw< zWZ$+XiPw$k0`r1ZFTSNtZeiz#j5H#J5u(rkR^6V!Z1Dqe>xt?-boV2Kp|5`Eng0t#v8n`{E59^ zcWRq?3haa`RLyF=)GHFHgMNjL_GSZ{e<^MqameX~o5WyRL5H}H>-nVrPU=Q3TY}4z zbvgQZ|5fZKmM53sT+lUWhVjq_@G60nyzRTrd@zvV{O0TMO57XP;bk1PAg-ie+DP%` z8@hFV(3!2TiA!?Uf{Ok`bRFi3Yk{Bjw!zS4ZaAB6ay2gf5yTj$6gjQQTB)se=%W#0 zvs38t0()Crg2s1)7oQ!@AF|m#8kyEsoaI~N=tg>>GAx4^8gaLl5P{JiZR%3891^r+ zlXDl`s9eE1?*kN{2F(;6UvGtYVe60+H0+&`B~D7|HvR9IKNyKAL=p#AaMr7J%v9b# zw{cB22%Io6eDZ2y)S5pb6=+~9bJWpUZ?slOTC9b&?P28k@4R^jKYPCc_#1u^XxMD7 z5*V5IQD^}0JAGX{@zz|ulx?EGuPm3VZZqg2ZpFcBaC3Dr6WN1~Kl_J7Ht(9}8hL7G zY5p1P8P@2#>(4yIS{dkbOrw(ABxGb;u>C`Ce4-=m0IhgfoKm}%Ws6RRj@UQ4sE+oqoY_t|tom)GD$~w=p<-U(?fOpxjVCBe z8OTkT8-YQCa9P!xjdMmqr{vA5=GC`M@MnZLSZg2V0SWz=33=^^BsDJzpvDeGtiNrV z>d?2v^*ar8>AmXe&z~Snl54pEWfaA&S!K-_NWUzCR+%6j%BL_Nv~omfbl_Aa&%Tb> zs-=r#Fy#0&m-xPa%D9us@PcK>SEpU>wbiz+5%n_$QM@|-aML6A1!`D8<12?59 z_tfaB{P9hDbE}TgO=nXVEB?9A?mL1KDs5{7D7wm8NN{Wf1JOU$s@f21aXGcrE(i@Np#niD*zS&-XEIKPvX=;^R_ zv~&bLJ~gg6`ltD-Zx&fH(6xE;d+gfNSk{|Wf9Gtg z^!}Ex@ZCi3W9}4x(r9jn#4G(1cptKws|9SS|JpA)j+|xql-`J>e!+=4f+%*`frU za;*1wp?EzUi>f+ODlm%s&UA&YR>gwwl;wnw=!v#PcC0Y9^5*=k(7pA-m$t}P`_7{( z?azlv-L+lEh$)`3KX!z#ksTDePpshALYp~p%J~Wz zDSlV!xN7ayeBBt{whg^xn1^_Xexr!{A=;sWA4n|v64gx~i6POP3x?lQ1`tTRqwW8> zJgk-a8W$P0Sv(}F4WVvfYAN?BxVdhbCvh_5n7a$uzEq0idad0pn_FIX{`*vNYOm#J z4BigU{UAya_(B2cNP0cIKM2o-EL)H97R6RV^aVeC-eoJqY6axAIJZf8%e}*%bHZ;! zq)X-&`=fb`9(ugfLF<}Snjdm`XHDRAL4tFYWX!`+;lgA{4|IJJ4r#@Yoo{+=?)h7w z_w=*p-RR(9k;n_b)KH>&lg5m$$S;@F8`P8urWF=}7(gf?#_!-v+6-deD4FO&jCtVG z8D8bPl5QBQ`Hd08hvA(fc0c(~(YC&UkSw{WB3^k@HJT(T10krE6$gw&f9^~x&==cfJGvyn^uBlM} zEno`tN5`j?lN03cz|37oq9-E2o01hvLmx){NIw`xEvr$h5L;~hK_bKUAfpTxv3b>J zL!&g79ucjm948q8s*C@`FZ{k{pk&WVV;XK|rZt;S&*|^M$(fLqlOyyCBWi|?1xlHi zr7S&#TUQpbIm5p9kvK<)oi`^V2xF97aa`gWF!7UeoEdXl(N1g6AIQ(0nUi%F6wT4O zIKxs418vI_ot4RdV&P2c;O3sjSp=+#W@X67DVyNll+Xj2NOQUNFonZ~-%eBUzcVD3 zS62FI;z0)}vY3xn0hAQe14U-CG5Gj+bFzW}$`s#6H%i5(uFz%=y2Ryt5CqU7Lm$YZ zis%4lGQ9~kGd6w@KW1V7Xgd&+r!uYee%=K2W4>801GE?W0H8}r^!cD-=%tw$di;J4 z{Vh#|vvp}vneEA_=|O69Lc$QAB6o&4A1es^0Jey?m#`vACumL7a)aPWLr0$7i&!IQ zl|cnU1r!fxd{Zn@$DQf9LXH)}Cv4^y=6A1S_P~iui&Z=oMfO!|Yd(C2MGPfejgoq9 z-SH{PXpRtQ2bY`p7k|cO7f4uyoqSn(J89v_gK!uteq7rg-YXhH#+mtz?~4jm!4)%? zH8VelKq{%y7`veojb@2bN%7vzbXzFz{OH(dQNG(V15vw0@gc}vLnCRrF4-l(%_;>1 z8}USBFn`_QO6&=SHAgHSa!pVzW)zm$W~s`mn%D?H0wIPow zqBmhJ$}cd8NH~PKYIfJit=rgbA*fwp#j;rXS>g-?N*Z+aHjrjzXX}y0Q3(6h zTVjxWcPK>}c;f6n4=JlDYoZY_Q8_mVBP2$-`06CY!!Mi7rpr4DNUK%)v#l|h5q~sA zJ-FfNC*$@Jy2Z|ABG68u6CaSPl`YDf;QMXn@MI+~nVkw2VV-dQ1!v#iZ>wv8)U~;+ zX6MaQ*o{%@5=DNfX+|1(v?9h^pNoUO1q+;Q9%=RMM~&V@e&roFD>E6c%I1nK;@4~< z@?N>fve>wiV%s5(wZ0uGr#~}SJ8)7goG<8~oCr8W{ZtfjUde-Pg_uAveSwD>qvwTE z$3rABD1#j`*T-5T9>heFEsZ*V(-h@s7_z?xZXpXSy=(+?|FLA)7`gu~2Safm2bR_p z5QnU&Tp$P8hOh#zi?R?e*Rx!-0H`UJ!jNbbhnh|z>f{oIsL;?~zZd?wA&9aryCFJ2 zT2L-l8EQbcF-Gt`^_z#Ss|hSqZmpHv$ElDhOrJ89XQ(`;r`pM}K$5H1oBqiecl9iD zVoHdebSY?9t2%hC3m+rN1Q#A*Ijn zOe{cO`_Pj~riwE_jyodHI0UQmnzT=4`c6?Yk|t)0 zG)6D#s2%NUkY+d1cR1mPtv2GQ>WewoRQYULoCLspW)5u@wJLB?#ZmI)Q{PZFt?VZH zqjCzU!fFif2mkvsI-t|HE%?Exsy_Q^lil|F_WnDaqw3*zkB)$~qEb5QGaIBEhB?8hdQ3Z9AQ;=`nQ%b@q30yP@$D_qFq?o zhu-D-VQZdn5?4j5%OigTbtN@YhsDl{0RvI!HH&YdkR-@(iZ}MN-Zj;DxPBRP7Q^!F z2}Lm$^jgXa??xjd*{-}O*Q0pNZTy@xX@yGOIZicpK_;s+(Tfgf#ppb@@kCMVfy)S4 zJX<6nEqYO&Qq0ZI`k?xpu4PeX8#w~@2pT|E5X!TPcc?fKEuvuFH7S-M5|Me%F20FX zdyd_`8jC*K$7^s>9&;a6x>;avPknZg8jD>a&(Pp6D$9O6On>yGn^sAbNKCH>@jGS| zXbq+FL-$5VXKcRtag^D01wVD~>6S2fw z7ND7FhJtVhw7n$thE((K*H#%Sd&w>!QxH6Rc}jjZ(zfR|O7fQxh(ExYq$eqP5Icj= zogd^%Dv}7=yS02r9u8axj4;Yjtq%e7`N~(;EA6H%^M0K9C0IOgs_q_F2B8B(JyK~{0Jp?6wWZ*TzuV&jThdOEc~Ldrz&eBoK4fg znWeF9+b~X7)>&8I5wM#A&ixTv`(*QNO}-;uOSq+;UdHAJvGG)hIgNbG)Tn5Doy-Tz z10MZprm|QN7lc*R7?SGRo3orY*q-^rBD_v7MNp~yubVFI?`L^UoQXhKm8I}o%CS%V z#*DMf+1zeqavI8RS};<3%)iQaSc+S~uUn&>UZx?Hr!_jyk#y#b*8%bd|u zfEsgmBF>Z>ak`#-jA1QXDc6Ye()ETJ!Zf06oak&ZlFap$pRABm-Okcc-NOyR&w*7o zC9{A-DBd?^+n=mxIafDEmujq%joMB#o^wV`E(9-YbZ1%0{(`Tfq}MlbyU%im)k!c_ z=*Om@l3i&3t$BLZ1?{Zsu)RR|Fn=fdY=OdH2GtUA*vf7sjlZoFtf{t`p&>_cZ)lx5 z^5ewbzb(;|g%o!_fT$Z{+~gSKnFMhd8tjx+*C?crn(ZaCX#TWErYe`JvYN7)7RK|) zbAm_C6rEr9Ewc$wVoE}7@Gh`w*GgfylR+EJGa{-49}fxP->SK{z@HT)Pevp#X54|e zTL@v_YHD4x7?s&^x4v3ZiS}Xk{>c0+BOb7g_2@(=;SZcQVb5Lo;LV*k;f=d=;^t(r zFQHYPSGJ+~L<6Ye2feYd!-yoQwpJwrqvP#O;*zn%FxapYDGeErG&J!d|NQ;YuK?Vn z`uM?~wA-(+UCjKR%zsiRI2=!(d8qoFJuxd3Sx1_Z1dSl$y-Yp9QdjIowW0OoW+;G! zO=c7NmEg_5@DN#>z9OvAw1R^V(XxJWs&5jl~ z3wOm{;@YYq0iV9ez*kh}5_*1lutoFo45cjf$$dAqi6cFC&QndyZipItO)`px{OK8%tKl+=H|@=0x$L zRE}{41B2c)1YMBxiDp-&3dEXwdfdH+ufpmsA$+9r>)T7XX%%Zn^s&l^q~#ZcahJ)e z&iO(RP^-5AOHL zOR0*c8x)>dGS&EHDtHq)0M$wW$im|a#G=X-n*XPCJkFr#ihmI9^oIkDdIMthOY58R znK@%6dCa_sU7q=O#2t#=koA>z6`e?va)(2wfL6@zTo#;B8&;9Urc8BgQGN39k^n`# zlawwWB!{gRi$XQq9A(lEE2@_Q)#`sR>r|=>lOnNx=aS>KLye}5bi6%GxdmWZKgpw=M z?l(iR(k5_98Fx(|SC#+#^3vF`T~D_u5pL{?(|DJGc4ekzG^2YGQ>CugSi4~qxK0`1 zk@td#N6_K<+HtxbFyemm(ssXeMkyKWN2B(bHSM*brel@HCL6=q^`)P~pcc}=+tgeU z${g#|%G+cJyur3TVaf7gC!Ke;6pID=GE~eQvb=J)E+8rFtNQGn#6JAy-u`7ZsMV|Z zEY*^TT# z5+6GZ&1>uOeC01TN(+sFgO8h37n%@1#z_h`{CM&3el46K^09Y$E%K4K?Rv1O^Ah$v z2HAcYUTk<#ab0^=>p#J|$W>1$H`-l73L?F5*7=C?lKx4@J#ZSUI*M{bukjgCjFA2e za{6@sw#{m$O7`<e`dVs z;H>cogAi-~KmmJD&Sy1~TkJ)-CEANe`gIVzSFF{1@Wjr@k|0u_?~zXLvXg;e_K0Oh zL_waH1K6aAG)nNc9t#>X6SkYHm#ca4UTr~2Ke;@!UfmvFZz?cu-v3+T{qG7)N8QqjP2Jhq1NdLOV|6xp zCo5;*e;IQA3#Igh%sKuck9qjaEci@$_&7MZ&CN|YK>R%XW>yw_7M%R1BLDvxhHM(P zewG-#+`W!$IkkjygKqzzYf;j%O!sDLTRh_jY8a%(f4*{}%k8Jve$O>#Sp#nxy z5f$%!)n_dWV*2{7$s~F2>qneDC%a}KD-rAF=g1Uao8t78^vc>yyB3=)+krAGJ=R+H zj*0Ct>%dF@T+u9~*IVJ&?JW0+T>tUQW}5)mnMy;1GhloYEr~ik zqBsAF{H-Z_V-ME*{yCyB$7+_w-W#G=GIm5kGy0S0gawqsY9_DV(*?;au0{JfZ{A4K z7~vYi0Tbo{Q|FTqa1F(PIpWQrlw!{tJ}lHt6U70_Qi$er)Xxoe#eOcu!OgT_Y8M)- zf{xV5Es3MQ!dB+#DVyh# z4pcsbzjZ_cg+v8n-aD>*%k1YCs!8`wW1x2Ku4qzPsi@$o%TD*)`MeS=*v}1d2DPRw z%B`_f(vCa`U*YdCu0+jlb)Ywx4YQg;&^4TM1ha5t1@tsQqAL^Jhvw@NW3| z_om!m4%eT`mtli&un_C%At;l-JG!GP=`Og*dbja`vb=Su1kRPyU8lozde+JViMiUo2;l zef|63LxS@*S;8qpqhIQ5;SSvs@>xXR?9wRM>dJW``U9LYkTDU=71 zUTzAVOIZFs`mU~nZ}5ZAZ4wEvmFcmfk?$-F{C+wWgnP!loxc1-~|;j zwSF-x(nUq151$_5V1_lBa%I-#tGeytr@?Hd^>Y0InTN1ZLpQeQZk=e{#gL?Ww*3U~&D=x-Fq)9ZI42%Fj<6{@sAB zb~aV_Iw9N)1JL_LvDYKvapdo>O@p7eDsN-E64Ds9?5qFDa2U~jxvVycMh8eqnJyfw z4X-h@8>sdpg_=#D`TW{jjrz~2MAvF&(V<}p^pQ^wCD&DxziCx^U{sy5i${1`y)X^w z7hwl5IT+bD!{_4X_4MI2c_yXNLex5El1QSELR)Mr6p}3xDfDrF!yqf%c_ZMQ%Kq;! zlqTX^bLykjCM@SIbfJhAYtg=d8L%J8#D?w+STCrB$+K#9+fpbfv#sI03;n+iPfR zq+hL}tnk?9n)mZtB`1p>wWr>~Oyv1FAL7y{SC_sT|G6u_BMTOs&b|I}#g2B3n~#4~ zBKE0KM)-a?FX!g3s>+?qjD|4cHO<+#Y&DfL)>3*e?UOLS${Vp~a=aKn&f6ZM=zcy$ zNny3eyqw-=c5>WmQ95%RfS9l|YJN^l86Wbs0a+wN>AK*RC&32MOq~a^)t1f78GyfZ z-G*+9k2DVCilZ$4OrF0^a^XraKG0k`ar3Za9P`j-_&v&%fprj5Cz{EX`^epmp;8)L z%OVSwnA_h}Y9jo-!2|7MT#0Bs=OLE?tFMMXo&$5bseRtZZQBY(JiOP9vsTN+nb?+| zv923g2+}^MJGwNYeidxLq}U>J=<#0|jXp(NwU2{yw4bID)Fy4HQJ&CI_;(KiE^533 zPDm&o`v=KR%}eeUs71WO;~v)sPvQ5u)@}8%!DJb0cyiRhrSHt6MAu9;^2-e=yk-)lS*EhvCS9) zq~oJaM~3|v5aRTn3nHZtLPmYe#0>6K+`A9jzTvwSMFuWs|G$s0yN9WphmV`36$U3C QJ109k1}&|$iVVj80zwe`4gdfE diff --git a/doc/docsrc/Makefile b/doc/docsrc/Makefile deleted file mode 100644 index 60c79ca..0000000 --- a/doc/docsrc/Makefile +++ /dev/null @@ -1,476 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# doc/docsrc/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = doc/docsrc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/doc/docsrc -abs_srcdir = /home/nokia/mouse07410/asn1c/doc/docsrc -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -XELATEX_FLAGS = -halt-on-error -file-line-error -XELATEX = xelatex -TEXSRC = '\def\asnver{0.9.29}\input{asn1c-usage}' -EXTRA_DIST = $(srcdir)/*.tex $(srcdir)/*.inc -CLEANFILES = *.*~ *.aux *.dvi *.log *.out *.toc -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/docsrc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/docsrc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -regen: - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) $(TEXSRC) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/docsrc/Makefile.am b/doc/docsrc/Makefile.am deleted file mode 100644 index 9c75b0c..0000000 --- a/doc/docsrc/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ - -XELATEX_FLAGS = -halt-on-error -file-line-error -XELATEX = xelatex -TEXSRC = '\def\asnver{@VERSION@}\input{asn1c-usage}' - -regen: - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) $(TEXSRC) - -EXTRA_DIST = $(srcdir)/*.tex $(srcdir)/*.inc - -CLEANFILES = *.*~ *.aux *.dvi *.log *.out *.toc diff --git a/doc/docsrc/Makefile.in b/doc/docsrc/Makefile.in deleted file mode 100644 index 7572c46..0000000 --- a/doc/docsrc/Makefile.in +++ /dev/null @@ -1,476 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/docsrc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -XELATEX_FLAGS = -halt-on-error -file-line-error -XELATEX = xelatex -TEXSRC = '\def\asnver{@VERSION@}\input{asn1c-usage}' -EXTRA_DIST = $(srcdir)/*.tex $(srcdir)/*.inc -CLEANFILES = *.*~ *.aux *.dvi *.log *.out *.toc -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/docsrc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/docsrc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -regen: - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) -no-pdf $(TEXSRC) - $(XELATEX) $(XELATEX_FLAGS) $(TEXSRC) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/docsrc/asn1c-usage.tex b/doc/docsrc/asn1c-usage.tex deleted file mode 100644 index 339642f..0000000 --- a/doc/docsrc/asn1c-usage.tex +++ /dev/null @@ -1,2173 +0,0 @@ -\batchmode -\documentclass[english,oneside,12pt]{book} -\usepackage[no-math]{fontspec} -\usepackage{MnSymbol} -\usepackage{xunicode} -\usepackage{xltxtra} - -\usepackage[hmargin={1in,1in},vmargin={1.5in,1.5in}]{geometry} - -\defaultfontfeatures{Mapping=tex-text} -\setmainfont{PT Sans} -\setsansfont{PT Sans} -\setmonofont{Consolas} - -\usepackage{fancyhdr} -\usepackage{fancyref} -\usepackage{longtable} -\usepackage{array} -\usepackage{enumitem} -\usepackage{booktabs} -\usepackage{url} -\usepackage{xcolor} -\usepackage{listings} -\usepackage{setspace} -\usepackage{unicode-math} -\usepackage{perpage} -\MakePerPage{footnote} - -\setstretch{1.1} - -% Courier 10 Pitch -\def\courierFont{Courier10 BT WGL4} -%\def\courierFont{Consolas} -\setmonofont[Scale=1.05]{\courierFont} -\setmathfont[Scale=1.05]{Cambria Math} - -\makeatletter - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands. -\lstloadlanguages{C,bash} -\newfontfamily\listingfont[Scale=1.05]{\courierFont} -\newfontfamily\inlinelistingfont[Scale=1.05]{\courierFont} -\definecolor{clrlcomment}{gray}{0.3} -\definecolor{clrlkeyword}{rgb}{0.588,0.145,0.18} -\newcommand{\listingkeyword}[1]{\color{clrlkeyword}{#1}} -\newcommand{\listingstring}[1]{\color{clrlcomment}{#1}} -\newcommand{\listingcomment}[1]{\color{clrlcomment}{#1}} -\lstset{tabsize=4, - showstringspaces=false, - showtabs=false, - showspaces=false, - keywordstyle=\listingkeyword, - stringstyle=\listingstring, - commentstyle=\listingcomment, - xleftmargin=\parindent, - columns=fixed, - escapechar=\%, - texcl -} -\lstdefinestyle{listingStyle}{ - basicstyle=\small\listingfont, - stringstyle=\listingstring, - breaklines=true, - breakatwhitespace=true, - flexiblecolumns=false - } -\lstdefinelanguage{asn1}{ - morekeywords={DEFINITIONS,BEGIN,END,AUTOMATIC,TAGS,SEQUENCE,SET,OF,CHOICE,OPTIONAL,INTEGER,MAX}, - morecomment=[l]{--}, - morecomment=[n]{/*}{*/} - } - -\lstnewenvironment{signature}[1][]{\lstset{style=listingStyle,language=C,xleftmargin=0pt,#1}}{} -\lstnewenvironment{example}[1][]{\lstset{style=listingStyle,language=C,basicstyle=\scriptsize\listingfont,#1}}{} -\lstnewenvironment{codesample}[1][]{\lstset{style=listingStyle,language=C,#1}}{} -\lstnewenvironment{bash}[1][]{\lstset{style=listingStyle,language=bash,#1}}{} -\lstnewenvironment{asn}[1][]{\lstset{style=listingStyle,language=asn1,#1}}{} - -\newcommand{\apisection}[2]{\clearpage\section{\label{#1}#2}} -\newcommand{\api}[2]{\hyperref[#1]{\code{#2}}} -\newcommand{\seealso}[2]{\api{#1}{#2} at page \pageref{#1}} -\newcommand{\code}[1]{\texttt{\textbf{\lstinline{#1}}}} -\newcommand{\cmd}[1]{\texttt{#1}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. -\usepackage{extramarks} -\lhead{\firstxmark} -\rfoot{\lastxmark} -\definecolor{clrlink}{rgb}{0,0.4,0} -\definecolor{clrurl}{rgb}{0,0,.6} -\usepackage[colorlinks=true, - linkcolor={clrlink}, - citecolor={clrlink}, - urlcolor={clrurl}, - pdfauthor={Lev Walkin}, - pdftitle={Using the Open Source ASN.1 Compiler}, - pdfkeywords={ASN.1,asn1c,compiler}, - bookmarksopen,bookmarksopenlevel=1, - pdffitwindow, - xetex -]{hyperref} - - -\makeatother - -\usepackage{babel} - -\begin{document} - -\title{Using the Open Source ASN.1 Compiler\\ -\vspace*{0.4cm} -\Large Documentation for asn1c version \asnver{}} -\author{Lev Walkin <\href{mailto:vlm@lionet.info?Subject=asn1c}{vlm@lionet.info}>} - -\pagestyle{fancy} -\fancyhead[L]{\leftmark} -\fancyhead[R]{\href{http://lionet.info/asn1c}{asn1c-\asnver}} -\maketitle - -\tableofcontents{} - -\chapter{\label{chap:Quick-start-examples}Quick start examples} - -\section{A “Rectangle” converter and debugger} - -One of the most common need is to create some sort of analysis tool -for the existing ASN.1 data files. Let's build a converter for existing -Rectangle binary files between BER, OER, PER, and XER (XML). - -\begin{enumerate} -\item Create a file named \textbf{rectangle.asn} with the following contents: -\begin{asn} -RectangleModule DEFINITIONS ::= BEGIN - -Rectangle ::= SEQUENCE { - height INTEGER, - width INTEGER -} - -END -\end{asn} - -\item Compile it into the set of .c and .h files using \cmd{asn1c} compiler: - -\begin{bash} -asn1c -no-gen-example %\textbf{rectangle.asn}% -\end{bash} - -\item Create the converter and dumper: - -\begin{bash} -make -f converter-example.mk -\end{bash} - -\item Done. The binary file converter is ready: - -\begin{bash} -./converter-example -h -\end{bash} -\end{enumerate} - -\section{A “Rectangle” Encoder} - -This example will help you create a simple BER and XER encoder of -a ``Rectangle'' type used throughout this document. -\begin{enumerate} -\item Create a file named \textbf{rectangle.asn} with the following contents: - -\begin{asn} -RectangleModule DEFINITIONS ::= BEGIN - -Rectangle ::= SEQUENCE { - height INTEGER, - width INTEGER -} - -END -\end{asn} -\item Compile it into the set of .c and .h files using asn1c compiler \cite{ASN1C}: - -\begin{bash} -asn1c -no-gen-example %\textbf{rectangle.asn}% -\end{bash} -\item Alternatively, use the Online ASN.1 compiler \cite{AONL} by uploading -the \textbf{rectangle.asn} file into the Web form and unpacking the -produced archive on your computer. -\item By this time, you should have gotten multiple files in the current -directory, including the \textbf{Rectangle.c} and \textbf{Rectangle.h}. -\item Create a main() routine which creates the Rectangle\_t structure in -memory and encodes it using BER and XER encoding rules. Let's name -the file \textbf{main.c}: - -\begin{example} -#include -#include -#include /* Rectangle ASN.1 type */ - -/* Write the encoded output into some FILE stream. */ -static int write_out(const void *buffer, size_t size, void *app_key) { - FILE *out_fp = app_key; - size_t wrote = fwrite(buffer, 1, size, out_fp); - return (wrote == size) ? 0 : -1; -} - -int main(int ac, char **av) { - Rectangle_t *rectangle; /* Type to encode */ - asn_enc_rval_t ec; /* Encoder return value */ - - /* Allocate the Rectangle_t */ - rectangle = calloc(1, sizeof(Rectangle_t)); /* not malloc! */ - if(!rectangle) { - perror("calloc() failed"); - exit(1); - } - - /* Initialize the Rectangle members */ - rectangle->height = 42; /* any random value */ - rectangle->width = 23; /* any random value */ - - /* BER encode the data if filename is given */ - if(ac < 2) { - fprintf(stderr, "Specify filename for BER output\n"); - } else { - const char *filename = av[1]; - FILE *fp = fopen(filename, "wb"); /* for BER output */ - - if(!fp) { - perror(filename); - exit(1); - } - - /* Encode the Rectangle type as BER (DER) */ - ec = der_encode(&asn_DEF_Rectangle, rectangle, write_out, fp); - fclose(fp); - if(ec.encoded == -1) { - fprintf(stderr, "Could not encode Rectangle (at %\%%s)\n", - ec.failed_type ? ec.failed_type->name : "unknown"); - exit(1); - } else { - fprintf(stderr, "Created %\%%s with BER encoded Rectangle\n", filename); - } - } - - /* Also print the constructed Rectangle XER encoded (XML) */ - xer_fprint(stdout, &asn_DEF_Rectangle, rectangle); - - return 0; /* Encoding finished successfully */ - } -\end{example} -\item Compile all files together using C compiler (varies by platform): - -\begin{bash} -cc -I. -o %\textbf{\emph{rencode}} \emph{*.c}% -\end{bash} -\item Done. You have just created the BER and XER encoder of a Rectangle -type, named \textbf{rencode}! -\end{enumerate} - -\section{\label{sec:A-Rectangle-Decoder}A “Rectangle” Decoder} - -This example will help you to create a simple BER decoder of a simple -``Rectangle'' type used throughout this document. -\begin{enumerate} -\item Create a file named \textbf{rectangle.asn} with the following contents: - -\begin{asn} -RectangleModule DEFINITIONS ::= BEGIN - -Rectangle ::= SEQUENCE { - height INTEGER, - width INTEGER -} - -END -\end{asn} -\item Compile it into the set of .c and .h files using asn1c compiler \cite{ASN1C}: - -\begin{bash} -asn1c -no-gen-example %\textbf{rectangle.asn}% -\end{bash} -\item Alternatively, use the Online ASN.1 compiler \cite{AONL} by uploading -the \textbf{rectangle.asn} file into the Web form and unpacking the -produced archive on your computer. -\item By this time, you should have gotten multiple files in the current -directory, including the \textbf{Rectangle.c} and \textbf{Rectangle.h}. -\item Create a main() routine which takes the binary input file, decodes -it as it were a BER-encoded Rectangle type, and prints out the text -(XML) representation of the Rectangle type. Let's name the file \textbf{main.c}: - -\begin{example} -#include -#include -#include /* Rectangle ASN.1 type */ - -int main(int ac, char **av) { - char buf[1024]; /* Temporary buffer */ - asn_dec_rval_t rval; /* Decoder return value */ - Rectangle_t *%$\underbracket{\textrm{\listingfont rectangle = 0}}$%; /* Type to decode. %\textbf{\color{red}Note this 0\footnote{Forgetting to properly initialize the pointer to a destination structure is a major source of support requests.}!}% */ - FILE *fp; /* Input file handler */ - size_t size; /* Number of bytes read */ - char *filename; /* Input file name */ - - /* Require a single filename argument */ - if(ac != 2) { - fprintf(stderr, "Usage: %\%%s \n", av[0]); - exit(1); - } else { - filename = av[1]; - } - - /* Open input file as read-only binary */ - fp = fopen(filename, "rb"); - if(!fp) { - perror(filename); - exit(1); - } - - /* Read up to the buffer size */ - size = fread(buf, 1, sizeof(buf), fp); - fclose(fp); - if(!size) { - fprintf(stderr, "%\%%s: Empty or broken\n", filename); - exit(1); - } - - /* Decode the input buffer as Rectangle type */ - rval = ber_decode(0, &asn_DEF_Rectangle, (void **)&rectangle, buf, size); - if(rval.code != RC_OK) { - fprintf(stderr, "%\%%s: Broken Rectangle encoding at byte %\%%ld\n", filename, (long)rval.consumed); - exit(1); - } - - /* Print the decoded Rectangle type as XML */ - xer_fprint(stdout, &asn_DEF_Rectangle, rectangle); - - return 0; /* Decoding finished successfully */ -} -\end{example} -\item Compile all files together using C compiler (varies by platform): - -\begin{bash} -cc -I. -o %\textbf{\emph{rdecode}} \emph{*.c}% -\end{bash} -\item Done. You have just created the BER decoder of a Rectangle type, -named \textbf{rdecode}! -\end{enumerate} - -\section{Adding constraints to a “Rectangle”} - -This example shows how to add basic constraints to the ASN.1 specification -and how to invoke the constraints validation code in your application. -\begin{enumerate} - -\item Create a file named \textbf{rectangle.asn} with the following contents: - -\begin{asn} -RectangleModuleWithConstraints DEFINITIONS ::= BEGIN - -Rectangle ::= SEQUENCE { - height INTEGER (0..100), -- Value range constraint - width INTEGER (0..MAX) -- Makes width non-negative -} - -END -\end{asn} - -\item Compile the file according to procedures shown in \fref{sec:A-Rectangle-Decoder}. -\item Modify the Rectangle type processing routine (you can start with the -main() routine shown in the \fref{sec:A-Rectangle-Decoder}) -by placing the following snippet of code \emph{before} encoding and/or -\emph{after} decoding the Rectangle type: - -\begin{example} -int ret; /* Return value */ -char errbuf[128]; /* Buffer for error message */ -size_t errlen = sizeof(errbuf); /* Size of the buffer */ - -/* ... here goes the Rectangle %\emph{decoding}% code ... */ - -ret = asn_check_constraints(&asn_DEF_Rectangle, rectangle, errbuf, &errlen); -/* assert(errlen < sizeof(errbuf)); // you may rely on that */ -if(ret) { - fprintf(stderr, "Constraint validation failed: %\%%s\n", errbuf); - /* exit(...); // Replace with appropriate action */ - } - -/* ... here goes the Rectangle %\emph{encoding}% code ... */ -\end{example} -\item Compile the resulting C code as shown in the previous chapters. -\item Test the constraints checking code by assigning integer value -101 to the \textbf{.height} member of the Rectangle structure, or -a negative value to the \textbf{.width} member. -The program will fail with ``Constraint validation failed'' message. -\item Done. -\end{enumerate} - -\chapter{ASN.1 Compiler} - -\section{The asn1c compiler tool} - -The purpose of the ASN.1 compiler is to convert the specifications -in ASN.1 notation into some other language, such as C. - -The compiler reads the specification and emits a series of target -language structures (C structs, unions, enums) describing the corresponding -ASN.1 types. The compiler also creates the code which allows automatic -serialization and deserialization of these structures using several -standardized encoding rules (BER, DER, OER, PER, XER). - -Let's take the following ASN.1 example% -\footnote{\Fref{chap:Abstract-Syntax-Notation} provides a quick reference -on the ASN.1 notation.}: -\begin{asn} -RectangleModule DEFINITIONS ::= BEGIN - -Rectangle ::= SEQUENCE { - height INTEGER, -- Height of the rectangle - width INTEGER -- Width of the rectangle -} - -END -\end{asn} -The asn1c compiler reads this ASN.1 definition and produce the following -C type: -\begin{codesample} -typedef struct Rectangle_s { - long height; - long width; -} Rectangle_t; -\end{codesample} -The asn1c compiler also creates the code for converting this structure into -platform-independent wire representation and the decoder -of such wire representation back into local, machine-specific type. -These encoders and decoders are also called serializers and deserializers, -marshallers and unmarshallers, or codecs. - -Compiling ASN.1 modules into C codecs can be as simple as invoking \cmd{asn1c}: -may be used to compile the ASN.1 modules: -\begin{bash} -asn1c %\emph{}% -\end{bash} - -If several ASN.1 modules contain interdependencies, all of the files -must be specified altogether: -\begin{bash} -asn1c %\emph{ ...}% -\end{bash} -The compiler \textbf{-E} and \textbf{-EF} options are used for testing -the parser and the semantic fixer, respectively. These options will -instruct the compiler to dump out the parsed (and fixed, if \textbf{-F} -is involved) ASN.1 specification as it was understood -by the compiler. It might be useful to check whether a particular -syntactic construct is properly supported by the compiler. -\begin{bash} -asn1c %\textbf{-EF} \emph{}% -\end{bash} -The \textbf{-P} option is used to dump the compiled output on the -screen instead of creating a bunch of .c and .h files on disk in the -current directory. You would probably want to start with \textbf{-P} -option instead of creating a mess in your current directory. Another -option, \textbf{-R}, asks compiler to only generate the files which -need to be generated, and supress linking in the numerous support -files. - -Print the compiled output instead of creating multiple source files: -\begin{bash} -asn1c %\textbf{-P} \emph{}% -\end{bash} - -\clearpage{} -\section{Compiler output} - -The \cmd{asn1c} compiler produces a number of files: -\begin{itemize} -\item A set of .c and .h files for each type defined -in the ASN.1 specification. These files will be named similarly to -the ASN.1 types (\textbf{Rectangle.c} and \textbf{Rectangle.h} for the -RectangleModule ASN.1 module defined in the beginning of this document). -\item A set of helper .c and .h files which contain the generic encoders, -decoders and other useful routines. -Sometimes they are referred to by the term \emph{skeletons}. -There will be quite a few of them, some -of them are not even always necessary, but the overall amount of code -after compilation will be rather small anyway. -\item A \textbf{Makefile.am.libasncodecs} file which explicitly lists all the -generated files. -This makefile can be used on its own to build the just the codec library. -\item A \textbf{converter-example.c} file containing the \emph{int main()} function with a fully functioning encoder and data format converter. It can convert a given PDU between BER, XER, OER and PER. At some point you will want to replace this file with your own file containing the \emph{int main()} function. -\item A \textbf{converter-example.mk} file which binds together -\textbf{Makefile.am.libasncodecs} and \textbf{converter-example.c} -to build a versatile converter and debugger for your data formats. -\end{itemize} -It is possible to compile everything with just a couple of instructions: -\begin{bash} -asn1c -pdu=%\emph{Rectangle}% *.asn -make -f converter-example.mk # If you use `make` -\end{bash} -or -\begin{bash} -asn1c *.asn -cc -I. -DPDU=%\emph{Rectangle}% -o rectangle.exe *.c # ... or like this -\end{bash} -Refer to the \fref{chap:Quick-start-examples} for a sample -\emph{int main()} function if you want some custom logic and not satisfied -with the supplied \emph{converter-example.c}. - -\clearpage{} -\section{\label{sec:Command-line-options}Command line options} - -The following table summarizes the \cmd{asn1c} command line options. - -\renewcommand{\arraystretch}{1.33} -\begin{longtable}{lp{4in}} -\textbf{Stage Selection Options} & \textbf{Description}\\ -\midrule -{\ttfamily -E} & {\small Stop after the parsing stage and print the reconstructed ASN.1 -specification code to the standard output.}\\ -{\ttfamily -F} & {\small Used together with \texttt{-E}, instructs the compiler to stop after -the ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1 -specification to the standard output.}\\ -{\ttfamily -P} & {\small Dump the compiled output to the standard output instead of -creating the target language files on disk.}\\ -{\ttfamily -R} & {\small Restrict the compiler to generate only the ASN.1 tables, omitting the usual support code.}\\ -{\ttfamily -S~\emph{}} & {\small Use the specified directory with ASN.1 skeleton files.}\\ -{\ttfamily -X} & {\small Generate the XML DTD for the specified ASN.1 modules.}\\\\ -\textbf{Warning Options} & \textbf{Description}\\ -\midrule -{\ttfamily -Werror} & {\small Treat warnings as errors; abort if any warning is produced.}\\ -{\ttfamily -Wdebug-parser} & {\small Enable the parser debugging during the ASN.1 parsing stage.}\\ -{\ttfamily -Wdebug-lexer} & {\small Enable the lexer debugging during the ASN.1 parsing stage.}\\ -{\ttfamily -Wdebug-fixer} & {\small Enable the ASN.1 syntax tree fixer debugging during the fixing stage.}\\ -{\ttfamily -Wdebug-compiler} & {\small Enable debugging during the actual compile time.}\\ \\ -\textbf{Language Options} & \textbf{Description}\\ -\midrule -{\ttfamily -fbless-SIZE} & {\small Allow SIZE() constraint for INTEGER, ENUMERATED, and other types for which this constraint is normally prohibited by the standard. -This is a violation of an ASN.1 standard and compiler may fail to produce the meaningful code.}\\ -{\ttfamily -fcompound-names} & {\small Use complex names for C structures. Using complex names prevents -name clashes in case the module reuses the same identifiers in multiple -contexts.}\\ -{\ttfamily -findirect-choice} & {\small When generating code for a CHOICE type, compile the CHOICE -members as indirect pointers instead of declaring them inline. Consider -using this option together with \texttt{-fno-include-deps} -to prevent circular references.}\\ -{\ttfamily -fincludes-quoted} & {\small Generate \#include lines in "double" instead of quotes.}\\ -{\ttfamily -fknown-extern-type=\emph{}} & {\small Pretend the specified type is known. The compiler will assume -the target language source files for the given type have been provided -manually. }\\ -{\ttfamily -fline-refs} & {\small Include ASN.1 module's line numbers in generated code comments.}\\ -{\ttfamily -fno-constraints} & {\small Do not generate the ASN.1 subtype constraint checking code. This -may produce a shorter executable.}\\ -{\ttfamily -fno-include-deps} & {\small Do not generate the courtesy \#include lines for non-critical dependencies.}\\ -{\ttfamily -funnamed-unions} & {\small Enable unnamed unions in the definitions of target language's structures.}\\ -{\ttfamily -fwide-types} & {\small Use the wide integer types (INTEGER\_t, REAL\_t) instead of machine's native data types (long, double). }\\\\ -\textbf{Codecs Generation Options} & \textbf{Description}\\ -\midrule -{\ttfamily -no-gen-OER} & {\small Do not generate the Octet Encoding Rules (OER, X.696) support code.}\\ -{\ttfamily -no-gen-PER} & {\small Do not generate the Packed Encoding Rules (PER, X.691) support code.}\\ -{\ttfamily -no-gen-example} & {\small Do not generate the ASN.1 format converter example.}\\ -{\ttfamily -pdu=\{\textbf{all}|\textbf{auto}|\emph{Type}\}} & {\small Create a PDU table for specified types, or discover the Protocol Data Units automatically. -In case of \texttt{-pdu=\textbf{all}}, all ASN.1 types defined in all modules wil form a PDU table. In case of \texttt{-pdu=\textbf{auto}}, all types not referenced by any other type will form a PDU table. If \texttt{\emph{Type}} is an ASN.1 type identifier, it is added to a PDU table. The last form may be specified multiple times.}\\ \\ -\textbf{Output Options} & \textbf{Description}\\ -\midrule -{\ttfamily -print-class-matrix} & {\small When \texttt{-EF} options are given, this option instructs the compiler to print out the collected Information Object Class matrix.}\\ -{\ttfamily -print-constraints} & {\small With \texttt{-EF}, this option instructs the compiler -to explain its internal understanding of subtype constraints.}\\ -{\ttfamily -print-lines} & {\small Generate \texttt{``-{}- \#line''} comments -in \texttt{-E} output.}\\ -\end{longtable} -\renewcommand{\arraystretch}{1} - - -\chapter{API reference} - -The functions desribed in this chapter are to be used by the application -programmer. These functions won't likely change change or get removed until -the next major release. - -The API calls not listed here are not public and should not be used by the -application level code. - -\apisection{sec:ASN_STRUCT_FREE}{ASN\_STRUCT\_FREE() macro} - -\subsection*{Synopsis} - -\begin{signature} -#define ASN_STRUCT_FREE(type_descriptor, struct_ptr) -\end{signature} - -\subsection*{Description} - -Recursively releases memory occupied by the structure -described by the \code{type\_descriptor} and referred to -by the \code{struct\_ptr} pointer. - -Does nothing when \code{struct\_ptr} is NULL. - -\subsection*{Return values} -Does not return a value. - -\subsection*{Example} - -\begin{example} -Rectangle_t *rect = ...; -ASN_STRUCT_FREE(asn_DEF_Rectangle, rect); -\end{example} - -\apisection{sec:ASN_STRUCT_RESET}{ASN\_STRUCT\_RESET() macro} - -\subsection*{Synopsis} - -\begin{signature} -#define ASN_STRUCT_RESET(type_descriptor, struct_ptr) -\end{signature} - -\subsection*{Description} - -Recursively releases memory occupied by the members of the structure -described by the \code{type\_descriptor} and referred to -by the \code{struct\_ptr} pointer. - -Does not release the memory pointed to by \code{struct\_ptr} itself. -Instead it clears the memory block by filling it out with 0 bytes. - -Does nothing when \code{struct\_ptr} is NULL. - -\subsection*{Return values} -Does not return a value. - -\subsection*{Example} - -\begin{example} -struct my_figure { /* The custom structure */ - int flags; /* */ - /* The type is generated by the ASN.1 compiler */ - Rectangle_t rect; - /* other members of the structure */ -}; - -struct my_figure *fig = ...; -ASN_STRUCT_RESET(asn_DEF_Rectangle, &fig->rect); -\end{example} - -\apisection{sec:asn_check_constraints}{asn\_check\_constraints()} - -\subsection*{Synopsis} - -\begin{signature} -int asn_check_constraints( - const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, /* Target language's structure */ - char *errbuf, /* Returned error description */ - size_t *errlen /* Length of the error description */ -); -\end{signature} - -\subsection*{Description} - -Validate a given structure according to the ASN.1 constraints. -If \code{errbuf} and \code{errlen} are given, they shall point to the -appropriate buffer space and its length before calling this function. -Alternatively, they could be passed as \code{NULL}s. -If constraints validation fails, \code{errlen} will contain the actual -number of bytes used in \code{errbuf} to encode an error message. -The message is going to be properly 0-terminated. - -\subsection*{Return values} - -This function returns 0 in case all ASN.1 constraints are met -and -1 if one or more ASN.1 constraints were violated. - -\subsection*{Example} - -\begin{codesample}[basicstyle=\scriptsize\listingfont] -Rectangle_t *rect = ...; - -char errbuf[128]; /* Buffer for error message */ -size_t errlen = sizeof(errbuf); /* Size of the buffer */ - -int ret = asn_check_constraints(&asn_DEF_Rectangle, rectangle, errbuf, &errlen); -/* assert(errlen < sizeof(errbuf)); // Guaranteed: you may rely on that */ -if(ret) { - fprintf(stderr, "Constraint validation failed: %\%%s\n", errbuf); -} -\end{codesample} - -\apisection{sec:asn_decode}{asn\_decode()} - -\subsection*{Synopsis} -\begin{signature} -asn_dec_rval_t asn_decode( - const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); -\end{signature} - -\subsection*{Description} - -The \code{asn\_decode()} function parses the data given by the \code{buffer} -and \code{size} arguments. The encoding rules are specified in the \code{syntax} -argument and the type to be decoded is specified by the \code{type_descriptor}. - -The \code{struct_ptr_ptr} must point to the memory location which contains the -pointer to the structure being decoded. Initially the \code{*struct_ptr_ptr} -pointer is typically set to 0. In that case, \code{asn\_decode()} will -dynamically allocate memory for the structure and its members as needed -during the parsing. -If \code{*struct\_ptr\_ptr} already points to some memory, the \code{asn\_decode()} -will allocate the subsequent members as needed during the parsing. - -\subsection*{Return values} - -\input{asn_dec_rval.inc} - -The \code{.consumed} value is in bytes, even for PER decoding. -For PER, use \code{uper\_decode()} in case you need to get -the number of consumed bits. - -\subsection*{Restartability} - -Some transfer syntax parsers (such as ATS\_BER) support restartability. - -That means that in case the buffer has less data than expected, -the \code{asn_decode()} will process whatever is available and ask for more -data to be provided using the RC\_WMORE return \code{.code}. - -Note that in the RC\_WMORE case the decoder may have processed less data than -it is available in the buffer, which means that you must be able to arrange -the next buffer to contain the unprocessed part of the previous buffer. - -The \code{RC_WMORE} code may still be returned by parser not supporting -restartabilty. In such cases, the partially decoded structure shall be -discarded and the next invocation should use the extended buffer to parse -from the very beginning. - -\subsection*{Example} - -\begin{example} -Rectangle_t *%$\underbracket{\textrm{\listingfont rect = 0}}$%; /* %\textbf{\color{red}Note this 0\footnote{Forgetting to properly initialize the pointer to a destination structure is a major source of support requests.}!}% */ -asn_dec_rval_t rval; -rval = asn_decode(0, ATS_BER, &asn_DEF_Rectangle, (void **)&rect, buffer, buf_size); -switch(rval.code) { -case RC_OK: - asn_fprint(stdout, &asn_DEF_Rectangle, rect); - ASN_STRUCT_FREE(&asn_DEF_Rectangle, rect); - break; -case RC_WMORE: -case RC_FAIL: -default: - ASN_STRUCT_FREE(&asn_DEF_Rectangle, rect); - break; -} -\end{example} - -\subsection*{See also} -\seealso{sec:asn_fprint}{asn_fprint()}. - -\apisection{sec:asn_encode}{asn\_encode()} - -\subsection*{Synopsis} - -\begin{signature} -#include - -asn_enc_rval_t asn_encode( - const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *type_to_encode, - const void *structure_to_encode, - asn_app_consume_bytes_f *callback, void *callback_key); -\end{signature} - -\subsection*{Description} - -The \code{asn_encode()} function serializes the given \code{structure_to_encode} using the chosen ASN.1 transfer \code{syntax}. - -During serialization, a user-specified \code{callback} is invoked zero -or more times with bytes of data to add to the output stream (if any), and -the \code{callback_key}. The signature for the callback is as follows: - -\begin{signature} -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, void *callback_key); -\end{signature} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes} irrespectively of the -ASN.1 transfer \code{syntax} chosen.\footnote{This is different from some -lower level encoding functions, such as \api{sec:uper_encode}{uper_encode()}, -which returns the number of encoded \emph{bits} instead of bytes.} - -On error (when \code{.encoded} is set to -1), -the \code{errno} is set to one of the following values: - -\begin{tabular}[h!]{ll} -\texttt{EINVAL} & Incorrect parameters to the function, such as NULLs \\ -\texttt{ENOENT} & Encoding transfer syntax is not defined (for this type) \\ -\texttt{EBADF} & The structure has invalid form or content constraint failed \\ -\texttt{EIO} & The callback has returned negative value during encoding -\end{tabular} - -\subsection*{Example} -\begin{example} -static int -save_to_file(const void *data, size_t size, void *key) { - FILE *fp = key; - return (fwrite(data, 1, size, fp) == size) ? 0 : -1; -} - -Rectangle_t *rect = ...; -FILE *fp = ...; -asn_enc_rval_t er; -er = asn_encode(0, ATS_DER, &asn_DEF_Rectangle, rect, save_to_file, fp); -if(er.encoded == -1) { - fprintf(stderr, "Failed to encode %\%%s\n", asn_DEF_Rectangle.name); -} else { - fprintf(stderr, "%\%%s encoded in %\%%zd bytes\n", asn_DEF_Rectangle.name, er.encoded); -} -\end{example} - -\apisection{sec:asn_encode_to_buffer}{asn\_encode\_to\_buffer()} - -\subsection*{Synopsis} - -\begin{signature} -#include - -asn_enc_rval_t asn_encode_to_buffer( - const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *type_to_encode, - const void *structure_to_encode, - void *buffer, size_t buffer_size); -\end{signature} - -\subsection*{Description} - -The \code{asn_encode_to_buffer()} function serializes the given \code{structure_to_encode} using the chosen ASN.1 transfer \code{syntax}. - -The function places the serialized data into the given -\code{buffer} of size \code{buffer_size}. - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes} irrespectively of the -ASN.1 transfer \code{syntax} chosen.\footnote{This is different from some -lower level encoding functions, such as \api{sec:uper_encode}{uper_encode()}, -which returns the number of encoded \emph{bits} instead of bytes.} - -If \code{.encoded} size exceeds the specified \code{buffer_size}, -the serialization effectively failed due to insufficient space. The function -will succeed if subsequently called with buffer size no less than the returned -\code{.encoded} size. This behavior modeled after \code{snprintf()}. - -On error (when \code{.encoded} is set to -1), -the \code{errno} is set to one of the following values: - -\begin{tabular}[h!]{ll} -\texttt{EINVAL} & Incorrect parameters to the function, such as NULLs \\ -\texttt{ENOENT} & Encoding transfer syntax is not defined (for this type) \\ -\texttt{EBADF} & The structure has invalid form or content constraint failed -\end{tabular} - -\subsection*{Example} -\begin{example} -Rectangle_t *rect = ...; -uint8_t buffer[128]; -asn_enc_rval_t er; -er = asn_encode_to_buffer(0, ATS_DER, &asn_DEF_Rectangle, rect, buffer, sizeof(buffer)); -if(er.encoded == -1) { - fprintf(stderr, "Serialization of %\%%s failed.\n", asn_DEF_Rectangle.name); -} else if(er.encoded > sizeof(buffer)) { - fprintf(stderr, "Buffer of size %\%%zu is too small for %\%%s, need %\%%zu\n", - buf_size, asn_DEF_Rectangle.name, er.encoded); -} -\end{example} - -\subsection*{See also} -\seealso{sec:asn_encode_to_new_buffer}{asn_encode_to_new_buffer()}. - -\apisection{sec:asn_encode_to_new_buffer}{asn\_encode\_to\_new\_buffer()} - -\subsection*{Synopsis} - -\begin{signature} -#include - -typedef struct { - void *buffer; /* NULL if failed to encode. */ - asn_enc_rval_t result; -} asn_encode_to_new_buffer_result_t; -asn_encode_to_new_buffer_result_t asn_encode_to_new_buffer( - const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *type_to_encode, - const void *structure_to_encode); -\end{signature} - -\subsection*{Description} - -The \code{asn_encode_to_new_buffer()} function serializes the given \code{structure_to_encode} using the chosen ASN.1 transfer \code{syntax}. - -The function places the serialized data into the newly allocated buffer -which it returns in a compound structure. - -\subsection*{Return values} - -On failure, the \code{.buffer} is set to \code{NULL} -and \code{.result.encoded} is set to -1. The global \code{errno} is set -to one of the following values: - -\begin{tabular}[h!]{ll} -\texttt{EINVAL} & Incorrect parameters to the function, such as NULLs \\ -\texttt{ENOENT} & Encoding transfer syntax is not defined (for this type) \\ -\texttt{EBADF} & The structure has invalid form or content constraint failed \\ -\texttt{ENOMEM} & Memory allocation failed due to system or internal limits -\end{tabular} - -\noindent{}On success, the \code{.result.encoded} is set to the number of -\textbf{bytes} that it took to serialize the structure. -The \code{.buffer} contains the serialized content. -The user is responsible for freeing the \code{.buffer}. - -\subsection*{Example} -\begin{example} -asn_encode_to_new_buffer_result_t res; -res = asn_encode_to_new_buffer(0, ATS_DER, &asn_DEF_Rectangle, rect); -if(res.buffer) { - /* Encoded successfully. */ - free(res.buffer); -} else { - fprintf(stderr, "Failed to encode %\%%s, estimated %\%%zd bytes\n", - asn_DEF_Rectangle.name, res.result.encoded); -} -\end{example} - -\subsection*{See also} -\seealso{sec:asn_encode_to_buffer}{asn_encode_to_buffer()}. - -\apisection{sec:asn_fprint}{asn\_fprint()} - -\subsection*{Synopsis} -\begin{signature} -int asn_fprint(FILE *stream, /* Destination file */ - const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr /* Structure to be printed */ -); -\end{signature} - -\subsection*{Description} - -The \code{asn_fprint()} function prints human readable description -of the target language's structure into the file stream specified by -\code{stream} pointer. - -The output format does not conform to any standard. - -The \code{asn_fprint()} function attempts to -produce a valid output even for incomplete and broken structures, which -makes it more suitable for debugging complex cases than -\api{sec:xer_fprint}{xer_fprint()}. - -\subsection*{Return values} - -\begin{tabular}[h!]{rl} -0 & Output was successfully made \\ --1 & Error printing out the structure -\end{tabular} - -\subsection*{Example} -\begin{example} -Rectangle_t *rect = ...; -asn_fprint(stdout, &asn_DEF_Rectangle, rect); -\end{example} - -\subsection*{See also} -\seealso{sec:xer_fprint}{xer_fprint()}. - -\apisection{sec:asn_random_fill}{asn\_random\_fill()} - -\subsection*{Synopsis} -\begin{signature} -int asn_random_fill( - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - size_t approx_max_length_limit -); -\end{signature} - -\subsection*{Description} - -Create or initialize a structure with random contents, according to the type -specification and optional member constraints. - -For best results the code should be generated without \cmd{-no-gen-PER} -option to \cmd{asn1c}. Making PER constraints code available in runtime -will make \code{asn_random_fill} explore the edges of PER-visible constraints -and sometimes break out of extensible contstraints' ranges. - -The \code{asn_random_fill()} function has a bias to generate edge case -values. This property makes it useful for debugging the application level -code and for security testing, as random data can be a good seed to fuzzing. - -The \code{approx_max_length_limit} specifies the approximate limit of the -resulting structure in units closely resembling bytes. The actual result -might be several times larger or smaller than the given length limit. -A rule of thumb way to select the initial value for this parameter -is to take a typical structure and use twice its DER output size. - -\subsection*{Return values} - -\begin{tabular}[h!]{rl} -0 & Structure was properly initialized with random data \\ --1 & Failure to initialize the structure with random data -\end{tabular} - -\apisection{sec:ber_decode}{ber\_decode()} - -\subsection*{Synopsis} -\begin{signature} -asn_dec_rval_t ber_decode( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); -\end{signature} - -\subsection*{Description} - -Decode BER, DER and CER data -(Basic Encoding Rules, Distinguished Encoding Rules, Canonical Encoding Rules), -as defined by ITU-T~X.690. - -DER and CER are different subsets of BER.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_decode}{asn_decode(ATS_BER)}.} - -\subsection*{Return values} -\input{asn_dec_rval.inc} - -The \code{.consumed} value is in bytes. - -\subsection*{Restartability} - -The \code{ber_decode()} function is restartable (stream-oriented). -That means that in case the buffer has less data than expected, -the decoder will process whatever is available and ask for more data -to be provided using the RC\_WMORE return \code{.code}. - -Note that in the RC\_WMORE case the decoder may have processed less data than -it is available in the buffer, which means that you must be able to arrange -the next buffer to contain the unprocessed part of the previous buffer. - -\subsection*{See also} -\seealso{sec:der_encode}{der_encode()}. - -\apisection{sec:der_encode}{der\_encode} - -\subsection*{Synopsis} - -\begin{signature} -asn_enc_rval_t der_encode( - const asn_TYPE_descriptor_t *type_descriptor, - const void *structure_to_encode, - asn_app_consume_bytes_f *callback, - void *callback_key -\end{signature} - -\subsection*{Description} - -The \code{der_encode()} function serializes the given \code{structure_to_encode} using the DER transfer syntax (a variant of BER, Basic Encoding Rules). - -During serialization, a user-specified \code{callback} is invoked zero -or more times with bytes of data to add to the output stream (if any), and -the \code{callback_key}. The signature for the callback is as follows: - -\begin{signature} -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, void *callback_key); -\end{signature} - -\noindent\emph{Consider using a more generic function \api{sec:asn_encode}{asn_encode(ATS_DER)}.} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes}. - -\subsection*{Example} -\begin{example} -static int -save_to_file(const void *data, size_t size, void *key) { - FILE *fp = key; - return (fwrite(data, 1, size, fp) == size) ? 0 : -1; -} - -Rectangle_t *rect = ...; -FILE *fp = ...; -asn_enc_rval_t er; -er = der_encode(&asn_DEF_Rectangle, rect, save_to_file, fp); -if(er.encoded == -1) { - fprintf(stderr, "Failed to encode %\%%s\n", asn_DEF_Rectangle.name); -} else { - fprintf(stderr, "%\%%s encoded in %\%%zd bytes\n", asn_DEF_Rectangle.name, er.encoded); -} -\end{example} - -\subsection*{See also} -\seealso{sec:ber_decode}{ber_decode()}, -\seealso{sec:asn_decode}{asn_decode(ATS_BER)}. - -\apisection{sec:der_encode_to_buffer}{der\_encode\_to\_buffer()} - -\subsection*{Synopsis} - -\begin{signature} -asn_enc_rval_t der_encode_to_buffer( - const asn_TYPE_descriptor_t *type_descriptor, - const void *structure_to_encode, - void *buffer, size_t buffer_size); -\end{signature} - -\subsection*{Description} - -The \code{der_encode_to_buffer()} function serializes the given \code{structure_to_encode} using the DER transfer syntax (a variant of BER, Basic Encoding Rules). - -The function places the serialized data into the given -\code{buffer} of size \code{buffer_size}.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_encode_to_buffer}{asn_encode_to_buffer(ATS_DER)}.} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes}. - -The \code{.encoded} never exceeds the available buffer size.\footnote{This -behavior is different from \api{sec:asn_encode_to_buffer}{asn_encode_to_buffer()}.} -If the \code{buffer_size} is not sufficient, the \code{.encoded} -will be set to -1 and encoding would fail. - -\subsection*{Example} -\begin{example} -Rectangle_t *rect = ...; -uint8_t buffer[128]; -asn_enc_rval_t er; -er = der_encode_to_buffer(&asn_DEF_Rectangle, rect, buffer, sizeof(buffer)); -if(er.encoded == -1) { - fprintf(stderr, "Serialization of %\%%s failed.\n", asn_DEF_Rectangle.name); -} -\end{example} - -\subsection*{See also} -\seealso{sec:ber_decode}{ber_decode()}, -\seealso{sec:asn_decode}{asn_decode(ATS_BER)}, -\seealso{sec:asn_encode_to_buffer}{asn_encode_to_buffer(ATS_DER)}. - -\apisection{sec:oer_decode}{oer\_decode()} - -\subsection*{Synopsis} -\begin{signature} -asn_dec_rval_t oer_decode( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); -\end{signature} - -\subsection*{Description} - -Decode the BASIC-OER and CANONICAL-OER (Octet Encoding Rules), -as defined by ITU-T~X.696.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_decode}{asn_decode(ATS_BASIC_OER)}.} - -\subsection*{Return values} -\input{asn_dec_rval.inc} - -The \code{.consumed} value is in bytes. - -\subsection*{Restartability} - -The \code{oer_decode()} function is restartable (stream-oriented). -That means that in case the buffer has less data than expected, -the decoder will process whatever is available and ask for more data -to be provided using the RC\_WMORE return \code{.code}. - -Note that in the RC\_WMORE case the decoder may have processed less data than -it is available in the buffer, which means that you must be able to arrange -the next buffer to contain the unprocessed part of the previous buffer. - -\apisection{sec:oer_encode}{oer\_encode()} - -\subsection*{Synopsis} - -\begin{signature} -asn_enc_rval_t oer_encode( - const asn_TYPE_descriptor_t *type_descriptor, - const void *structure_to_encode, - asn_app_consume_bytes_f *callback, - void *callback_key); -\end{signature} - -\subsection*{Description} - -The \code{oer_encode()} function serializes the given \code{structure_to_encode} using the CANONICAL-OER transfer syntax (Octet Encoding Rules, ITU-T~X.691). - -During serialization, a user-specified \code{callback} is invoked zero -or more times with bytes of data to add to the output stream (if any), and -the \code{callback_key}. The signature for the callback is as follows: - -\begin{signature} -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, void *callback_key); -\end{signature} - -\noindent\emph{Consider using a more generic function \api{sec:asn_encode}{asn_encode(ATS_CANONICAL_OER)}.} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes}. - -\subsection*{Example} -\begin{example} -static int -save_to_file(const void *data, size_t size, void *key) { - FILE *fp = key; - return (fwrite(data, 1, size, fp) == size) ? 0 : -1; -} - -Rectangle_t *rect = ...; -FILE *fp = ...; -asn_enc_rval_t er; -er = oer_encode(&asn_DEF_Rectangle, rect, save_to_file, fp); -if(er.encoded == -1) { - fprintf(stderr, "Failed to encode %\%%s\n", asn_DEF_Rectangle.name); -} else { - fprintf(stderr, "%\%%s encoded in %\%%zd bytes\n", asn_DEF_Rectangle.name, er.encoded); -} -\end{example} - -\subsection*{See also} -\seealso{sec:asn_encode}{asn_encode(ATS_CANONICAL_OER)}. - -\apisection{sec:oer_encode_to_buffer}{oer\_encode\_to\_buffer()} - -\subsection*{Synopsis} - -\begin{signature} -asn_enc_rval_t oer_encode_to_buffer( - const asn_TYPE_descriptor_t *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *structure_to_encode, - void *buffer, size_t buffer_size); -\end{signature} - -\subsection*{Description} - -The \code{oer_encode_to_buffer()} function serializes the given \code{structure_to_encode} using the CANONICAL-OER transfer syntax (Octet Encoding Rules, ITU-T~X.691). - -The function places the serialized data into the given -\code{buffer} of size \code{buffer_size}.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_encode_to_buffer}{asn_encode_to_buffer(ATS_CANONICAL_OER)}.} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes}. - -The \code{.encoded} never exceeds the available buffer size.\footnote{This -behavior is different from \api{sec:asn_encode_to_buffer}{asn_encode_to_buffer()}.} -If the \code{buffer_size} is not sufficient, the \code{.encoded} -will be set to -1 and encoding would fail. - -\subsection*{Example} -\begin{example} -Rectangle_t *rect = ...; -uint8_t buffer[128]; -asn_enc_rval_t er; -er = oer_encode_to_buffer(&asn_DEF_Rectangle, 0, rect, buffer, sizeof(buffer)); -if(er.encoded == -1) { - fprintf(stderr, "Serialization of %\%%s failed.\n", asn_DEF_Rectangle.name); -} -\end{example} - -\subsection*{See also} -\seealso{sec:ber_decode}{ber_decode()}, -\seealso{sec:asn_decode}{asn_decode(ATS_BER)}, -\seealso{sec:asn_encode_to_buffer}{asn_encode_to_buffer(ATS_DER)}. - -\apisection{sec:uper_decode}{uper\_decode()} - -\subsection*{Synopsis} - -\begin{signature} -asn_dec_rval_t uper_decode( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size, /* Size of the input data buffer, bytes */ - int skip_bits, /* Number of unused leading bits, 0..7 */ - int unused_bits /* Number of unused tailing bits, 0..7 */ -); -\end{signature} - -\subsection*{Description} - -Decode the Unaligned BASIC or CANONICAL PER (Packed Encoding Rules), -as defined by ITU-T~X.691.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_decode}{asn_decode(ATS_UNALIGNED_BASIC_PER)}.} - -\subsection*{Return values} -\input{asn_dec_rval.inc} -Note that the \code{.consumed} value is in bits. -Use \code{(.consumed+7)/8} to convert to bytes. - -\subsection*{Restartability} -The \code{uper_decode()} function is not restartable. -Failures are final. - -\apisection{sec:uper_decode_complete}{uper\_decode\_complete()} - -\subsection*{Synopsis} - -\begin{signature} -asn_dec_rval_t uper_decode_complete( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); -\end{signature} - -\subsection*{Description} - -Decode a ``Production of a complete encoding'', -according to ITU-T~X.691 (08/2015) \#11.1.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_decode}{asn_decode(ATS_UNALIGNED_BASIC_PER)}.} - -\subsection*{Return values} -\input{asn_dec_rval.inc} - -The the \code{.consumed} value is returned in whole \emph{bytes} (NB). - -\subsection*{Restartability} -The \code{uper_decode_complete()} function is not restartable. -Failures are final. - -The complete encoding contains at least one byte, so on success -\code{.consumed} will be greater or equal to 1. - -\apisection{sec:uper_encode}{uper\_encode()} -\apisection{sec:uper_encode_to_buffer}{uper\_encode\_to\_buffer()} -\apisection{sec:uper_encode_to_new_buffer}{uper\_encode\_to\_new\_buffer()} -\apisection{sec:xer_decode}{xer\_decode()} - -\subsection*{Synopsis} - -\begin{signature} -asn_dec_rval_t xer_decode( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, - void **struct_ptr_ptr,/* Pointer to a target structure's ptr */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); -\end{signature} - -\subsection*{Description} - -Decode the BASIC-XER and CANONICAL-XER (XML Encoding Rules) encoding, -as defined by ITU-T~X.693.\newline - -\noindent\emph{Consider using a more generic function \api{sec:asn_decode}{asn_decode(ATS_BASIC_XER)}.} - -\subsection*{Return values} -\input{asn_dec_rval.inc} - -The \code{.consumed} value is in bytes. - -\subsection*{Restartability} - -The \code{xer_decode()} function is restartable (stream-oriented). -That means that in case the buffer has less data than expected, -the decoder will process whatever is available and ask for more data -to be provided using the RC\_WMORE return \code{.code}. - -Note that in the RC\_WMORE case the decoder may have processed less data than -it is available in the buffer, which means that you must be able to arrange -the next buffer to contain the unprocessed part of the previous buffer. - -\apisection{sec:xer_encode}{xer\_encode()} - -\subsection*{Synopsis} - -\begin{signature} -enum xer_encoder_flags_e { - /* Mode of encoding */ - XER_F_BASIC = 0x01, /* BASIC-XER (pretty-printing) */ - XER_F_CANONICAL = 0x02 /* Canonical XER (strict rules) */ -}; -asn_enc_rval_t xer_encode( - const asn_TYPE_descriptor_t *type_descriptor, - const void *structure_to_encode, - enum xer_encoder_flags_e xer_flags, - asn_app_consume_bytes_f *callback, - void *callback_key); -\end{signature} - -\subsection*{Description} - -The \code{xer_encode()} function serializes the given \code{structure_to_encode} using the BASIC-XER or CANONICAL-XER transfer syntax (XML Encoding Rules, ITU-T~X.693). - -During serialization, a user-specified \code{callback} is invoked zero -or more times with bytes of data to add to the output stream (if any), and -the \code{callback_key}. The signature for the callback is as follows: - -\begin{signature} -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, void *callback_key); -\end{signature} - -\noindent\emph{Consider using a more generic function \api{sec:asn_encode}{asn_encode()} with \texttt{ATS\_BASIC\_XER} or \texttt{ATS\_CANONICAL\_XER} transfer syntax option.} - -\subsection*{Return values} -\input{asn_enc_rval.inc} - -The serialized output size is returned in \textbf{bytes}. - -\subsection*{Example} -\begin{example} -static int -save_to_file(const void *data, size_t size, void *key) { - FILE *fp = key; - return (fwrite(data, 1, size, fp) == size) ? 0 : -1; -} - -Rectangle_t *rect = ...; -FILE *fp = ...; -asn_enc_rval_t er; -er = xer_encode(&asn_DEF_Rectangle, rect, XER_F_CANONICAL, save_to_file, fp); -if(er.encoded == -1) { - fprintf(stderr, "Failed to encode %\%%s\n", asn_DEF_Rectangle.name); -} else { - fprintf(stderr, "%\%%s encoded in %\%%zd bytes\n", asn_DEF_Rectangle.name, er.encoded); -} -\end{example} - -\subsection*{See also} -\seealso{sec:xer_fprint}{xer_fprint()}. - -\apisection{sec:xer_fprint}{xer\_fprint()} - -\subsection*{Synopsis} -\begin{signature} -int xer_fprint(FILE *stream, /* Destination file */ - const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr /* Structure to be printed */ -); -\end{signature} - -\subsection*{Description} - -The \code{xer_fprint()} function outputs XML-based serialization -of the given structure into the file stream specified by -\code{stream} pointer. - -The output conforms to a BASIC-XER transfer syntax, as defined by ITU-T~X.693. - -\subsection*{Return values} - -\begin{tabular}[h!]{rl} -0 & XML output was successfully made \\ --1 & Error printing out the structure -\end{tabular} - -\noindent{}Since the \code{xer_fprint()} function attempts to produce a conforming output, -it will likely break on partial structures by writing incomplete data -to the output stream and returning -1. This makes it less suitable for -debugging complex cases than \api{sec:asn_fprint}{asn_fprint()}. - -\subsection*{Example} -\begin{example} -Rectangle_t *rect = ...; -xer_fprint(stdout, &asn_DEF_Rectangle, rect); -\end{example} - -\subsection*{See also} -\seealso{sec:asn_fprint}{asn_fprint()}. - -\chapter{API usage examples} - -Let's start with including the necessary header files into your -application. Normally it is enough to include the header file of -the main PDU type. For our \emph{Rectangle} module, including the \emph{Rectangle.h} file is sufficient: -\begin{codesample} -#include -\end{codesample} -The header files defines a C structure corresponding to the ASN.1 -definition of a rectangle and the declaration of the ASN.1 -\emph{type descriptor}. A type descriptor is a special globally accessible -object which is used as an argument to most of the API functions provided by -the ASN.1 codec. A type descriptor starts with \emph{asn\_DEF\_\ldots{}}. For example, here is the code which frees the Rectangle\_t structure: -\begin{codesample} -Rectangle_t *rect = ...; - -ASN_STRUCT_FREE(%\textbf{asn\_DEF\_}%Rectangle, rect); -\end{codesample} -This code defines a \emph{rect} pointer which points to the Rectangle\_t -structure which needs to be freed. The second line uses a generic -\api{sec:ASN_STRUCT_FREE}{ASN\_STRUCT\_FREE()} macro which invokes the memory deallocation routine -created specifically for this Rectangle\_t structure. -The \emph{asn\_DEF\_Rectangle} is the type descriptor which holds -a collection of routines and operations defined for the Rectangle\_t structure. - -\section{\label{sec:Generic-Encoding}Generic encoders and decoders} - -Before we start describing specific encoders and decoders, let's step back -a little and check out a simple high level way. - -The asn1c runtime supplies (see \emph{asn\_application.h}) two sets of high level functions, \api{sec:asn_encode}{asn_encode*} and \api{sec:asn_decode}{asn_decode*}, which take a transfer syntax selector as an argument. The transfer syntax selector is defined as this: - -\begin{codesample}[basicstyle=\scriptsize\listingfont] -/* - * A selection of ASN.1 Transfer Syntaxes to use with generalized encoders and decoders. - */ -enum asn_transfer_syntax { - ATS_INVALID, - ATS_NONSTANDARD_PLAINTEXT, - ATS_BER, - ATS_DER, - ATS_CER, - ATS_BASIC_OER, - ATS_CANONICAL_OER, - ATS_UNALIGNED_BASIC_PER, - ATS_UNALIGNED_CANONICAL_PER, - ATS_BASIC_XER, - ATS_CANONICAL_XER, -}; -\end{codesample} - -Using this encoding selector, encoding and decoding becomes very generic: - -\noindent{}Encoding: - -\begin{codesample}[basicstyle=\scriptsize\listingfont] -uint8_t buffer[128]; -size_t buf_size = sizeof(buffer); -asn_enc_rval_t er; - -er = %\textbf{asn\_encode\emph{\_to\_buffer}}%(0, %\textbf{ATS\_DER}%, &asn_DEF_Rectangle, buffer, buf_size); - -if(er.encoded > buf_size) { - fprintf(stderr, "Buffer of size %\%%zu is too small for %\%%s, need %\%%zu\n", - buf_size, asn_DEF_Rectangle.name, er.encoded); -} -\end{codesample} - -\noindent{}Decoding: - -\begin{codesample}[basicstyle=\scriptsize\listingfont] -Rectangle_t *%$\underbracket{\textrm{\listingfont rect = 0}}$%; /* %\textbf{\color{red}Note this 0\footnote{Forgetting to properly initialize the pointer to a destination structure is a major source of support requests.}!}% */ - -... = %\textbf{asn\_decode}%(0, %\textbf{ATS\_BER}%, &asn_DEF_Rectangle, (void **)%$\underbracket{\textrm{\listingfont \&rect}}$%, buffer, buf_size); -\end{codesample} - -\section{\label{sec:Decoding-BER}Decoding BER} - -The Basic Encoding Rules describe the most widely used (by the ASN.1 -community) way to encode and decode a given structure in a machine-independent -way. Several other encoding rules (CER, DER) define a more restrictive -versions of BER, so the generic BER parser is also capable of decoding -the data encoded by the CER and DER encoders. The opposite is not true. - -\emph{The ASN.1 compiler provides the generic BER decoder which is -capable of decoding BER, CER and DER encoded data.} - -The decoder is restartable (stream-oriented). -That means that in case the buffer has less data than expected, -the decoder will process whatever is available and ask for more data -to be provided using the RC\_WMORE return \code{.code}. - -Note that in the RC\_WMORE case the decoder may have processed less data than -it is available in the buffer, which means that you must be able to arrange -the next buffer to contain the unprocessed part of the previous buffer. - -Suppose, you have two buffers of encoded data: 100 bytes and 200 bytes. -\begin{itemize} -\item You can concatenate these buffers and feed the BER decoder with 300 -bytes of data, or -\item You can feed it the first buffer of 100 bytes of data, realize that -the ber\_decoder consumed only 95 bytes from it and later feed the -decoder with 205 bytes buffer which consists of 5 unprocessed bytes -from the first buffer and the additional 200 bytes from the second -buffer. -\end{itemize} -This is not as convenient as it could be (the BER encoder could -consume the whole 100 bytes and keep these 5 bytes in some temporary -storage), but in case of existing stream based processing it might -actually fit well into existing algorithm. Suggestions are welcome. - -Here is the example of BER decoding of a simple structure: - -\begin{codesample} -Rectangle_t * -simple_deserializer(const void *buffer, size_t buf_size) { - asn_dec_rval_t rval; - Rectangle_t *%$\underbracket{\textrm{\listingfont rect = 0}}$%; /* %\textbf{\color{red}Note this 0\footnote{Forgetting to properly initialize the pointer to a destination structure is a major source of support requests.}!}% */ - - rval = %\textbf{asn\_DEF\_Rectangle.op->ber\_decoder}%(0, - &asn_DEF_Rectangle, - (void **)%$\underbracket{\textrm{\listingfont \&rect}}$%, /* Decoder %\emph{changes}% the pointer */ - buffer, buf_size, 0); - - if(rval%\textbf{.code}% == RC_OK) { - return rect; /* Decoding succeeded */ - } else { - /* Free the partially decoded rectangle */ - ASN_STRUCT_FREE(asn_DEF_Rectangle, rect); - return 0; - } -} -\end{codesample} - -The code above defines a function, \emph{simple\_deserializer}, which -takes a buffer and its length and is expected to return a pointer -to the Rectangle\_t structure. Inside, it tries to convert the bytes -passed into the target structure (rect) using the BER decoder and -returns the rect pointer afterwards. If the structure cannot be deserialized, -it frees the memory which might be left allocated by the unfinished -\emph{ber\_decoder} routine and returns 0 (no data). (This \textbf{freeing -is necessary} because the ber\_decoder is a restartable procedure, -and may fail just because there is more data needs to be provided -before decoding could be finalized). The code above obviously does -not take into account the way the \emph{ber\_decoder()} failed, so -the freeing is necessary because the part of the buffer may already -be decoded into the structure by the time something goes wrong. - -A little less wordy would be to invoke a globally available \emph{ber\_decode()} -function instead of dereferencing the asn\_DEF\_Rectangle type descriptor: -\begin{codesample} -rval = ber_decode(0, &asn_DEF_Rectangle, (void **)&rect, buffer, buf_size); -\end{codesample} -Note that the initial (asn\_DEF\_Rectangle.op->ber\_decoder) reference -is gone, and also the last argument (0) is no longer necessary. - -These two ways of BER decoder invocations are fully equivalent. - -The BER de\emph{coder} may fail because of (\emph{the following RC\_\ldots{} -codes are defined in ber\_decoder.h}): -\begin{itemize} -\item RC\_WMORE: There is more data expected than it is provided (stream -mode continuation feature); -\item RC\_FAIL: General failure to decode the buffer; -\item \ldots{} other codes may be defined as well. -\end{itemize} -Together with the return code (.code) the asn\_dec\_rval\_t type contains -the number of bytes which is consumed from the buffer. In the previous -hypothetical example of two buffers (of 100 and 200 bytes), the first -call to ber\_decode() would return with .code = RC\_WMORE and .consumed -= 95. The .consumed field of the BER decoder return value is \textbf{always} -valid, even if the decoder succeeds or fails with any other return -code. - -Look into ber\_decoder.h for the precise definition of ber\_decode() -and related types. - - -\section{\label{sec:Encoding-DER}Encoding DER} - -The Distinguished Encoding Rules is the \emph{canonical} variant of -BER encoding rules. The DER is best suited to encode the structures -where all the lengths are known beforehand. This is probably exactly -how you want to encode: either after a BER decoding or after a manual -fill-up, the target structure contains the data which size is implicitly -known before encoding. Among other uses, the DER encoding is used -to encode X.509 certificates. - -As with BER decoder, the DER encoder may be invoked either directly -from the ASN.1 type descriptor (asn\_DEF\_Rectangle) or from the stand-alone -function, which is somewhat simpler: -\begin{codesample} -/* - * This is the serializer itself. - * It supplies the DER encoder with the - * pointer to the custom output function. - */ -ssize_t -simple_serializer(FILE *ostream, Rectangle_t *rect) { - asn_enc_rval_t er; /* Encoder return value */ - - er = der_encode(&asn_DEF_Rect, rect, write_stream, ostream); - if(er%\textbf{.encoded}% == -1) { - fprintf(stderr, "Cannot encode %\%%s: %\%%s\n", - er%\textbf{.failed\_type}%->name, strerror(errno)); - return -1; - } else { - /* Return the number of bytes */ - return er.encoded; - } -} -\end{codesample} -As you see, the DER encoder does not write into some sort of buffer. -It just invokes the custom function (possible, multiple -times) which would save the data into appropriate storage. The optional -argument \emph{app\_key} is opaque for the DER encoder code and just -used by \emph{write\_stream()} as the pointer to the appropriate -output stream to be used. - -If the custom write function is not given (passed as 0), then the -DER encoder will essentially do the same thing (i.~e., encode the data) -but no callbacks will be invoked (so the data goes nowhere). It may -prove useful to determine the size of the structure's encoding before -actually doing the encoding% -\footnote{It is actually faster too: the encoder might skip over some computations -which aren't important for the size determination.% -}. - -Look into der\_encoder.h for the precise definition of der\_encode() -and related types. - - -\section{\label{sec:Encoding-XER}Encoding XER} - -The XER stands for XML Encoding Rules, where XML, in turn, is eXtensible -Markup Language, a text-based format for information exchange. The -encoder routine API comes in two flavors: stdio-based and callback-based. -With the callback-based encoder, the encoding process is very similar -to the DER one, described in \fref{sec:Encoding-DER}. The -following example uses the definition of write\_stream() from up there. -\begin{codesample} -/* - * This procedure generates an XML document - * by invoking the XER encoder. - * NOTE: Do not copy this code verbatim! - * If the stdio output is necessary, - * use the xer_fprint() procedure instead. - * See %\fref{sec:Printing-the-target}%. - */ -int -print_as_XML(FILE *ostream, Rectangle_t *rect) { - asn_enc_rval_t er; /* Encoder return value */ - - er = xer_encode(&asn_DEF_Rectangle, rect, - XER_F_BASIC, /* BASIC-XER or CANONICAL-XER */ - write_stream, ostream); - - return (er.encoded == -1) ? -1 : 0; -} -\end{codesample} -Look into xer\_encoder.h for the precise definition of xer\_encode() -and related types. - -See \fref{sec:Printing-the-target} for the example of stdio-based -XML encoder and other pretty-printing suggestions. - - -\section{\label{sec:Decoding-XER}Decoding XER} - -The data encoded using the XER rules can be subsequently decoded using -the xer\_decode() API call: -\begin{codesample} -Rectangle_t * -XML_to_Rectangle(const void *buffer, size_t buf_size) { - asn_dec_rval_t rval; - Rectangle_t *%$\underbracket{\textrm{\listingfont rect = 0}}$%; /* %\textbf{\color{red}Note this 0\footnote{Forgetting to properly initialize the pointer to a destination structure is a major source of support requests.}!}% */ - - rval = xer_decode(0, &asn_DEF_Rectangle, (void **)&rect, buffer, buf_size); - - if(rval%\textbf{.code}% == RC_OK) { - return rect; /* Decoding succeeded */ - } else { - /* Free partially decoded rect */ - ASN_STRUCT_FREE(asn_DEF_Rectangle, rect); - return 0; - } -} -\end{codesample} -The decoder takes both BASIC-XER and CANONICAL-XER encodings. - -The decoder shares its data consumption properties with BER decoder; -please read the \fref{sec:Decoding-BER} to know more. - -Look into xer\_decoder.h for the precise definition of xer\_decode() -and related types. - - -\section{\label{sec:Validating-the-target}Validating the target structure} - -Sometimes the target structure needs to be validated. For example, -if the structure was created by the application (as opposed to being -decoded from some external source), some important information required -by the ASN.1 specification might be missing. On the other hand, the -successful decoding of the data from some external source does not -necessarily mean that the data is fully valid either. It might well -be the case that the specification describes some subtype constraints -that were not taken into account during decoding, and it would actually -be useful to perform the last check when the data is ready to be encoded -or when the data has just been decoded to ensure its validity according -to some stricter rules. - -The \api{sec:asn_check_constraints}{asn_check_constraints()} -function checks the type for various -implicit and explicit constraints. It is recommended to use the -\code{asn_check_constraints()} -function after each decoding and before each encoding. - -\section{\label{sec:Printing-the-target}Printing the target structure} - -To print out the structure for debugging purposes, use the -\api{sec:asn_fprint}{asn_fprint()} function: -\begin{codesample} -asn_fprint(stdout, &asn_DEF_Rectangle, rect); -\end{codesample} - -A practical alternative to this custom format printing is to serialize -the structure into XML. The default BASIC-XER encoder performs reasonable -formatting for the output to be both useful and human readable. -Use the \api{sec:xer_fprint}{xer_fprint()} function: -\begin{codesample} -xer_fprint(stdout, &asn_DEF_Rectangle, rect); -\end{codesample} -See \fref{sec:Encoding-XER} for XML-related details. - -\section{\label{sec:Freeing-the-target}Freeing the target structure} - -Freeing the structure is slightly more complex than it may seem. -When the ASN.1 structure is freed, all the members of the structure -and their submembers are recursively freed as well. -The ASN\_STRUCT\_FREE() macro helps with that. - -But it might not always be feasible to free the whole structure. -In the following example, the application programmer defines a custom -structure with one ASN.1-derived member (rect). -\begin{codesample} -struct my_figure { /* The custom structure */ - int flags; /* */ - /* The type is generated by the ASN.1 compiler */ - Rectangle_t rect; - /* other members of the structure */ -}; -\end{codesample} -This member is not a reference to the Rectangle\_t, but an in-place inclusion -of the Rectangle\_t structure. -If there's a need to free the \code{rect} member, the usual procedure of -freeing everything must not be applied to the \code{\&rect} pointer itself, -because it does not point to the beginning of memory block allocated by -the memory allocation routine, but instead lies within a block allocated for -the my\_figure structure. - -To solve this problem, in addition to ASN\_STRUCT\_FREE() macro, the asn1c -skeletons define the ASN\_STRUCT\_RESET() macro which doesn't free the passed -pointer and instead resets the structure into the clean and safe state. -\begin{codesample} -/* %\textbf{1. Rectangle\_t is defined within my\_figure}% */ -struct my_figure { - Rectangle_t rect; -} *mf = ...; -/* - * Freeing the Rectangle_t - * without freeing the mf->rect area. - */ -ASN_STRUCT_RESET(asn_DEF_Rectangle, &mf->rect); - -/* %\textbf{2. Rectangle\_t is a stand-alone pointer}% */ -Rectangle_t *rect = ...; -/* - * Freeing the Rectangle_t - * and freeing the rect pointer. - */ -ASN_STRUCT_FREE(asn_DEF_Rectangle, rect); -\end{codesample} -It is safe to invoke both macros with the target structure pointer -set to 0 (NULL). In this case, the function will do nothing. - -\chapter{\label{chap:Abstract-Syntax-Notation}Abstract Syntax Notation: ASN.1} - -\emph{This chapter defines some basic ASN.1 concepts and describes -several most widely used types. It is by no means an authoritative -or complete reference. For more complete ASN.1 description, please -refer to Olivier Dubuisson's book \cite{Dub00} or the ASN.1 body -of standards itself \cite{ITU-T/ASN.1}.} - -The Abstract Syntax Notation One is used to formally describe the -data transmitted across the network. Two communicating parties may employ -different formats of their native data types (e.~g., different number -of bits for the native integer type), thus it is important to have -a way to describe the data in a manner which is independent from the -particular machine's representation. -The ASN.1 specifications are used to achieve the following: -\begin{itemize} -\item The specification expressed in the ASN.1 notation is a formal and -precise way to communicate the structure of data to human readers; -\item The ASN.1 specifications may be used as input for automatic compilers -which produce the code for some target language (C, C++, Java, etc) -to encode and decode the data according to some encoding formats. -Several such encoding formats (called Transfer Encoding Rules) -have been defined by the ASN.1 standard. -\end{itemize} -Consider the following example: -\begin{asn} -Rectangle ::= SEQUENCE { - height INTEGER, - width INTEGER -} -\end{asn} -This ASN.1 specification describes a constructed type, \emph{Rectangle}, -containing two integer fields. This specification may tell the reader -that there exists this kind of data structure and that some entity -may be prepared to send or receive it. The question on \emph{how} -that entity is going to send or receive the \emph{encoded data} is -outside the scope of ASN.1. For example, this data structure may be -encoded according to some encoding rules and sent to the destination -using the TCP protocol. The ASN.1 specifies several ways of encoding -(or ``serializing'', or ``marshaling'') the data: BER, PER, XER -and others, including CER and DER derivatives from BER. - -The complete specification must be wrapped in a module, which looks -like this: -\begin{asn} -RectangleModule1 - { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) - asn1c(5) docs(2) rectangle(1) 1 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - --- This is a comment which describes nothing. -Rectangle ::= SEQUENCE { - height INTEGER, -- Height of the rectangle - width INTEGER -- Width of the rectangle -} - -END -\end{asn} -The module header consists of module name (RectangleModule1), the -module object identifier (\{...\}), a keyword ``DEFINITIONS'', a -set of module flags (AUTOMATIC TAGS) and ``::= BEGIN''. The module -ends with an ``END'' statement. - - -\section{Some of the ASN.1 Basic Types} - - -\subsection{The BOOLEAN type} - -The BOOLEAN type models the simple binary TRUE/FALSE, YES/NO, ON/OFF -or a similar kind of two-way choice. - - -\subsection{The INTEGER type} - -The INTEGER type is a signed natural number type without any restrictions -on its size. If the automatic checking on INTEGER value bounds are -necessary, the subtype constraints must be used. -\begin{asn} -SimpleInteger ::= INTEGER - --- An integer with a very limited range -SmallPositiveInt ::= INTEGER (0..127) - --- Integer, negative -NegativeInt ::= INTEGER (MIN..0) -\end{asn} - -\subsection{The ENUMERATED type} - -The ENUMERATED type is semantically equivalent to the INTEGER type -with some integer values explicitly named. -\begin{asn} -FruitId ::= ENUMERATED { apple(1), orange(2) } - --- The numbers in braces are optional, --- the enumeration can be performed --- automatically by the compiler -ComputerOSType ::= ENUMERATED { - FreeBSD, -- acquires value 0 - Windows, -- acquires value 1 - Solaris(5), -- remains 5 - Linux, -- becomes 6 - MacOS -- becomes 7 -} -\end{asn} - -\subsection{The OCTET STRING type} - -This type models the sequence of 8-bit bytes. This may be used to -transmit some opaque data or data serialized by other types of encoders -(e.~g., video file, photo picture, etc). - -\subsection{The OBJECT IDENTIFIER type} - -The OBJECT IDENTIFIER is used to represent the unique identifier of -any object, starting from the very root of the registration tree. -If your organization needs to uniquely identify something (a router, -a room, a person, a standard, or whatever), you are encouraged to -get your own identification subtree at \url{http://www.iana.org/protocols/forms.htm}. - -For example, the very first ASN.1 module in this Chapter (RectangleModule1) -has the following OBJECT IDENTIFIER: 1 3 6 1 4 1 9363 1 5 2 1 1. -\begin{asn} -ExampleOID ::= OBJECT IDENTIFIER - -rectangleModule1-oid ExampleOID - ::= { 1 3 6 1 4 1 9363 1 5 2 1 1 } - --- An identifier of the Internet. -internet-id OBJECT IDENTIFIER - ::= { iso(1) identified-organization(3) - dod(6) internet(1) } -\end{asn} -As you see, names are optional. - - -\subsection{The RELATIVE-OID type} - -The RELATIVE-OID type has the semantics of a subtree of an OBJECT -IDENTIFIER. There may be no need to repeat the whole sequence of numbers -from the root of the registration tree where the only thing of interest -is some of the tree's subsequence. -\begin{asn} -this-document RELATIVE-OID ::= { docs(2) usage(1) } - -this-example RELATIVE-OID ::= { - this-document assorted-examples(0) this-example(1) } -\end{asn} - -\section{Some of the ASN.1 String Types} - - -\subsection{The IA5String type} - -This is essentially the ASCII, with 128 character codes available -(7 lower bits of an 8-bit byte). - - -\subsection{The UTF8String type} - -This is the character string which encodes the full Unicode range -(4 bytes) using multibyte character sequences. - - -\subsection{The NumericString type} - -This type represents the character string with the alphabet consisting -of numbers (``0'' to ``9'') and a space. - - -\subsection{The PrintableString type} - -The character string with the following alphabet: space, ``\textbf{'}'' -(single quote), ``\textbf{(}'', ``\textbf{)}'', ``\textbf{+}'', -``\textbf{,}'' (comma), ``\textbf{-}'', ``\textbf{.}'', ``\textbf{/}'', -digits (``0'' to ``9''), ``\textbf{:}'', ``\textbf{=}'', ``\textbf{?}'', -upper-case and lower-case letters (``A'' to ``Z'' and ``a'' -to ``z''). - - -\subsection{The VisibleString type} - -The character string with the alphabet which is more or less a subset -of ASCII between the space and the ``\textbf{\textasciitilde{}}'' -symbol (tilde). - -Alternatively, the alphabet may be described as the PrintableString -alphabet presented earlier, plus the following characters: ``\textbf{!}'', -``\textbf{``}'', ``\textbf{\#}'', ``\textbf{\$}'', ``\textbf{\%}'', -``\textbf{\&}'', ``\textbf{*}'', ``\textbf{;}'', ``\textbf{<}'', -``\textbf{>}'', ``\textbf{{[}}'', ``\textbf{\textbackslash{}}'', -``\textbf{{]}}'', ``\textbf{\textasciicircum{}}'', ``\textbf{\_}'', -``\textbf{`}`` (single left quote), ``\textbf{\{}'', ``\textbf{|}'', -``\textbf{\}}'', ``\textbf{\textasciitilde{}}''. - - -\section{ASN.1 Constructed Types} - - -\subsection{The SEQUENCE type} - -This is an ordered collection of other simple or constructed types. -The SEQUENCE constructed type resembles the C ``struct'' statement. -\begin{asn} -Address ::= SEQUENCE { - -- The apartment number may be omitted - apartmentNumber NumericString OPTIONAL, - streetName PrintableString, - cityName PrintableString, - stateName PrintableString, - -- This one may be omitted too - zipNo NumericString OPTIONAL -} -\end{asn} - -\subsection{The SET type} - -This is a collection of other simple or constructed types. Ordering -is not important. The data may arrive in the order which is different -from the order of specification. Data is encoded in the order not -necessarily corresponding to the order of specification. - - -\subsection{The CHOICE type} - -This type is just a choice between the subtypes specified in it. The -CHOICE type contains at most one of the subtypes specified, and it -is always implicitly known which choice is being decoded or encoded. -This one resembles the C ``union'' statement. - -The following type defines a response code, which may be either an -integer code or a boolean ``true''/``false'' code. -\begin{asn} -ResponseCode ::= CHOICE { - intCode INTEGER, - boolCode BOOLEAN -} -\end{asn} - -\subsection{The SEQUENCE OF type} - -This one is the list (array) of simple or constructed types: -\begin{asn} --- Example 1 -ManyIntegers ::= SEQUENCE OF INTEGER - --- Example 2 -ManyRectangles ::= SEQUENCE OF Rectangle - --- More complex example: --- an array of structures defined in place. -ManyCircles ::= SEQUENCE OF SEQUENCE { - radius INTEGER - } -\end{asn} - -\subsection{The SET OF type} - -The SET OF type models the bag of structures. It resembles the SEQUENCE -OF type, but the order is not important. The elements may arrive -in the order which is not necessarily the same as the in-memory order -on the remote machines. -\begin{asn} --- A set of structures defined elsewhere -SetOfApples :: SET OF Apple - --- Set of integers encoding the kind of a fruit -FruitBag ::= SET OF ENUMERATED { apple, orange } -\end{asn} -\begin{thebibliography}{ITU-T/ASN.1} -\bibitem[ASN1C]{ASN1C}The Open Source ASN.1 Compiler. \url{http://lionet.info/asn1c} - -\bibitem[AONL]{AONL}Online ASN.1 Compiler. \url{http://lionet.info/asn1c/asn1c.cgi} - -\bibitem[Dub00]{Dub00}Olivier Dubuisson --- \emph{ASN.1 Communication -between heterogeneous systems} --- Morgan Kaufmann Publishers, 2000. -\url{http://asn1.elibel.tm.fr/en/book/}. ISBN:0-12-6333361-0. - -\bibitem[ITU-T/ASN.1]{ITU-T/ASN.1}ITU-T Study Group 17 --- Languages -for Telecommunication Systems \url{http://www.itu.int/ITU-T/studygroups/com17/languages/} -\end{thebibliography} - -\end{document} diff --git a/doc/docsrc/asn_dec_rval.inc b/doc/docsrc/asn_dec_rval.inc deleted file mode 100644 index c574965..0000000 --- a/doc/docsrc/asn_dec_rval.inc +++ /dev/null @@ -1,30 +0,0 @@ - -Upon unsuccessful termination, the \code{*struct_ptr_ptr} -may contain partially decoded data. This data may be useful for debugging -(such as by using \code{asn_fprint()}). -Don't forget to discard the unused partially decoded data by calling -\code{ASN_STRUCT_FREE()} or \code{ASN_STRUCT_RESET()}. - -The function returns a compound structure: -\begin{codesample} -typedef struct { - enum { - RC_OK, /* Decoded successfully */ - RC_WMORE, /* More data expected, call again */ - RC_FAIL /* Failure to decode data */ - } code; /* Result code */ - size_t consumed; /* Number of bytes consumed */ -} asn_dec_rval_t; -\end{codesample} - -\noindent{}The \code{.code} member specifies the decoding outcome. - -\begin{tabular}[h!]{ll} -\texttt{RC\_OK} & Decoded successfully and completely \\ -\texttt{RC\_WMORE} & More data expected, call again \\ -\texttt{RC\_FAIL} & Failed for good -\end{tabular} - -\noindent{}The \code{.consumed} member specifies the amount of \code{buffer} data -that was used during parsing, irrespectively of the \code{.code}. - diff --git a/doc/docsrc/asn_enc_rval.inc b/doc/docsrc/asn_enc_rval.inc deleted file mode 100644 index 654e45a..0000000 --- a/doc/docsrc/asn_enc_rval.inc +++ /dev/null @@ -1,17 +0,0 @@ - -The function returns a compound structure: - -\begin{codesample} -typedef struct { - ssize_t encoded; - const asn_TYPE_descriptor_t *failed_type; - const void *structure_ptr; -} asn_enc_rval_t; -\end{codesample} - -\noindent{}In case of unsuccessful encoding, the \code{.encoded} member is set to -1 and -the other members of the compound structure point to where the encoding has -failed to proceed further. - -In case encoding is successful, the \code{.encoded} member specifies the -size of the serialized output. diff --git a/doc/man/Makefile b/doc/man/Makefile deleted file mode 100644 index 3fd212b..0000000 --- a/doc/man/Makefile +++ /dev/null @@ -1,553 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# doc/man/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = doc/man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" -NROFF = nroff -MANS = $(dist_man1_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/doc/man -abs_srcdir = /home/nokia/mouse07410/asn1c/doc/man -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -dist_man1_MANS = asn1c.1 unber.1 enber.1 -#PANDOC_OPTIONS = --from markdown --to man \ -# --variable header="Version ${VERSION}" \ -# --variable adjusting:l \ -# --variable hyphenate:"" \ -# --standalone - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man1_MANS) - @$(NORMAL_INSTALL) - @list1='$(dist_man1_MANS)'; \ - list2=''; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-man \ - uninstall-man1 - -.PRECIOUS: Makefile - - -#%.1: %.man.md -# ${PANDOC} ${PANDOC_OPTIONS} -o $@ $< - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am deleted file mode 100644 index 1035ff9..0000000 --- a/doc/man/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ - -dist_man1_MANS = asn1c.1 unber.1 enber.1 - -if HAVE_PANDOC - -PANDOC_OPTIONS= --from markdown --to man \ - --variable header="Version ${VERSION}" \ - --variable adjusting:l \ - --variable hyphenate:"" \ - --standalone - -%.1: %.man.md - ${PANDOC} ${PANDOC_OPTIONS} -o $@ $< - -endif - diff --git a/doc/man/Makefile.in b/doc/man/Makefile.in deleted file mode 100644 index e8e74cd..0000000 --- a/doc/man/Makefile.in +++ /dev/null @@ -1,553 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" -NROFF = nroff -MANS = $(dist_man1_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_man1_MANS = asn1c.1 unber.1 enber.1 -@HAVE_PANDOC_TRUE@PANDOC_OPTIONS = --from markdown --to man \ -@HAVE_PANDOC_TRUE@ --variable header="Version ${VERSION}" \ -@HAVE_PANDOC_TRUE@ --variable adjusting:l \ -@HAVE_PANDOC_TRUE@ --variable hyphenate:"" \ -@HAVE_PANDOC_TRUE@ --standalone - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man1_MANS) - @$(NORMAL_INSTALL) - @list1='$(dist_man1_MANS)'; \ - list2=''; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-man \ - uninstall-man1 - -.PRECIOUS: Makefile - - -@HAVE_PANDOC_TRUE@%.1: %.man.md -@HAVE_PANDOC_TRUE@ ${PANDOC} ${PANDOC_OPTIONS} -o $@ $< - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/man/asn1c.1 b/doc/man/asn1c.1 deleted file mode 100644 index 93d47c9..0000000 --- a/doc/man/asn1c.1 +++ /dev/null @@ -1,332 +0,0 @@ -.\"t -.\" Automatically generated by Pandoc 1.19.2.1 -.\" -.ad l -.TH "asn1c" "1" "2017\-09\-01" "ASN.1 Compiler" "Version 0.9.29" -.nh \" Turn off hyphenation by default. -.SH NAME -.PP -asn1c \-\- the ASN.1 Compiler -.SH SYNOPSIS -.PP -asn1c [\f[B]\-E\f[] [\f[B]\-F\f[]] | \f[B]\-P\f[] | \f[B]\-R\f[]] -.PD 0 -.P -.PD -[\f[B]\-S\f[]\f[I]dir\f[]] [\f[B]\-X\f[]] -.PD 0 -.P -.PD -[\f[B]\-W\f[]\f[I]debug\-\f[]...] [\f[B]\-f\f[]\f[I]option\f[]] -[\f[B]\-gen\-\f[]\f[I]option\f[]] -[\f[B]\-pdu\f[]={\f[B]all\f[]|\f[B]auto\f[]|\f[I]Type\f[]}] -.PD 0 -.P -.PD -[\f[B]\-print\-\f[]\f[I]option\f[]] -.PD 0 -.P -.PD -\f[I]input\-filenames\f[]... -.SH DESCRIPTION -.PP -asn1c compiles ASN.1 specifications into a set of target language -(C/C++) encoders and decoders for BER, DER, PER, XER, OER and other -encoding rules. -.SH OPTIONS -.SS Stage Selection Options -.TP -.B \-E -Run the parsing stage only. -Print the reconstructed ASN.1 text. -.RS -.RE -.TP -.B \-F -Used together with \f[B]\-E\f[], instructs the compiler to stop after -the ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1 -specification to the standard output. -.RS -.RE -.TP -.B \-P -Dump the compiled output to the standard output instead of creating the -target language files on disk. -.RS -.RE -.TP -.B \-R -Restrict the compiler to generate only the ASN.1 tables, omitting the -usual support code. -.RS -.RE -.TP -.B \-S \f[I]directory\f[] -Use the specified directory with ASN.1 skeleton files. -.RS -.RE -.TP -.B \-X -Generate an XML DTD schema for the specified ASN.1 files. -.RS -.RE -.SS Warning Options -.TP -.B \-Werror -Treat warnings as errors; abort if any warning is produced. -.RS -.RE -.TP -.B \-Wdebug\-lexer -Enable lexer debugging during the ASN.1 lexing stage. -.RS -.RE -.TP -.B \-Wdebug\-parser -Enable lexer debugging during the ASN.1 parsing stage. -.RS -.RE -.TP -.B \-Wdebug\-fixer -Enable ASN.1 syntax tree fixer debugging during the fixing stage. -.RS -.RE -.TP -.B \-Wdebug\-compiler -Enable debugging during the actual compile time. -.RS -.RE -.SS Language Options -.TP -.B \-fbless\-SIZE -Allow \f[C]SIZE()\f[] constraint for \f[C]INTEGER\f[], -\f[C]ENUMERATED\f[], and other types for which this constraint is -normally prohibited by the standard. -This is a violation of ASN.1 standard, and the compiler may fail to -produce a meaningful code. -.RS -.RE -.TP -.B \-fcompound\-names -Using this option prevents name collisions in the target source code by -using complex names for target language structures. -(Name collisions may occur if the ASN.1 module reuses the same -identifiers in multiple contexts). -.RS -.RE -.TP -.B \-findirect\-choice -When generating code for a \f[C]CHOICE\f[] type, compile the -\f[C]CHOICE\f[] members as indirect pointers instead of declaring them -inline. -Consider using this option together with \f[B]\-fno\-include\-deps\f[] -to prevent circular references. -.RS -.RE -.TP -.B \-fincludes\-quoted -Refer to header files in \f[C]#include\f[]s using -\f[B]"\f[]double\f[B]"\f[] instead of \f[B]<\f[]angle\f[B]>\f[] quotes. -.RS -.RE -.TP -.B \-fknown\-extern\-type=\f[I]name\f[] -Pretend the specified type is known. -The compiler will assume the target language source files for the given -type have been provided manually. -.RS -.RE -.TP -.B \-fline\-refs -Include ASN.1 module\[aq]s line numbers in generated code comments. -.RS -.RE -.TP -.B \-fno\-constraints -Do not generate ASN.1 subtype constraint checking code. -This may make a shorter executable. -.RS -.RE -.TP -.B \-fno\-include\-deps -Do not generate courtesy #include lines for non\-critical type -dependencies. -Helps prevent namespace collisions. -.RS -.RE -.TP -.B \-funnamed\-unions -Enable unnamed unions in the definitions of target language\[aq]s -structures. -.RS -.RE -.TP -.B \-fwide\-types -Use the unbounded size data types (\f[C]INTEGER_t\f[], -\f[C]ENUMERATED_t\f[], \f[C]REAL_t\f[]) by default, instead of using the -native machine\[aq]s data types (long, double). -.RS -.RE -.SS Codecs Generation Options -.TP -.B \-gen\-OER -Generate the Octet Encoding Rules (OER) support code. -.RS -.RE -.TP -.B \-gen\-PER -Generate the Packed Encoding Rules (PER) support code. -.RS -.RE -.TP -.B \-pdu={all|auto|\f[I]Type\f[]} -Create a PDU table for specified types, or discover Protocol Data Units -automatically. -In case of \f[B]\-pdu=all\f[], all ASN.1 types defined in all modules -will form a PDU table. -In case of \f[B]\-pdu=auto\f[], all types not referenced by any other -type will form a PDU table. -If \f[I]Type\f[] is an ASN.1 type identifier, the identifier is added to -the generated PDU table. -The last form may be specified multiple times to add any number of PDUs. -.RS -.RE -.SS Output Options -.TP -.B \-print\-constraints -When \f[B]\-EF\f[] options are also specified, this option forces the -compiler to explain its internal understanding of subtype constraints. -.RS -.RE -.TP -.B \-print\-lines -Generate "\f[C]\-\-\ #line\f[]" comments in \f[B]\-E\f[] output. -.RS -.RE -.SH TRANSFER SYNTAXES -.PP -The ASN.1 family of standards define a number of ways to encode data, -including byte\-oriented (e.g., BER), bit\-oriented (e.g., PER), and -textual (e.g., XER). -Some encoding variants (e.g., DER) are just stricter variants of the -more general encodings (e.g., BER). -.PP -The interoperability table below specifies which API functions can be -used to exchange data in a compatible manner. -If you need to \f[I]produce\f[] data conforming to the standard -specified in the column 1, use the API function in the column 2. -If you need to \f[I]process\f[] data conforming to the standard(s) -specified in the column 3, use the API function specified in column 4. -See the \f[C]asn1c\-usage.pdf\f[] for details. -.PP -.TS -tab(@); -lw(14.6n) lw(18.5n) lw(13.6n) lw(13.6n). -T{ -Encoding -T}@T{ -API function -T}@T{ -Understood by -T}@T{ -API function -T} -_ -T{ -BER -T}@T{ -der_encode() -T}@T{ -BER -T}@T{ -ber_decode() -T} -T{ -DER -T}@T{ -der_encode() -T}@T{ -DER, BER -T}@T{ -ber_decode() -T} -T{ -CER -T}@T{ -\f[I]not supported\f[] -T}@T{ -CER, BER -T}@T{ -ber_decode() -T} -T{ -BASIC\-OER -T}@T{ -oer_encode() -T}@T{ -*\-OER -T}@T{ -oer_decode() -T} -T{ -CANONICAL\-OER -T}@T{ -oer_encode() -T}@T{ -*\-OER -T}@T{ -oer_decode() -T} -T{ -BASIC\-UPER -T}@T{ -uper_encode() -T}@T{ -*\-UPER -T}@T{ -uper_decode() -T} -T{ -CANONICAL\-UPER -T}@T{ -uper_encode() -T}@T{ -*\-UPER -T}@T{ -uper_decode() -T} -T{ -*\-APER -T}@T{ -\f[I]not supported\f[] -T}@T{ -*\-APER -T}@T{ -\f[I]not supported\f[] -T} -T{ -BASIC\-XER -T}@T{ -xer_encode(...) -T}@T{ -*\-XER -T}@T{ -xer_decode() -T} -T{ -CANONICAL\-XER -T}@T{ -xer_encode (XER_F_CANONICAL) -T}@T{ -*\-XER -T}@T{ -xer_decode() -T} -.TE -.PP -*) Asterisk means both BASIC and CANONICAL variants. -.SH SEE ALSO -.PP -\f[C]unber\f[](1), \f[C]enber\f[](1). -.SH AUTHORS -Lev Walkin . diff --git a/doc/man/asn1c.man.md b/doc/man/asn1c.man.md deleted file mode 100644 index 5b553bc..0000000 --- a/doc/man/asn1c.man.md +++ /dev/null @@ -1,189 +0,0 @@ -% asn1c(1) ASN.1 Compiler -% Lev Walkin -% 2017-09-01 - -# NAME - -asn1c -- the ASN.1 Compiler - -# SYNOPSIS - -asn1c [**-E** [**-F**] | **-P** | **-R**] \ - [**-S***dir*] [**-X**] \ - [**-W***debug-*...] [**-f***option*] [**-gen-***option*] - [**-pdu**={**all**|**auto**|*Type*}] \ - [**-print-***option*] \ - *input-filenames*... - -# DESCRIPTION - -asn1c compiles ASN.1 specifications into a set of -target language (C/C++) encoders and decoders for BER, DER, PER, XER, OER -and other encoding rules. - -# OPTIONS - -## Stage Selection Options - --E -: Run the parsing stage only. Print the reconstructed ASN.1 text. - --F -: Used together with **-E**, - instructs the compiler to stop after the ASN.1 syntax - tree fixing stage and dump the reconstructed ASN.1 specification - to the standard output. - --P -: Dump the compiled output to the standard output instead of creating the - target language files on disk. - --R -: Restrict the compiler to generate only the ASN.1 tables, - omitting the usual support code. - --S *directory* -: Use the specified directory with ASN.1 skeleton files. - --X -: Generate an XML DTD schema for the specified ASN.1 files. - -## Warning Options - --Werror -: Treat warnings as errors; abort if any warning is produced. - --Wdebug-lexer -: Enable lexer debugging during the ASN.1 lexing stage. - --Wdebug-parser -: Enable lexer debugging during the ASN.1 parsing stage. - --Wdebug-fixer -: Enable ASN.1 syntax tree fixer debugging during the fixing stage. - --Wdebug-compiler -: Enable debugging during the actual compile time. - -## Language Options - --fbless-SIZE -: Allow `SIZE()` constraint for `INTEGER`, `ENUMERATED`, - and other types for which this constraint is normally prohibited - by the standard. - This is a violation of ASN.1 standard, and the compiler may - fail to produce a meaningful code. - --fcompound-names -: Using this option prevents name collisions in the target source code - by using complex names for target language structures. - (Name collisions may occur if the ASN.1 module reuses the same identifiers - in multiple contexts). - --findirect-choice -: When generating code for a `CHOICE` type, compile the `CHOICE` members - as indirect pointers instead of declaring them inline. - Consider using this option together with **-fno-include-deps** - to prevent circular references. - --fincludes-quoted -: Refer to header files in `#include`s using **"**double**"** instead of **\<**angle**>** quotes. - --fknown-extern-type=*name* -: Pretend the specified type is known. - The compiler will assume the target language source files - for the given type have been provided manually. - --fline-refs -: Include ASN.1 module's line numbers in generated code comments. - --fno-constraints -: Do not generate ASN.1 subtype constraint checking code. - This may make a shorter executable. - --fno-include-deps -: Do not generate courtesy #include lines for non-critical type dependencies. - Helps prevent namespace collisions. - --funnamed-unions -: Enable unnamed unions in the definitions of target language's structures. - --fwide-types -: Use the unbounded size data types (`INTEGER_t`, `ENUMERATED_t`, `REAL_t`) - by default, instead of using the native machine's data types (long, double). - -## Codecs Generation Options - --gen-OER -: Generate the Octet Encoding Rules (OER) support code. - --gen-PER -: Generate the Packed Encoding Rules (PER) support code. - --pdu={all|auto|*Type*} -: Create a PDU table for specified types, or discover Protocol Data Units - automatically. In case of **-pdu=all**, - all ASN.1 types defined in all modules will form a PDU table. - In case of **-pdu=auto**, all types not referenced by any other type will - form a PDU table. - If *Type* is an ASN.1 type identifier, the identifier is added to - the generated PDU table. - The last form may be specified multiple times to add any number of PDUs. - -## Output Options - --print-constraints -: When **-EF** options are also specified, - this option forces the compiler to explain its internal understanding - of subtype constraints. - --print-lines -: Generate "`-- #line`" comments in **-E** output. - -# TRANSFER SYNTAXES - -The ASN.1 family of standards define a number of ways to encode data, -including byte-oriented (e.g., BER), bit-oriented (e.g., PER), -and textual (e.g., XER). Some encoding variants (e.g., DER) are just stricter -variants of the more general encodings (e.g., BER). - -The interoperability table below specifies which API functions can be used -to exchange data in a compatible manner. If you need to _produce_ data -conforming to the standard specified in the column 1, -use the API function in the column 2. -If you need to _process_ data conforming to the standard(s) specified in the -column 3, use the API function specified in column 4. -See the `asn1c-usage.pdf` for details. - -------------------------------------------------------------- -Encoding API function Understood by API function --------------- ------------------ ------------- ------------- -BER der_encode() BER ber_decode() - -DER der_encode() DER, BER ber_decode() - -CER _not supported_ CER, BER ber_decode() - -BASIC-OER oer_encode() *-OER oer_decode() - -CANONICAL-OER oer_encode() *-OER oer_decode() - -BASIC-UPER uper_encode() *-UPER uper_decode() - -CANONICAL-UPER uper_encode() *-UPER uper_decode() - -*-APER _not supported_ *-APER _not supported_ - -BASIC-XER xer_encode(...) *-XER xer_decode() - -CANONICAL-XER xer_encode *-XER xer_decode() - (XER_F_CANONICAL) -------------------------------------------------------------- - -*) Asterisk means both BASIC and CANONICAL variants. - - -# SEE ALSO - -`unber`(1), `enber`(1). - diff --git a/doc/man/enber.1 b/doc/man/enber.1 deleted file mode 100644 index 6566398..0000000 --- a/doc/man/enber.1 +++ /dev/null @@ -1,71 +0,0 @@ -.\" Automatically generated by Pandoc 1.16.0.2 -.\" -.ad l -.TH "enber" "1" "2016\-01\-23" "unber(1) counterpart" "Version 0.9.28" -.nh \" Turn off hyphenation by default. -.SH NAME -.PP -enber \-\- Convert the unber XML output back into BER -.SH SYNOPSIS -.PP -enber [\f[B]\-n\f[]] [\f[B]\-\f[]] [\f[I]input\-filenames\f[]...] -.SH DESCRIPTION -.PP -enber converts the XML\-formatted files produced by \f[C]unber\f[](1) -back into the BER format. -A single dash denotes the standard input. -.SH OPTIONS -.TP -.B \-n -Disable input validation. -By default, enber performs some basic validity checks against XML input. -.RS -.RE -.SH EXAMPLES -.PP -Decode a BER sequence and immediately encode it back -.RS -.PP -unber \f[B]\-p\f[] \f[I]filename.ber\f[] | enber \f[B]\-\f[] > -\f[I]reconstructed.ber\f[] -.RE -.SH FOOTNOTES -.PP -This program does not attempt to perform full\-fledged XML parsing. -It is merely compatible with \f[C]unber\f[](1)\[aq]s output. -In particular, the XML style comments are not supported. -A hash "\f[B]#\f[]" or two dashes "\f[B]\-\-\f[]" following a whitespace -is treated as a beginning of a comment line, which is ignored -completely. -Empty lines are ignored as well. -.PP -The following example \f[C]enber\f[](1) input demonstrates the use of -comments: -.PP - -.PD 0 -.P -.PD -\ \ \ \ -.PD 0 -.P -.PD -\ \ \ \ \f[B]\-\-\f[] -.PD 0 -.P -.PD -\ \ \ \ \f[B]#\f[] Do not terminate: -.PD 0 -.P -.PD -\ \ \ \ \f[B]#\f[] the absence of end\-of\-content octets is -intentional! -.PD 0 -.P -.PD - -.SH SEE ALSO -.PP -\f[C]unber\f[](1), \f[C]asn1c\f[](1). -.SH AUTHORS -Lev Walkin . diff --git a/doc/man/enber.man.md b/doc/man/enber.man.md deleted file mode 100644 index a6084ea..0000000 --- a/doc/man/enber.man.md +++ /dev/null @@ -1,50 +0,0 @@ -% enber(1) unber(1) counterpart -% Lev Walkin -% 2016-01-23 - -# NAME - -enber -- Convert the unber XML output back into BER - -# SYNOPSIS - -enber [**-n**] [**-**] [*input-filenames*...] - -# DESCRIPTION - -enber converts the XML-formatted files produced by `unber`(1) back into the BER format. -A single dash denotes the standard input. - -# OPTIONS - --n -: Disable input validation. -By default, enber performs some basic validity checks -against XML input. - -# EXAMPLES - -Decode a BER sequence and immediately encode it back - -> unber **-p** *filename.ber* | enber **-** > *reconstructed.ber* - -# FOOTNOTES - -This program does not attempt to perform full-fledged XML parsing. -It is merely compatible with `unber`(1)'s output. -In particular, the XML style comments are not supported. -A hash "**#**" or two dashes "**--**" following a whitespace is treated as a beginning of a comment line, which is ignored completely. -Empty lines are ignored as well. - -The following example `enber`(1) input demonstrates the use of comments: - -| \ -| \ -| **--** \ -| **#** Do not terminate: -| **#** the absence of end-of-content octets is intentional! -| \ - -# SEE ALSO - -`unber`(1), `asn1c`(1). diff --git a/doc/man/unber.1 b/doc/man/unber.1 deleted file mode 100644 index 8f787b4..0000000 --- a/doc/man/unber.1 +++ /dev/null @@ -1,181 +0,0 @@ -.\" Automatically generated by Pandoc 1.16.0.2 -.\" -.ad l -.TH "unber" "1" "2016\-01\-23" "ASN.1 BER Decoder" "Version 0.9.28" -.nh \" Turn off hyphenation by default. -.SH NAME -.PP -unber \-\- the ASN.1 BER Decoder -.SH SYNOPSIS -.PP -unber [\f[B]\-1\f[]] [\f[B]\-i\f[]\f[I]indent\f[]] [\f[B]\-m\f[]] -[\f[B]\-p\f[]] [\f[B]\-s\f[]\f[I]skip\f[]] -[\f[B]\-t\f[]\f[I]hex\-string\f[]] [\f[B]\-\f[]] -[\f[I]input\-filenames\f[]...] -.SH DESCRIPTION -.PP -unber presents the internal structure of BER\-encoded files as a human -readable text. -A single dash denotes the standard input. -.PP -(The DER and CER formats are subsets of the BER and are also supported.) -.SH OPTIONS -.TP -.B \-1 -Do \f[I]not\f[] attempt to read the next BER structure after the first -one. -This may be useful if the input contains garbage past the single BER -sequence. -By default, unber continues decoding until the end of file (input -stream). -.RS -.RE -.TP -.B \-i \f[I]indent\f[] -Use the specified number of spaces for output indentation. -Default is 4 spaces. -.RS -.RE -.TP -.B \-m -Generate shorter output while still preserving BER encoding information. -.RS -.RE -.TP -.B \-p -Do \f[I]not\f[] attempt to pretty\-print known ASN.1 types -(\f[C]BOOLEAN\f[], \f[C]INTEGER\f[], \f[C]OBJECT\ IDENTIFIER\f[], etc). -By default, some ASN.1 types are converted into the text representation. -.RS -.PP -This option is required if the \f[C]unber\f[](1) output is used as an -input to \f[C]enber\f[](1). -.RE -.TP -.B \-s \f[I]skip\f[] -Ignore the first \f[I]skip\f[] bytes in the input stream; useful for -stripping off lower level protocol framing data. -.RS -.RE -.TP -.B \-t \f[I]hex\-string\f[] -Interpret the hex\-string as a sequence of hexadecimal values -representing the start of BER TLV encoding. -Print the human readable explanation. -.RS -.RE -.SH XML FORMAT -.PP -unber dumps the output in the regular XML format which preserves most of -the information from the underlying binary encoding. -.PP -The XML opening tag format is as follows: -.PP -<\f[B]tform\f[] O="\f[B]off\f[]" T="\f[B]tag\f[]" TL="\f[B]t_len\f[]" -V="{Indefinite|\f[B]v_len\f[]}" [A="\f[B]type\f[]"] [\f[B]F\f[]]> -.PP -Where: -.TP -.B \f[B]tform\f[] -Encoding form the value is in: primitive ("P") or constructed ("C") or -constructed with indefinite length ("I") -.RS -.RE -.TP -.B \f[B]off\f[] -Offset of the encoded element in the unber input stream. -.RS -.RE -.TP -.B \f[B]tag\f[] -The tag class and value in human readable form. -.RS -.RE -.TP -.B \f[B]t_len\f[] -The length of the TL (BER Tag and Length) encoding. -.RS -.RE -.TP -.B \f[B]v_len\f[] -The length of the value (V, encoded by the L), may be "Indefinite". -.RS -.RE -.TP -.B \f[B]type\f[] -Likely name of the underlying ASN.1 type (for UNIVERSAL tags). -.RS -.RE -.TP -.B [\f[B]F\f[]] -Indicates that the value was reformatted (pretty\-printed). -This will never appear in the output produced using the \f[B]\-p\f[] -command line option. -.RS -.RE -.SS Example XML output: -.PP - -.PD 0 -.P -.PD -\

US

-.PD 0 -.P -.PD -\ \ -.PD 0 -.P -.PD -\ \ \ \

832970823

-.PD 0 -.P -.PD -\ \
-.PD 0 -.P -.PD -
-.SH EXAMPLES -.PP -Decode the given Tag/Length sequence specified in hexadecimal form: -.RS -.PP -unber\ \f[B]\-t\f[] "\f[I]bf 20\f[]" -.RE -.PP -Decode the DER file using two\-spaces indentation: -.RS -.PP -unber\ \f[B]\-i\f[] \f[I]2\f[]\ \f[I]filename.der\f[] -.RE -.PP -Decode the binary stream taken from the standard input: -.RS -.PP -cat \f[I]filename.der\f[] | unber \f[B]\-\f[] -.RE -.PP -Decode the binary stream and encode it back into an identical stream -(see \f[C]enber\f[](1)): -.RS -.PP -cat \f[I]filename.der\f[] | unber \f[B]\-p\f[] \f[B]\-\f[] | enber -\f[B]\-\f[] > \f[I]filename.ber\f[] -.RE -.SH FOOTNOTES -.PP -The constructed XML output is not necessarily well\-formed. -.PP -When indefinite length encoding is being used, the BER sequence which is -not terminated with the end\-of\-content octets will cause the -terminating \f[B]
\f[] XML tag to disappear. -Thus, invalid BER framing directly causes invalid XML output. -.PP -The \f[C]enber\f[](1) utility understands such XML correctly. -.SH SEE ALSO -.PP -\f[C]enber\f[](1), \f[C]asn1c\f[](1). -.SH AUTHORS -Lev Walkin . diff --git a/doc/man/unber.man.md b/doc/man/unber.man.md deleted file mode 100644 index b110eb8..0000000 --- a/doc/man/unber.man.md +++ /dev/null @@ -1,121 +0,0 @@ -% unber(1) ASN.1 BER Decoder -% Lev Walkin -% 2016-01-23 - -# NAME - -unber -- the ASN.1 BER Decoder - -# SYNOPSIS - -unber [**-1**] [**-i***indent*] [**-m**] [**-p**] [**-s***skip*] [**-t***hex-string*] [**-**] [*input-filenames*...] - -# DESCRIPTION - -unber presents the internal structure of BER-encoded files as a human readable text. -A single dash denotes the standard input. - -(The DER and CER formats are subsets of the BER and are also supported.) - -# OPTIONS - --1 -: Do *not* attempt to read the next BER structure after the first one. - This may be useful if the input contains garbage past the single BER sequence. - By default, unber continues decoding until the end of file (input stream). - --i *indent* -: Use the specified number of spaces for output indentation. - Default is 4 spaces. - --m -: Generate shorter output while still preserving BER encoding information. - --p -: Do *not* attempt to pretty-print known ASN.1 types (`BOOLEAN`, `INTEGER`, `OBJECT IDENTIFIER`, etc). - By default, some ASN.1 types are converted into the text representation. - - This option is required if the `unber`(1) output is used as an input to `enber`(1). - --s *skip* -: Ignore the first *skip* bytes in the input stream; - useful for stripping off lower level protocol framing data. - --t *hex-string* -: Interpret the hex-string as a sequence of hexadecimal values representing - the start of BER TLV encoding. - Print the human readable explanation. - -# XML FORMAT -unber dumps the output in the regular XML format which preserves most of the -information from the underlying binary encoding. - -The XML opening tag format is as follows: - -<**tform** O="**off**" T="**tag**" TL="**t_len**" V="{Indefinite|**v_len**}" [A="**type**"] [**F**]> - -Where: - -**tform** -: Encoding form the value is in: primitive ("P") or constructed ("C") or constructed with indefinite length ("I") - -**off** -: Offset of the encoded element in the unber input stream. - -**tag** -: The tag class and value in human readable form. - -**t_len** -: The length of the TL (BER Tag and Length) encoding. - -**v_len** -: The length of the value (V, encoded by the L), may be "Indefinite". - -**type** -: Likely name of the underlying ASN.1 type (for UNIVERSAL tags). - -[**F**] -: Indicates that the value was reformatted (pretty-printed). -This will never appear in the output produced using the **-p** -command line option. - -## Example XML output: - -| \ -| \

US\

-| \ -| \

832970823\

-| \
-| \
- -# EXAMPLES - -Decode the given Tag/Length sequence specified in hexadecimal form: - -> unber\ **-t** "*bf 20*" - -Decode the DER file using two-spaces indentation: - -> unber\ **-i** *2*\ *filename.der* - -Decode the binary stream taken from the standard input: - -> cat *filename.der* | unber **-** - -Decode the binary stream and encode it back into an identical stream (see `enber`(1)): - -> cat *filename.der* | unber **-p** **-** | enber **-** > *filename.ber* - -# FOOTNOTES -The constructed XML output is not necessarily well-formed. - -When indefinite length encoding is being used, the BER sequence which is not -terminated with the end-of-content octets will cause the terminating **\
** -XML tag to disappear. -Thus, invalid BER framing directly causes invalid XML output. - -The `enber`(1) utility understands such XML correctly. - -# SEE ALSO - -`enber`(1), `asn1c`(1). diff --git a/examples/Makefile b/examples/Makefile deleted file mode 100644 index 57a3d79..0000000 --- a/examples/Makefile +++ /dev/null @@ -1,590 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# examples/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = examples -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_bin_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(bindir)" -SCRIPTS = $(dist_bin_SCRIPTS) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/examples -abs_srcdir = /home/nokia/mouse07410/asn1c/examples -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -dist_bin_SCRIPTS = crfc2asn1.pl -ASN1_SOURCE_1 = rfc3280.txt -ASN1_FILES_1 = \ - rfc3280-PKIX1Explicit88.asn1 \ - rfc3280-PKIX1Implicit88.asn1 - -ASN1_SOURCE_2 = rfc3525.txt -ASN1_FILES_2 = \ - rfc3525-MEDIA-GATEWAY-CONTROL.asn1 - -ASN1_SOURCE_3 = rfc4511.txt -ASN1_FILES_3 = \ - rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1 - -BUILT_SOURCES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) -EXTRA_DIST = \ - rfc3280.txt rfc3525.txt rfc4511.txt \ - sample.source.1609.2 \ - sample.source.J2735 \ - sample.source.LDAP3 \ - sample.source.LTE-RRC \ - sample.source.MEGACO \ - sample.source.MHEG5 \ - sample.source.PKIX1 \ - sample.source.RRC \ - sample.source.S1AP \ - sample.source.TAP3 \ - sample.source.ULP \ - sample.makefile.regen - -CLEANFILES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-dist_binSCRIPTS: $(dist_bin_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-dist_binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(SCRIPTS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-dist_binSCRIPTS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-dist_binSCRIPTS - -.MAKE: all check install install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am dist-hook distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dist_binSCRIPTS install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-dist_binSCRIPTS - -.PRECIOUS: Makefile - - -$(ASN1_FILES_1): crfc2asn1.pl $(ASN1_SOURCE_1) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_1) - -$(ASN1_FILES_2): crfc2asn1.pl $(ASN1_SOURCE_2) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_2) - -$(ASN1_FILES_3): crfc2asn1.pl $(ASN1_SOURCE_3) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_3) - -clean-local: - for dir in ${srcdir}/sample.source.*; do (cd $$dir && make distclean || :); done - -dist-hook: clean-local - rm -f `find $(distdir) -name "*.core" -or -name ".tmp.*"` - rm -f `find $(distdir) -name "*.[ch].??????"` - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/examples/Makefile.am b/examples/Makefile.am deleted file mode 100644 index db831a4..0000000 --- a/examples/Makefile.am +++ /dev/null @@ -1,50 +0,0 @@ - -dist_bin_SCRIPTS = crfc2asn1.pl - -ASN1_SOURCE_1 = rfc3280.txt -ASN1_FILES_1 = \ - rfc3280-PKIX1Explicit88.asn1 \ - rfc3280-PKIX1Implicit88.asn1 - -ASN1_SOURCE_2 = rfc3525.txt -ASN1_FILES_2 = \ - rfc3525-MEDIA-GATEWAY-CONTROL.asn1 - -ASN1_SOURCE_3 = rfc4511.txt -ASN1_FILES_3 = \ - rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1 - -BUILT_SOURCES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) - -$(ASN1_FILES_1): crfc2asn1.pl $(ASN1_SOURCE_1) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_1) - -$(ASN1_FILES_2): crfc2asn1.pl $(ASN1_SOURCE_2) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_2) - -$(ASN1_FILES_3): crfc2asn1.pl $(ASN1_SOURCE_3) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_3) - -EXTRA_DIST = \ - rfc3280.txt rfc3525.txt rfc4511.txt \ - sample.source.1609.2 \ - sample.source.J2735 \ - sample.source.LDAP3 \ - sample.source.LTE-RRC \ - sample.source.MEGACO \ - sample.source.MHEG5 \ - sample.source.PKIX1 \ - sample.source.RRC \ - sample.source.S1AP \ - sample.source.TAP3 \ - sample.source.ULP \ - sample.makefile.regen - -CLEANFILES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) - -clean-local: - for dir in ${srcdir}/sample.source.*; do (cd $$dir && make distclean || :); done - -dist-hook: clean-local - rm -f `find $(distdir) -name "*.core" -or -name ".tmp.*"` - rm -f `find $(distdir) -name "*.[ch].??????"` diff --git a/examples/Makefile.in b/examples/Makefile.in deleted file mode 100644 index 0d60bff..0000000 --- a/examples/Makefile.in +++ /dev/null @@ -1,590 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = examples -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_bin_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(bindir)" -SCRIPTS = $(dist_bin_SCRIPTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_bin_SCRIPTS = crfc2asn1.pl -ASN1_SOURCE_1 = rfc3280.txt -ASN1_FILES_1 = \ - rfc3280-PKIX1Explicit88.asn1 \ - rfc3280-PKIX1Implicit88.asn1 - -ASN1_SOURCE_2 = rfc3525.txt -ASN1_FILES_2 = \ - rfc3525-MEDIA-GATEWAY-CONTROL.asn1 - -ASN1_SOURCE_3 = rfc4511.txt -ASN1_FILES_3 = \ - rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1 - -BUILT_SOURCES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) -EXTRA_DIST = \ - rfc3280.txt rfc3525.txt rfc4511.txt \ - sample.source.1609.2 \ - sample.source.J2735 \ - sample.source.LDAP3 \ - sample.source.LTE-RRC \ - sample.source.MEGACO \ - sample.source.MHEG5 \ - sample.source.PKIX1 \ - sample.source.RRC \ - sample.source.S1AP \ - sample.source.TAP3 \ - sample.source.ULP \ - sample.makefile.regen - -CLEANFILES = $(ASN1_FILES_1) $(ASN1_FILES_2) $(ASN1_FILES_3) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-dist_binSCRIPTS: $(dist_bin_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-dist_binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(SCRIPTS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-dist_binSCRIPTS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-dist_binSCRIPTS - -.MAKE: all check install install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am dist-hook distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dist_binSCRIPTS install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-dist_binSCRIPTS - -.PRECIOUS: Makefile - - -$(ASN1_FILES_1): crfc2asn1.pl $(ASN1_SOURCE_1) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_1) - -$(ASN1_FILES_2): crfc2asn1.pl $(ASN1_SOURCE_2) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_2) - -$(ASN1_FILES_3): crfc2asn1.pl $(ASN1_SOURCE_3) - ${srcdir}/crfc2asn1.pl ${srcdir}/$(ASN1_SOURCE_3) - -clean-local: - for dir in ${srcdir}/sample.source.*; do (cd $$dir && make distclean || :); done - -dist-hook: clean-local - rm -f `find $(distdir) -name "*.core" -or -name ".tmp.*"` - rm -f `find $(distdir) -name "*.[ch].??????"` - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/examples/README b/examples/README deleted file mode 100644 index c86a8c9..0000000 --- a/examples/README +++ /dev/null @@ -1,48 +0,0 @@ - -This directory contains a few examples. - -1. The ./sample.source.PKIX1 directory contains the X.509 Certificate decoder, - as specified in rfc3280.txt. Just type `make` in there to compile. - -2. The ./sample.source.MHEG5 directory contains the decoder for - ISO 13522 MHEG-5/ITU-T T.172 (Multimedia Hypermedia Experts Group, - Multimedia Presentations). Read the README file in that directory. - -3. The ./sample.source.MEGACO directory contains the decoder for - Media Gateway Control Protocol data units as specified in rfc3525.txt. - -4. The ./sample.source.LDAP3 directory contains the decoder for - Lightweight Directory Access Protocol version 3 PDU as specified in - rfc4211.txt. - -5. The ./sample.source.RRC directory contains the 3GPP Radio Resource Control - decoder for RRC version 7.1.0. Just type `make` in there to compile. - -6. The ./sample.source.LTE-RRC directory contains the 3GPP RRC - decoder for LTE RRC version 14.2.1. Read the README file in that directory. - -7. The ./sample.source.TAP3 directory contains the GSM TAP3 decoder. - Before trying to compile, read the README file in that directory. - -8. The ./sample.source.ULP directory contains the Open Mobile Alliance - UserPlane Location Protocol decoder. - Before trying to compile, read the README file in that directory. - -9. The ./sample.source.J2735 directory contains the SAE J2735-201603 decoder. - Before trying to compile, read the README file in that directory. - WARNING WARNING WARNING: WORK IN PROGRESS. Not supposed to work yet. - -10. The ./sample.source.1609.2 directory contains the IEEE 1609.2-2016 decoder. - Before trying to compile, read the README file in that directory. - WARNING WARNING WARNING: WORK IN PROGRESS. Not supposed to work yet. - -11. The ./sample.source.S1AP directory contain the 3GPP S1AP decoder for - S1AP version 14.4.0. Read the README file in that directory. - -The crfc2asn1.pl script can be used to extract ASN.1 data from RFC texts. -For instance, it is used to extract X.509, MEGACO, and LDAPv3 ASN.1 modules -from the corresponding RFC texts (rfc3280.txt, rfc3525.txt, rfc4211.txt). - -To regenerate the .asn1 files from the original RFC texts, execute -`make clean; make` in the current directory. - diff --git a/examples/crfc2asn1.pl b/examples/crfc2asn1.pl deleted file mode 100755 index 5a57f2d..0000000 --- a/examples/crfc2asn1.pl +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env perl -# -# Extract the ASN.1 module text from the given set of RFC files. -# - - -my $inasn = 0; # Are we inside ASN.1 grammar? -my $found = 0; -my $currentFname = ''; - -if(-t STDIN && $#ARGV == -1) { - print STDERR "Extract the ASN.1 specification from the RFC file(s).\n"; - print STDERR "Usage 1: $0 ...\n"; - print STDERR "Usage 2: | $0\n"; - exit(1); -} - -while(<>) { - # - # Strip RFC page delimiters. - # - next if /^[A-Z].*\[Page [0-9]+\]$/; - next if /^ $/; - next if /^RFC [0-9].*[0-9]+$/; - - if($inasn == 0) { - # - # The least correct way to find the start of ASN - # definition. That is, to ask a user. - # - if(/^[ \t]*END[ \t]*(--.*)?$/) { - print STDERR - "Missed an ASN.1 grammar before line ". $. ."?\n"; - exit(1); - } - - my $modName = ''; # ASN.1 module name - my $rfcid = ''; - $rfcid = $1 . '-' if($ARGV =~ /([a-z0-9]+)\.[^.]+$/i); - - if(/^[ \t]*([A-Z][A-Za-z0-9-]*).*DEFINITIONS.*::=/) { - $modName = $1; - $currentFname = $rfcid . $modName . ".asn1"; - $inasn = 1; - } elsif(/^[ \t]*([A-Z][A-Za-z0-9-]*).*{[ \t]*(?:joint-)?iso/ - || /^[ \t]*{[ \t]*(?:joint-)?iso/) { - my @a = ($_); - $modName = $1; - unless(length($modName)) { - next unless $prevLine =~ - /^[ \t]*([A-Z][A-Za-z0-9-]*)[ \t]*$/; - $modName = $1; - unshift(@a, $prevLine); - } - $currentFname = $rfcid . $modName . ".asn1"; - my $i; - for($i = 0; $i < 8; $i++) { - $_ = <>; - push(@a, $_); - if(/DEFINITIONS/) { - $_ = join('', @a); - $inasn = 1; - last; - } - } - next unless $inasn; - } elsif(/^\s*DEFINITIONS\s*$/ - && $prevLine =~ /^\s*([A-Z][A-Za-z0-9-]*)\s*{[0-9a-z)( -]+}\s*$/) { - $_ = $prevLine . $prevComments . $_; - $modName = $1; - $currentFname = $rfcid . $modName. ".asn1"; - $inasn = 1; - } else { - if(/^[ \t]*--/) { - $prevComments .= $_; - } else { - $prevComments = ''; - $prevLine = $_; - } - next; - } - - print STDERR "Found $modName at line $.\n=> Saving as $currentFname\n"; - open(O, "> $currentFname") or die "Can't open $currentFname"; - select(O); - - $found++; - print "\n"; - print "-- \n"; - print "-- ASN.1 module found by $0 in $ARGV at line " . $. . "\n"; - print "-- \n"; - print "\n"; - } - - if(/^[ \t]*END[ \t]*(--.*)?$/) { - print; - select(STDOUT); - close(O); - $inasn = 0; - next; - } - - # - # The following clauses are primarily designed to simplify - # asn1c tool behavior. - # You may want to get rid of them if you're doing generic - # ASN.1 extraction and do not want to alter the ASN.1 specs at all. - # - if( -/^([ \t]*)((UniversalString|BMPString|UTF8String)\s+::=\s+\[[A-Z]+\s\d+\]\sIMPLICIT\sOCTET\sSTRING)(.*)$/ms - ) { - print "\n-- Legacy redefinition of $3 removed by $0:\n"; - print "$1-- $2 -- $4"; - next; - } elsif(/delete following line if \"new\" types are supported/) { - print; - print "/* Legacy constructs deleted by $0:\n"; - $_ = <>; - print; - print " */\n"; - next; - } - - - print; # Dump the ASN.1 module line out. -} - -die "No ASN.1 modules found\n" unless $found; diff --git a/examples/rfc3280.txt b/examples/rfc3280.txt deleted file mode 100644 index 433908b..0000000 --- a/examples/rfc3280.txt +++ /dev/null @@ -1,7227 +0,0 @@ - - - - - - -Network Working Group R. Housley -Request for Comments: 3280 RSA Laboratories -Obsoletes: 2459 W. Polk -Category: Standards Track NIST - W. Ford - VeriSign - D. Solo - Citigroup - April 2002 - - Internet X.509 Public Key Infrastructure - Certificate and Certificate Revocation List (CRL) Profile - -Status of this Memo - - This document specifies an Internet standards track protocol for the - Internet community, and requests discussion and suggestions for - improvements. Please refer to the current edition of the "Internet - Official Protocol Standards" (STD 1) for the standardization state - and status of this protocol. Distribution of this memo is unlimited. - -Copyright Notice - - Copyright (C) The Internet Society (2002). All Rights Reserved. - -Abstract - - This memo profiles the X.509 v3 certificate and X.509 v2 Certificate - Revocation List (CRL) for use in the Internet. An overview of this - approach and model are provided as an introduction. The X.509 v3 - certificate format is described in detail, with additional - information regarding the format and semantics of Internet name - forms. Standard certificate extensions are described and two - Internet-specific extensions are defined. A set of required - certificate extensions is specified. The X.509 v2 CRL format is - described in detail, and required extensions are defined. An - algorithm for X.509 certification path validation is described. An - ASN.1 module and examples are provided in the appendices. - -Table of Contents - - 1 Introduction . . . . . . . . . . . . . . . . . . . . . . 4 - 2 Requirements and Assumptions . . . . . . . . . . . . . . 5 - 2.1 Communication and Topology . . . . . . . . . . . . . . 6 - 2.2 Acceptability Criteria . . . . . . . . . . . . . . . . 6 - 2.3 User Expectations . . . . . . . . . . . . . . . . . . . 7 - 2.4 Administrator Expectations . . . . . . . . . . . . . . 7 - 3 Overview of Approach . . . . . . . . . . . . . . . . . . 7 - - - -Housley, et. al. Standards Track [Page 1] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - 3.1 X.509 Version 3 Certificate . . . . . . . . . . . . . . 8 - 3.2 Certification Paths and Trust . . . . . . . . . . . . . 9 - 3.3 Revocation . . . . . . . . . . . . . . . . . . . . . . 11 - 3.4 Operational Protocols . . . . . . . . . . . . . . . . . 13 - 3.5 Management Protocols . . . . . . . . . . . . . . . . . 13 - 4 Certificate and Certificate Extensions Profile . . . . . 14 - 4.1 Basic Certificate Fields . . . . . . . . . . . . . . . 15 - 4.1.1 Certificate Fields . . . . . . . . . . . . . . . . . 16 - 4.1.1.1 tbsCertificate . . . . . . . . . . . . . . . . . . 16 - 4.1.1.2 signatureAlgorithm . . . . . . . . . . . . . . . . 16 - 4.1.1.3 signatureValue . . . . . . . . . . . . . . . . . . 16 - 4.1.2 TBSCertificate . . . . . . . . . . . . . . . . . . . 17 - 4.1.2.1 Version . . . . . . . . . . . . . . . . . . . . . . 17 - 4.1.2.2 Serial number . . . . . . . . . . . . . . . . . . . 17 - 4.1.2.3 Signature . . . . . . . . . . . . . . . . . . . . . 18 - 4.1.2.4 Issuer . . . . . . . . . . . . . . . . . . . . . . 18 - 4.1.2.5 Validity . . . . . . . . . . . . . . . . . . . . . 22 - 4.1.2.5.1 UTCTime . . . . . . . . . . . . . . . . . . . . . 22 - 4.1.2.5.2 GeneralizedTime . . . . . . . . . . . . . . . . . 22 - 4.1.2.6 Subject . . . . . . . . . . . . . . . . . . . . . . 23 - 4.1.2.7 Subject Public Key Info . . . . . . . . . . . . . . 24 - 4.1.2.8 Unique Identifiers . . . . . . . . . . . . . . . . 24 - 4.1.2.9 Extensions . . . . . . . . . . . . . . . . . . . . . 24 - 4.2 Certificate Extensions . . . . . . . . . . . . . . . . 24 - 4.2.1 Standard Extensions . . . . . . . . . . . . . . . . . 25 - 4.2.1.1 Authority Key Identifier . . . . . . . . . . . . . 26 - 4.2.1.2 Subject Key Identifier . . . . . . . . . . . . . . 27 - 4.2.1.3 Key Usage . . . . . . . . . . . . . . . . . . . . . 28 - 4.2.1.4 Private Key Usage Period . . . . . . . . . . . . . 29 - 4.2.1.5 Certificate Policies . . . . . . . . . . . . . . . 30 - 4.2.1.6 Policy Mappings . . . . . . . . . . . . . . . . . . 33 - 4.2.1.7 Subject Alternative Name . . . . . . . . . . . . . 33 - 4.2.1.8 Issuer Alternative Name . . . . . . . . . . . . . . 36 - 4.2.1.9 Subject Directory Attributes . . . . . . . . . . . 36 - 4.2.1.10 Basic Constraints . . . . . . . . . . . . . . . . 36 - 4.2.1.11 Name Constraints . . . . . . . . . . . . . . . . . 37 - 4.2.1.12 Policy Constraints . . . . . . . . . . . . . . . . 40 - 4.2.1.13 Extended Key Usage . . . . . . . . . . . . . . . . 40 - 4.2.1.14 CRL Distribution Points . . . . . . . . . . . . . 42 - 4.2.1.15 Inhibit Any-Policy . . . . . . . . . . . . . . . . 44 - 4.2.1.16 Freshest CRL . . . . . . . . . . . . . . . . . . . 44 - 4.2.2 Internet Certificate Extensions . . . . . . . . . . . 45 - 4.2.2.1 Authority Information Access . . . . . . . . . . . 45 - 4.2.2.2 Subject Information Access . . . . . . . . . . . . 46 - 5 CRL and CRL Extensions Profile . . . . . . . . . . . . . 48 - 5.1 CRL Fields . . . . . . . . . . . . . . . . . . . . . . 49 - 5.1.1 CertificateList Fields . . . . . . . . . . . . . . . 50 - 5.1.1.1 tbsCertList . . . . . . . . . . . . . . . . . . . . 50 - - - -Housley, et. al. Standards Track [Page 2] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - 5.1.1.2 signatureAlgorithm . . . . . . . . . . . . . . . . 50 - 5.1.1.3 signatureValue . . . . . . . . . . . . . . . . . . 51 - 5.1.2 Certificate List "To Be Signed" . . . . . . . . . . . 51 - 5.1.2.1 Version . . . . . . . . . . . . . . . . . . . . . . 52 - 5.1.2.2 Signature . . . . . . . . . . . . . . . . . . . . . 52 - 5.1.2.3 Issuer Name . . . . . . . . . . . . . . . . . . . . 52 - 5.1.2.4 This Update . . . . . . . . . . . . . . . . . . . . 52 - 5.1.2.5 Next Update . . . . . . . . . . . . . . . . . . . . 53 - 5.1.2.6 Revoked Certificates . . . . . . . . . . . . . . . 53 - 5.1.2.7 Extensions . . . . . . . . . . . . . . . . . . . . 53 - 5.2 CRL Extensions . . . . . . . . . . . . . . . . . . . . 53 - 5.2.1 Authority Key Identifier . . . . . . . . . . . . . . 54 - 5.2.2 Issuer Alternative Name . . . . . . . . . . . . . . . 54 - 5.2.3 CRL Number . . . . . . . . . . . . . . . . . . . . . 55 - 5.2.4 Delta CRL Indicator . . . . . . . . . . . . . . . . . 55 - 5.2.5 Issuing Distribution Point . . . . . . . . . . . . . 58 - 5.2.6 Freshest CRL . . . . . . . . . . . . . . . . . . . . 59 - 5.3 CRL Entry Extensions . . . . . . . . . . . . . . . . . 60 - 5.3.1 Reason Code . . . . . . . . . . . . . . . . . . . . . 60 - 5.3.2 Hold Instruction Code . . . . . . . . . . . . . . . . 61 - 5.3.3 Invalidity Date . . . . . . . . . . . . . . . . . . . 62 - 5.3.4 Certificate Issuer . . . . . . . . . . . . . . . . . 62 - 6 Certificate Path Validation . . . . . . . . . . . . . . . 62 - 6.1 Basic Path Validation . . . . . . . . . . . . . . . . . 63 - 6.1.1 Inputs . . . . . . . . . . . . . . . . . . . . . . . 66 - 6.1.2 Initialization . . . . . . . . . . . . . . . . . . . 67 - 6.1.3 Basic Certificate Processing . . . . . . . . . . . . 70 - 6.1.4 Preparation for Certificate i+1 . . . . . . . . . . . 75 - 6.1.5 Wrap-up procedure . . . . . . . . . . . . . . . . . . 78 - 6.1.6 Outputs . . . . . . . . . . . . . . . . . . . . . . . 80 - 6.2 Extending Path Validation . . . . . . . . . . . . . . . 80 - 6.3 CRL Validation . . . . . . . . . . . . . . . . . . . . 81 - 6.3.1 Revocation Inputs . . . . . . . . . . . . . . . . . . 82 - 6.3.2 Initialization and Revocation State Variables . . . . 82 - 6.3.3 CRL Processing . . . . . . . . . . . . . . . . . . . 83 - 7 References . . . . . . . . . . . . . . . . . . . . . . . 86 - 8 Intellectual Property Rights . . . . . . . . . . . . . . 88 - 9 Security Considerations . . . . . . . . . . . . . . . . . 89 - Appendix A. ASN.1 Structures and OIDs . . . . . . . . . . . 92 - A.1 Explicitly Tagged Module, 1988 Syntax . . . . . . . . . 92 - A.2 Implicitly Tagged Module, 1988 Syntax . . . . . . . . . 105 - Appendix B. ASN.1 Notes . . . . . . . . . . . . . . . . . . 112 - Appendix C. Examples . . . . . . . . . . . . . . . . . . . 115 - C.1 DSA Self-Signed Certificate . . . . . . . . . . . . . . 115 - C.2 End Entity Certificate Using DSA . . . . . . . . . . . 119 - C.3 End Entity Certificate Using RSA . . . . . . . . . . . 122 - C.4 Certificate Revocation List . . . . . . . . . . . . . . 126 - Author Addresses . . . . . . . . . . . . . . . . . . . . . . 128 - - - -Housley, et. al. Standards Track [Page 3] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Full Copyright Statement . . . . . . . . . . . . . . . . . . 129 - -1 Introduction - - This specification is one part of a family of standards for the X.509 - Public Key Infrastructure (PKI) for the Internet. - - This specification profiles the format and semantics of certificates - and certificate revocation lists (CRLs) for the Internet PKI. - Procedures are described for processing of certification paths in the - Internet environment. Finally, ASN.1 modules are provided in the - appendices for all data structures defined or referenced. - - Section 2 describes Internet PKI requirements, and the assumptions - which affect the scope of this document. Section 3 presents an - architectural model and describes its relationship to previous IETF - and ISO/IEC/ITU-T standards. In particular, this document's - relationship with the IETF PEM specifications and the ISO/IEC/ITU-T - X.509 documents are described. - - Section 4 profiles the X.509 version 3 certificate, and section 5 - profiles the X.509 version 2 CRL. The profiles include the - identification of ISO/IEC/ITU-T and ANSI extensions which may be - useful in the Internet PKI. The profiles are presented in the 1988 - Abstract Syntax Notation One (ASN.1) rather than the 1997 ASN.1 - syntax used in the most recent ISO/IEC/ITU-T standards. - - Section 6 includes certification path validation procedures. These - procedures are based upon the ISO/IEC/ITU-T definition. - Implementations are REQUIRED to derive the same results but are not - required to use the specified procedures. - - Procedures for identification and encoding of public key materials - and digital signatures are defined in [PKIXALGS]. Implementations of - this specification are not required to use any particular - cryptographic algorithms. However, conforming implementations which - use the algorithms identified in [PKIXALGS] MUST identify and encode - the public key materials and digital signatures as described in that - specification. - - Finally, three appendices are provided to aid implementers. Appendix - A contains all ASN.1 structures defined or referenced within this - specification. As above, the material is presented in the 1988 - ASN.1. Appendix B contains notes on less familiar features of the - ASN.1 notation used within this specification. Appendix C contains - examples of a conforming certificate and a conforming CRL. - - - - - -Housley, et. al. Standards Track [Page 4] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - This specification obsoletes RFC 2459. This specification differs - from RFC 2459 in five basic areas: - - * To promote interoperable implementations, a detailed algorithm - for certification path validation is included in section 6.1 of - this specification; RFC 2459 provided only a high-level - description of path validation. - - * An algorithm for determining the status of a certificate using - CRLs is provided in section 6.3 of this specification. This - material was not present in RFC 2459. - - * To accommodate new usage models, detailed information describing - the use of delta CRLs is provided in Section 5 of this - specification. - - * Identification and encoding of public key materials and digital - signatures are not included in this specification, but are now - described in a companion specification [PKIXALGS]. - - * Four additional extensions are specified: three certificate - extensions and one CRL extension. The certificate extensions are - subject info access, inhibit any-policy, and freshest CRL. The - freshest CRL extension is also defined as a CRL extension. - - * Throughout the specification, clarifications have been - introduced to enhance consistency with the ITU-T X.509 - specification. X.509 defines the certificate and CRL format as - well as many of the extensions that appear in this specification. - These changes were introduced to improve the likelihood of - interoperability between implementations based on this - specification with implementations based on the ITU-T - specification. - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in RFC 2119. - -2 Requirements and Assumptions - - The goal of this specification is to develop a profile to facilitate - the use of X.509 certificates within Internet applications for those - communities wishing to make use of X.509 technology. Such - applications may include WWW, electronic mail, user authentication, - and IPsec. In order to relieve some of the obstacles to using X.509 - - - - - - -Housley, et. al. Standards Track [Page 5] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - certificates, this document defines a profile to promote the - development of certificate management systems; development of - application tools; and interoperability determined by policy. - - Some communities will need to supplement, or possibly replace, this - profile in order to meet the requirements of specialized application - domains or environments with additional authorization, assurance, or - operational requirements. However, for basic applications, common - representations of frequently used attributes are defined so that - application developers can obtain necessary information without - regard to the issuer of a particular certificate or certificate - revocation list (CRL). - - A certificate user should review the certificate policy generated by - the certification authority (CA) before relying on the authentication - or non-repudiation services associated with the public key in a - particular certificate. To this end, this standard does not - prescribe legally binding rules or duties. - - As supplemental authorization and attribute management tools emerge, - such as attribute certificates, it may be appropriate to limit the - authenticated attributes that are included in a certificate. These - other management tools may provide more appropriate methods of - conveying many authenticated attributes. - -2.1 Communication and Topology - - The users of certificates will operate in a wide range of - environments with respect to their communication topology, especially - users of secure electronic mail. This profile supports users without - high bandwidth, real-time IP connectivity, or high connection - availability. In addition, the profile allows for the presence of - firewall or other filtered communication. - - This profile does not assume the deployment of an X.500 Directory - system or a LDAP directory system. The profile does not prohibit the - use of an X.500 Directory or a LDAP directory; however, any means of - distributing certificates and certificate revocation lists (CRLs) may - be used. - -2.2 Acceptability Criteria - - The goal of the Internet Public Key Infrastructure (PKI) is to meet - the needs of deterministic, automated identification, authentication, - access control, and authorization functions. Support for these - services determines the attributes contained in the certificate as - well as the ancillary control information in the certificate such as - policy data and certification path constraints. - - - -Housley, et. al. Standards Track [Page 6] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -2.3 User Expectations - - Users of the Internet PKI are people and processes who use client - software and are the subjects named in certificates. These uses - include readers and writers of electronic mail, the clients for WWW - browsers, WWW servers, and the key manager for IPsec within a router. - This profile recognizes the limitations of the platforms these users - employ and the limitations in sophistication and attentiveness of the - users themselves. This manifests itself in minimal user - configuration responsibility (e.g., trusted CA keys, rules), explicit - platform usage constraints within the certificate, certification path - constraints which shield the user from many malicious actions, and - applications which sensibly automate validation functions. - -2.4 Administrator Expectations - - As with user expectations, the Internet PKI profile is structured to - support the individuals who generally operate CAs. Providing - administrators with unbounded choices increases the chances that a - subtle CA administrator mistake will result in broad compromise. - Also, unbounded choices greatly complicate the software that process - and validate the certificates created by the CA. - -3 Overview of Approach - - Following is a simplified view of the architectural model assumed by - the PKIX specifications. - - The components in this model are: - - end entity: user of PKI certificates and/or end user system that is - the subject of a certificate; - CA: certification authority; - RA: registration authority, i.e., an optional system to which - a CA delegates certain management functions; - CRL issuer: an optional system to which a CA delegates the - publication of certificate revocation lists; - repository: a system or collection of distributed systems that stores - certificates and CRLs and serves as a means of - distributing these certificates and CRLs to end entities. - - Note that an Attribute Authority (AA) might also choose to delegate - the publication of CRLs to a CRL issuer. - - - - - - - - -Housley, et. al. Standards Track [Page 7] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - +---+ - | C | +------------+ - | e | <-------------------->| End entity | - | r | Operational +------------+ - | t | transactions ^ - | i | and management | Management - | f | transactions | transactions PKI - | i | | users - | c | v - | a | ======================= +--+------------+ ============== - | t | ^ ^ - | e | | | PKI - | | v | management - | & | +------+ | entities - | | <---------------------| RA |<----+ | - | C | Publish certificate +------+ | | - | R | | | - | L | | | - | | v v - | R | +------------+ - | e | <------------------------------| CA | - | p | Publish certificate +------------+ - | o | Publish CRL ^ ^ - | s | | | Management - | i | +------------+ | | transactions - | t | <--------------| CRL Issuer |<----+ | - | o | Publish CRL +------------+ v - | r | +------+ - | y | | CA | - +---+ +------+ - - Figure 1 - PKI Entities - -3.1 X.509 Version 3 Certificate - - Users of a public key require confidence that the associated private - key is owned by the correct remote subject (person or system) with - which an encryption or digital signature mechanism will be used. - This confidence is obtained through the use of public key - certificates, which are data structures that bind public key values - to subjects. The binding is asserted by having a trusted CA - digitally sign each certificate. The CA may base this assertion upon - technical means (a.k.a., proof of possession through a challenge- - response protocol), presentation of the private key, or on an - assertion by the subject. A certificate has a limited valid lifetime - which is indicated in its signed contents. Because a certificate's - signature and timeliness can be independently checked by a - certificate-using client, certificates can be distributed via - - - -Housley, et. al. Standards Track [Page 8] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - untrusted communications and server systems, and can be cached in - unsecured storage in certificate-using systems. - - ITU-T X.509 (formerly CCITT X.509) or ISO/IEC 9594-8, which was first - published in 1988 as part of the X.500 Directory recommendations, - defines a standard certificate format [X.509]. The certificate - format in the 1988 standard is called the version 1 (v1) format. - When X.500 was revised in 1993, two more fields were added, resulting - in the version 2 (v2) format. - - The Internet Privacy Enhanced Mail (PEM) RFCs, published in 1993, - include specifications for a public key infrastructure based on X.509 - v1 certificates [RFC 1422]. The experience gained in attempts to - deploy RFC 1422 made it clear that the v1 and v2 certificate formats - are deficient in several respects. Most importantly, more fields - were needed to carry information which PEM design and implementation - experience had proven necessary. In response to these new - requirements, ISO/IEC, ITU-T and ANSI X9 developed the X.509 version - 3 (v3) certificate format. The v3 format extends the v2 format by - adding provision for additional extension fields. Particular - extension field types may be specified in standards or may be defined - and registered by any organization or community. In June 1996, - standardization of the basic v3 format was completed [X.509]. - - ISO/IEC, ITU-T, and ANSI X9 have also developed standard extensions - for use in the v3 extensions field [X.509][X9.55]. These extensions - can convey such data as additional subject identification - information, key attribute information, policy information, and - certification path constraints. - - However, the ISO/IEC, ITU-T, and ANSI X9 standard extensions are very - broad in their applicability. In order to develop interoperable - implementations of X.509 v3 systems for Internet use, it is necessary - to specify a profile for use of the X.509 v3 extensions tailored for - the Internet. It is one goal of this document to specify a profile - for Internet WWW, electronic mail, and IPsec applications. - Environments with additional requirements may build on this profile - or may replace it. - -3.2 Certification Paths and Trust - - A user of a security service requiring knowledge of a public key - generally needs to obtain and validate a certificate containing the - required public key. If the public key user does not already hold an - assured copy of the public key of the CA that signed the certificate, - the CA's name, and related information (such as the validity period - or name constraints), then it might need an additional certificate to - obtain that public key. In general, a chain of multiple certificates - - - -Housley, et. al. Standards Track [Page 9] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - may be needed, comprising a certificate of the public key owner (the - end entity) signed by one CA, and zero or more additional - certificates of CAs signed by other CAs. Such chains, called - certification paths, are required because a public key user is only - initialized with a limited number of assured CA public keys. - - There are different ways in which CAs might be configured in order - for public key users to be able to find certification paths. For - PEM, RFC 1422 defined a rigid hierarchical structure of CAs. There - are three types of PEM certification authority: - - (a) Internet Policy Registration Authority (IPRA): This - authority, operated under the auspices of the Internet Society, - acts as the root of the PEM certification hierarchy at level 1. - It issues certificates only for the next level of authorities, - PCAs. All certification paths start with the IPRA. - - (b) Policy Certification Authorities (PCAs): PCAs are at level 2 - of the hierarchy, each PCA being certified by the IPRA. A PCA - shall establish and publish a statement of its policy with respect - to certifying users or subordinate certification authorities. - Distinct PCAs aim to satisfy different user needs. For example, - one PCA (an organizational PCA) might support the general - electronic mail needs of commercial organizations, and another PCA - (a high-assurance PCA) might have a more stringent policy designed - for satisfying legally binding digital signature requirements. - - (c) Certification Authorities (CAs): CAs are at level 3 of the - hierarchy and can also be at lower levels. Those at level 3 are - certified by PCAs. CAs represent, for example, particular - organizations, particular organizational units (e.g., departments, - groups, sections), or particular geographical areas. - - RFC 1422 furthermore has a name subordination rule which requires - that a CA can only issue certificates for entities whose names are - subordinate (in the X.500 naming tree) to the name of the CA itself. - The trust associated with a PEM certification path is implied by the - PCA name. The name subordination rule ensures that CAs below the PCA - are sensibly constrained as to the set of subordinate entities they - can certify (e.g., a CA for an organization can only certify entities - in that organization's name tree). Certificate user systems are able - to mechanically check that the name subordination rule has been - followed. - - The RFC 1422 uses the X.509 v1 certificate formats. The limitations - of X.509 v1 required imposition of several structural restrictions to - clearly associate policy information or restrict the utility of - certificates. These restrictions included: - - - -Housley, et. al. Standards Track [Page 10] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (a) a pure top-down hierarchy, with all certification paths - starting from IPRA; - - (b) a naming subordination rule restricting the names of a CA's - subjects; and - - (c) use of the PCA concept, which requires knowledge of - individual PCAs to be built into certificate chain verification - logic. Knowledge of individual PCAs was required to determine if - a chain could be accepted. - - With X.509 v3, most of the requirements addressed by RFC 1422 can be - addressed using certificate extensions, without a need to restrict - the CA structures used. In particular, the certificate extensions - relating to certificate policies obviate the need for PCAs and the - constraint extensions obviate the need for the name subordination - rule. As a result, this document supports a more flexible - architecture, including: - - (a) Certification paths start with a public key of a CA in a - user's own domain, or with the public key of the top of a - hierarchy. Starting with the public key of a CA in a user's own - domain has certain advantages. In some environments, the local - domain is the most trusted. - - (b) Name constraints may be imposed through explicit inclusion of - a name constraints extension in a certificate, but are not - required. - - (c) Policy extensions and policy mappings replace the PCA - concept, which permits a greater degree of automation. The - application can determine if the certification path is acceptable - based on the contents of the certificates instead of a priori - knowledge of PCAs. This permits automation of certification path - processing. - -3.3 Revocation - - When a certificate is issued, it is expected to be in use for its - entire validity period. However, various circumstances may cause a - certificate to become invalid prior to the expiration of the validity - period. Such circumstances include change of name, change of - association between subject and CA (e.g., an employee terminates - employment with an organization), and compromise or suspected - compromise of the corresponding private key. Under such - circumstances, the CA needs to revoke the certificate. - - - - - -Housley, et. al. Standards Track [Page 11] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - X.509 defines one method of certificate revocation. This method - involves each CA periodically issuing a signed data structure called - a certificate revocation list (CRL). A CRL is a time stamped list - identifying revoked certificates which is signed by a CA or CRL - issuer and made freely available in a public repository. Each - revoked certificate is identified in a CRL by its certificate serial - number. When a certificate-using system uses a certificate (e.g., - for verifying a remote user's digital signature), that system not - only checks the certificate signature and validity but also acquires - a suitably-recent CRL and checks that the certificate serial number - is not on that CRL. The meaning of "suitably-recent" may vary with - local policy, but it usually means the most recently-issued CRL. A - new CRL is issued on a regular periodic basis (e.g., hourly, daily, - or weekly). An entry is added to the CRL as part of the next update - following notification of revocation. An entry MUST NOT be removed - from the CRL until it appears on one regularly scheduled CRL issued - beyond the revoked certificate's validity period. - - An advantage of this revocation method is that CRLs may be - distributed by exactly the same means as certificates themselves, - namely, via untrusted servers and untrusted communications. - - One limitation of the CRL revocation method, using untrusted - communications and servers, is that the time granularity of - revocation is limited to the CRL issue period. For example, if a - revocation is reported now, that revocation will not be reliably - notified to certificate-using systems until all currently issued CRLs - are updated -- this may be up to one hour, one day, or one week - depending on the frequency that CRLs are issued. - - As with the X.509 v3 certificate format, in order to facilitate - interoperable implementations from multiple vendors, the X.509 v2 CRL - format needs to be profiled for Internet use. It is one goal of this - document to specify that profile. However, this profile does not - require the issuance of CRLs. Message formats and protocols - supporting on-line revocation notification are defined in other PKIX - specifications. On-line methods of revocation notification may be - applicable in some environments as an alternative to the X.509 CRL. - On-line revocation checking may significantly reduce the latency - between a revocation report and the distribution of the information - to relying parties. Once the CA accepts a revocation report as - authentic and valid, any query to the on-line service will correctly - reflect the certificate validation impacts of the revocation. - However, these methods impose new security requirements: the - certificate validator needs to trust the on-line validation service - while the repository does not need to be trusted. - - - - - -Housley, et. al. Standards Track [Page 12] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -3.4 Operational Protocols - - Operational protocols are required to deliver certificates and CRLs - (or status information) to certificate using client systems. - Provisions are needed for a variety of different means of certificate - and CRL delivery, including distribution procedures based on LDAP, - HTTP, FTP, and X.500. Operational protocols supporting these - functions are defined in other PKIX specifications. These - specifications may include definitions of message formats and - procedures for supporting all of the above operational environments, - including definitions of or references to appropriate MIME content - types. - -3.5 Management Protocols - - Management protocols are required to support on-line interactions - between PKI user and management entities. For example, a management - protocol might be used between a CA and a client system with which a - key pair is associated, or between two CAs which cross-certify each - other. The set of functions which potentially need to be supported - by management protocols include: - - (a) registration: This is the process whereby a user first makes - itself known to a CA (directly, or through an RA), prior to that - CA issuing a certificate or certificates for that user. - - (b) initialization: Before a client system can operate securely - it is necessary to install key materials which have the - appropriate relationship with keys stored elsewhere in the - infrastructure. For example, the client needs to be securely - initialized with the public key and other assured information of - the trusted CA(s), to be used in validating certificate paths. - - Furthermore, a client typically needs to be initialized with its - own key pair(s). - - (c) certification: This is the process in which a CA issues a - certificate for a user's public key, and returns that certificate - to the user's client system and/or posts that certificate in a - repository. - - (d) key pair recovery: As an option, user client key materials - (e.g., a user's private key used for encryption purposes) may be - backed up by a CA or a key backup system. If a user needs to - recover these backed up key materials (e.g., as a result of a - forgotten password or a lost key chain file), an on-line protocol - exchange may be needed to support such recovery. - - - - -Housley, et. al. Standards Track [Page 13] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (e) key pair update: All key pairs need to be updated regularly, - i.e., replaced with a new key pair, and new certificates issued. - - (f) revocation request: An authorized person advises a CA of an - abnormal situation requiring certificate revocation. - - (g) cross-certification: Two CAs exchange information used in - establishing a cross-certificate. A cross-certificate is a - certificate issued by one CA to another CA which contains a CA - signature key used for issuing certificates. - - Note that on-line protocols are not the only way of implementing the - above functions. For all functions there are off-line methods of - achieving the same result, and this specification does not mandate - use of on-line protocols. For example, when hardware tokens are - used, many of the functions may be achieved as part of the physical - token delivery. Furthermore, some of the above functions may be - combined into one protocol exchange. In particular, two or more of - the registration, initialization, and certification functions can be - combined into one protocol exchange. - - The PKIX series of specifications defines a set of standard message - formats supporting the above functions. The protocols for conveying - these messages in different environments (e.g., e-mail, file - transfer, and WWW) are described in those specifications. - -4 Certificate and Certificate Extensions Profile - - This section presents a profile for public key certificates that will - foster interoperability and a reusable PKI. This section is based - upon the X.509 v3 certificate format and the standard certificate - extensions defined in [X.509]. The ISO/IEC and ITU-T documents use - the 1997 version of ASN.1; while this document uses the 1988 ASN.1 - syntax, the encoded certificate and standard extensions are - equivalent. This section also defines private extensions required to - support a PKI for the Internet community. - - Certificates may be used in a wide range of applications and - environments covering a broad spectrum of interoperability goals and - a broader spectrum of operational and assurance requirements. The - goal of this document is to establish a common baseline for generic - applications requiring broad interoperability and limited special - purpose requirements. In particular, the emphasis will be on - supporting the use of X.509 v3 certificates for informal Internet - electronic mail, IPsec, and WWW applications. - - - - - - -Housley, et. al. Standards Track [Page 14] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.1 Basic Certificate Fields - - The X.509 v3 certificate basic syntax is as follows. For signature - calculation, the data that is to be signed is encoded using the ASN.1 - distinguished encoding rules (DER) [X.690]. ASN.1 DER encoding is a - tag, length, value encoding system for each element. - - Certificate ::= SEQUENCE { - tbsCertificate TBSCertificate, - signatureAlgorithm AlgorithmIdentifier, - signatureValue BIT STRING } - - TBSCertificate ::= SEQUENCE { - version [0] EXPLICIT Version DEFAULT v1, - serialNumber CertificateSerialNumber, - signature AlgorithmIdentifier, - issuer Name, - validity Validity, - subject Name, - subjectPublicKeyInfo SubjectPublicKeyInfo, - issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, - -- If present, version MUST be v2 or v3 - subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, - -- If present, version MUST be v2 or v3 - extensions [3] EXPLICIT Extensions OPTIONAL - -- If present, version MUST be v3 - } - - Version ::= INTEGER { v1(0), v2(1), v3(2) } - - CertificateSerialNumber ::= INTEGER - - Validity ::= SEQUENCE { - notBefore Time, - notAfter Time } - - Time ::= CHOICE { - utcTime UTCTime, - generalTime GeneralizedTime } - - UniqueIdentifier ::= BIT STRING - - SubjectPublicKeyInfo ::= SEQUENCE { - algorithm AlgorithmIdentifier, - subjectPublicKey BIT STRING } - - Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension - - - - -Housley, et. al. Standards Track [Page 15] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Extension ::= SEQUENCE { - extnID OBJECT IDENTIFIER, - critical BOOLEAN DEFAULT FALSE, - extnValue OCTET STRING } - - The following items describe the X.509 v3 certificate for use in the - Internet. - -4.1.1 Certificate Fields - - The Certificate is a SEQUENCE of three required fields. The fields - are described in detail in the following subsections. - -4.1.1.1 tbsCertificate - - The field contains the names of the subject and issuer, a public key - associated with the subject, a validity period, and other associated - information. The fields are described in detail in section 4.1.2; - the tbsCertificate usually includes extensions which are described in - section 4.2. - -4.1.1.2 signatureAlgorithm - - The signatureAlgorithm field contains the identifier for the - cryptographic algorithm used by the CA to sign this certificate. - [PKIXALGS] lists supported signature algorithms, but other signature - algorithms MAY also be supported. - - An algorithm identifier is defined by the following ASN.1 structure: - - AlgorithmIdentifier ::= SEQUENCE { - algorithm OBJECT IDENTIFIER, - parameters ANY DEFINED BY algorithm OPTIONAL } - - The algorithm identifier is used to identify a cryptographic - algorithm. The OBJECT IDENTIFIER component identifies the algorithm - (such as DSA with SHA-1). The contents of the optional parameters - field will vary according to the algorithm identified. - - This field MUST contain the same algorithm identifier as the - signature field in the sequence tbsCertificate (section 4.1.2.3). - -4.1.1.3 signatureValue - - The signatureValue field contains a digital signature computed upon - the ASN.1 DER encoded tbsCertificate. The ASN.1 DER encoded - tbsCertificate is used as the input to the signature function. This - - - - -Housley, et. al. Standards Track [Page 16] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - signature value is encoded as a BIT STRING and included in the - signature field. The details of this process are specified for each - of algorithms listed in [PKIXALGS]. - - By generating this signature, a CA certifies the validity of the - information in the tbsCertificate field. In particular, the CA - certifies the binding between the public key material and the subject - of the certificate. - -4.1.2 TBSCertificate - - The sequence TBSCertificate contains information associated with the - subject of the certificate and the CA who issued it. Every - TBSCertificate contains the names of the subject and issuer, a public - key associated with the subject, a validity period, a version number, - and a serial number; some MAY contain optional unique identifier - fields. The remainder of this section describes the syntax and - semantics of these fields. A TBSCertificate usually includes - extensions. Extensions for the Internet PKI are described in Section - 4.2. - -4.1.2.1 Version - - This field describes the version of the encoded certificate. When - extensions are used, as expected in this profile, version MUST be 3 - (value is 2). If no extensions are present, but a UniqueIdentifier - is present, the version SHOULD be 2 (value is 1); however version MAY - be 3. If only basic fields are present, the version SHOULD be 1 (the - value is omitted from the certificate as the default value); however - the version MAY be 2 or 3. - - Implementations SHOULD be prepared to accept any version certificate. - At a minimum, conforming implementations MUST recognize version 3 - certificates. - - Generation of version 2 certificates is not expected by - implementations based on this profile. - -4.1.2.2 Serial number - - The serial number MUST be a positive integer assigned by the CA to - each certificate. It MUST be unique for each certificate issued by a - given CA (i.e., the issuer name and serial number identify a unique - certificate). CAs MUST force the serialNumber to be a non-negative - integer. - - - - - - -Housley, et. al. Standards Track [Page 17] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Given the uniqueness requirements above, serial numbers can be - expected to contain long integers. Certificate users MUST be able to - handle serialNumber values up to 20 octets. Conformant CAs MUST NOT - use serialNumber values longer than 20 octets. - - Note: Non-conforming CAs may issue certificates with serial numbers - that are negative, or zero. Certificate users SHOULD be prepared to - gracefully handle such certificates. - -4.1.2.3 Signature - - This field contains the algorithm identifier for the algorithm used - by the CA to sign the certificate. - - This field MUST contain the same algorithm identifier as the - signatureAlgorithm field in the sequence Certificate (section - 4.1.1.2). The contents of the optional parameters field will vary - according to the algorithm identified. [PKIXALGS] lists the - supported signature algorithms, but other signature algorithms MAY - also be supported. - -4.1.2.4 Issuer - - The issuer field identifies the entity who has signed and issued the - certificate. The issuer field MUST contain a non-empty distinguished - name (DN). The issuer field is defined as the X.501 type Name - [X.501]. Name is defined by the following ASN.1 structures: - - Name ::= CHOICE { - RDNSequence } - - RDNSequence ::= SEQUENCE OF RelativeDistinguishedName - - RelativeDistinguishedName ::= - SET OF AttributeTypeAndValue - - AttributeTypeAndValue ::= SEQUENCE { - type AttributeType, - value AttributeValue } - - AttributeType ::= OBJECT IDENTIFIER - - AttributeValue ::= ANY DEFINED BY AttributeType - - - - - - - - -Housley, et. al. Standards Track [Page 18] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - DirectoryString ::= CHOICE { - teletexString TeletexString (SIZE (1..MAX)), - printableString PrintableString (SIZE (1..MAX)), - universalString UniversalString (SIZE (1..MAX)), - utf8String UTF8String (SIZE (1..MAX)), - bmpString BMPString (SIZE (1..MAX)) } - - The Name describes a hierarchical name composed of attributes, such - as country name, and corresponding values, such as US. The type of - the component AttributeValue is determined by the AttributeType; in - general it will be a DirectoryString. - - The DirectoryString type is defined as a choice of PrintableString, - TeletexString, BMPString, UTF8String, and UniversalString. The - UTF8String encoding [RFC 2279] is the preferred encoding, and all - certificates issued after December 31, 2003 MUST use the UTF8String - encoding of DirectoryString (except as noted below). Until that - date, conforming CAs MUST choose from the following options when - creating a distinguished name, including their own: - - (a) if the character set is sufficient, the string MAY be - represented as a PrintableString; - - (b) failing (a), if the BMPString character set is sufficient the - string MAY be represented as a BMPString; and - - (c) failing (a) and (b), the string MUST be represented as a - UTF8String. If (a) or (b) is satisfied, the CA MAY still choose - to represent the string as a UTF8String. - - Exceptions to the December 31, 2003 UTF8 encoding requirements are as - follows: - - (a) CAs MAY issue "name rollover" certificates to support an - orderly migration to UTF8String encoding. Such certificates would - include the CA's UTF8String encoded name as issuer and and the old - name encoding as subject, or vice-versa. - - (b) As stated in section 4.1.2.6, the subject field MUST be - populated with a non-empty distinguished name matching the - contents of the issuer field in all certificates issued by the - subject CA regardless of encoding. - - The TeletexString and UniversalString are included for backward - compatibility, and SHOULD NOT be used for certificates for new - subjects. However, these types MAY be used in certificates where the - name was previously established. Certificate users SHOULD be - prepared to receive certificates with these types. - - - -Housley, et. al. Standards Track [Page 19] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - In addition, many legacy implementations support names encoded in the - ISO 8859-1 character set (Latin1String) [ISO 8859-1] but tag them as - TeletexString. TeletexString encodes a larger character set than ISO - 8859-1, but it encodes some characters differently. Implementations - SHOULD be prepared to handle both encodings. - - As noted above, distinguished names are composed of attributes. This - specification does not restrict the set of attribute types that may - appear in names. However, conforming implementations MUST be - prepared to receive certificates with issuer names containing the set - of attribute types defined below. This specification RECOMMENDS - support for additional attribute types. - - Standard sets of attributes have been defined in the X.500 series of - specifications [X.520]. Implementations of this specification MUST - be prepared to receive the following standard attribute types in - issuer and subject (section 4.1.2.6) names: - - * country, - * organization, - * organizational-unit, - * distinguished name qualifier, - * state or province name, - * common name (e.g., "Susan Housley"), and - * serial number. - - In addition, implementations of this specification SHOULD be prepared - to receive the following standard attribute types in issuer and - subject names: - - * locality, - * title, - * surname, - * given name, - * initials, - * pseudonym, and - * generation qualifier (e.g., "Jr.", "3rd", or "IV"). - - The syntax and associated object identifiers (OIDs) for these - attribute types are provided in the ASN.1 modules in Appendix A. - - In addition, implementations of this specification MUST be prepared - to receive the domainComponent attribute, as defined in [RFC 2247]. - The Domain Name System (DNS) provides a hierarchical resource - labeling system. This attribute provides a convenient mechanism for - organizations that wish to use DNs that parallel their DNS names. - This is not a replacement for the dNSName component of the - - - - -Housley, et. al. Standards Track [Page 20] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - alternative name field. Implementations are not required to convert - such names into DNS names. The syntax and associated OID for this - attribute type is provided in the ASN.1 modules in Appendix A. - - Certificate users MUST be prepared to process the issuer - distinguished name and subject distinguished name (section 4.1.2.6) - fields to perform name chaining for certification path validation - (section 6). Name chaining is performed by matching the issuer - distinguished name in one certificate with the subject name in a CA - certificate. - - This specification requires only a subset of the name comparison - functionality specified in the X.500 series of specifications. - Conforming implementations are REQUIRED to implement the following - name comparison rules: - - (a) attribute values encoded in different types (e.g., - PrintableString and BMPString) MAY be assumed to represent - different strings; - - (b) attribute values in types other than PrintableString are case - sensitive (this permits matching of attribute values as binary - objects); - - (c) attribute values in PrintableString are not case sensitive - (e.g., "Marianne Swanson" is the same as "MARIANNE SWANSON"); and - - (d) attribute values in PrintableString are compared after - removing leading and trailing white space and converting internal - substrings of one or more consecutive white space characters to a - single space. - - These name comparison rules permit a certificate user to validate - certificates issued using languages or encodings unfamiliar to the - certificate user. - - In addition, implementations of this specification MAY use these - comparison rules to process unfamiliar attribute types for name - chaining. This allows implementations to process certificates with - unfamiliar attributes in the issuer name. - - Note that the comparison rules defined in the X.500 series of - specifications indicate that the character sets used to encode data - in distinguished names are irrelevant. The characters themselves are - compared without regard to encoding. Implementations of this profile - are permitted to use the comparison algorithm defined in the X.500 - series. Such an implementation will recognize a superset of name - matches recognized by the algorithm specified above. - - - -Housley, et. al. Standards Track [Page 21] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.1.2.5 Validity - - The certificate validity period is the time interval during which the - CA warrants that it will maintain information about the status of the - certificate. The field is represented as a SEQUENCE of two dates: - the date on which the certificate validity period begins (notBefore) - and the date on which the certificate validity period ends - (notAfter). Both notBefore and notAfter may be encoded as UTCTime or - GeneralizedTime. - - CAs conforming to this profile MUST always encode certificate - validity dates through the year 2049 as UTCTime; certificate validity - dates in 2050 or later MUST be encoded as GeneralizedTime. - - The validity period for a certificate is the period of time from - notBefore through notAfter, inclusive. - -4.1.2.5.1 UTCTime - - The universal time type, UTCTime, is a standard ASN.1 type intended - for representation of dates and time. UTCTime specifies the year - through the two low order digits and time is specified to the - precision of one minute or one second. UTCTime includes either Z - (for Zulu, or Greenwich Mean Time) or a time differential. - - For the purposes of this profile, UTCTime values MUST be expressed - Greenwich Mean Time (Zulu) and MUST include seconds (i.e., times are - YYMMDDHHMMSSZ), even where the number of seconds is zero. Conforming - systems MUST interpret the year field (YY) as follows: - - Where YY is greater than or equal to 50, the year SHALL be - interpreted as 19YY; and - - Where YY is less than 50, the year SHALL be interpreted as 20YY. - -4.1.2.5.2 GeneralizedTime - - The generalized time type, GeneralizedTime, is a standard ASN.1 type - for variable precision representation of time. Optionally, the - GeneralizedTime field can include a representation of the time - differential between local and Greenwich Mean Time. - - For the purposes of this profile, GeneralizedTime values MUST be - expressed Greenwich Mean Time (Zulu) and MUST include seconds (i.e., - times are YYYYMMDDHHMMSSZ), even where the number of seconds is zero. - GeneralizedTime values MUST NOT include fractional seconds. - - - - - -Housley, et. al. Standards Track [Page 22] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.1.2.6 Subject - - The subject field identifies the entity associated with the public - key stored in the subject public key field. The subject name MAY be - carried in the subject field and/or the subjectAltName extension. If - the subject is a CA (e.g., the basic constraints extension, as - discussed in 4.2.1.10, is present and the value of cA is TRUE), then - the subject field MUST be populated with a non-empty distinguished - name matching the contents of the issuer field (section 4.1.2.4) in - all certificates issued by the subject CA. If the subject is a CRL - issuer (e.g., the key usage extension, as discussed in 4.2.1.3, is - present and the value of cRLSign is TRUE) then the subject field MUST - be populated with a non-empty distinguished name matching the - contents of the issuer field (section 4.1.2.4) in all CRLs issued by - the subject CRL issuer. If subject naming information is present - only in the subjectAltName extension (e.g., a key bound only to an - email address or URI), then the subject name MUST be an empty - sequence and the subjectAltName extension MUST be critical. - - Where it is non-empty, the subject field MUST contain an X.500 - distinguished name (DN). The DN MUST be unique for each subject - entity certified by the one CA as defined by the issuer name field. - A CA MAY issue more than one certificate with the same DN to the same - subject entity. - - The subject name field is defined as the X.501 type Name. - Implementation requirements for this field are those defined for the - issuer field (section 4.1.2.4). When encoding attribute values of - type DirectoryString, the encoding rules for the issuer field MUST be - implemented. Implementations of this specification MUST be prepared - to receive subject names containing the attribute types required for - the issuer field. Implementations of this specification SHOULD be - prepared to receive subject names containing the recommended - attribute types for the issuer field. The syntax and associated - object identifiers (OIDs) for these attribute types are provided in - the ASN.1 modules in Appendix A. Implementations of this - specification MAY use these comparison rules to process unfamiliar - attribute types (i.e., for name chaining). This allows - implementations to process certificates with unfamiliar attributes in - the subject name. - - In addition, legacy implementations exist where an RFC 822 name is - embedded in the subject distinguished name as an EmailAddress - attribute. The attribute value for EmailAddress is of type IA5String - to permit inclusion of the character '@', which is not part of the - PrintableString character set. EmailAddress attribute values are not - case sensitive (e.g., "fanfeedback@redsox.com" is the same as - "FANFEEDBACK@REDSOX.COM"). - - - -Housley, et. al. Standards Track [Page 23] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Conforming implementations generating new certificates with - electronic mail addresses MUST use the rfc822Name in the subject - alternative name field (section 4.2.1.7) to describe such identities. - Simultaneous inclusion of the EmailAddress attribute in the subject - distinguished name to support legacy implementations is deprecated - but permitted. - -4.1.2.7 Subject Public Key Info - - This field is used to carry the public key and identify the algorithm - with which the key is used (e.g., RSA, DSA, or Diffie-Hellman). The - algorithm is identified using the AlgorithmIdentifier structure - specified in section 4.1.1.2. The object identifiers for the - supported algorithms and the methods for encoding the public key - materials (public key and parameters) are specified in [PKIXALGS]. - -4.1.2.8 Unique Identifiers - - These fields MUST only appear if the version is 2 or 3 (section - 4.1.2.1). These fields MUST NOT appear if the version is 1. The - subject and issuer unique identifiers are present in the certificate - to handle the possibility of reuse of subject and/or issuer names - over time. This profile RECOMMENDS that names not be reused for - different entities and that Internet certificates not make use of - unique identifiers. CAs conforming to this profile SHOULD NOT - generate certificates with unique identifiers. Applications - conforming to this profile SHOULD be capable of parsing unique - identifiers. - -4.1.2.9 Extensions - - This field MUST only appear if the version is 3 (section 4.1.2.1). - If present, this field is a SEQUENCE of one or more certificate - extensions. The format and content of certificate extensions in the - Internet PKI is defined in section 4.2. - -4.2 Certificate Extensions - - The extensions defined for X.509 v3 certificates provide methods for - associating additional attributes with users or public keys and for - managing a certification hierarchy. The X.509 v3 certificate format - also allows communities to define private extensions to carry - information unique to those communities. Each extension in a - certificate is designated as either critical or non-critical. A - certificate using system MUST reject the certificate if it encounters - a critical extension it does not recognize; however, a non-critical - extension MAY be ignored if it is not recognized. The following - sections present recommended extensions used within Internet - - - -Housley, et. al. Standards Track [Page 24] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - certificates and standard locations for information. Communities may - elect to use additional extensions; however, caution ought to be - exercised in adopting any critical extensions in certificates which - might prevent use in a general context. - - Each extension includes an OID and an ASN.1 structure. When an - extension appears in a certificate, the OID appears as the field - extnID and the corresponding ASN.1 encoded structure is the value of - the octet string extnValue. A certificate MUST NOT include more than - one instance of a particular extension. For example, a certificate - may contain only one authority key identifier extension (section - 4.2.1.1). An extension includes the boolean critical, with a default - value of FALSE. The text for each extension specifies the acceptable - values for the critical field. - - Conforming CAs MUST support key identifiers (sections 4.2.1.1 and - 4.2.1.2), basic constraints (section 4.2.1.10), key usage (section - 4.2.1.3), and certificate policies (section 4.2.1.5) extensions. If - the CA issues certificates with an empty sequence for the subject - field, the CA MUST support the subject alternative name extension - (section 4.2.1.7). Support for the remaining extensions is OPTIONAL. - Conforming CAs MAY support extensions that are not identified within - this specification; certificate issuers are cautioned that marking - such extensions as critical may inhibit interoperability. - - At a minimum, applications conforming to this profile MUST recognize - the following extensions: key usage (section 4.2.1.3), certificate - policies (section 4.2.1.5), the subject alternative name (section - 4.2.1.7), basic constraints (section 4.2.1.10), name constraints - (section 4.2.1.11), policy constraints (section 4.2.1.12), extended - key usage (section 4.2.1.13), and inhibit any-policy (section - 4.2.1.15). - - In addition, applications conforming to this profile SHOULD recognize - the authority and subject key identifier (sections 4.2.1.1 and - 4.2.1.2), and policy mapping (section 4.2.1.6) extensions. - -4.2.1 Standard Extensions - - This section identifies standard certificate extensions defined in - [X.509] for use in the Internet PKI. Each extension is associated - with an OID defined in [X.509]. These OIDs are members of the id-ce - arc, which is defined by the following: - - id-ce OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 29 } - - - - - - -Housley, et. al. Standards Track [Page 25] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.2.1.1 Authority Key Identifier - - The authority key identifier extension provides a means of - identifying the public key corresponding to the private key used to - sign a certificate. This extension is used where an issuer has - multiple signing keys (either due to multiple concurrent key pairs or - due to changeover). The identification MAY be based on either the - key identifier (the subject key identifier in the issuer's - certificate) or on the issuer name and serial number. - - The keyIdentifier field of the authorityKeyIdentifier extension MUST - be included in all certificates generated by conforming CAs to - facilitate certification path construction. There is one exception; - where a CA distributes its public key in the form of a "self-signed" - certificate, the authority key identifier MAY be omitted. The - signature on a self-signed certificate is generated with the private - key associated with the certificate's subject public key. (This - proves that the issuer possesses both the public and private keys.) - In this case, the subject and authority key identifiers would be - identical, but only the subject key identifier is needed for - certification path building. - - The value of the keyIdentifier field SHOULD be derived from the - public key used to verify the certificate's signature or a method - that generates unique values. Two common methods for generating key - identifiers from the public key, and one common method for generating - unique values, are described in section 4.2.1.2. Where a key - identifier has not been previously established, this specification - RECOMMENDS use of one of these methods for generating keyIdentifiers. - Where a key identifier has been previously established, the CA SHOULD - use the previously established identifier. - - This profile RECOMMENDS support for the key identifier method by all - certificate users. - - This extension MUST NOT be marked critical. - - id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 } - - AuthorityKeyIdentifier ::= SEQUENCE { - keyIdentifier [0] KeyIdentifier OPTIONAL, - authorityCertIssuer [1] GeneralNames OPTIONAL, - authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL } - - KeyIdentifier ::= OCTET STRING - - - - - - -Housley, et. al. Standards Track [Page 26] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.2.1.2 Subject Key Identifier - - The subject key identifier extension provides a means of identifying - certificates that contain a particular public key. - - To facilitate certification path construction, this extension MUST - appear in all conforming CA certificates, that is, all certificates - including the basic constraints extension (section 4.2.1.10) where - the value of cA is TRUE. The value of the subject key identifier - MUST be the value placed in the key identifier field of the Authority - Key Identifier extension (section 4.2.1.1) of certificates issued by - the subject of this certificate. - - For CA certificates, subject key identifiers SHOULD be derived from - the public key or a method that generates unique values. Two common - methods for generating key identifiers from the public key are: - - (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the - value of the BIT STRING subjectPublicKey (excluding the tag, - length, and number of unused bits). - - (2) The keyIdentifier is composed of a four bit type field with - the value 0100 followed by the least significant 60 bits of the - SHA-1 hash of the value of the BIT STRING subjectPublicKey - (excluding the tag, length, and number of unused bit string bits). - - One common method for generating unique values is a monotonically - increasing sequence of integers. - - For end entity certificates, the subject key identifier extension - provides a means for identifying certificates containing the - particular public key used in an application. Where an end entity - has obtained multiple certificates, especially from multiple CAs, the - subject key identifier provides a means to quickly identify the set - of certificates containing a particular public key. To assist - applications in identifying the appropriate end entity certificate, - this extension SHOULD be included in all end entity certificates. - - For end entity certificates, subject key identifiers SHOULD be - derived from the public key. Two common methods for generating key - identifiers from the public key are identified above. - - Where a key identifier has not been previously established, this - specification RECOMMENDS use of one of these methods for generating - keyIdentifiers. Where a key identifier has been previously - established, the CA SHOULD use the previously established identifier. - - This extension MUST NOT be marked critical. - - - -Housley, et. al. Standards Track [Page 27] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 } - - SubjectKeyIdentifier ::= KeyIdentifier - -4.2.1.3 Key Usage - - The key usage extension defines the purpose (e.g., encipherment, - signature, certificate signing) of the key contained in the - certificate. The usage restriction might be employed when a key that - could be used for more than one operation is to be restricted. For - example, when an RSA key should be used only to verify signatures on - objects other than public key certificates and CRLs, the - digitalSignature and/or nonRepudiation bits would be asserted. - Likewise, when an RSA key should be used only for key management, the - keyEncipherment bit would be asserted. - - This extension MUST appear in certificates that contain public keys - that are used to validate digital signatures on other public key - certificates or CRLs. When this extension appears, it SHOULD be - marked critical. - - id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } - - KeyUsage ::= BIT STRING { - digitalSignature (0), - nonRepudiation (1), - keyEncipherment (2), - dataEncipherment (3), - keyAgreement (4), - keyCertSign (5), - cRLSign (6), - encipherOnly (7), - decipherOnly (8) } - - Bits in the KeyUsage type are used as follows: - - The digitalSignature bit is asserted when the subject public key - is used with a digital signature mechanism to support security - services other than certificate signing (bit 5), or CRL signing - (bit 6). Digital signature mechanisms are often used for entity - authentication and data origin authentication with integrity. - - The nonRepudiation bit is asserted when the subject public key is - used to verify digital signatures used to provide a non- - repudiation service which protects against the signing entity - falsely denying some action, excluding certificate or CRL signing. - In the case of later conflict, a reliable third party may - determine the authenticity of the signed data. - - - -Housley, et. al. Standards Track [Page 28] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Further distinctions between the digitalSignature and - nonRepudiation bits may be provided in specific certificate - policies. - - The keyEncipherment bit is asserted when the subject public key is - used for key transport. For example, when an RSA key is to be - used for key management, then this bit is set. - - The dataEncipherment bit is asserted when the subject public key - is used for enciphering user data, other than cryptographic keys. - - The keyAgreement bit is asserted when the subject public key is - used for key agreement. For example, when a Diffie-Hellman key is - to be used for key management, then this bit is set. - - The keyCertSign bit is asserted when the subject public key is - used for verifying a signature on public key certificates. If the - keyCertSign bit is asserted, then the cA bit in the basic - constraints extension (section 4.2.1.10) MUST also be asserted. - - The cRLSign bit is asserted when the subject public key is used - for verifying a signature on certificate revocation list (e.g., a - CRL, delta CRL, or an ARL). This bit MUST be asserted in - certificates that are used to verify signatures on CRLs. - - The meaning of the encipherOnly bit is undefined in the absence of - the keyAgreement bit. When the encipherOnly bit is asserted and - the keyAgreement bit is also set, the subject public key may be - used only for enciphering data while performing key agreement. - - The meaning of the decipherOnly bit is undefined in the absence of - the keyAgreement bit. When the decipherOnly bit is asserted and - the keyAgreement bit is also set, the subject public key may be - used only for deciphering data while performing key agreement. - - This profile does not restrict the combinations of bits that may be - set in an instantiation of the keyUsage extension. However, - appropriate values for keyUsage extensions for particular algorithms - are specified in [PKIXALGS]. - -4.2.1.4 Private Key Usage Period - - This extension SHOULD NOT be used within the Internet PKI. CAs - conforming to this profile MUST NOT generate certificates that - include a critical private key usage period extension. - - - - - - -Housley, et. al. Standards Track [Page 29] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - The private key usage period extension allows the certificate issuer - to specify a different validity period for the private key than the - certificate. This extension is intended for use with digital - signature keys. This extension consists of two optional components, - notBefore and notAfter. The private key associated with the - certificate SHOULD NOT be used to sign objects before or after the - times specified by the two components, respectively. CAs conforming - to this profile MUST NOT generate certificates with private key usage - period extensions unless at least one of the two components is - present and the extension is non-critical. - - Where used, notBefore and notAfter are represented as GeneralizedTime - and MUST be specified and interpreted as defined in section - 4.1.2.5.2. - - id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 } - - PrivateKeyUsagePeriod ::= SEQUENCE { - notBefore [0] GeneralizedTime OPTIONAL, - notAfter [1] GeneralizedTime OPTIONAL } - -4.2.1.5 Certificate Policies - - The certificate policies extension contains a sequence of one or more - policy information terms, each of which consists of an object - identifier (OID) and optional qualifiers. Optional qualifiers, which - MAY be present, are not expected to change the definition of the - policy. - - In an end entity certificate, these policy information terms indicate - the policy under which the certificate has been issued and the - purposes for which the certificate may be used. In a CA certificate, - these policy information terms limit the set of policies for - certification paths which include this certificate. When a CA does - not wish to limit the set of policies for certification paths which - include this certificate, it MAY assert the special policy anyPolicy, - with a value of { 2 5 29 32 0 }. - - Applications with specific policy requirements are expected to have a - list of those policies which they will accept and to compare the - policy OIDs in the certificate to that list. If this extension is - critical, the path validation software MUST be able to interpret this - extension (including the optional qualifier), or MUST reject the - certificate. - - To promote interoperability, this profile RECOMMENDS that policy - information terms consist of only an OID. Where an OID alone is - insufficient, this profile strongly recommends that use of qualifiers - - - -Housley, et. al. Standards Track [Page 30] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - be limited to those identified in this section. When qualifiers are - used with the special policy anyPolicy, they MUST be limited to the - qualifiers identified in this section. - - This specification defines two policy qualifier types for use by - certificate policy writers and certificate issuers. The qualifier - types are the CPS Pointer and User Notice qualifiers. - - The CPS Pointer qualifier contains a pointer to a Certification - Practice Statement (CPS) published by the CA. The pointer is in the - form of a URI. Processing requirements for this qualifier are a - local matter. No action is mandated by this specification regardless - of the criticality value asserted for the extension. - - User notice is intended for display to a relying party when a - certificate is used. The application software SHOULD display all - user notices in all certificates of the certification path used, - except that if a notice is duplicated only one copy need be - displayed. To prevent such duplication, this qualifier SHOULD only - be present in end entity certificates and CA certificates issued to - other organizations. - - The user notice has two optional fields: the noticeRef field and the - explicitText field. - - The noticeRef field, if used, names an organization and - identifies, by number, a particular textual statement prepared by - that organization. For example, it might identify the - organization "CertsRUs" and notice number 1. In a typical - implementation, the application software will have a notice file - containing the current set of notices for CertsRUs; the - application will extract the notice text from the file and display - it. Messages MAY be multilingual, allowing the software to select - the particular language message for its own environment. - - An explicitText field includes the textual statement directly in - the certificate. The explicitText field is a string with a - maximum size of 200 characters. - - If both the noticeRef and explicitText options are included in the - one qualifier and if the application software can locate the notice - text indicated by the noticeRef option, then that text SHOULD be - displayed; otherwise, the explicitText string SHOULD be displayed. - - Note: While the explicitText has a maximum size of 200 characters, - some non-conforming CAs exceed this limit. Therefore, certificate - users SHOULD gracefully handle explicitText with more than 200 - characters. - - - -Housley, et. al. Standards Track [Page 31] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 } - - anyPolicy OBJECT IDENTIFIER ::= { id-ce-certificate-policies 0 } - - certificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation - - PolicyInformation ::= SEQUENCE { - policyIdentifier CertPolicyId, - policyQualifiers SEQUENCE SIZE (1..MAX) OF - PolicyQualifierInfo OPTIONAL } - - CertPolicyId ::= OBJECT IDENTIFIER - - PolicyQualifierInfo ::= SEQUENCE { - policyQualifierId PolicyQualifierId, - qualifier ANY DEFINED BY policyQualifierId } - - -- policyQualifierIds for Internet policy qualifiers - - id-qt OBJECT IDENTIFIER ::= { id-pkix 2 } - id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 } - id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 } - - PolicyQualifierId ::= - OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice ) - - Qualifier ::= CHOICE { - cPSuri CPSuri, - userNotice UserNotice } - - CPSuri ::= IA5String - - UserNotice ::= SEQUENCE { - noticeRef NoticeReference OPTIONAL, - explicitText DisplayText OPTIONAL} - - NoticeReference ::= SEQUENCE { - organization DisplayText, - noticeNumbers SEQUENCE OF INTEGER } - - DisplayText ::= CHOICE { - ia5String IA5String (SIZE (1..200)), - visibleString VisibleString (SIZE (1..200)), - bmpString BMPString (SIZE (1..200)), - utf8String UTF8String (SIZE (1..200)) } - - - - - - -Housley, et. al. Standards Track [Page 32] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.2.1.6 Policy Mappings - - This extension is used in CA certificates. It lists one or more - pairs of OIDs; each pair includes an issuerDomainPolicy and a - subjectDomainPolicy. The pairing indicates the issuing CA considers - its issuerDomainPolicy equivalent to the subject CA's - subjectDomainPolicy. - - The issuing CA's users might accept an issuerDomainPolicy for certain - applications. The policy mapping defines the list of policies - associated with the subject CA that may be accepted as comparable to - the issuerDomainPolicy. - - Each issuerDomainPolicy named in the policy mapping extension SHOULD - also be asserted in a certificate policies extension in the same - certificate. Policies SHOULD NOT be mapped either to or from the - special value anyPolicy (section 4.2.1.5). - - This extension MAY be supported by CAs and/or applications, and it - MUST be non-critical. - - id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 } - - PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { - issuerDomainPolicy CertPolicyId, - subjectDomainPolicy CertPolicyId } - -4.2.1.7 Subject Alternative Name - - The subject alternative names extension allows additional identities - to be bound to the subject of the certificate. Defined options - include an Internet electronic mail address, a DNS name, an IP - address, and a uniform resource identifier (URI). Other options - exist, including completely local definitions. Multiple name forms, - and multiple instances of each name form, MAY be included. Whenever - such identities are to be bound into a certificate, the subject - alternative name (or issuer alternative name) extension MUST be used; - however, a DNS name MAY be represented in the subject field using the - domainComponent attribute as described in section 4.1.2.4. - - Because the subject alternative name is considered to be definitively - bound to the public key, all parts of the subject alternative name - MUST be verified by the CA. - - Further, if the only subject identity included in the certificate is - an alternative name form (e.g., an electronic mail address), then the - subject distinguished name MUST be empty (an empty sequence), and the - - - - -Housley, et. al. Standards Track [Page 33] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - subjectAltName extension MUST be present. If the subject field - contains an empty sequence, the subjectAltName extension MUST be - marked critical. - - When the subjectAltName extension contains an Internet mail address, - the address MUST be included as an rfc822Name. The format of an - rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822]. An - addr-spec has the form "local-part@domain". Note that an addr-spec - has no phrase (such as a common name) before it, has no comment (text - surrounded in parentheses) after it, and is not surrounded by "<" and - ">". Note that while upper and lower case letters are allowed in an - RFC 822 addr-spec, no significance is attached to the case. - - When the subjectAltName extension contains a iPAddress, the address - MUST be stored in the octet string in "network byte order," as - specified in RFC 791 [RFC 791]. The least significant bit (LSB) of - each octet is the LSB of the corresponding byte in the network - address. For IP Version 4, as specified in RFC 791, the octet string - MUST contain exactly four octets. For IP Version 6, as specified in - RFC 1883, the octet string MUST contain exactly sixteen octets [RFC - 1883]. - - When the subjectAltName extension contains a domain name system - label, the domain name MUST be stored in the dNSName (an IA5String). - The name MUST be in the "preferred name syntax," as specified by RFC - 1034 [RFC 1034]. Note that while upper and lower case letters are - allowed in domain names, no signifigance is attached to the case. In - addition, while the string " " is a legal domain name, subjectAltName - extensions with a dNSName of " " MUST NOT be used. Finally, the use - of the DNS representation for Internet mail addresses (wpolk.nist.gov - instead of wpolk@nist.gov) MUST NOT be used; such identities are to - be encoded as rfc822Name. - - Note: work is currently underway to specify domain names in - international character sets. Such names will likely not be - accommodated by IA5String. Once this work is complete, this profile - will be revisited and the appropriate functionality will be added. - - When the subjectAltName extension contains a URI, the name MUST be - stored in the uniformResourceIdentifier (an IA5String). The name - MUST NOT be a relative URL, and it MUST follow the URL syntax and - encoding rules specified in [RFC 1738]. The name MUST include both a - scheme (e.g., "http" or "ftp") and a scheme-specific-part. The - scheme-specific-part MUST include a fully qualified domain name or IP - address as the host. - - - - - - -Housley, et. al. Standards Track [Page 34] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - As specified in [RFC 1738], the scheme name is not case-sensitive - (e.g., "http" is equivalent to "HTTP"). The host part is also not - case-sensitive, but other components of the scheme-specific-part may - be case-sensitive. When comparing URIs, conforming implementations - MUST compare the scheme and host without regard to case, but assume - the remainder of the scheme-specific-part is case sensitive. - - When the subjectAltName extension contains a DN in the directoryName, - the DN MUST be unique for each subject entity certified by the one CA - as defined by the issuer name field. A CA MAY issue more than one - certificate with the same DN to the same subject entity. - - The subjectAltName MAY carry additional name types through the use of - the otherName field. The format and semantics of the name are - indicated through the OBJECT IDENTIFIER in the type-id field. The - name itself is conveyed as value field in otherName. For example, - Kerberos [RFC 1510] format names can be encoded into the otherName, - using using a Kerberos 5 principal name OID and a SEQUENCE of the - Realm and the PrincipalName. - - Subject alternative names MAY be constrained in the same manner as - subject distinguished names using the name constraints extension as - described in section 4.2.1.11. - - If the subjectAltName extension is present, the sequence MUST contain - at least one entry. Unlike the subject field, conforming CAs MUST - NOT issue certificates with subjectAltNames containing empty - GeneralName fields. For example, an rfc822Name is represented as an - IA5String. While an empty string is a valid IA5String, such an - rfc822Name is not permitted by this profile. The behavior of clients - that encounter such a certificate when processing a certificication - path is not defined by this profile. - - Finally, the semantics of subject alternative names that include - wildcard characters (e.g., as a placeholder for a set of names) are - not addressed by this specification. Applications with specific - requirements MAY use such names, but they must define the semantics. - - id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 } - - SubjectAltName ::= GeneralNames - - GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName - - - - - - - - -Housley, et. al. Standards Track [Page 35] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - GeneralName ::= CHOICE { - otherName [0] OtherName, - rfc822Name [1] IA5String, - dNSName [2] IA5String, - x400Address [3] ORAddress, - directoryName [4] Name, - ediPartyName [5] EDIPartyName, - uniformResourceIdentifier [6] IA5String, - iPAddress [7] OCTET STRING, - registeredID [8] OBJECT IDENTIFIER } - - OtherName ::= SEQUENCE { - type-id OBJECT IDENTIFIER, - value [0] EXPLICIT ANY DEFINED BY type-id } - - EDIPartyName ::= SEQUENCE { - nameAssigner [0] DirectoryString OPTIONAL, - partyName [1] DirectoryString } - -4.2.1.8 Issuer Alternative Names - - As with 4.2.1.7, this extension is used to associate Internet style - identities with the certificate issuer. Issuer alternative names - MUST be encoded as in 4.2.1.7. - - Where present, this extension SHOULD NOT be marked critical. - - id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 } - - IssuerAltName ::= GeneralNames - -4.2.1.9 Subject Directory Attributes - - The subject directory attributes extension is used to convey - identification attributes (e.g., nationality) of the subject. The - extension is defined as a sequence of one or more attributes. This - extension MUST be non-critical. - - id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 } - - SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute - -4.2.1.10 Basic Constraints - - The basic constraints extension identifies whether the subject of the - certificate is a CA and the maximum depth of valid certification - paths that include this certificate. - - - - -Housley, et. al. Standards Track [Page 36] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - The cA boolean indicates whether the certified public key belongs to - a CA. If the cA boolean is not asserted, then the keyCertSign bit in - the key usage extension MUST NOT be asserted. - - The pathLenConstraint field is meaningful only if the cA boolean is - asserted and the key usage extension asserts the keyCertSign bit - (section 4.2.1.3). In this case, it gives the maximum number of non- - self-issued intermediate certificates that may follow this - certificate in a valid certification path. A certificate is self- - issued if the DNs that appear in the subject and issuer fields are - identical and are not empty. (Note: The last certificate in the - certification path is not an intermediate certificate, and is not - included in this limit. Usually, the last certificate is an end - entity certificate, but it can be a CA certificate.) A - pathLenConstraint of zero indicates that only one more certificate - may follow in a valid certification path. Where it appears, the - pathLenConstraint field MUST be greater than or equal to zero. Where - pathLenConstraint does not appear, no limit is imposed. - - This extension MUST appear as a critical extension in all CA - certificates that contain public keys used to validate digital - signatures on certificates. This extension MAY appear as a critical - or non-critical extension in CA certificates that contain public keys - used exclusively for purposes other than validating digital - signatures on certificates. Such CA certificates include ones that - contain public keys used exclusively for validating digital - signatures on CRLs and ones that contain key management public keys - used with certificate enrollment protocols. This extension MAY - appear as a critical or non-critical extension in end entity - certificates. - - CAs MUST NOT include the pathLenConstraint field unless the cA - boolean is asserted and the key usage extension asserts the - keyCertSign bit. - - id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } - - BasicConstraints ::= SEQUENCE { - cA BOOLEAN DEFAULT FALSE, - pathLenConstraint INTEGER (0..MAX) OPTIONAL } - -4.2.1.11 Name Constraints - - The name constraints extension, which MUST be used only in a CA - certificate, indicates a name space within which all subject names in - subsequent certificates in a certification path MUST be located. - Restrictions apply to the subject distinguished name and apply to - subject alternative names. Restrictions apply only when the - - - -Housley, et. al. Standards Track [Page 37] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - specified name form is present. If no name of the type is in the - certificate, the certificate is acceptable. - - Name constraints are not applied to certificates whose issuer and - subject are identical (unless the certificate is the final - certificate in the path). (This could prevent CAs that use name - constraints from employing self-issued certificates to implement key - rollover.) - - Restrictions are defined in terms of permitted or excluded name - subtrees. Any name matching a restriction in the excludedSubtrees - field is invalid regardless of information appearing in the - permittedSubtrees. This extension MUST be critical. - - Within this profile, the minimum and maximum fields are not used with - any name forms, thus minimum MUST be zero, and maximum MUST be - absent. - - For URIs, the constraint applies to the host part of the name. The - constraint MAY specify a host or a domain. Examples would be - "foo.bar.com"; and ".xyz.com". When the the constraint begins with - a period, it MAY be expanded with one or more subdomains. That is, - the constraint ".xyz.com" is satisfied by both abc.xyz.com and - abc.def.xyz.com. However, the constraint ".xyz.com" is not satisfied - by "xyz.com". When the constraint does not begin with a period, it - specifies a host. - - A name constraint for Internet mail addresses MAY specify a - particular mailbox, all addresses at a particular host, or all - mailboxes in a domain. To indicate a particular mailbox, the - constraint is the complete mail address. For example, "root@xyz.com" - indicates the root mailbox on the host "xyz.com". To indicate all - Internet mail addresses on a particular host, the constraint is - specified as the host name. For example, the constraint "xyz.com" is - satisfied by any mail address at the host "xyz.com". To specify any - address within a domain, the constraint is specified with a leading - period (as with URIs). For example, ".xyz.com" indicates all the - Internet mail addresses in the domain "xyz.com", but not Internet - mail addresses on the host "xyz.com". - - DNS name restrictions are expressed as foo.bar.com. Any DNS name - that can be constructed by simply adding to the left hand side of the - name satisfies the name constraint. For example, www.foo.bar.com - would satisfy the constraint but foo1.bar.com would not. - - Legacy implementations exist where an RFC 822 name is embedded in the - subject distinguished name in an attribute of type EmailAddress - (section 4.1.2.6). When rfc822 names are constrained, but the - - - -Housley, et. al. Standards Track [Page 38] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - certificate does not include a subject alternative name, the rfc822 - name constraint MUST be applied to the attribute of type EmailAddress - in the subject distinguished name. The ASN.1 syntax for EmailAddress - and the corresponding OID are supplied in Appendix A. - - Restrictions of the form directoryName MUST be applied to the subject - field in the certificate and to the subjectAltName extensions of type - directoryName. Restrictions of the form x400Address MUST be applied - to subjectAltName extensions of type x400Address. - - When applying restrictions of the form directoryName, an - implementation MUST compare DN attributes. At a minimum, - implementations MUST perform the DN comparison rules specified in - Section 4.1.2.4. CAs issuing certificates with a restriction of the - form directoryName SHOULD NOT rely on implementation of the full ISO - DN name comparison algorithm. This implies name restrictions MUST be - stated identically to the encoding used in the subject field or - subjectAltName extension. - - The syntax of iPAddress MUST be as described in section 4.2.1.7 with - the following additions specifically for Name Constraints. For IPv4 - addresses, the ipAddress field of generalName MUST contain eight (8) - octets, encoded in the style of RFC 1519 (CIDR) to represent an - address range [RFC 1519]. For IPv6 addresses, the ipAddress field - MUST contain 32 octets similarly encoded. For example, a name - constraint for "class C" subnet 10.9.8.0 is represented as the octets - 0A 09 08 00 FF FF FF 00, representing the CIDR notation - 10.9.8.0/255.255.255.0. - - The syntax and semantics for name constraints for otherName, - ediPartyName, and registeredID are not defined by this specification. - - id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 } - - NameConstraints ::= SEQUENCE { - permittedSubtrees [0] GeneralSubtrees OPTIONAL, - excludedSubtrees [1] GeneralSubtrees OPTIONAL } - - GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree - - GeneralSubtree ::= SEQUENCE { - base GeneralName, - minimum [0] BaseDistance DEFAULT 0, - maximum [1] BaseDistance OPTIONAL } - - BaseDistance ::= INTEGER (0..MAX) - - - - - -Housley, et. al. Standards Track [Page 39] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.2.1.12 Policy Constraints - - The policy constraints extension can be used in certificates issued - to CAs. The policy constraints extension constrains path validation - in two ways. It can be used to prohibit policy mapping or require - that each certificate in a path contain an acceptable policy - identifier. - - If the inhibitPolicyMapping field is present, the value indicates the - number of additional certificates that may appear in the path before - policy mapping is no longer permitted. For example, a value of one - indicates that policy mapping may be processed in certificates issued - by the subject of this certificate, but not in additional - certificates in the path. - - If the requireExplicitPolicy field is present, the value of - requireExplicitPolicy indicates the number of additional certificates - that may appear in the path before an explicit policy is required for - the entire path. When an explicit policy is required, it is - necessary for all certificates in the path to contain an acceptable - policy identifier in the certificate policies extension. An - acceptable policy identifier is the identifier of a policy required - by the user of the certification path or the identifier of a policy - which has been declared equivalent through policy mapping. - - Conforming CAs MUST NOT issue certificates where policy constraints - is a empty sequence. That is, at least one of the - inhibitPolicyMapping field or the requireExplicitPolicy field MUST be - present. The behavior of clients that encounter a empty policy - constraints field is not addressed in this profile. - - This extension MAY be critical or non-critical. - - id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 } - - PolicyConstraints ::= SEQUENCE { - requireExplicitPolicy [0] SkipCerts OPTIONAL, - inhibitPolicyMapping [1] SkipCerts OPTIONAL } - - SkipCerts ::= INTEGER (0..MAX) - -4.2.1.13 Extended Key Usage - - This extension indicates one or more purposes for which the certified - public key may be used, in addition to or in place of the basic - purposes indicated in the key usage extension. In general, this - extension will appear only in end entity certificates. This - extension is defined as follows: - - - -Housley, et. al. Standards Track [Page 40] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 } - - ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId - - KeyPurposeId ::= OBJECT IDENTIFIER - - Key purposes may be defined by any organization with a need. Object - identifiers used to identify key purposes MUST be assigned in - accordance with IANA or ITU-T Recommendation X.660 [X.660]. - - This extension MAY, at the option of the certificate issuer, be - either critical or non-critical. - - If the extension is present, then the certificate MUST only be used - for one of the purposes indicated. If multiple purposes are - indicated the application need not recognize all purposes indicated, - as long as the intended purpose is present. Certificate using - applications MAY require that a particular purpose be indicated in - order for the certificate to be acceptable to that application. - - If a CA includes extended key usages to satisfy such applications, - but does not wish to restrict usages of the key, the CA can include - the special keyPurposeID anyExtendedKeyUsage. If the - anyExtendedKeyUsage keyPurposeID is present, the extension SHOULD NOT - be critical. - - If a certificate contains both a key usage extension and an extended - key usage extension, then both extensions MUST be processed - independently and the certificate MUST only be used for a purpose - consistent with both extensions. If there is no purpose consistent - with both extensions, then the certificate MUST NOT be used for any - purpose. - - The following key usage purposes are defined: - - anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 } - - id-kp OBJECT IDENTIFIER ::= { id-pkix 3 } - - id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 } - -- TLS WWW server authentication - -- Key usage bits that may be consistent: digitalSignature, - -- keyEncipherment or keyAgreement - - id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 } - -- TLS WWW client authentication - -- Key usage bits that may be consistent: digitalSignature - -- and/or keyAgreement - - - -Housley, et. al. Standards Track [Page 41] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 } - -- Signing of downloadable executable code - -- Key usage bits that may be consistent: digitalSignature - - id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 } - -- E-mail protection - -- Key usage bits that may be consistent: digitalSignature, - -- nonRepudiation, and/or (keyEncipherment or keyAgreement) - - id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 } - -- Binding the hash of an object to a time - -- Key usage bits that may be consistent: digitalSignature - -- and/or nonRepudiation - - id-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-kp 9 } - -- Signing OCSP responses - -- Key usage bits that may be consistent: digitalSignature - -- and/or nonRepudiation - -4.2.1.14 CRL Distribution Points - - The CRL distribution points extension identifies how CRL information - is obtained. The extension SHOULD be non-critical, but this profile - RECOMMENDS support for this extension by CAs and applications. - Further discussion of CRL management is contained in section 5. - - The cRLDistributionPoints extension is a SEQUENCE of - DistributionPoint. A DistributionPoint consists of three fields, - each of which is optional: distributionPoint, reasons, and cRLIssuer. - While each of these fields is optional, a DistributionPoint MUST NOT - consist of only the reasons field; either distributionPoint or - cRLIssuer MUST be present. If the certificate issuer is not the CRL - issuer, then the cRLIssuer field MUST be present and contain the Name - of the CRL issuer. If the certificate issuer is also the CRL issuer, - then the cRLIssuer field MUST be omitted and the distributionPoint - field MUST be present. If the distributionPoint field is omitted, - cRLIssuer MUST be present and include a Name corresponding to an - X.500 or LDAP directory entry where the CRL is located. - - When the distributionPoint field is present, it contains either a - SEQUENCE of general names or a single value, nameRelativeToCRLIssuer. - If the cRLDistributionPoints extension contains a general name of - type URI, the following semantics MUST be assumed: the URI is a - pointer to the current CRL for the associated reasons and will be - issued by the associated cRLIssuer. The expected values for the URI - are those defined in 4.2.1.7. Processing rules for other values are - not defined by this specification. - - - - -Housley, et. al. Standards Track [Page 42] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - If the DistributionPointName contains multiple values, each name - describes a different mechanism to obtain the same CRL. For example, - the same CRL could be available for retrieval through both LDAP and - HTTP. - - If the DistributionPointName contains the single value - nameRelativeToCRLIssuer, the value provides a distinguished name - fragment. The fragment is appended to the X.500 distinguished name - of the CRL issuer to obtain the distribution point name. If the - cRLIssuer field in the DistributionPoint is present, then the name - fragment is appended to the distinguished name that it contains; - otherwise, the name fragment is appended to the certificate issuer - distinguished name. The DistributionPointName MUST NOT use the - nameRealtiveToCRLIssuer alternative when cRLIssuer contains more than - one distinguished name. - - If the DistributionPoint omits the reasons field, the CRL MUST - include revocation information for all reasons. - - The cRLIssuer identifies the entity who signs and issues the CRL. If - present, the cRLIssuer MUST contain at least one an X.500 - distinguished name (DN), and MAY also contain other name forms. - Since the cRLIssuer is compared to the CRL issuer name, the X.501 - type Name MUST follow the encoding rules for the issuer name field in - the certificate (section 4.1.2.4). - - id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 } - - CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint - - DistributionPoint ::= SEQUENCE { - distributionPoint [0] DistributionPointName OPTIONAL, - reasons [1] ReasonFlags OPTIONAL, - cRLIssuer [2] GeneralNames OPTIONAL } - - DistributionPointName ::= CHOICE { - fullName [0] GeneralNames, - nameRelativeToCRLIssuer [1] RelativeDistinguishedName } - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 43] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - ReasonFlags ::= BIT STRING { - unused (0), - keyCompromise (1), - cACompromise (2), - affiliationChanged (3), - superseded (4), - cessationOfOperation (5), - certificateHold (6), - privilegeWithdrawn (7), - aACompromise (8) } - -4.2.1.15 Inhibit Any-Policy - - The inhibit any-policy extension can be used in certificates issued - to CAs. The inhibit any-policy indicates that the special anyPolicy - OID, with the value { 2 5 29 32 0 }, is not considered an explicit - match for other certificate policies. The value indicates the number - of additional certificates that may appear in the path before - anyPolicy is no longer permitted. For example, a value of one - indicates that anyPolicy may be processed in certificates issued by - the subject of this certificate, but not in additional certificates - in the path. - - This extension MUST be critical. - - id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= { id-ce 54 } - - InhibitAnyPolicy ::= SkipCerts - - SkipCerts ::= INTEGER (0..MAX) - -4.2.1.16 Freshest CRL (a.k.a. Delta CRL Distribution Point) - - The freshest CRL extension identifies how delta CRL information is - obtained. The extension MUST be non-critical. Further discussion of - CRL management is contained in section 5. - - The same syntax is used for this extension and the - cRLDistributionPoints extension, and is described in section - 4.2.1.14. The same conventions apply to both extensions. - - id-ce-freshestCRL OBJECT IDENTIFIER ::= { id-ce 46 } - - FreshestCRL ::= CRLDistributionPoints - - - - - - - -Housley, et. al. Standards Track [Page 44] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -4.2.2 Private Internet Extensions - - This section defines two extensions for use in the Internet Public - Key Infrastructure. These extensions may be used to direct - applications to on-line information about the issuing CA or the - subject. As the information may be available in multiple forms, each - extension is a sequence of IA5String values, each of which represents - a URI. The URI implicitly specifies the location and format of the - information and the method for obtaining the information. - - An object identifier is defined for the private extension. The - object identifier associated with the private extension is defined - under the arc id-pe within the arc id-pkix. Any future extensions - defined for the Internet PKI are also expected to be defined under - the arc id-pe. - - id-pkix OBJECT IDENTIFIER ::= - { iso(1) identified-organization(3) dod(6) internet(1) - security(5) mechanisms(5) pkix(7) } - - id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } - -4.2.2.1 Authority Information Access - - The authority information access extension indicates how to access CA - information and services for the issuer of the certificate in which - the extension appears. Information and services may include on-line - validation services and CA policy data. (The location of CRLs is not - specified in this extension; that information is provided by the - cRLDistributionPoints extension.) This extension may be included in - end entity or CA certificates, and it MUST be non-critical. - - id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } - - AuthorityInfoAccessSyntax ::= - SEQUENCE SIZE (1..MAX) OF AccessDescription - - AccessDescription ::= SEQUENCE { - accessMethod OBJECT IDENTIFIER, - accessLocation GeneralName } - - id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } - - id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } - - id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } - - - - - -Housley, et. al. Standards Track [Page 45] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - Each entry in the sequence AuthorityInfoAccessSyntax describes the - format and location of additional information provided by the CA that - issued the certificate in which this extension appears. The type and - format of the information is specified by the accessMethod field; the - accessLocation field specifies the location of the information. The - retrieval mechanism may be implied by the accessMethod or specified - by accessLocation. - - This profile defines two accessMethod OIDs: id-ad-caIssuers and - id-ad-ocsp. - - The id-ad-caIssuers OID is used when the additional information lists - CAs that have issued certificates superior to the CA that issued the - certificate containing this extension. The referenced CA issuers - description is intended to aid certificate users in the selection of - a certification path that terminates at a point trusted by the - certificate user. - - When id-ad-caIssuers appears as accessMethod, the accessLocation - field describes the referenced description server and the access - protocol to obtain the referenced description. The accessLocation - field is defined as a GeneralName, which can take several forms. - Where the information is available via http, ftp, or ldap, - accessLocation MUST be a uniformResourceIdentifier. Where the - information is available via the Directory Access Protocol (DAP), - accessLocation MUST be a directoryName. The entry for that - directoryName contains CA certificates in the crossCertificatePair - attribute. When the information is available via electronic mail, - accessLocation MUST be an rfc822Name. The semantics of other - id-ad-caIssuers accessLocation name forms are not defined. - - The id-ad-ocsp OID is used when revocation information for the - certificate containing this extension is available using the Online - Certificate Status Protocol (OCSP) [RFC 2560]. - - When id-ad-ocsp appears as accessMethod, the accessLocation field is - the location of the OCSP responder, using the conventions defined in - [RFC 2560]. - - Additional access descriptors may be defined in other PKIX - specifications. - -4.2.2.2 Subject Information Access - - The subject information access extension indicates how to access - information and services for the subject of the certificate in which - the extension appears. When the subject is a CA, information and - services may include certificate validation services and CA policy - - - -Housley, et. al. Standards Track [Page 46] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - data. When the subject is an end entity, the information describes - the type of services offered and how to access them. In this case, - the contents of this extension are defined in the protocol - specifications for the suported services. This extension may be - included in subject or CA certificates, and it MUST be non-critical. - - id-pe-subjectInfoAccess OBJECT IDENTIFIER ::= { id-pe 11 } - - SubjectInfoAccessSyntax ::= - SEQUENCE SIZE (1..MAX) OF AccessDescription - - AccessDescription ::= SEQUENCE { - accessMethod OBJECT IDENTIFIER, - accessLocation GeneralName } - - Each entry in the sequence SubjectInfoAccessSyntax describes the - format and location of additional information provided by the subject - of the certificate in which this extension appears. The type and - format of the information is specified by the accessMethod field; the - accessLocation field specifies the location of the information. The - retrieval mechanism may be implied by the accessMethod or specified - by accessLocation. - - This profile defines one access method to be used when the subject is - a CA, and one access method to be used when the subject is an end - entity. Additional access methods may be defined in the future in - the protocol specifications for other services. - - The id-ad-caRepository OID is used when the subject is a CA, and - publishes its certificates and CRLs (if issued) in a repository. The - accessLocation field is defined as a GeneralName, which can take - several forms. Where the information is available via http, ftp, or - ldap, accessLocation MUST be a uniformResourceIdentifier. Where the - information is available via the directory access protocol (dap), - accessLocation MUST be a directoryName. When the information is - available via electronic mail, accessLocation MUST be an rfc822Name. - The semantics of other name forms of of accessLocation (when - accessMethod is id-ad-caRepository) are not defined by this - specification. - - The id-ad-timeStamping OID is used when the subject offers - timestamping services using the Time Stamp Protocol defined in - [PKIXTSA]. Where the timestamping services are available via http or - ftp, accessLocation MUST be a uniformResourceIdentifier. Where the - timestamping services are available via electronic mail, - accessLocation MUST be an rfc822Name. Where timestamping services - - - - - -Housley, et. al. Standards Track [Page 47] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - are available using TCP/IP, the dNSName or ipAddress name forms may - be used. The semantics of other name forms of accessLocation (when - accessMethod is id-ad-timeStamping) are not defined by this - specification. - - Additional access descriptors may be defined in other PKIX - specifications. - - id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } - - id-ad-caRepository OBJECT IDENTIFIER ::= { id-ad 5 } - - id-ad-timeStamping OBJECT IDENTIFIER ::= { id-ad 3 } - -5 CRL and CRL Extensions Profile - - As discussed above, one goal of this X.509 v2 CRL profile is to - foster the creation of an interoperable and reusable Internet PKI. - To achieve this goal, guidelines for the use of extensions are - specified, and some assumptions are made about the nature of - information included in the CRL. - - CRLs may be used in a wide range of applications and environments - covering a broad spectrum of interoperability goals and an even - broader spectrum of operational and assurance requirements. This - profile establishes a common baseline for generic applications - requiring broad interoperability. The profile defines a set of - information that can be expected in every CRL. Also, the profile - defines common locations within the CRL for frequently used - attributes as well as common representations for these attributes. - - CRL issuers issue CRLs. In general, the CRL issuer is the CA. CAs - publish CRLs to provide status information about the certificates - they issued. However, a CA may delegate this responsibility to - another trusted authority. Whenever the CRL issuer is not the CA - that issued the certificates, the CRL is referred to as an indirect - CRL. - - Each CRL has a particular scope. The CRL scope is the set of - certificates that could appear on a given CRL. For example, the - scope could be "all certificates issued by CA X", "all CA - certificates issued by CA X", "all certificates issued by CA X that - have been revoked for reasons of key compromise and CA compromise", - or could be a set of certificates based on arbitrary local - information, such as "all certificates issued to the NIST employees - located in Boulder". - - - - - -Housley, et. al. Standards Track [Page 48] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - A complete CRL lists all unexpired certificates, within its scope, - that have been revoked for one of the revocation reasons covered by - the CRL scope. The CRL issuer MAY also generate delta CRLs. A delta - CRL only lists those certificates, within its scope, whose revocation - status has changed since the issuance of a referenced complete CRL. - The referenced complete CRL is referred to as a base CRL. The scope - of a delta CRL MUST be the same as the base CRL that it references. - - This profile does not define any private Internet CRL extensions or - CRL entry extensions. - - Environments with additional or special purpose requirements may - build on this profile or may replace it. - - Conforming CAs are not required to issue CRLs if other revocation or - certificate status mechanisms are provided. When CRLs are issued, - the CRLs MUST be version 2 CRLs, include the date by which the next - CRL will be issued in the nextUpdate field (section 5.1.2.5), include - the CRL number extension (section 5.2.3), and include the authority - key identifier extension (section 5.2.1). Conforming applications - that support CRLs are REQUIRED to process both version 1 and version - 2 complete CRLs that provide revocation information for all - certificates issued by one CA. Conforming applications are NOT - REQUIRED to support processing of delta CRLs, indirect CRLs, or CRLs - with a scope other than all certificates issued by one CA. - -5.1 CRL Fields - - The X.509 v2 CRL syntax is as follows. For signature calculation, - the data that is to be signed is ASN.1 DER encoded. ASN.1 DER - encoding is a tag, length, value encoding system for each element. - - CertificateList ::= SEQUENCE { - tbsCertList TBSCertList, - signatureAlgorithm AlgorithmIdentifier, - signatureValue BIT STRING } - - - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 49] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - TBSCertList ::= SEQUENCE { - version Version OPTIONAL, - -- if present, MUST be v2 - signature AlgorithmIdentifier, - issuer Name, - thisUpdate Time, - nextUpdate Time OPTIONAL, - revokedCertificates SEQUENCE OF SEQUENCE { - userCertificate CertificateSerialNumber, - revocationDate Time, - crlEntryExtensions Extensions OPTIONAL - -- if present, MUST be v2 - } OPTIONAL, - crlExtensions [0] EXPLICIT Extensions OPTIONAL - -- if present, MUST be v2 - } - - -- Version, Time, CertificateSerialNumber, and Extensions - -- are all defined in the ASN.1 in section 4.1 - - -- AlgorithmIdentifier is defined in section 4.1.1.2 - - The following items describe the use of the X.509 v2 CRL in the - Internet PKI. - -5.1.1 CertificateList Fields - - The CertificateList is a SEQUENCE of three required fields. The - fields are described in detail in the following subsections. - -5.1.1.1 tbsCertList - - The first field in the sequence is the tbsCertList. This field is - itself a sequence containing the name of the issuer, issue date, - issue date of the next list, the optional list of revoked - certificates, and optional CRL extensions. When there are no revoked - certificates, the revoked certificates list is absent. When one or - more certificates are revoked, each entry on the revoked certificate - list is defined by a sequence of user certificate serial number, - revocation date, and optional CRL entry extensions. - -5.1.1.2 signatureAlgorithm - - The signatureAlgorithm field contains the algorithm identifier for - the algorithm used by the CRL issuer to sign the CertificateList. - The field is of type AlgorithmIdentifier, which is defined in section - 4.1.1.2. [PKIXALGS] lists the supported algorithms for this - specification, but other signature algorithms MAY also be supported. - - - -Housley, et. al. Standards Track [Page 50] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - This field MUST contain the same algorithm identifier as the - signature field in the sequence tbsCertList (section 5.1.2.2). - -5.1.1.3 signatureValue - - The signatureValue field contains a digital signature computed upon - the ASN.1 DER encoded tbsCertList. The ASN.1 DER encoded tbsCertList - is used as the input to the signature function. This signature value - is encoded as a BIT STRING and included in the CRL signatureValue - field. The details of this process are specified for each of the - supported algorithms in [PKIXALGS]. - - CAs that are also CRL issuers MAY use one private key to digitally - sign certificates and CRLs, or MAY use separate private keys to - digitally sign certificates and CRLs. When separate private keys are - employed, each of the public keys associated with these private keys - is placed in a separate certificate, one with the keyCertSign bit set - in the key usage extension, and one with the cRLSign bit set in the - key usage extension (section 4.2.1.3). When separate private keys - are employed, certificates issued by the CA contain one authority key - identifier, and the corresponding CRLs contain a different authority - key identifier. The use of separate CA certificates for validation - of certificate signatures and CRL signatures can offer improved - security characteristics; however, it imposes a burden on - applications, and it might limit interoperability. Many applications - construct a certification path, and then validate the certification - path (section 6). CRL checking in turn requires a separate - certification path to be constructed and validated for the CA's CRL - signature validation certificate. Applications that perform CRL - checking MUST support certification path validation when certificates - and CRLs are digitally signed with the same CA private key. These - applications SHOULD support certification path validation when - certificates and CRLs are digitally signed with different CA private - keys. - -5.1.2 Certificate List "To Be Signed" - - The certificate list to be signed, or TBSCertList, is a sequence of - required and optional fields. The required fields identify the CRL - issuer, the algorithm used to sign the CRL, the date and time the CRL - was issued, and the date and time by which the CRL issuer will issue - the next CRL. - - Optional fields include lists of revoked certificates and CRL - extensions. The revoked certificate list is optional to support the - case where a CA has not revoked any unexpired certificates that it - - - - - -Housley, et. al. Standards Track [Page 51] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - has issued. The profile requires conforming CRL issuers to use the - CRL number and authority key identifier CRL extensions in all CRLs - issued. - -5.1.2.1 Version - - This optional field describes the version of the encoded CRL. When - extensions are used, as required by this profile, this field MUST be - present and MUST specify version 2 (the integer value is 1). - -5.1.2.2 Signature - - This field contains the algorithm identifier for the algorithm used - to sign the CRL. [PKIXALGS] lists OIDs for the most popular - signature algorithms used in the Internet PKI. - - This field MUST contain the same algorithm identifier as the - signatureAlgorithm field in the sequence CertificateList (section - 5.1.1.2). - -5.1.2.3 Issuer Name - - The issuer name identifies the entity who has signed and issued the - CRL. The issuer identity is carried in the issuer name field. - Alternative name forms may also appear in the issuerAltName extension - (section 5.2.2). The issuer name field MUST contain an X.500 - distinguished name (DN). The issuer name field is defined as the - X.501 type Name, and MUST follow the encoding rules for the issuer - name field in the certificate (section 4.1.2.4). - -5.1.2.4 This Update - - This field indicates the issue date of this CRL. ThisUpdate may be - encoded as UTCTime or GeneralizedTime. - - CRL issuers conforming to this profile MUST encode thisUpdate as - UTCTime for dates through the year 2049. CRL issuers conforming to - this profile MUST encode thisUpdate as GeneralizedTime for dates in - the year 2050 or later. - - Where encoded as UTCTime, thisUpdate MUST be specified and - interpreted as defined in section 4.1.2.5.1. Where encoded as - GeneralizedTime, thisUpdate MUST be specified and interpreted as - defined in section 4.1.2.5.2. - - - - - - - -Housley, et. al. Standards Track [Page 52] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -5.1.2.5 Next Update - - This field indicates the date by which the next CRL will be issued. - The next CRL could be issued before the indicated date, but it will - not be issued any later than the indicated date. CRL issuers SHOULD - issue CRLs with a nextUpdate time equal to or later than all previous - CRLs. nextUpdate may be encoded as UTCTime or GeneralizedTime. - - This profile requires inclusion of nextUpdate in all CRLs issued by - conforming CRL issuers. Note that the ASN.1 syntax of TBSCertList - describes this field as OPTIONAL, which is consistent with the ASN.1 - structure defined in [X.509]. The behavior of clients processing - CRLs which omit nextUpdate is not specified by this profile. - - CRL issuers conforming to this profile MUST encode nextUpdate as - UTCTime for dates through the year 2049. CRL issuers conforming to - this profile MUST encode nextUpdate as GeneralizedTime for dates in - the year 2050 or later. - - Where encoded as UTCTime, nextUpdate MUST be specified and - interpreted as defined in section 4.1.2.5.1. Where encoded as - GeneralizedTime, nextUpdate MUST be specified and interpreted as - defined in section 4.1.2.5.2. - -5.1.2.6 Revoked Certificates - - When there are no revoked certificates, the revoked certificates list - MUST be absent. Otherwise, revoked certificates are listed by their - serial numbers. Certificates revoked by the CA are uniquely - identified by the certificate serial number. The date on which the - revocation occurred is specified. The time for revocationDate MUST - be expressed as described in section 5.1.2.4. Additional information - may be supplied in CRL entry extensions; CRL entry extensions are - discussed in section 5.3. - -5.1.2.7 Extensions - - This field may only appear if the version is 2 (section 5.1.2.1). If - present, this field is a sequence of one or more CRL extensions. CRL - extensions are discussed in section 5.2. - -5.2 CRL Extensions - - The extensions defined by ANSI X9, ISO/IEC, and ITU-T for X.509 v2 - CRLs [X.509] [X9.55] provide methods for associating additional - attributes with CRLs. The X.509 v2 CRL format also allows - communities to define private extensions to carry information unique - to those communities. Each extension in a CRL may be designated as - - - -Housley, et. al. Standards Track [Page 53] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - critical or non-critical. A CRL validation MUST fail if it - encounters a critical extension which it does not know how to - process. However, an unrecognized non-critical extension may be - ignored. The following subsections present those extensions used - within Internet CRLs. Communities may elect to include extensions in - CRLs which are not defined in this specification. However, caution - should be exercised in adopting any critical extensions in CRLs which - might be used in a general context. - - Conforming CRL issuers are REQUIRED to include the authority key - identifier (section 5.2.1) and the CRL number (section 5.2.3) - extensions in all CRLs issued. - -5.2.1 Authority Key Identifier - - The authority key identifier extension provides a means of - identifying the public key corresponding to the private key used to - sign a CRL. The identification can be based on either the key - identifier (the subject key identifier in the CRL signer's - certificate) or on the issuer name and serial number. This extension - is especially useful where an issuer has more than one signing key, - either due to multiple concurrent key pairs or due to changeover. - - Conforming CRL issuers MUST use the key identifier method, and MUST - include this extension in all CRLs issued. - - The syntax for this CRL extension is defined in section 4.2.1.1. - -5.2.2 Issuer Alternative Name - - The issuer alternative names extension allows additional identities - to be associated with the issuer of the CRL. Defined options include - an rfc822 name (electronic mail address), a DNS name, an IP address, - and a URI. Multiple instances of a name and multiple name forms may - be included. Whenever such identities are used, the issuer - alternative name extension MUST be used; however, a DNS name MAY be - represented in the issuer field using the domainComponent attribute - as described in section 4.1.2.4. - - The issuerAltName extension SHOULD NOT be marked critical. - - The OID and syntax for this CRL extension are defined in section - 4.2.1.8. - - - - - - - - -Housley, et. al. Standards Track [Page 54] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -5.2.3 CRL Number - - The CRL number is a non-critical CRL extension which conveys a - monotonically increasing sequence number for a given CRL scope and - CRL issuer. This extension allows users to easily determine when a - particular CRL supersedes another CRL. CRL numbers also support the - identification of complementary complete CRLs and delta CRLs. CRL - issuers conforming to this profile MUST include this extension in all - CRLs. - - If a CRL issuer generates delta CRLs in addition to complete CRLs for - a given scope, the complete CRLs and delta CRLs MUST share one - numbering sequence. If a delta CRL and a complete CRL that cover the - same scope are issued at the same time, they MUST have the same CRL - number and provide the same revocation information. That is, the - combination of the delta CRL and an acceptable complete CRL MUST - provide the same revocation information as the simultaneously issued - complete CRL. - - If a CRL issuer generates two CRLs (two complete CRLs, two delta - CRLs, or a complete CRL and a delta CRL) for the same scope at - different times, the two CRLs MUST NOT have the same CRL number. - That is, if the this update field (section 5.1.2.4) in the two CRLs - are not identical, the CRL numbers MUST be different. - - Given the requirements above, CRL numbers can be expected to contain - long integers. CRL verifiers MUST be able to handle CRLNumber values - up to 20 octets. Conformant CRL issuers MUST NOT use CRLNumber - values longer than 20 octets. - - id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 } - - CRLNumber ::= INTEGER (0..MAX) - -5.2.4 Delta CRL Indicator - - The delta CRL indicator is a critical CRL extension that identifies a - CRL as being a delta CRL. Delta CRLs contain updates to revocation - information previously distributed, rather than all the information - that would appear in a complete CRL. The use of delta CRLs can - significantly reduce network load and processing time in some - environments. Delta CRLs are generally smaller than the CRLs they - update, so applications that obtain delta CRLs consume less network - bandwidth than applications that obtain the corresponding complete - CRLs. Applications which store revocation information in a format - other than the CRL structure can add new revocation information to - the local database without reprocessing information. - - - - -Housley, et. al. Standards Track [Page 55] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - The delta CRL indicator extension contains the single value of type - BaseCRLNumber. The CRL number identifies the CRL, complete for a - given scope, that was used as the starting point in the generation of - this delta CRL. A conforming CRL issuer MUST publish the referenced - base CRL as a complete CRL. The delta CRL contains all updates to - the revocation status for that same scope. The combination of a - delta CRL plus the referenced base CRL is equivalent to a complete - CRL, for the applicable scope, at the time of publication of the - delta CRL. - - When a conforming CRL issuer generates a delta CRL, the delta CRL - MUST include a critical delta CRL indicator extension. - - When a delta CRL is issued, it MUST cover the same set of reasons and - the same set of certificates that were covered by the base CRL it - references. That is, the scope of the delta CRL MUST be the same as - the scope of the complete CRL referenced as the base. The referenced - base CRL and the delta CRL MUST omit the issuing distribution point - extension or contain identical issuing distribution point extensions. - Further, the CRL issuer MUST use the same private key to sign the - delta CRL and any complete CRL that it can be used to update. - - An application that supports delta CRLs can construct a CRL that is - complete for a given scope by combining a delta CRL for that scope - with either an issued CRL that is complete for that scope or a - locally constructed CRL that is complete for that scope. - - When a delta CRL is combined with a complete CRL or a locally - constructed CRL, the resulting locally constructed CRL has the CRL - number specified in the CRL number extension found in the delta CRL - used in its construction. In addition, the resulting locally - constructed CRL has the thisUpdate and nextUpdate times specified in - the corresponding fields of the delta CRL used in its construction. - In addition, the locally constructed CRL inherits the issuing - distribution point from the delta CRL. - - A complete CRL and a delta CRL MAY be combined if the following four - conditions are satisfied: - - (a) The complete CRL and delta CRL have the same issuer. - - (b) The complete CRL and delta CRL have the same scope. The two - CRLs have the same scope if either of the following conditions are - met: - - (1) The issuingDistributionPoint extension is omitted from - both the complete CRL and the delta CRL. - - - - -Housley, et. al. Standards Track [Page 56] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (2) The issuingDistributionPoint extension is present in both - the complete CRL and the delta CRL, and the values for each of - the fields in the extensions are the same in both CRLs. - - (c) The CRL number of the complete CRL is equal to or greater - than the BaseCRLNumber specified in the delta CRL. That is, the - complete CRL contains (at a minimum) all the revocation - information held by the referenced base CRL. - - (d) The CRL number of the complete CRL is less than the CRL - number of the delta CRL. That is, the delta CRL follows the - complete CRL in the numbering sequence. - - CRL issuers MUST ensure that the combination of a delta CRL and any - appropriate complete CRL accurately reflects the current revocation - status. The CRL issuer MUST include an entry in the delta CRL for - each certificate within the scope of the delta CRL whose status has - changed since the generation of the referenced base CRL: - - (a) If the certificate is revoked for a reason included in the - scope of the CRL, list the certificate as revoked. - - (b) If the certificate is valid and was listed on the referenced - base CRL or any subsequent CRL with reason code certificateHold, - and the reason code certificateHold is included in the scope of - the CRL, list the certificate with the reason code removeFromCRL. - - (c) If the certificate is revoked for a reason outside the scope - of the CRL, but the certificate was listed on the referenced base - CRL or any subsequent CRL with a reason code included in the scope - of this CRL, list the certificate as revoked but omit the reason - code. - - (d) If the certificate is revoked for a reason outside the scope - of the CRL and the certificate was neither listed on the - referenced base CRL nor any subsequent CRL with a reason code - included in the scope of this CRL, do not list the certificate on - this CRL. - - The status of a certificate is considered to have changed if it is - revoked, placed on hold, released from hold, or if its revocation - reason changes. - - It is appropriate to list a certificate with reason code - removeFromCRL on a delta CRL even if the certificate was not on hold - in the referenced base CRL. If the certificate was placed on hold in - - - - - -Housley, et. al. Standards Track [Page 57] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - any CRL issued after the base but before this delta CRL and then - released from hold, it MUST be listed on the delta CRL with - revocation reason removeFromCRL. - - A CRL issuer MAY optionally list a certificate on a delta CRL with - reason code removeFromCRL if the notAfter time specified in the - certificate precedes the thisUpdate time specified in the delta CRL - and the certificate was listed on the referenced base CRL or in any - CRL issued after the base but before this delta CRL. - - If a certificate revocation notice first appears on a delta CRL, then - it is possible for the certificate validity period to expire before - the next complete CRL for the same scope is issued. In this case, - the revocation notice MUST be included in all subsequent delta CRLs - until the revocation notice is included on at least one explicitly - issued complete CRL for this scope. - - An application that supports delta CRLs MUST be able to construct a - current complete CRL by combining a previously issued complete CRL - and the most current delta CRL. An application that supports delta - CRLs MAY also be able to construct a current complete CRL by - combining a previously locally constructed complete CRL and the - current delta CRL. A delta CRL is considered to be the current one - if the current time is between the times contained in the thisUpdate - and nextUpdate fields. Under some circumstances, the CRL issuer may - publish one or more delta CRLs before indicated by the nextUpdate - field. If more than one current delta CRL for a given scope is - encountered, the application SHOULD consider the one with the latest - value in thisUpdate to be the most current one. - - id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 } - - BaseCRLNumber ::= CRLNumber - -5.2.5 Issuing Distribution Point - - The issuing distribution point is a critical CRL extension that - identifies the CRL distribution point and scope for a particular CRL, - and it indicates whether the CRL covers revocation for end entity - certificates only, CA certificates only, attribute certificates only, - - or a limited set of reason codes. Although the extension is - critical, conforming implementations are not required to support this - extension. - - - - - - - -Housley, et. al. Standards Track [Page 58] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - The CRL is signed using the CRL issuer's private key. CRL - Distribution Points do not have their own key pairs. If the CRL is - stored in the X.500 Directory, it is stored in the Directory entry - corresponding to the CRL distribution point, which may be different - than the Directory entry of the CRL issuer. - - The reason codes associated with a distribution point MUST be - specified in onlySomeReasons. If onlySomeReasons does not appear, - the distribution point MUST contain revocations for all reason codes. - CAs may use CRL distribution points to partition the CRL on the basis - of compromise and routine revocation. In this case, the revocations - with reason code keyCompromise (1), cACompromise (2), and - aACompromise (8) appear in one distribution point, and the - revocations with other reason codes appear in another distribution - point. - - If the distributionPoint field is present and contains a URI, the - following semantics MUST be assumed: the object is a pointer to the - most current CRL issued by this CRL issuer. The URI schemes ftp, - http, mailto [RFC1738] and ldap [RFC1778] are defined for this - purpose. The URI MUST be an absolute pathname, not a relative - pathname, and MUST specify the host. - - If the distributionPoint field is absent, the CRL MUST contain - entries for all revoked unexpired certificates issued by the CRL - issuer, if any, within the scope of the CRL. - - The CRL issuer MUST assert the indirectCRL boolean, if the scope of - the CRL includes certificates issued by authorities other than the - CRL issuer. The authority responsible for each entry is indicated by - the certificate issuer CRL entry extension (section 5.3.4). - - id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 } - - issuingDistributionPoint ::= SEQUENCE { - distributionPoint [0] DistributionPointName OPTIONAL, - onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE, - onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE, - onlySomeReasons [3] ReasonFlags OPTIONAL, - indirectCRL [4] BOOLEAN DEFAULT FALSE, - onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE } - -5.2.6 Freshest CRL (a.k.a. Delta CRL Distribution Point) - - The freshest CRL extension identifies how delta CRL information for - this complete CRL is obtained. The extension MUST be non-critical. - This extension MUST NOT appear in delta CRLs. - - - - -Housley, et. al. Standards Track [Page 59] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - The same syntax is used for this extension as the - cRLDistributionPoints certificate extension, and is described in - section 4.2.1.14. However, only the distribution point field is - meaningful in this context. The reasons and CRLIssuer fields MUST be - omitted from this CRL extension. - - Each distribution point name provides the location at which a delta - CRL for this complete CRL can be found. The scope of these delta - CRLs MUST be the same as the scope of this complete CRL. The - contents of this CRL extension are only used to locate delta CRLs; - the contents are not used to validate the CRL or the referenced delta - CRLs. The encoding conventions defined for distribution points in - section 4.2.1.14 apply to this extension. - - id-ce-freshestCRL OBJECT IDENTIFIER ::= { id-ce 46 } - - FreshestCRL ::= CRLDistributionPoints - -5.3 CRL Entry Extensions - - The CRL entry extensions defined by ISO/IEC, ITU-T, and ANSI X9 for - X.509 v2 CRLs provide methods for associating additional attributes - with CRL entries [X.509] [X9.55]. The X.509 v2 CRL format also - allows communities to define private CRL entry extensions to carry - information unique to those communities. Each extension in a CRL - entry may be designated as critical or non-critical. A CRL - validation MUST fail if it encounters a critical CRL entry extension - which it does not know how to process. However, an unrecognized non- - critical CRL entry extension may be ignored. The following - subsections present recommended extensions used within Internet CRL - entries and standard locations for information. Communities may - elect to use additional CRL entry extensions; however, caution should - be exercised in adopting any critical extensions in CRL entries which - might be used in a general context. - - All CRL entry extensions used in this specification are non-critical. - Support for these extensions is optional for conforming CRL issuers - and applications. However, CRL issuers SHOULD include reason codes - (section 5.3.1) and invalidity dates (section 5.3.3) whenever this - information is available. - -5.3.1 Reason Code - - The reasonCode is a non-critical CRL entry extension that identifies - the reason for the certificate revocation. CRL issuers are strongly - encouraged to include meaningful reason codes in CRL entries; - however, the reason code CRL entry extension SHOULD be absent instead - of using the unspecified (0) reasonCode value. - - - -Housley, et. al. Standards Track [Page 60] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - id-ce-cRLReason OBJECT IDENTIFIER ::= { id-ce 21 } - - -- reasonCode ::= { CRLReason } - - CRLReason ::= ENUMERATED { - unspecified (0), - keyCompromise (1), - cACompromise (2), - affiliationChanged (3), - superseded (4), - cessationOfOperation (5), - certificateHold (6), - removeFromCRL (8), - privilegeWithdrawn (9), - aACompromise (10) } - -5.3.2 Hold Instruction Code - - The hold instruction code is a non-critical CRL entry extension that - provides a registered instruction identifier which indicates the - action to be taken after encountering a certificate that has been - placed on hold. - - id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 } - - holdInstructionCode ::= OBJECT IDENTIFIER - - The following instruction codes have been defined. Conforming - applications that process this extension MUST recognize the following - instruction codes. - - holdInstruction OBJECT IDENTIFIER ::= - { iso(1) member-body(2) us(840) x9-57(10040) 2 } - - id-holdinstruction-none OBJECT IDENTIFIER ::= {holdInstruction 1} - id-holdinstruction-callissuer - OBJECT IDENTIFIER ::= {holdInstruction 2} - id-holdinstruction-reject OBJECT IDENTIFIER ::= {holdInstruction 3} - - Conforming applications which encounter an id-holdinstruction- - callissuer MUST call the certificate issuer or reject the - certificate. Conforming applications which encounter an id- - holdinstruction-reject MUST reject the certificate. The hold - instruction id-holdinstruction-none is semantically equivalent to the - absence of a holdInstructionCode, and its use is strongly deprecated - for the Internet PKI. - - - - - -Housley, et. al. Standards Track [Page 61] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -5.3.3 Invalidity Date - - The invalidity date is a non-critical CRL entry extension that - provides the date on which it is known or suspected that the private - key was compromised or that the certificate otherwise became invalid. - This date may be earlier than the revocation date in the CRL entry, - which is the date at which the CA processed the revocation. When a - revocation is first posted by a CRL issuer in a CRL, the invalidity - date may precede the date of issue of earlier CRLs, but the - revocation date SHOULD NOT precede the date of issue of earlier CRLs. - Whenever this information is available, CRL issuers are strongly - encouraged to share it with CRL users. - - The GeneralizedTime values included in this field MUST be expressed - in Greenwich Mean Time (Zulu), and MUST be specified and interpreted - as defined in section 4.1.2.5.2. - - id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 } - - invalidityDate ::= GeneralizedTime - -5.3.4 Certificate Issuer - - This CRL entry extension identifies the certificate issuer associated - with an entry in an indirect CRL, that is, a CRL that has the - indirectCRL indicator set in its issuing distribution point - extension. If this extension is not present on the first entry in an - indirect CRL, the certificate issuer defaults to the CRL issuer. On - subsequent entries in an indirect CRL, if this extension is not - present, the certificate issuer for the entry is the same as that for - the preceding entry. This field is defined as follows: - - id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 } - - certificateIssuer ::= GeneralNames - - If used by conforming CRL issuers, this extension MUST always be - critical. If an implementation ignored this extension it could not - correctly attribute CRL entries to certificates. This specification - RECOMMENDS that implementations recognize this extension. - -6 Certification Path Validation - - Certification path validation procedures for the Internet PKI are - based on the algorithm supplied in [X.509]. Certification path - processing verifies the binding between the subject distinguished - name and/or subject alternative name and subject public key. The - binding is limited by constraints which are specified in the - - - -Housley, et. al. Standards Track [Page 62] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - certificates which comprise the path and inputs which are specified - by the relying party. The basic constraints and policy constraints - extensions allow the certification path processing logic to automate - the decision making process. - - This section describes an algorithm for validating certification - paths. Conforming implementations of this specification are not - required to implement this algorithm, but MUST provide functionality - equivalent to the external behavior resulting from this procedure. - Any algorithm may be used by a particular implementation so long as - it derives the correct result. - - In section 6.1, the text describes basic path validation. Valid - paths begin with certificates issued by a trust anchor. The - algorithm requires the public key of the CA, the CA's name, and any - constraints upon the set of paths which may be validated using this - key. - - The selection of a trust anchor is a matter of policy: it could be - the top CA in a hierarchical PKI; the CA that issued the verifier's - own certificate(s); or any other CA in a network PKI. The path - validation procedure is the same regardless of the choice of trust - anchor. In addition, different applications may rely on different - trust anchor, or may accept paths that begin with any of a set of - trust anchor. - - Section 6.2 describes methods for using the path validation algorithm - in specific implementations. Two specific cases are discussed: the - case where paths may begin with one of several trusted CAs; and where - compatibility with the PEM architecture is required. - - Section 6.3 describes the steps necessary to determine if a - certificate is revoked or on hold status when CRLs are the revocation - mechanism used by the certificate issuer. - -6.1 Basic Path Validation - - This text describes an algorithm for X.509 path processing. A - conformant implementation MUST include an X.509 path processing - procedure that is functionally equivalent to the external behavior of - this algorithm. However, support for some of the certificate - extensions processed in this algorithm are OPTIONAL for compliant - implementations. Clients that do not support these extensions MAY - omit the corresponding steps in the path validation algorithm. - - - - - - - -Housley, et. al. Standards Track [Page 63] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - For example, clients are NOT REQUIRED to support the policy mapping - extension. Clients that do not support this extension MAY omit the - path validation steps where policy mappings are processed. Note that - clients MUST reject the certificate if it contains an unsupported - critical extension. - - The algorithm presented in this section validates the certificate - with respect to the current date and time. A conformant - implementation MAY also support validation with respect to some point - in the past. Note that mechanisms are not available for validating a - certificate with respect to a time outside the certificate validity - period. - - The trust anchor is an input to the algorithm. There is no - requirement that the same trust anchor be used to validate all - certification paths. Different trust anchors MAY be used to validate - different paths, as discussed further in Section 6.2. - - The primary goal of path validation is to verify the binding between - a subject distinguished name or a subject alternative name and - subject public key, as represented in the end entity certificate, - based on the public key of the trust anchor. This requires obtaining - a sequence of certificates that support that binding. The procedure - performed to obtain this sequence of certificates is outside the - scope of this specification. - - To meet this goal, the path validation process verifies, among other - things, that a prospective certification path (a sequence of n - certificates) satisfies the following conditions: - - (a) for all x in {1, ..., n-1}, the subject of certificate x is - the issuer of certificate x+1; - - (b) certificate 1 is issued by the trust anchor; - - (c) certificate n is the certificate to be validated; and - - (d) for all x in {1, ..., n}, the certificate was valid at the - time in question. - - When the trust anchor is provided in the form of a self-signed - certificate, this self-signed certificate is not included as part of - the prospective certification path. Information about trust anchors - are provided as inputs to the certification path validation algorithm - (section 6.1.1). - - - - - - -Housley, et. al. Standards Track [Page 64] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - A particular certification path may not, however, be appropriate for - all applications. Therefore, an application MAY augment this - algorithm to further limit the set of valid paths. The path - validation process also determines the set of certificate policies - that are valid for this path, based on the certificate policies - extension, policy mapping extension, policy constraints extension, - and inhibit any-policy extension. To achieve this, the path - validation algorithm constructs a valid policy tree. If the set of - certificate policies that are valid for this path is not empty, then - the result will be a valid policy tree of depth n, otherwise the - result will be a null valid policy tree. - - A certificate is self-issued if the DNs that appear in the subject - and issuer fields are identical and are not empty. In general, the - issuer and subject of the certificates that make up a path are - different for each certificate. However, a CA may issue a - certificate to itself to support key rollover or changes in - certificate policies. These self-issued certificates are not counted - when evaluating path length or name constraints. - - This section presents the algorithm in four basic steps: (1) - initialization, (2) basic certificate processing, (3) preparation for - the next certificate, and (4) wrap-up. Steps (1) and (4) are - performed exactly once. Step (2) is performed for all certificates - in the path. Step (3) is performed for all certificates in the path - except the final certificate. Figure 2 provides a high-level - flowchart of this algorithm. - - - - - - - - - - - - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 65] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - +-------+ - | START | - +-------+ - | - V - +----------------+ - | Initialization | - +----------------+ - | - +<--------------------+ - | | - V | - +----------------+ | - | Process Cert | | - +----------------+ | - | | - V | - +================+ | - | IF Last Cert | | - | in Path | | - +================+ | - | | | - THEN | | ELSE | - V V | - +----------------+ +----------------+ | - | Wrap up | | Prepare for | | - +----------------+ | Next Cert | | - | +----------------+ | - V | | - +-------+ +--------------+ - | STOP | - +-------+ - - - Figure 2. Certification Path Processing Flowchart - -6.1.1 Inputs - - This algorithm assumes the following seven inputs are provided to the - path processing logic: - - (a) a prospective certification path of length n. - - (b) the current date/time. - - - - - - - -Housley, et. al. Standards Track [Page 66] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (c) user-initial-policy-set: A set of certificate policy - identifiers naming the policies that are acceptable to the - certificate user. The user-initial-policy-set contains the - special value any-policy if the user is not concerned about - certificate policy. - - (d) trust anchor information, describing a CA that serves as a - trust anchor for the certification path. The trust anchor - information includes: - - (1) the trusted issuer name, - - (2) the trusted public key algorithm, - - (3) the trusted public key, and - - (4) optionally, the trusted public key parameters associated - with the public key. - - The trust anchor information may be provided to the path - processing procedure in the form of a self-signed certificate. - The trusted anchor information is trusted because it was delivered - to the path processing procedure by some trustworthy out-of-band - procedure. If the trusted public key algorithm requires - parameters, then the parameters are provided along with the - trusted public key. - - (e) initial-policy-mapping-inhibit, which indicates if policy - mapping is allowed in the certification path. - - (f) initial-explicit-policy, which indicates if the path must be - valid for at least one of the certificate policies in the user- - initial-policy-set. - - (g) initial-any-policy-inhibit, which indicates whether the - anyPolicy OID should be processed if it is included in a - certificate. - -6.1.2 Initialization - - This initialization phase establishes eleven state variables based - upon the seven inputs: - - (a) valid_policy_tree: A tree of certificate policies with their - optional qualifiers; each of the leaves of the tree represents a - valid policy at this stage in the certification path validation. - If valid policies exist at this stage in the certification path - validation, the depth of the tree is equal to the number of - - - -Housley, et. al. Standards Track [Page 67] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - certificates in the chain that have been processed. If valid - policies do not exist at this stage in the certification path - validation, the tree is set to NULL. Once the tree is set to - NULL, policy processing ceases. - - Each node in the valid_policy_tree includes four data objects: the - valid policy, a set of associated policy qualifiers, a set of one - or more expected policy values, and a criticality indicator. If - the node is at depth x, the components of the node have the - following semantics: - - (1) The valid_policy is a single policy OID representing a - valid policy for the path of length x. - - (2) The qualifier_set is a set of policy qualifiers associated - with the valid policy in certificate x. - - (3) The criticality_indicator indicates whether the - certificate policy extension in certificate x was marked as - critical. - - (4) The expected_policy_set contains one or more policy OIDs - that would satisfy this policy in the certificate x+1. - - The initial value of the valid_policy_tree is a single node with - valid_policy anyPolicy, an empty qualifier_set, an - expected_policy_set with the single value anyPolicy, and a - criticality_indicator of FALSE. This node is considered to be at - depth zero. - - Figure 3 is a graphic representation of the initial state of the - valid_policy_tree. Additional figures will use this format to - describe changes in the valid_policy_tree during path processing. - - +----------------+ - | anyPolicy | <---- valid_policy - +----------------+ - | {} | <---- qualifier_set - +----------------+ - | FALSE | <---- criticality_indicator - +----------------+ - | {anyPolicy} | <---- expected_policy_set - +----------------+ - - Figure 3. Initial value of the valid_policy_tree state variable - - - - - - -Housley, et. al. Standards Track [Page 68] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (b) permitted_subtrees: A set of root names for each name type - (e.g., X.500 distinguished names, email addresses, or ip - addresses) defining a set of subtrees within which all subject - names in subsequent certificates in the certification path MUST - fall. This variable includes a set for each name type: the - initial value for the set for Distinguished Names is the set of - all Distinguished names; the initial value for the set of RFC822 - names is the set of all RFC822 names, etc. - - (c) excluded_subtrees: A set of root names for each name type - (e.g., X.500 distinguished names, email addresses, or ip - addresses) defining a set of subtrees within which no subject name - in subsequent certificates in the certification path may fall. - This variable includes a set for each name type, and the initial - value for each set is empty. - - (d) explicit_policy: an integer which indicates if a non-NULL - valid_policy_tree is required. The integer indicates the number of - non-self-issued certificates to be processed before this - requirement is imposed. Once set, this variable may be decreased, - but may not be increased. That is, if a certificate in the path - requires a non-NULL valid_policy_tree, a later certificate can not - remove this requirement. If initial-explicit-policy is set, then - the initial value is 0, otherwise the initial value is n+1. - - (e) inhibit_any-policy: an integer which indicates whether the - anyPolicy policy identifier is considered a match. The integer - indicates the number of non-self-issued certificates to be - processed before the anyPolicy OID, if asserted in a certificate, - is ignored. Once set, this variable may be decreased, but may not - be increased. That is, if a certificate in the path inhibits - processing of anyPolicy, a later certificate can not permit it. - If initial-any-policy-inhibit is set, then the initial value is 0, - otherwise the initial value is n+1. - - (f) policy_mapping: an integer which indicates if policy mapping - is permitted. The integer indicates the number of non-self-issued - certificates to be processed before policy mapping is inhibited. - Once set, this variable may be decreased, but may not be - increased. That is, if a certificate in the path specifies policy - mapping is not permitted, it can not be overridden by a later - certificate. If initial-policy-mapping-inhibit is set, then the - initial value is 0, otherwise the initial value is n+1. - - (g) working_public_key_algorithm: the digital signature algorithm - used to verify the signature of a certificate. The - working_public_key_algorithm is initialized from the trusted - public key algorithm provided in the trust anchor information. - - - -Housley, et. al. Standards Track [Page 69] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (h) working_public_key: the public key used to verify the - signature of a certificate. The working_public_key is initialized - from the trusted public key provided in the trust anchor - information. - - (i) working_public_key_parameters: parameters associated with the - current public key, that may be required to verify a signature - (depending upon the algorithm). The working_public_key_parameters - variable is initialized from the trusted public key parameters - provided in the trust anchor information. - - (j) working_issuer_name: the issuer distinguished name expected - in the next certificate in the chain. The working_issuer_name is - initialized to the trusted issuer provided in the trust anchor - information. - - (k) max_path_length: this integer is initialized to n, is - decremented for each non-self-issued certificate in the path, and - may be reduced to the value in the path length constraint field - within the basic constraints extension of a CA certificate. - - Upon completion of the initialization steps, perform the basic - certificate processing steps specified in 6.1.3. - -6.1.3 Basic Certificate Processing - - The basic path processing actions to be performed for certificate i - (for all i in [1..n]) are listed below. - - (a) Verify the basic certificate information. The certificate - MUST satisfy each of the following: - - (1) The certificate was signed with the - working_public_key_algorithm using the working_public_key and - the working_public_key_parameters. - - (2) The certificate validity period includes the current time. - - (3) At the current time, the certificate is not revoked and is - not on hold status. This may be determined by obtaining the - appropriate CRL (section 6.3), status information, or by out- - of-band mechanisms. - - (4) The certificate issuer name is the working_issuer_name. - - - - - - - -Housley, et. al. Standards Track [Page 70] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (b) If certificate i is self-issued and it is not the final - certificate in the path, skip this step for certificate i. - Otherwise, verify that the subject name is within one of the - permitted_subtrees for X.500 distinguished names, and verify that - each of the alternative names in the subjectAltName extension - (critical or non-critical) is within one of the permitted_subtrees - for that name type. - - (c) If certificate i is self-issued and it is not the final - certificate in the path, skip this step for certificate i. - Otherwise, verify that the subject name is not within one of the - excluded_subtrees for X.500 distinguished names, and verify that - each of the alternative names in the subjectAltName extension - (critical or non-critical) is not within one of the - excluded_subtrees for that name type. - - (d) If the certificate policies extension is present in the - certificate and the valid_policy_tree is not NULL, process the - policy information by performing the following steps in order: - - (1) For each policy P not equal to anyPolicy in the - certificate policies extension, let P-OID denote the OID in - policy P and P-Q denote the qualifier set for policy P. - Perform the following steps in order: - - (i) If the valid_policy_tree includes a node of depth i-1 - where P-OID is in the expected_policy_set, create a child - node as follows: set the valid_policy to OID-P; set the - qualifier_set to P-Q, and set the expected_policy_set to - {P-OID}. - - For example, consider a valid_policy_tree with a node of - depth i-1 where the expected_policy_set is {Gold, White}. - Assume the certificate policies Gold and Silver appear in - the certificate policies extension of certificate i. The - Gold policy is matched but the Silver policy is not. This - rule will generate a child node of depth i for the Gold - policy. The result is shown as Figure 4. - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 71] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - +-----------------+ - | Red | - +-----------------+ - | {} | - +-----------------+ node of depth i-1 - | FALSE | - +-----------------+ - | {Gold, White} | - +-----------------+ - | - | - | - V - +-----------------+ - | Gold | - +-----------------+ - | {} | - +-----------------+ node of depth i - | uninitialized | - +-----------------+ - | {Gold} | - +-----------------+ - - Figure 4. Processing an exact match - - (ii) If there was no match in step (i) and the - valid_policy_tree includes a node of depth i-1 with the - valid policy anyPolicy, generate a child node with the - following values: set the valid_policy to P-OID; set the - qualifier_set to P-Q, and set the expected_policy_set to - {P-OID}. - - For example, consider a valid_policy_tree with a node of - depth i-1 where the valid_policy is anyPolicy. Assume the - certificate policies Gold and Silver appear in the - certificate policies extension of certificate i. The Gold - policy does not have a qualifier, but the Silver policy has - the qualifier Q-Silver. If Gold and Silver were not matched - in (i) above, this rule will generate two child nodes of - depth i, one for each policy. The result is shown as Figure - 5. - - - - - - - - - - -Housley, et. al. Standards Track [Page 72] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - +-----------------+ - | anyPolicy | - +-----------------+ - | {} | - +-----------------+ node of depth i-1 - | FALSE | - +-----------------+ - | {anyPolicy} | - +-----------------+ - / \ - / \ - / \ - / \ - +-----------------+ +-----------------+ - | Gold | | Silver | - +-----------------+ +-----------------+ - | {} | | {Q-Silver} | - +-----------------+ nodes of +-----------------+ - | uninitialized | depth i | uninitialized | - +-----------------+ +-----------------+ - | {Gold} | | {Silver} | - +-----------------+ +-----------------+ - - Figure 5. Processing unmatched policies when a leaf node - specifies anyPolicy - - (2) If the certificate policies extension includes the policy - anyPolicy with the qualifier set AP-Q and either (a) - inhibit_any-policy is greater than 0 or (b) i. The - binaries for the certificates and CRLs are available at - . - -C.1 Certificate - - This section contains an annotated hex dump of a 699 byte version 3 - certificate. The certificate contains the following information: - (a) the serial number is 23 (17 hex); - - - -Housley, et. al. Standards Track [Page 115] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (b) the certificate is signed with DSA and the SHA-1 hash algorithm; - (c) the issuer's distinguished name is OU=NIST; O=gov; C=US - (d) and the subject's distinguished name is OU=NIST; O=gov; C=US - (e) the certificate was issued on June 30, 1997 and will expire on - December 31, 1997; - (f) the certificate contains a 1024 bit DSA public key with - parameters; - (g) the certificate contains a subject key identifier extension - generated using method (1) of section 4.2.1.2; and - (h) the certificate is a CA certificate (as indicated through the - basic constraints extension.) - - 0 30 699: SEQUENCE { - 4 30 635: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 1: INTEGER 17 - 16 30 9: SEQUENCE { - 18 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } - 27 30 42: SEQUENCE { - 29 31 11: SET { - 31 30 9: SEQUENCE { - 33 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) - 38 13 2: PrintableString 'US' - : } - : } - 42 31 12: SET { - 44 30 10: SEQUENCE { - 46 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) - 51 13 3: PrintableString 'gov' - : } - : } - 56 31 13: SET { - 58 30 11: SEQUENCE { - 60 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) - 65 13 4: PrintableString 'NIST' - : } - : } - : } - 71 30 30: SEQUENCE { - 73 17 13: UTCTime '970630000000Z' - 88 17 13: UTCTime '971231000000Z' - : } -103 30 42: SEQUENCE { -105 31 11: SET { - - - -Housley, et. al. Standards Track [Page 116] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -107 30 9: SEQUENCE { -109 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) -114 13 2: PrintableString 'US' - : } - : } -118 31 12: SET { -120 30 10: SEQUENCE { -122 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) -127 13 3: PrintableString 'gov' - : } - : } -132 31 13: SET { -134 30 11: SEQUENCE { -136 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) -141 13 4: PrintableString 'NIST' - : } - : } - : } -147 30 440: SEQUENCE { -151 30 300: SEQUENCE { -155 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) -164 30 287: SEQUENCE { -168 02 129: INTEGER - : 00 B6 8B 0F 94 2B 9A CE A5 25 C6 F2 ED FC - : FB 95 32 AC 01 12 33 B9 E0 1C AD 90 9B BC - : 48 54 9E F3 94 77 3C 2C 71 35 55 E6 FE 4F - : 22 CB D5 D8 3E 89 93 33 4D FC BD 4F 41 64 - : 3E A2 98 70 EC 31 B4 50 DE EB F1 98 28 0A - : C9 3E 44 B3 FD 22 97 96 83 D0 18 A3 E3 BD - : 35 5B FF EE A3 21 72 6A 7B 96 DA B9 3F 1E - : 5A 90 AF 24 D6 20 F0 0D 21 A7 D4 02 B9 1A - : FC AC 21 FB 9E 94 9E 4B 42 45 9E 6A B2 48 - : 63 FE 43 -300 02 21: INTEGER - : 00 B2 0D B0 B1 01 DF 0C 66 24 FC 13 92 BA - : 55 F7 7D 57 74 81 E5 -323 02 129: INTEGER - : 00 9A BF 46 B1 F5 3F 44 3D C9 A5 65 FB 91 - : C0 8E 47 F1 0A C3 01 47 C2 44 42 36 A9 92 - : 81 DE 57 C5 E0 68 86 58 00 7B 1F F9 9B 77 - : A1 C5 10 A5 80 91 78 51 51 3C F6 FC FC CC - : 46 C6 81 78 92 84 3D F4 93 3D 0C 38 7E 1A - : 5B 99 4E AB 14 64 F6 0C 21 22 4E 28 08 9C - : 92 B9 66 9F 40 E8 95 F6 D5 31 2A EF 39 A2 - : 62 C7 B2 6D 9E 58 C4 3A A8 11 81 84 6D AF - : F8 B4 19 B4 C2 11 AE D0 22 3B AA 20 7F EE - : 1E 57 18 - - - -Housley, et. al. Standards Track [Page 117] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - : } - : } -455 03 133: BIT STRING 0 unused bits, encapsulates { -459 02 129: INTEGER - : 00 B5 9E 1F 49 04 47 D1 DB F5 3A DD CA 04 - : 75 E8 DD 75 F6 9B 8A B1 97 D6 59 69 82 D3 - : 03 4D FD 3B 36 5F 4A F2 D1 4E C1 07 F5 D1 - : 2A D3 78 77 63 56 EA 96 61 4D 42 0B 7A 1D - : FB AB 91 A4 CE DE EF 77 C8 E5 EF 20 AE A6 - : 28 48 AF BE 69 C3 6A A5 30 F2 C2 B9 D9 82 - : 2B 7D D9 C4 84 1F DE 0D E8 54 D7 1B 99 2E - : B3 D0 88 F6 D6 63 9B A7 E2 0E 82 D4 3B 8A - : 68 1B 06 56 31 59 0B 49 EB 99 A5 D5 81 41 - : 7B C9 55 - : } - : } -591 A3 50: [3] { -593 30 48: SEQUENCE { -595 30 29: SEQUENCE { -597 06 3: OBJECT IDENTIFIER - : subjectKeyIdentifier (2 5 29 14) -602 04 22: OCTET STRING, encapsulates { -604 04 20: OCTET STRING - : 86 CA A5 22 81 62 EF AD 0A 89 BC AD 72 41 - : 2C 29 49 F4 86 56 - : } - : } -626 30 15: SEQUENCE { -628 06 3: OBJECT IDENTIFIER basicConstraints (2 5 29 19) -633 01 1: BOOLEAN TRUE -636 04 5: OCTET STRING, encapsulates { -638 30 3: SEQUENCE { -640 01 1: BOOLEAN TRUE - : } - : } - : } - : } - : } - : } -643 30 9: SEQUENCE { -645 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } -654 03 47: BIT STRING 0 unused bits, encapsulates { -657 30 44: SEQUENCE { -659 02 20: INTEGER - : 43 1B CF 29 25 45 C0 4E 52 E7 7D D6 FC B1 - : 66 4C 83 CF 2D 77 -681 02 20: INTEGER - - - -Housley, et. al. Standards Track [Page 118] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - : 0B 5B 9A 24 11 98 E8 F3 86 90 04 F6 08 A9 - : E1 8D A5 CC 3A D4 - : } - : } - : } - -C.2 Certificate - - This section contains an annotated hex dump of a 730 byte version 3 - certificate. The certificate contains the following information: - (a) the serial number is 18 (12 hex); - (b) the certificate is signed with DSA and the SHA-1 hash algorithm; - (c) the issuer's distinguished name is OU=nist; O=gov; C=US - (d) and the subject's distinguished name is CN=Tim Polk; OU=nist; - O=gov; C=US - (e) the certificate was valid from July 30, 1997 through December 1, - 1997; - (f) the certificate contains a 1024 bit DSA public key; - (g) the certificate is an end entity certificate, as the basic - constraints extension is not present; - (h) the certificate contains an authority key identifier extension - matching the subject key identifier of the certificate in Appendix - C.1; and - (i) the certificate includes one alternative name - an RFC 822 - address of "wpolk@nist.gov". - - 0 30 730: SEQUENCE { - 4 30 665: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 1: INTEGER 18 - 16 30 9: SEQUENCE { - 18 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } - 27 30 42: SEQUENCE { - 29 31 11: SET { - 31 30 9: SEQUENCE { - 33 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) - 38 13 2: PrintableString 'US' - : } - : } - 42 31 12: SET { - 44 30 10: SEQUENCE { - 46 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) - 51 13 3: PrintableString 'gov' - : } - : } - - - -Housley, et. al. Standards Track [Page 119] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - 56 31 13: SET { - 58 30 11: SEQUENCE { - 60 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) - 65 13 4: PrintableString 'NIST' - : } - : } - : } - 71 30 30: SEQUENCE { - 73 17 13: UTCTime '970730000000Z' - 88 17 13: UTCTime '971201000000Z' - : } - 103 30 61: SEQUENCE { - 105 31 11: SET { - 107 30 9: SEQUENCE { - 109 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) - 114 13 2: PrintableString 'US' - : } - : } - 118 31 12: SET { - 120 30 10: SEQUENCE { - 122 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) - 127 13 3: PrintableString 'gov' - : } - : } - 132 31 13: SET { - 134 30 11: SEQUENCE { - 136 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) - 141 13 4: PrintableString 'NIST' - : } - : } - 147 31 17: SET { - 149 30 15: SEQUENCE { - 151 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) - 156 13 8: PrintableString 'Tim Polk' - : } - : } - : } - 166 30 439: SEQUENCE { - 170 30 300: SEQUENCE { - 174 06 7: OBJECT IDENTIFIER dsa (1 2 840 10040 4 1) - 183 30 287: SEQUENCE { - 187 02 129: INTEGER - : 00 B6 8B 0F 94 2B 9A CE A5 25 C6 F2 ED FC - : FB 95 32 AC 01 12 33 B9 E0 1C AD 90 9B BC - : 48 54 9E F3 94 77 3C 2C 71 35 55 E6 FE 4F - : 22 CB D5 D8 3E 89 93 33 4D FC BD 4F 41 64 - - - -Housley, et. al. Standards Track [Page 120] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - : 3E A2 98 70 EC 31 B4 50 DE EB F1 98 28 0A - : C9 3E 44 B3 FD 22 97 96 83 D0 18 A3 E3 BD - : 35 5B FF EE A3 21 72 6A 7B 96 DA B9 3F 1E - : 5A 90 AF 24 D6 20 F0 0D 21 A7 D4 02 B9 1A - : FC AC 21 FB 9E 94 9E 4B 42 45 9E 6A B2 48 - : 63 FE 43 - 319 02 21: INTEGER - : 00 B2 0D B0 B1 01 DF 0C 66 24 FC 13 92 BA - : 55 F7 7D 57 74 81 E5 - 342 02 129: INTEGER - : 00 9A BF 46 B1 F5 3F 44 3D C9 A5 65 FB 91 - : C0 8E 47 F1 0A C3 01 47 C2 44 42 36 A9 92 - : 81 DE 57 C5 E0 68 86 58 00 7B 1F F9 9B 77 - : A1 C5 10 A5 80 91 78 51 51 3C F6 FC FC CC - : 46 C6 81 78 92 84 3D F4 93 3D 0C 38 7E 1A - : 5B 99 4E AB 14 64 F6 0C 21 22 4E 28 08 9C - : 92 B9 66 9F 40 E8 95 F6 D5 31 2A EF 39 A2 - : 62 C7 B2 6D 9E 58 C4 3A A8 11 81 84 6D AF - : F8 B4 19 B4 C2 11 AE D0 22 3B AA 20 7F EE - : 1E 57 18 - : } - : } - 474 03 132: BIT STRING 0 unused bits, encapsulates { - 478 02 128: INTEGER - : 30 B6 75 F7 7C 20 31 AE 38 BB 7E 0D 2B AB - : A0 9C 4B DF 20 D5 24 13 3C CD 98 E5 5F 6C - : B7 C1 BA 4A BA A9 95 80 53 F0 0D 72 DC 33 - : 37 F4 01 0B F5 04 1F 9D 2E 1F 62 D8 84 3A - : 9B 25 09 5A 2D C8 46 8E 2B D4 F5 0D 3B C7 - : 2D C6 6C B9 98 C1 25 3A 44 4E 8E CA 95 61 - : 35 7C CE 15 31 5C 23 13 1E A2 05 D1 7A 24 - : 1C CB D3 72 09 90 FF 9B 9D 28 C0 A1 0A EC - : 46 9F 0D B8 D0 DC D0 18 A6 2B 5E F9 8F B5 - : 95 BE - : } - : } - 609 A3 62: [3] { - 611 30 60: SEQUENCE { - 613 30 25: SEQUENCE { - 615 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - 620 04 18: OCTET STRING, encapsulates { - 622 30 16: SEQUENCE { - 624 81 14: [1] 'wpolk@nist.gov' - : } - : } - : } - 640 30 31: SEQUENCE { - 642 06 3: OBJECT IDENTIFIER - - - -Housley, et. al. Standards Track [Page 121] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - : authorityKeyIdentifier (2 5 29 35) - 647 04 24: OCTET STRING, encapsulates { - 649 30 22: SEQUENCE { - 651 80 20: [0] - : 86 CA A5 22 81 62 EF AD 0A 89 BC AD 72 - : 41 2C 29 49 F4 86 56 - : } - : } - : } - : } - : } - : } - 673 30 9: SEQUENCE { - 675 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } - 684 03 48: BIT STRING 0 unused bits, encapsulates { - 687 30 45: SEQUENCE { - 689 02 20: INTEGER - : 36 97 CB E3 B4 2C E1 BB 61 A9 D3 CC 24 CC - : 22 92 9F F4 F5 87 - 711 02 21: INTEGER - : 00 AB C9 79 AF D2 16 1C A9 E3 68 A9 14 10 - : B4 A0 2E FF 22 5A 73 - : } - : } - : } - -C.3 End Entity Certificate Using RSA - - This section contains an annotated hex dump of a 654 byte version 3 - certificate. The certificate contains the following information: - (a) the serial number is 256; - (b) the certificate is signed with RSA and the SHA-1 hash algorithm; - (c) the issuer's distinguished name is OU=NIST; O=gov; C=US - (d) and the subject's distinguished name is CN=Tim Polk; OU=NIST; - O=gov; C=US - (e) the certificate was issued on May 21, 1996 at 09:58:26 and - expired on May 21, 1997 at 09:58:26; - (f) the certificate contains a 1024 bit RSA public key; - (g) the certificate is an end entity certificate (not a CA - certificate); - (h) the certificate includes an alternative subject name of - "" and an - alternative issuer name of "" - both are URLs; - (i) the certificate include an authority key identifier extension - and a certificate policies extension specifying the policy OID - 2.16.840.1.101.3.2.1.48.9; and - - - - -Housley, et. al. Standards Track [Page 122] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - (j) the certificate includes a critical key usage extension - specifying that the public key is intended for verification of - digital signatures. - - 0 30 654: SEQUENCE { - 4 30 503: SEQUENCE { - 8 A0 3: [0] { - 10 02 1: INTEGER 2 - : } - 13 02 2: INTEGER 256 - 17 30 13: SEQUENCE { - 19 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) - 30 05 0: NULL - : } - 32 30 42: SEQUENCE { - 34 31 11: SET { - 36 30 9: SEQUENCE { - 38 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) - 43 13 2: PrintableString 'US' - : } - : } - 47 31 12: SET { - 49 30 10: SEQUENCE { - 51 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) - 56 13 3: PrintableString 'gov' - : } - : } - 61 31 13: SET { - 63 30 11: SEQUENCE { - 65 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) - 70 13 4: PrintableString 'NIST' - : } - : } - : } - 76 30 30: SEQUENCE { - 78 17 13: UTCTime '960521095826Z' - 93 17 13: UTCTime '970521095826Z' - : } -108 30 61: SEQUENCE { -110 31 11: SET { -112 30 9: SEQUENCE { -114 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) -119 13 2: PrintableString 'US' - : } - : } -123 31 12: SET { - - - -Housley, et. al. Standards Track [Page 123] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -125 30 10: SEQUENCE { -127 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) -132 13 3: PrintableString 'gov' - : } - : } -137 31 13: SET { -139 30 11: SEQUENCE { -141 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) -146 13 4: PrintableString 'NIST' - : } - : } -152 31 17: SET { -154 30 15: SEQUENCE { -156 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) -161 13 8: PrintableString 'Tim Polk' - : } - : } - : } -171 30 159: SEQUENCE { -174 30 13: SEQUENCE { -176 06 9: OBJECT IDENTIFIER - : rsaEncryption (1 2 840 113549 1 1 1) -187 05 0: NULL - : } -189 03 141: BIT STRING 0 unused bits, encapsulates { -193 30 137: SEQUENCE { -196 02 129: INTEGER - : 00 E1 6A E4 03 30 97 02 3C F4 10 F3 B5 1E - : 4D 7F 14 7B F6 F5 D0 78 E9 A4 8A F0 A3 75 - : EC ED B6 56 96 7F 88 99 85 9A F2 3E 68 77 - : 87 EB 9E D1 9F C0 B4 17 DC AB 89 23 A4 1D - : 7E 16 23 4C 4F A8 4D F5 31 B8 7C AA E3 1A - : 49 09 F4 4B 26 DB 27 67 30 82 12 01 4A E9 - : 1A B6 C1 0C 53 8B 6C FC 2F 7A 43 EC 33 36 - : 7E 32 B2 7B D5 AA CF 01 14 C6 12 EC 13 F2 - : 2D 14 7A 8B 21 58 14 13 4C 46 A3 9A F2 16 - : 95 FF 23 -328 02 3: INTEGER 65537 - : } - : } - : } -333 A3 175: [3] { -336 30 172: SEQUENCE { -339 30 63: SEQUENCE { -341 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) -346 04 56: OCTET STRING, encapsulates { -348 30 54: SEQUENCE { - - - -Housley, et. al. Standards Track [Page 124] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -350 86 52: [6] - : 'http://www.itl.nist.gov/div893/staff/' - : 'polk/index.html' - : } - : } - : } -404 30 31: SEQUENCE { -406 06 3: OBJECT IDENTIFIER issuerAltName (2 5 29 18) -411 04 24: OCTET STRING, encapsulates { -413 30 22: SEQUENCE { -415 86 20: [6] 'http://www.nist.gov/' - : } - : } - : } -437 30 31: SEQUENCE { -439 06 3: OBJECT IDENTIFIER - : authorityKeyIdentifier (2 5 29 35) -444 04 24: OCTET STRING, encapsulates { -446 30 22: SEQUENCE { -448 80 20: [0] - : 08 68 AF 85 33 C8 39 4A 7A F8 82 93 8E - : 70 6A 4A 20 84 2C 32 - : } - : } - : } -470 30 23: SEQUENCE { -472 06 3: OBJECT IDENTIFIER - : certificatePolicies (2 5 29 32) -477 04 16: OCTET STRING, encapsulates { -479 30 14: SEQUENCE { -481 30 12: SEQUENCE { -483 06 10: OBJECT IDENTIFIER - : '2 16 840 1 101 3 2 1 48 9' - : } - : } - : } - : } -495 30 14: SEQUENCE { -497 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) -502 01 1: BOOLEAN TRUE -505 04 4: OCTET STRING, encapsulates { -507 03 2: BIT STRING 7 unused bits - : '1'B (bit 0) - : } - : } - : } - : } - : } - - - -Housley, et. al. Standards Track [Page 125] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -511 30 13: SEQUENCE { -513 06 9: OBJECT IDENTIFIER - : sha1withRSAEncryption (1 2 840 113549 1 1 5) -524 05 0: NULL - : } -526 03 129: BIT STRING 0 unused bits - : 1E 07 77 6E 66 B5 B6 B8 57 F0 03 DC 6F 77 - : 6D AF 55 1D 74 E5 CE 36 81 FC 4B C5 F4 47 - : 82 C4 0A 25 AA 8D D6 7D 3A 89 AB 44 34 39 - : F6 BD 61 1A 78 85 7A B8 1E 92 A2 22 2F CE - : 07 1A 08 8E F1 46 03 59 36 4A CB 60 E6 03 - : 40 01 5B 2A 44 D6 E4 7F EB 43 5E 74 0A E6 - : E4 F9 3E E1 44 BE 1F E7 5F 5B 2C 41 8D 08 - : BD 26 FE 6A A6 C3 2F B2 3B 41 12 6B C1 06 - : 8A B8 4C 91 59 EB 2F 38 20 2A 67 74 20 0B - : 77 F3 - : } - -C.4 Certificate Revocation List - - This section contains an annotated hex dump of a version 2 CRL with - one extension (cRLNumber). The CRL was issued by OU=NIST; O=gov; - C=US on August 7, 1997; the next scheduled issuance was September 7, - 1997. The CRL includes one revoked certificates: serial number 18 - (12 hex), which was revoked on July 31, 1997 due to keyCompromise. - The CRL itself is number 18, and it was signed with DSA and SHA-1. - - 0 30 203: SEQUENCE { - 3 30 140: SEQUENCE { - 6 02 1: INTEGER 1 - 9 30 9: SEQUENCE { - 11 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } - 20 30 42: SEQUENCE { - 22 31 11: SET { - 24 30 9: SEQUENCE { - 26 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) - 31 13 2: PrintableString 'US' - : } - : } - 35 31 12: SET { - 37 30 10: SEQUENCE { - 39 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) - 44 13 3: PrintableString 'gov' - : } - : } - 49 31 13: SET { - 51 30 11: SEQUENCE { - - - -Housley, et. al. Standards Track [Page 126] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - - 53 06 3: OBJECT IDENTIFIER - : organizationalUnitName (2 5 4 11) - 58 13 4: PrintableString 'NIST' - : } - : } - : } - 64 17 13: UTCTime '970807000000Z' - 79 17 13: UTCTime '970907000000Z' - 94 30 34: SEQUENCE { - 96 30 32: SEQUENCE { - 98 02 1: INTEGER 18 -101 17 13: UTCTime '970731000000Z' -116 30 12: SEQUENCE { -118 30 10: SEQUENCE { -120 06 3: OBJECT IDENTIFIER cRLReason (2 5 29 21) -125 04 3: OCTET STRING, encapsulates { -127 0A 1: ENUMERATED 1 - : } - : } - : } - : } - : } -130 A0 14: [0] { -132 30 12: SEQUENCE { -134 30 10: SEQUENCE { -136 06 3: OBJECT IDENTIFIER cRLNumber (2 5 29 20) -141 04 3: OCTET STRING, encapsulates { -143 02 1: INTEGER 12 - : } - : } - : } - : } - : } -146 30 9: SEQUENCE { -148 06 7: OBJECT IDENTIFIER dsaWithSha1 (1 2 840 10040 4 3) - : } -157 03 47: BIT STRING 0 unused bits, encapsulates { -160 30 44: SEQUENCE { -162 02 20: INTEGER - : 22 4E 9F 43 BA 95 06 34 F2 BB 5E 65 DB A6 - : 80 05 C0 3A 29 47 -184 02 20: INTEGER - : 59 1A 57 C9 82 D7 02 21 14 C3 D4 0B 32 1B - : 96 16 B1 1F 46 5A - : } - : } - : } - - - - -Housley, et. al. Standards Track [Page 127] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -Author Addresses - - Russell Housley - RSA Laboratories - 918 Spring Knoll Drive - Herndon, VA 20170 - USA - - EMail: rhousley@rsasecurity.com - - Warwick Ford - VeriSign, Inc. - 401 Edgewater Place - Wakefield, MA 01880 - USA - - EMail: wford@verisign.com - - Tim Polk - NIST - Building 820, Room 426 - Gaithersburg, MD 20899 - USA - - EMail: wpolk@nist.gov - - David Solo - Citigroup - 909 Third Ave, 16th Floor - New York, NY 10043 - USA - - EMail: dsolo@alum.mit.edu - - - - - - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 128] - -RFC 3280 Internet X.509 Public Key Infrastructure April 2002 - - -Full Copyright Statement - - Copyright (C) The Internet Society (2002). All Rights Reserved. - - This document and translations of it may be copied and furnished to - others, and derivative works that comment on or otherwise explain it - or assist in its implementation may be prepared, copied, published - and distributed, in whole or in part, without restriction of any - kind, provided that the above copyright notice and this paragraph are - included on all such copies and derivative works. However, this - document itself may not be modified in any way, such as by removing - the copyright notice or references to the Internet Society or other - Internet organizations, except as needed for the purpose of - developing Internet standards in which case the procedures for - copyrights defined in the Internet Standards process must be - followed, or as required to translate it into languages other than - English. - - The limited permissions granted above are perpetual and will not be - revoked by the Internet Society or its successors or assigns. - - This document and the information contained herein is provided on an - "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Acknowledgement - - Funding for the RFC Editor function is currently provided by the - Internet Society. - - - - - - - - - - - - - - - - - - - -Housley, et. al. Standards Track [Page 129] - diff --git a/examples/rfc3525.txt b/examples/rfc3525.txt deleted file mode 100644 index 80663cc..0000000 --- a/examples/rfc3525.txt +++ /dev/null @@ -1,11931 +0,0 @@ - - - - - - -Network Working Group C. Groves -Request for Comments: 3525 M. Pantaleo -Obsoletes: 3015 LM Ericsson -Category: Standards Track T. Anderson - Consultant - T. Taylor - Nortel Networks - Editors - June 2003 - - - Gateway Control Protocol Version 1 - -Status of this Memo - - This document specifies an Internet standards track protocol for the - Internet community, and requests discussion and suggestions for - improvements. Please refer to the current edition of the "Internet - Official Protocol Standards" (STD 1) for the standardization state - and status of this protocol. Distribution of this memo is unlimited. - -Copyright Notice - - Copyright (C) The Internet Society (2003). All Rights Reserved. - -Abstract - - This document defines the protocol used between elements of a - physically decomposed multimedia gateway, i.e., a Media Gateway and a - Media Gateway Controller. The protocol presented in this document - meets the requirements for a media gateway control protocol as - presented in RFC 2805. - - This document replaces RFC 3015. It is the result of continued - cooperation between the IETF Megaco Working Group and ITU-T Study - Group 16. It incorporates the original text of RFC 3015, modified by - corrections and clarifications discussed on the Megaco - E-mail list and incorporated into the Study Group 16 Implementor's - Guide for Recommendation H.248. The present version of this document - underwent ITU-T Last Call as Recommendation H.248 Amendment 1. - Because of ITU-T renumbering, it was published by the ITU-T as - Recommendation H.248.1 (03/2002), Gateway Control Protocol Version 1. - - Users of this specification are advised to consult the H.248 Sub- - series Implementors' Guide at http://www.itu.int/itudoc/itu- - t/com16/implgd for additional corrections and clarifications. - - - - - -Groves, et al. Standards Track [Page 1] - -RFC 3525 Gateway Control Protocol June 2003 - - -Conventions used in this document - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in RFC 2119 [RFC2119]. - -Table of Contents - - 1 Scope.........................................................5 - 1.1 Changes From RFC 3015.....................................5 - 1.2 Differences From ITU-T Recommendation H.248.1 (03/2002)...5 - 2 References....................................................6 - 2.1 Normative references......................................6 - 2.2 Informative references....................................9 - 3 Definitions..................................................10 - 4 Abbreviations................................................11 - 5 Conventions..................................................12 - 6 Connection model.............................................13 - 6.1 Contexts.................................................16 - 6.2 Terminations.............................................17 - 6.2.1 Termination dynamics.................................21 - 6.2.2 TerminationIDs.......................................21 - 6.2.3 Packages.............................................22 - 6.2.4 Termination properties and descriptors...............23 - 6.2.5 Root Termination.....................................25 - 7 Commands.....................................................26 - 7.1 Descriptors..............................................27 - 7.1.1 Specifying parameters................................27 - 7.1.2 Modem descriptor.....................................28 - 7.1.3 Multiplex descriptor.................................28 - 7.1.4 Media descriptor.....................................29 - 7.1.5 TerminationState descriptor..........................29 - 7.1.6 Stream descriptor....................................30 - 7.1.7 LocalControl descriptor..............................31 - 7.1.8 Local and Remote descriptors.........................32 - 7.1.9 Events descriptor....................................35 - 7.1.10 EventBuffer descriptor..............................38 - 7.1.11 Signals descriptor..................................38 - 7.1.12 Audit descriptor....................................40 - 7.1.13 ServiceChange descriptor............................41 - 7.1.14 DigitMap descriptor.................................41 - 7.1.15 Statistics descriptor...............................46 - 7.1.16 Packages descriptor.................................47 - 7.1.17 ObservedEvents descriptor...........................47 - 7.1.18 Topology descriptor.................................47 - 7.1.19 Error Descriptor....................................50 - 7.2 Command Application Programming Interface................50 - 7.2.1 Add..................................................51 - - - -Groves, et al. Standards Track [Page 2] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7.2.2 Modify...............................................52 - 7.2.3 Subtract.............................................53 - 7.2.4 Move.................................................55 - 7.2.5 AuditValue...........................................56 - 7.2.6 AuditCapabilities....................................59 - 7.2.7 Notify...............................................60 - 7.2.8 ServiceChange........................................61 - 7.2.9 Manipulating and Auditing Context Attributes.........65 - 7.2.10 Generic Command Syntax..............................66 - 7.3 Command Error Codes......................................66 - 8 Transactions.................................................66 - 8.1 Common parameters........................................68 - 8.1.1 Transaction Identifiers..............................68 - 8.1.2 Context Identifiers..................................68 - 8.2 Transaction Application Programming Interface............69 - 8.2.1 TransactionRequest...................................69 - 8.2.2 TransactionReply.....................................69 - 8.2.3 TransactionPending...................................71 - 8.3 Messages.................................................72 - 9 Transport....................................................72 - 9.1 Ordering of Commands.....................................73 - 9.2 Protection against Restart Avalanche.....................74 - 10 Security Considerations.....................................75 - 10.1 Protection of Protocol Connections......................75 - 10.2 Interim AH scheme.......................................76 - 10.3 Protection of Media Connections.........................77 - 11 MG-MGC Control Interface....................................78 - 11.1 Multiple Virtual MGs....................................78 - 11.2 Cold start..............................................79 - 11.3 Negotiation of protocol version.........................79 - 11.4 Failure of a MG.........................................80 - 11.5 Failure of an MGC.......................................81 - 12 Package definition..........................................82 - 12.1 Guidelines for defining packages........................82 - 12.1.1 Package.............................................83 - 12.1.2 Properties..........................................84 - 12.1.3 Events..............................................85 - 12.1.4 Signals.............................................85 - 12.1.5 Statistics..........................................86 - 12.1.6 Procedures..........................................86 - 12.2 Guidelines to defining Parameters to Events and Signals.86 - 12.3 Lists...................................................87 - 12.4 Identifiers.............................................87 - 12.5 Package registration....................................88 - 13 IANA Considerations.........................................88 - 13.1 Packages................................................88 - 13.2 Error codes.............................................89 - 13.3 ServiceChange reasons...................................89 - - - -Groves, et al. Standards Track [Page 3] - -RFC 3525 Gateway Control Protocol June 2003 - - - ANNEX A Binary encoding of the protocol.......................90 - A.1 Coding of wildcards......................................90 - A.2 ASN.1 syntax specification...............................92 - A.3 Digit maps and path names...............................111 - ANNEX B Text encoding of the protocol.........................113 - B.1 Coding of wildcards.....................................113 - B.2 ABNF specification......................................113 - B.3 Hexadecimal octet coding................................127 - B.4 Hexadecimal octet sequence..............................127 - ANNEX C Tags for media stream properties......................128 - C.1 General media attributes................................128 - C.2 Mux properties..........................................130 - C.3 General bearer properties...............................130 - C.4 General ATM properties..................................130 - C.5 Frame Relay.............................................134 - C.6 IP......................................................134 - C.7 ATM AAL2................................................134 - C.8 ATM AAL1................................................136 - C.9 Bearer capabilities.....................................137 - C.10 AAL5 properties........................................147 - C.11 SDP equivalents........................................148 - C.12 H.245..................................................149 - ANNEX D Transport over IP.....................................150 - D.1 Transport over IP/UDP using Application Level Framing ..150 - D.1.1 Providing At-Most-Once functionality................150 - D.1.2 Transaction identifiers and three-way handshake.....151 - D.1.3 Computing retransmission timers.....................152 - D.1.4 Provisional responses...............................153 - D.1.5 Repeating Requests, Responses and Acknowledgements..153 - D.2 Using TCP...............................................155 - D.2.1 Providing the At-Most-Once functionality............155 - D.2.2 Transaction identifiers and three-way handshake.....155 - D.2.3 Computing retransmission timers.....................156 - D.2.4 Provisional responses...............................156 - D.2.5 Ordering of commands................................156 - ANNEX E Basic packages.......................................157 - E.1 Generic.................................................157 - E.2 Base Root Package.......................................159 - E.3 Tone Generator Package..................................161 - E.4 Tone Detection Package..................................163 - E.5 Basic DTMF Generator Package............................166 - E.6 DTMF detection Package..................................167 - E.7 Call Progress Tones Generator Package...................169 - E.8 Call Progress Tones Detection Package...................171 - E.9 Analog Line Supervision Package.........................172 - E.10 Basic Continuity Package...............................175 - E.11 Network Package........................................178 - E.12 RTP Package............................................180 - - - -Groves, et al. Standards Track [Page 4] - -RFC 3525 Gateway Control Protocol June 2003 - - - E.13 TDM Circuit Package....................................182 - APPENDIX I EXAMPLE CALL FLOWS (INFORMATIVE)...................184 - A.1 Residential Gateway to Residential Gateway Call.........184 - A.1.1 Programming Residential GW Analog Line Terminations - for Idle Behavior...................................184 - A.1.2 Collecting Originator Digits and Initiating - Termination.........................................186 - APPENDIX II Changes From RFC 3015............................195 - Intellectual Property Rights..................................210 - Acknowledgments...............................................211 - Authors' Addresses............................................212 - Full Copyright Statement......................................213 - -1 Scope - - The present document, which is identical to the published version of - ITU-T Recommendation H.248.1 (03/2002) except as noted below, defines - the protocols used between elements of a physically decomposed - multimedia gateway. There are no functional differences from a - system view between a decomposed gateway, with distributed sub- - components potentially on more than one physical device, and a - monolithic gateway such as described in ITU-T Recommendation H.246. - This document does not define how gateways, multipoint control units - or interactive voice response units (IVRs) work. Instead it creates - a general framework that is suitable for these applications. - - Packet network interfaces may include IP, ATM or possibly others. - The interfaces will support a variety of Switched Circuit Network - (SCN) signalling systems, including tone signalling, ISDN, ISUP, QSIG - and GSM. National variants of these signalling systems will be - supported where applicable. - -1.1 Changes From RFC 3015 - - The differences between this document and RFC 3015 are documented in - Appendix II. - -1.2 Differences From ITU-T Recommendation H.248.1 (03/2002) - - This document differs from the corresponding ITU-T publication in the - following respects: - - - Added IETF front matter in place of the corresponding ITU-T - material. - - - The ITU-T summary is too H.323-specific and has been omitted. - - - - - -Groves, et al. Standards Track [Page 5] - -RFC 3525 Gateway Control Protocol June 2003 - - - - The IETF conventions have been stated as governing this document. - As discussed in section 5 below, this gives slightly greater - strength to "should" requirements. - - - The Scope section (just above) has been edited slightly to suit - its IETF context. - - - Added normative references to RFCs 2026 and 2119. - - - Figures 4, 5, and 6 show the centre of the context for greater - clarity. Also added Figure 6a showing an important additional - example. - - - Added a paragraph in section 7.1.18 which was approved in the - Implementor's Guide but lost inadvertently in the ITU-T approved - version. - - - This document incorporates corrections to the informative examples - in Appendix I which also appear in H.248.1 version 2, but which - were not picked up in H.248.1 (03/2002). - - - This document includes a new Appendix II listing all the changes - from RFC 3015. - - - This document includes an Acknowledgements section listing the - authors of RFC 3015 but also many other people who contributed to - the development of the Megaco/H.248.x protocol. - - - Moved the Intellectual Property declaration to its usual place in - an IETF document and added a reference to declarations on the IETF - web site. - -2 References - - The following ITU-T Recommendations and other references contain - provisions which, through reference in this text, constitute - provisions of this RFC. At the time of publication, the editions - indicated were valid. All Recommendations and other references are - subject to revision; all users of this RFC are therefore encouraged - to investigate the possibility of applying the most recent edition of - the Recommendations and other references listed below. A list of the - currently valid ITU-T Recommendations is regularly published. - -2.1 Normative references - - - ITU-T Recommendation H.225.0 (1999), Call signalling protocols and - media stream packetization for packet-based multimedia - communication systems. - - - -Groves, et al. Standards Track [Page 6] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ITU-T Recommendation H.235 (1998), Security and encryption for - H-Series (H.323 and other H.245-based) multimedia terminals. - - - ITU-T Recommendation H.245 (1998), Control protocol for multimedia - communication. - - - ITU-T Recommendation H.246 (1998), Interworking of H-series - multimedia terminals with H-series multimedia terminals and - voice/voiceband terminals on GSTN and ISDN. - - - ITU-T Recommendation H.248.8 (2002), H.248 Error Codes and Service - Change Reasons. - - - ITU-T Recommendation H.323 (1999), Packet-based multimedia - communication systems. - - - ITU-T Recommendation I.363.1 (1996), B-ISDN ATM adaptation layer - (AAL) specification: Type 1 AAL. - - - ITU-T Recommendation I.363.2 (1997), B-ISDN ATM adaptation layer - (AAL) specification: Type 2 AAL. - - - ITU-T Recommendation I.363.5 (1996), B-ISDN ATM adaptation layer - (AAL) specification: Type 5 AAL. - - - ITU-T Recommendation I.366.1 (1998), Segmentation and Reassembly - Service Specific Convergence Sublayer for the AAL type 2. - - - ITU-T Recommendation I.366.2 (1999), AAL type 2 service specific - convergence sublayer for trunking. - - - ITU-T Recommendation I.371 (2000), Traffic control and congestion - control in B-ISDN. - - - ITU-T Recommendation Q.763 (1999), Signalling System No. 7 - ISDN - user part formats and codes. - - - ITU-T Recommendation Q.765.5 (2001), Application transport - mechanism - Bearer independent call control (BICC). - - - ITU-T Recommendation Q.931 (1998), ISDN user-network interface - layer 3 specification for basic call control. - - - ITU-T Recommendation Q.2630.1 (1999), AAL type 2 signalling - protocol (Capability Set 1). - - - - - - -Groves, et al. Standards Track [Page 7] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ITU-T Recommendation Q.2931 (1995), Digital Subscriber Signalling - System No. 2 (DSS2) - User-Network Interface (UNI) - Layer 3 - specification for basic call/connection control. - - - ITU-T Recommendation Q.2941.1 (1997), Digital Subscriber - Signalling System No. 2 - Generic identifier transport. - - - ITU-T Recommendation Q.2961.1 (1995), Additional signalling - capabilities to support traffic parameters for the tagging option - and the sustainable call rate parameter set. - - - ITU-T Recommendation Q.2961.2 (1997), Additional traffic - parameters: Support of ATM transfer capability in the broadband - bearer capability information element. - - - ITU-T Recommendation Q.2965.1 (1999), Digital subscriber - signalling system No. 2 - Support of Quality of Service classes. - - - ITU-T Recommendation Q.2965.2 (1999), Digital subscriber - signalling system No. 2 - Signalling of individual Quality of - Service parameters. - - - ITU-T Recommendation V.76 (1996), Generic multiplexer using V.42 - LAPM-based procedures. - - - ITU-T Recommendation X.213 (1995), Information technology - Open - Systems Interconnection - Network service definition plus - Amendment 1 (1997), Addition of the Internet protocol address - format identifier. - - - ITU-T Recommendation X.680 (1997), Information technology - - Abstract Syntax Notation One (ASN.1): Specification of basic - notation. - - - ITU-T Recommendation X.690 (1997), Information Technology - ASN.1 - Encoding Rules: Specification of Basic Encoding Rules (BER), - Canonical Encoding Rules (CER) and Distinguished Encoding Rules - (DER). - - - ATM Forum (1996), ATM User-Network Interface (UNI) Signalling - Specification - Version 4.0. - - [RFC 1006] Rose, M. and D. Cass, "ISO Transport Service on top of the - TCP, Version 3", STD 35, RFC 1006, May 1987. - - [RFC 2026] Brander, S., "The Internet Standards Process -- Revision - 3", BCP 9, RFC 2026, October 1996. - - - - -Groves, et al. Standards Track [Page 8] - -RFC 3525 Gateway Control Protocol June 2003 - - - [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC 2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax - Specifications: ABNF", RFC 2234, November 1997. - - [RFC 2327] Handley, M. and V. Jacobson, "SDP: Session Description - Protocol", RFC 2327, April 1998. - - [RFC 2402] Kent, S. and R. Atkinson, "IP Authentication Header", RFC - 2402, November 1998. - - [RFC 2406] Kent, S. and R. Atkinson, "IP Encapsulating Security - Payload (ESP)", RFC 2406, November 1998. - -2.2 Informative references - - - ITU-T Recommendation E.180/Q.35 (1998), Technical characteristics - of tones for the telephone service. - - - CCITT Recommendation G.711 (1988), Pulse Code Modulation (PCM) of - voice frequencies. - - - ITU-T Recommendation H.221 (1999), Frame structure for a 64 to - 1920 kbit/s channel in audiovisual teleservices. - - - ITU T Recommendation H.223 (1996), Multiplexing protocol for low - bit rate multimedia communication. - - - ITU-T Recommendation H.226 (1998), Channel aggregation protocol - for multilink operation on circuit-switched networks - - - ITU-T Recommendation Q.724 (1998), Signalling procedures. - - - ITU-T Recommendation Q.764 (1999), Signalling system No. 7 - ISDN - user part signalling procedures. - - - ITU-T Recommendation Q.1902.4 (2001), Bearer independent call - control protocol - Basic call procedures. - - [RFC 768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, - August 1980. - - [RFC 791] Postel, J., "Internet Protocol", STD 5, RFC 791, September - 1981. - - [RFC 793] Postel, J., "Transmission Control Protocol", STD 7, RFC - 793, September 1981. - - - -Groves, et al. Standards Track [Page 9] - -RFC 3525 Gateway Control Protocol June 2003 - - - [RFC 1661] Simpson, W., Ed., "The Point-to-Point Protocol (PPP)", STD - 51, RFC 1661, July 1994. - - [RFC 1889] Schulzrinne, H., Casner, S., Frederick, R. and V. - Jacobson, "RTP: A Transport Protocol for Real-Time - Applications", RFC 1889, January 1996. - - [RFC 1890] Schulzrinne, H. and G. Fokus, "RTP Profile for Audio and - Video Conferences with Minimal Control", RFC 1890, - January 1996. - - [RFC 2401] Kent, S. and R. Atkinson, "Security Architecture for the - Internet Protocol", RFC 2401, November 1998. - - [RFC 2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 - (IPv6) Specification", RFC 2460, December 1998. - - [RFC 2543] Handley, M., Schulzrinne, H., Schooler, E. and J. - Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, - March 1999. - - [RFC 2805] Greene, N., Ramalho, M. and B. Rosen, "Media Gateway - Control Protocol Architecture and Requirements", RFC 2805, - April 2000. - -3 Definitions - - This document defines the following terms: - - Access gateway: - A type of gateway that provides a User-Network Interface (UNI) such - as ISDN. - - Descriptor: - A syntactic element of the protocol that groups related properties. - For instance, the properties of a media flow on the MG can be set by - the MGC by including the appropriate descriptor in a command. - - Media Gateway (MG): - The media gateway converts media provided in one type of network to - the format required in another type of network. For example, a MG - could terminate bearer channels from a switched circuit network - (e.g., DS0s) and media streams from a packet network (e.g., RTP - streams in an IP network). This gateway may be capable of processing - audio, video and T.120 alone or in any combination, and will be - capable of full duplex media translations. The MG may also play - audio/video messages and perform other IVR functions, or may perform - media conferencing. - - - -Groves, et al. Standards Track [Page 10] - -RFC 3525 Gateway Control Protocol June 2003 - - - Media Gateway Controller (MGC): - Controls the parts of the call state that pertain to connection - control for media channels in a MG. - - Multipoint Control Unit (MCU): - An entity that controls the setup and coordination of a multi-user - conference that typically includes processing of audio, video and - data. - - Residential gateway: - A gateway that interworks an analogue line to a packet network. A - residential gateway typically contains one or two analogue lines and - is located at the customer premises. - - SCN FAS signalling gateway: - This function contains the SCN Signalling Interface that terminates - SS7, ISDN or other signalling links where the call control channel - and bearer channels are collocated in the same physical span. - - SCN NFAS signalling gateway: - This function contains the SCN Signalling Interface that terminates - SS7 or other signalling links where the call control channels are - separated from bearer channels. - - Stream: - Bidirectional media or control flow received/sent by a media gateway - as part of a call or conference. - - Trunk: - A communication channel between two switching systems such as a DS0 - on a T1 or E1 line. - - Trunking gateway: - A gateway between SCN network and packet network that typically - terminates a large number of digital circuits. - -4 Abbreviations - - This RFC document uses the following abbreviations: - - ALF Application Layer Framing - - ATM Asynchronous Transfer Mode - - CAS Channel Associated Signalling - - DTMF Dual Tone Multi-Frequency - - - - -Groves, et al. Standards Track [Page 11] - -RFC 3525 Gateway Control Protocol June 2003 - - - FAS Facility Associated Signalling - - GSM Global System for Mobile communications - - GW GateWay - - IANA Internet Assigned Numbers Authority (superseded by Internet - Corporation for Assigned Names and Numbers - ICANN) - - IP Internet Protocol - - ISUP ISDN User Part - - IVR Interactive Voice Response - - MG Media Gateway - - MGC Media Gateway Controller - - NFAS Non-Facility Associated Signalling - - PRI Primary Rate Interface - - PSTN Public Switched Telephone Network - - QoS Quality of Service - - RTP Real-time Transport Protocol - - SCN Switched Circuit Network - - SG Signalling Gateway - - SS7 Signalling System No. 7 - -5 Conventions - - In the H.248.1 Recommendation, "SHALL" refers to a mandatory - requirement, while "SHOULD" refers to a suggested but optional - feature or procedure. The term "MAY" refers to an optional course of - action without expressing a preference. Note that these definition - are overridden in the present document by the RFC 2119 conventions - stated at the beginning of this document. RFC 2119 has a more - precise definition of "should" than is provided by the ITU-T. - - - - - - - -Groves, et al. Standards Track [Page 12] - -RFC 3525 Gateway Control Protocol June 2003 - - -6 Connection model - - The connection model for the protocol describes the logical entities, - or objects, within the Media Gateway that can be controlled by the - Media Gateway Controller. The main abstractions used in the - connection model are Terminations and Contexts. - - A Termination sources and/or sinks one or more streams. In a - multimedia conference, a Termination can be multimedia and sources or - sinks multiple media streams. The media stream parameters, as well - as modem, and bearer parameters are encapsulated within the - Termination. - - A Context is an association between a collection of Terminations. - There is a special type of Context, the null Context, which contains - all Terminations that are not associated to any other Termination. - For instance, in a decomposed access gateway, all idle lines are - represented by Terminations in the null Context. - - Following is a graphical depiction of these concepts. The diagram of - Figure 1 gives several examples and is not meant to be an - all-inclusive illustration. The asterisk box in each of the Contexts - represents the logical association of Terminations implied by the - Context. - - - - - - - - - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 13] - -RFC 3525 Gateway Control Protocol June 2003 - - - +------------------------------------------------------+ - |Media Gateway | - | +-------------------------------------------------+ | - | |Context +-------------+ | | - | | | Termination | | | - | | |-------------| | | - | | +-------------+ +->| SCN Bearer |<---+-> - | | | Termination | +-----+ | | Channel | | | - | | |-------------| | |---+ +-------------+ | | - <-+--->| RTP Stream |---| * | | | - | | | | | |---+ +-------------+ | | - | | +-------------+ +-----+ | | Termination | | | - | | | |-------------| | | - | | +->| SCN Bearer |<---+-> - | | | Channel | | | - | | +-------------+ | | - | +-------------------------------------------------+ | - | | - | | - | +------------------------------+ | - | (NULL Context) |Context | | - | +-------------+ | +-------------+ | | - | | Termination | | +-----+ | Termination | | | - | |-------------| | | | |-------------| | | - | | SCN Bearer | | | * |------| SCN Bearer |<---+-> - | | Channel | | | | | Channel | | | - | +-------------+ | +-----+ +-------------+ | | - | +------------------------------+ | - | | - | | - | +-------------------------------------------------+ | - | |Context | | - | | +-------------+ +-------------+ | | - | | | Termination | +-----+ | Termination | | | - | | |-------------| | | |-------------| | | - <-+--->| SCN Bearer |---| * |------| SCN Bearer |<---+-> - | | | Channel | | | | Channel | | | - | | +-------------+ +-----+ +-------------+ | | - | +-------------------------------------------------+ | - | ___________________________________________________ | - +------------------------------------------------------+ - - Figure 1: Examples of Megaco/H.248 Connection Model - - - - - - - - -Groves, et al. Standards Track [Page 14] - -RFC 3525 Gateway Control Protocol June 2003 - - - The example in Figure 2 shows an example of one way to accomplish a - call-waiting scenario in a decomposed access gateway, illustrating - the relocation of a Termination between Contexts. Terminations T1 - and T2 belong to Context C1 in a two-way audio call. A second audio - call is waiting for T1 from Termination T3. T3 is alone in Context - C2. T1 accepts the call from T3, placing T2 on hold. This action - results in T1 moving into Context C2, as shown in Figure 3. - - +------------------------------------------------------+ - |Media Gateway | - | +-------------------------------------------------+ | - | |Context C1 | | - | | +-------------+ +-------------+ | | - | | | Term. T2 | +-----+ | Term. T1 | | | - | | |-------------| | | |-------------| | | - <-+--->| RTP Stream |---| * |------| SCN Bearer |<---+-> - | | | | | | | Channel | | | - | | +-------------+ +-----+ +-------------+ | | - | +-------------------------------------------------+ | - | | - | +-------------------------------------------------+ | - | |Context C2 | | - | | +-------------+ | | - | | +-----+ | Term. T3 | | | - | | | | |-------------| | | - | | | * |------| SCN Bearer |<---+-> - | | | | | Channel | | | - | | +-----+ +-------------+ | | - | +-------------------------------------------------+ | - +------------------------------------------------------+ - - Figure 2: Example Call Waiting Scenario / Alerting Applied to T1 - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 15] - -RFC 3525 Gateway Control Protocol June 2003 - - - +------------------------------------------------------+ - |Media Gateway | - | +-------------------------------------------------+ | - | |Context C1 | | - | | +-------------+ | | - | | | Term. T2 | +-----+ | | - | | |-------------| | | | | - <-+--->| RTP Stream |---| * | | | - | | | | | | | | - | | +-------------+ +-----+ | | - | +-------------------------------------------------+ | - | | - | +-------------------------------------------------+ | - | |Context C2 | | - | | +-------------+ +-------------+ | | - | | | Term. T1 | +-----+ | Term. T3 | | | - | | |-------------| | | |-------------| | | - <-+--->| SCN Bearer |---| * |------| SCN Bearer |<---+-> - | | | Channel | | | | Channel | | | - | | +-------------+ +-----+ +-------------+ | | - | +-------------------------------------------------+ | - +------------------------------------------------------+ - - Figure 3. Example Call Waiting Scenario / Answer by T1 - -6.1 Contexts - - A Context is an association between a number of Terminations. The - Context describes the topology (who hears/sees whom) and the media - mixing and/or switching parameters if more than two Terminations are - involved in the association. - - There is a special Context called the null Context. It contains - Terminations that are not associated to any other Termination. - Terminations in the null Context can have their parameters examined - or modified, and may have events detected on them. - - In general, an Add command is used to add Terminations to Contexts. - If the MGC does not specify an existing Context to which the - Termination is to be added, the MG creates a new Context. A - Termination may be removed from a Context with a Subtract command, - and a Termination may be moved from one Context to another with a - Move command. A Termination SHALL exist in only one Context at a - time. - - - - - - - -Groves, et al. Standards Track [Page 16] - -RFC 3525 Gateway Control Protocol June 2003 - - - The maximum number of Terminations in a Context is a MG property. - Media gateways that offer only point-to-point connectivity might - allow at most two Terminations per Context. Media gateways that - support multipoint conferences might allow three or more Terminations - per Context. - -6.1.1 Context attributes and descriptors - - The attributes of Contexts are: - - - ContextID. - - - The topology (who hears/sees whom). - - The topology of a Context describes the flow of media between the - Terminations within a Context. In contrast, the mode of a - Termination (send/receive/...) describes the flow of the media at - the ingress/egress of the media gateway. - - - The priority is used for a Context in order to provide the MG with - information about a certain precedence handling for a Context. - The MGC can also use the priority to control autonomously the - traffic precedence in the MG in a smooth way in certain - situations (e.g., restart), when a lot of Contexts must be handled - simultaneously. Priority 0 is the lowest priority and a priority - of 15 is the highest priority. - - - An indicator for an emergency call is also provided to allow a - preference handling in the MG. - -6.1.2 Creating, deleting and modifying Contexts - - The protocol can be used to (implicitly) create Contexts and modify - the parameter values of existing Contexts. The protocol has commands - to add Terminations to Contexts, subtract them from Contexts, and to - move Terminations between Contexts. Contexts are deleted implicitly - when the last remaining Termination is subtracted or moved out. - -6.2 Terminations - - A Termination is a logical entity on a MG that sources and/or sinks - media and/or control streams. A Termination is described by a number - of characterizing Properties, which are grouped in a set of - Descriptors that are included in commands. Terminations have unique - identities (TerminationIDs), assigned by the MG at the time of their - creation. - - - - - -Groves, et al. Standards Track [Page 17] - -RFC 3525 Gateway Control Protocol June 2003 - - - Terminations representing physical entities have a semi-permanent - existence. For example, a Termination representing a TDM channel - might exist for as long as it is provisioned in the gateway. - Terminations representing ephemeral information flows, such as RTP - flows, would usually exist only for the duration of their use. - - Ephemeral Terminations are created by means of an Add command. They - are destroyed by means of a Subtract command. In contrast, when a - physical Termination is Added to or Subtracted from a Context, it is - taken from or to the null Context, respectively. - - Terminations may have signals applied to them (see 7.1.11). - Terminations may be programmed to detect Events, the occurrence of - which can trigger notification messages to the MGC, or action by the - MG. Statistics may be accumulated on a Termination. Statistics are - reported to the MGC upon request (by means of the AuditValue command, - see 7.2.5) and when the Termination is taken out of the call it is - in. - - Multimedia gateways may process multiplexed media streams. For - example, Recommendation H.221 describes a frame structure for - multiple media streams multiplexed on a number of digital 64 kbit/s - channels. Such a case is handled in the connection model in the - following way. For every bearer channel that carries part of the - multiplexed streams, there is a physical or ephemeral "bearer - Termination". The bearer Terminations that source/sink the digital - channels are connected to a separate Termination called the - "multiplexing Termination". The multiplexing termination is an - ephemeral termination representing a frame-oriented session. The - MultiplexDescriptor for this Termination describes the multiplex used - (e.g., H.221 for an H.320 session) and indicates the order in which - the contained digital channels are assembled into a frame. - - Multiplexing terminations may be cascades (e.g., H.226 multiplex of - digital channels feeding into a H.223 multiplex supporting an H.324 - session). - - The individual media streams carried in the session are described by - StreamDescriptors on the multiplexing Termination. These media - streams can be associated with streams sourced/sunk by Terminations - in the Context other than the bearer Terminations supporting the - multiplexing Termination. Each bearer Termination supports only a - single data stream. These data streams do not appear explicitly as - streams on the multiplexing Termination and they are hidden from the - rest of the context. - - Figures 4, 5, 6, and 6a illustrate typical applications of the - multiplexing termination and Multiplex Descriptor. - - - -Groves, et al. Standards Track [Page 18] - -RFC 3525 Gateway Control Protocol June 2003 - - - +-----------------------------------+ - | Context +-------+ | - +----+ | | | - Circuit 1 -|--| TC1|---------+ Tmux | | - | +----+ (Str 1) | | Audio +-----+ - | | | +-----*-----+ |----- - | +----+ | H.22x | Stream 1 | | - Circuit 2 -|--| TC2|---------+ multi-| | TR1 | - | +----+ (Str 1) | plex | |(RTP)| - | | | | Video | | - | +----+ | +-----*-----+ |----- - Circuit 3 -|--| TC3|---------+ | Stream 2 | | - / +----+ (Str 1) | | +-----+ - / | +-------+ | - / +-----------------\-----------------+ - Audio, video, and control \ - signals are carried in frames Tmux is an ephemeral with two - spanning the circuits. explicit Stream Descriptors - and a Multiplex Descriptor. - - Figure 4: Multiplexed Termination Scenario - Circuit to Packet - (Asterisks * denote the centre of the context) - - Context - +--------------------------------------+ - | +-------+ +-------+ | - +----+ | | | | +----+ - Circuit 1 ----| TC1|---+ Tmux1 | Audio | Tmux2 +---| TC4|--- - +----+ | +---*----+ | +----+ - | | | Str 1 | | | - +----+ | H.22x | | H.22x | +----+ - Circuit 2 ----| TC2|---+ multi-| | multi-+---| TC5|--- - +----+ | plex | | plex | +----+ - | | | Video | | | - +----+ | +---*----+ | +----+ - Circuit 3 ----| TC3|---+ | Str 2 | +---| TC6|--- - +----+ | | | | +----+ - | +-------+ +-------+ | - +-----------------\-----/--------------+ - \ / - Tmux1 and Tmux2 are ephemerals each with two - explicit Stream Descriptors and a Multiplex Descriptor. - - Figure 5: Multiplexed Termination Scenario - Circuit to Circuit - (Asterisks * denote the centre of the context) - - - - - - -Groves, et al. Standards Track [Page 19] - -RFC 3525 Gateway Control Protocol June 2003 - - - +-----------------------------------+ - | Context +-------+ | - +----+ | | | - Circuit 1 -|--| TC1|---------+ Tmux | | - | +----+ (Str 1) | | Audio +-----+ - | | | +-----*-----+ TR1 |----- - | +----+ | H.22x | Stream 1 |(RTP)| - Circuit 2 -|--| TC2|---------+ multi-| +-----+ - | +----+ (Str 1) | plex | | - | | | | Video +-----+ - | +----+ | +-----*-----+ TR2 |----- - Circuit 3 -|--| TC3|---------+ | Stream 2 |(RTP)| - / +----+ (Str 1) | | +-----+ - / | +-------+ | - / +-----------------\-----------------+ - Audio, video, and control \ Tmux is an ephemeral with two - signals are carried in frames explicit Stream Descriptors and - spanning the circuits. and a Multiplex Descriptor. - - Figure 6: Multiplexed Termination Scenario - Single to Multiple - Terminations - (Asterisks * denote the centre of the context) - - Context - +---------------------------------------------+ - | +-------+ +-------+ | - Cct 1 +----+ | | | | Audio +-----+ - ----| TC1|---+ Tmux1 | | Tmux2 +-----*-----| TR1 |----- - +----+ | | | | Stream 1 |(RTP)| - | | | Data | | +-----+ - Cct 2 +----+ | H.226 +-------+ H.223 | | - ----| TC2|---+ multi-|(Str 1)| multi-| Control +-----+ - +----+ | plex | | plex +-----*-----+ Tctl|----- - | | | | | Stream 3 +-----+ - Cct 3 +----+ | | | | | - ----| TC3|---+ | | | +-----+ - +----+ | | | +-----*-----+ TR2 |----- - | +-------+ | | Video |(RTP)| - | +-------+ Stream 2 +-----+ - | | - +---------------------------------------------+ - Tmux1 has a Multiplex Descriptor and a single data stream. - Tmux2 has a Multiplex Descriptor with a single bearer and - three explicit Stream Descriptors. - - Figure 6a: Multiplexed Termination Scenario - Cascaded Multiplexes - (Asterisks * denote the centre of the context) - Note: this figure does not appear in Rec. H.248.1 - - - -Groves, et al. Standards Track [Page 20] - -RFC 3525 Gateway Control Protocol June 2003 - - - Terminations may be created which represent multiplexed bearers, such - as an ATM AAL Type 2 bearer. When a new multiplexed bearer is to be - created, an ephemeral Termination is created in a Context established - for this purpose. When the Termination is subtracted, the - multiplexed bearer is destroyed. - -6.2.1 Termination dynamics - - The protocol can be used to create new Terminations and to modify - property values of existing Terminations. These modifications - include the possibility of adding or removing events and/or signals. - The Termination properties, and events and signals are described in - the ensuing subclauses. An MGC can only release/modify Terminations - and the resources that the Termination represents which it has - previously seized via, e.g., the Add command. - -6.2.2 TerminationIDs - - Terminations are referenced by a TerminationID, which is an arbitrary - schema chosen by the MG. - - TerminationIDs of physical Terminations are provisioned in the Media - Gateway. The TerminationIDs may be chosen to have structure. For - instance, a TerminationID may consist of trunk group and a trunk - within the group. - - A wildcarding mechanism using two types of wildcards can be used with - TerminationIDs. The two wildcards are ALL and CHOOSE. The former is - used to address multiple Terminations at once, while the latter is - used to indicate to a media gateway that it must select a Termination - satisfying the partially specified TerminationID. This allows, for - instance, that a MGC instructs a MG to choose a circuit within a - trunk group. - - When ALL is used in the TerminationID of a command, the effect is - identical to repeating the command with each of the matching - TerminationIDs. The use of ALL does not address the ROOT - termination. Since each of these commands may generate a response, - the size of the entire response may be large. If individual - responses are not required, a wildcard response may be requested. In - such a case, a single response is generated, which contains the UNION - of all of the individual responses which otherwise would have been - generated, with duplicate values suppressed. For instance, given a - Termination Ta with properties p1=a, p2=b and Termination Tb with - - - - - - - -Groves, et al. Standards Track [Page 21] - -RFC 3525 Gateway Control Protocol June 2003 - - - properties p2=c, p3=d, a UNION response would consist of a wildcarded - TerminationId and the sequence of properties p1=a, p2=b,c and p3=d. - Wildcard response may be particularly useful in the Audit commands. - - The encoding of the wildcarding mechanism is detailed in Annexes A - and B. - -6.2.3 Packages - - Different types of gateways may implement Terminations that have - widely differing characteristics. Variations in Terminations are - accommodated in the protocol by allowing Terminations to have - optional Properties, Events, Signals and Statistics implemented by - MGs. - - In order to achieve MG/MGC interoperability, such options are grouped - into Packages, and typically a Termination realizes a set of such - Packages. More information on definition of packages can be found in - clause 12. An MGC can audit a Termination to determine which - Packages it realizes. - - Properties, Events, Signals and Statistics defined in Packages, as - well as parameters to them, are referenced by identifiers (Ids). - Identifiers are scoped. For each package, PropertyIds, EventIds, - SignalIds, StatisticsIds and ParameterIds have unique name spaces and - the same identifier may be used in each of them. Two PropertyIds in - different packages may also have the same identifier, etc. - - To support a particular package the MG must support all properties, - signals, events and statistics defined in a package. It must also - support all Signal and Event parameters. The MG may support a subset - of the values listed in a package for a particular Property or - Parameter. - - When packages are extended, the properties, events, signals and - statistics defined in the base package can be referred to using - either the extended package name or the base package name. For - example, if Package A defines event e1, and Package B extends Package - A, then B/e1 is an event for a termination implementing Package B. By - definition, the MG MUST also implement the base Package, but it is - optional to publish the base package as an allowed interface. If it - does publish A, then A would be reported on the Package Descriptor - in AuditValue as well as B, and event A/e1 would be available on a - termination. If the MG does not publish A, then only B/e1 would be - available. If published through AuditValue, A/e1 and B/e1 are the - same event. - - - - - -Groves, et al. Standards Track [Page 22] - -RFC 3525 Gateway Control Protocol June 2003 - - - For improved interoperability and backward compatibility, an MG MAY - publish all Packages supported by its Terminations, including base - Packages from which extended Packages are derived. An exception to - this is in cases where the base packages are expressly "Designed to - be extended only". - -6.2.4 Termination properties and descriptors - - Terminations have properties. The properties have unique - PropertyIDs. Most properties have default values, which are - explicitly defined in this protocol specification or in a package - (see clause 12) or set by provisioning. If not provisioned - otherwise, the properties in all descriptors except TerminationState - and LocalControl default to empty/"no value" when a Termination is - first created or returned to the null Context. The default contents - of the two exceptions are described in 7.1.5 and 7.1.7. - - The provisioning of a property value in the MG will override any - default value, be it supplied in this protocol specification or in a - package. Therefore if it is essential for the MGC to have full - control over the property values of a Termination, it should supply - explicit values when ADDing the Termination to a Context. - Alternatively, for a physical Termination the MGC can determine any - provisioned property values by auditing the Termination while it is - in the NULL Context. - - There are a number of common properties for Terminations and - properties specific to media streams. The common properties are also - called the Termination state properties. For each media stream, - there are local properties and properties of the received and - transmitted flows. - - Properties not included in the base protocol are defined in Packages. - These properties are referred to by a name consisting of the - PackageName and a PropertyId. Most properties have default values - described in the Package description. Properties may be read-only or - read/write. The possible values of a property may be audited, as can - their current values. For properties that are read/write, the MGC - can set their values. A property may be declared as "Global" which - has a single value shared by all Terminations realizing the package. - Related properties are grouped into descriptors for convenience. - - When a Termination is added to a Context, the value of its read/write - properties can be set by including the appropriate descriptors as - parameters to the Add command. Similarly, a property of a - Termination in a Context may have its value changed by the Modify - command. - - - - -Groves, et al. Standards Track [Page 23] - -RFC 3525 Gateway Control Protocol June 2003 - - - Properties may also have their values changed when a Termination is - moved from one Context to another as a result of a Move command. In - some cases, descriptors are returned as output from a command. - - In general, if a Descriptor is completely omitted from one of the - aforementioned Commands, the properties in that Descriptor retain - their prior values for the Termination(s) upon which the Command - acts. On the other hand, if some read/write properties are omitted - from a Descriptor in a Command (i.e., the Descriptor is only - partially specified), those properties will be reset to their default - values for the Termination(s) upon which the Command acts, unless the - package specifies other behavior. For more details, see clause 7.1 - dealing with the individual Descriptors. - - The following table lists all of the possible descriptors and their - use. Not all descriptors are legal as input or output parameters to - every command. - - Descriptor name Description - - Modem Identifies modem type and properties when - applicable - - Mux Describes multiplex type for multimedia - Terminations (e.g., H.221, H.223, H.225.0) and - Terminations forming the input mux - - Media A list of media stream specifications (see 7.1.4) - - TerminationState Properties of a Termination (which can be defined - in Packages) that are not stream specific - - Stream A list of remote/local/localControl descriptors for - a single stream - - Local Contains properties that specify the media flows - that the MG receives from the remote entity. - - Remote Contains properties that specify the media flows - that the MG sends to the remote entity. - - LocalControl Contains properties (which can be defined in - packages) that are of interest between the MG and - the MGC. - - Events Describes events to be detected by the MG and what - to do when an event is detected. - - - - -Groves, et al. Standards Track [Page 24] - -RFC 3525 Gateway Control Protocol June 2003 - - - EventBuffer Describes events to be detected by the MG when - Event Buffering is active. - - Signals Describes signals (see 7.1.11) applied to - Terminations. - - Audit In Audit commands, identifies which information is - desired. - - Packages In AuditValue, returns a list of Packages realized - by Termination. - - DigitMap Defines patterns against which sequences of a - specified set of events are to be matched so they - can be reported as a group rather than singly. - - ServiceChange In ServiceChange, what, why service change - occurred, etc. - - ObservedEvents In Notify or AuditValue, report of events observed. - - Statistics In Subtract and Audit, report of Statistics kept on - a Termination. - - Topology Specifies flow directions between Terminations in a - Context. - - Error Contains an error code and optionally error text; - it may occur in command replies and in Notify - requests. - -6.2.5 Root Termination - - Occasionally, a command must refer to the entire gateway, rather than - a Termination within it. A special TerminationID, "Root" is reserved - for this purpose. Packages may be defined on Root. Root thus may - have properties, events and statistics (signals are not appropriate - for root). Accordingly, the root TerminationID may appear in: - - - a Modify command - to change a property or set an event - - - a Notify command - to report an event - - - an AuditValue return - to examine the values of properties and - statistics implemented on root - - - an AuditCapability - to determine what properties of root are - implemented - - - -Groves, et al. Standards Track [Page 25] - -RFC 3525 Gateway Control Protocol June 2003 - - - - a ServiceChange - to declare the gateway in or out of service. - - Any other use of the root TerminationID is an error. Error code - 410 - Incorrect identifier shall be returned in these cases. - -7 Commands - - The protocol provides commands for manipulating the logical entities - of the protocol connection model, Contexts and Terminations. - Commands provide control at the finest level of granularity supported - by the protocol. For example, Commands exist to add Terminations to - a Context, modify Terminations, subtract Terminations from a Context, - and audit properties of Contexts or Terminations. Commands provide - for complete control of the properties of Contexts and Terminations. - This includes specifying which events a Termination is to report, - which signals/actions are to be applied to a Termination and - specifying the topology of a Context (who hears/sees whom). - - Most commands are for the specific use of the Media Gateway - Controller as command initiator in controlling Media Gateways as - command responders. The exceptions are the Notify and ServiceChange - commands: Notify is sent from Media Gateway to Media Gateway - Controller, and ServiceChange may be sent by either entity. Below is - an overview of the commands; they are explained in more detail in - 7.2. - - 1) Add - The Add command adds a Termination to a Context. The Add - command on the first Termination in a Context is used to create a - Context. - - 2) Modify - The Modify command modifies the properties, events and - signals of a Termination. - - 3) Subtract - The Subtract command disconnects a Termination from its - Context and returns statistics on the Termination's participation - in the Context. The Subtract command on the last Termination in a - Context deletes the Context. - - 4) Move - The Move command atomically moves a Termination to another - Context. - - 5) AuditValue - The AuditValue command returns the current state of - properties, events, signals and statistics of Terminations. - - 6) AuditCapabilities - The AuditCapabilities command returns all the - possible values for Termination properties, events and signals - allowed by the Media Gateway. - - - - -Groves, et al. Standards Track [Page 26] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7) Notify - The Notify command allows the Media Gateway to inform the - Media Gateway Controller of the occurrence of events in the Media - Gateway. - - 8) ServiceChange - The ServiceChange command allows the Media Gateway - to notify the Media Gateway Controller that a Termination or group - of Terminations is about to be taken out of service or has just - been returned to service. ServiceChange is also used by the MG to - announce its availability to a MGC (registration), and to notify - the MGC of impending or completed restart of the MG. The MGC may - announce a handover to the MG by sending it a ServiceChange - command. The MGC may also use ServiceChange to instruct the MG to - take a Termination or group of Terminations in or out of service. - - These commands are detailed in 7.2.1 through 7.2.8. - -7.1 Descriptors - - The parameters to a command are termed Descriptors. A descriptor - consists of a name and a list of items. Some items may have values. - Many Commands share common descriptors. This subclause enumerates - these descriptors. Descriptors may be returned as output from a - command. In any such return of descriptor contents, an empty - descriptor is represented by its name unaccompanied by any list. - Parameters and parameter usage specific to a given Command type are - described in the subclause that describes the Command. - -7.1.1 Specifying parameters - - Command parameters are structured into a number of descriptors. In - general, the text format of descriptors is - DescriptorName={parm=value, parm=value, ...}. - - Parameters may be fully specified, overspecified or underspecified: - - 1) Fully specified parameters have a single, unambiguous value that - the command initiator is instructing the command responder to use - for the specified parameter. - - 2) Underspecified parameters, using the CHOOSE value, allow the - command responder to choose any value it can support. - - 3) Overspecified parameters have a list of potential values. The - list order specifies the command initiator's order of preference - of selection. The command responder chooses one value from - the offered list and returns that value to the command initiator. - - - - - -Groves, et al. Standards Track [Page 27] - -RFC 3525 Gateway Control Protocol June 2003 - - - If a required descriptor other than the Audit descriptor is - unspecified (i.e., entirely absent) from a command, the previous - values set in that descriptor for that Termination, if any, are - retained. In commands other than Subtract, a missing Audit - descriptor is equivalent to an empty Audit descriptor. The Behaviour - of the MG with respect to unspecified parameters within a descriptor - varies with the descriptor concerned, as indicated in succeeding - subclauses. Whenever a parameter is underspecified or overspecified, - the descriptor containing the value chosen by the responder is - included as output from the command. - - Each command specifies the TerminationId the command operates on. - This TerminationId may be "wildcarded". When the TerminationId of a - command is wildcarded, the effect shall be as if the command was - repeated with each of the TerminationIds matched. - -7.1.2 Modem descriptor - - The Modem descriptor specifies the modem type and parameters, if any, - required for use in e.g., H.324 and text conversation. The - descriptor includes the following modem types: V.18, V.22, V.22 bis, - V.32, V.32 bis, V.34, V.90, V.91, Synchronous ISDN, and allows for - extensions. By default, no Modem descriptor is present in a - Termination. - -7.1.3 Multiplex descriptor - - In multimedia calls, a number of media streams are carried on a - (possibly different) number of bearers. The multiplex descriptor - associates the media and the bearers. The descriptor includes the - multiplex type: - - - H.221; - - - H.223; - - - H.226; - - - V.76; - - - possible extensions, - - and a set of TerminationIDs representing the multiplexed bearers, in - order. For example: - - Mux = H.221{ MyT3/1/2, MyT3/2/13, MyT3/3/6, MyT3/21/22} - - - - - -Groves, et al. Standards Track [Page 28] - -RFC 3525 Gateway Control Protocol June 2003 - - -7.1.4 Media descriptor - - The Media descriptor specifies the parameters for all the media - streams. These parameters are structured into two descriptors: a - TerminationState descriptor, which specifies the properties of a - Termination that are not stream dependent, and one or more Stream - descriptors each of which describes a single media stream. - - A stream is identified by a StreamID. The StreamID is used to link - the streams in a Context that belong together. Multiple streams - exiting a Termination shall be synchronized with each other. Within - the Stream descriptor, there are up to three subsidiary descriptors: - LocalControl, Local, and Remote. The relationship between these - descriptors is thus: - - Media descriptor - TerminationState Descriptor - Stream descriptor - LocalControl descriptor - Local descriptor - Remote descriptor - - As a convenience, LocalControl, Local, or Remote descriptors may be - included in the Media descriptor without an enclosing Stream - descriptor. In this case, the StreamID is assumed to be 1. - -7.1.5 TerminationState descriptor - - The TerminationState descriptor contains the ServiceStates property, - the EventBufferControl property and properties of a Termination - (defined in Packages) that are not stream specific. - - The ServiceStates property describes the overall state of the - Termination (not stream specific). A Termination can be in one of - the following states: "test", "out of service", or "in service". The - "test" state indicates that the Termination is being tested. The - state "out of service" indicates that the Termination cannot be used - for traffic. The state "in service" indicates that a Termination can - be used or is being used for normal traffic. "in service" is the - default state. - - - - - - - - - - - -Groves, et al. Standards Track [Page 29] - -RFC 3525 Gateway Control Protocol June 2003 - - - Values assigned to Properties may be simple values - (integer/string/enumeration) or may be underspecified, where more - than one value is supplied and the MG may make a choice: - - - Alternative Values - multiple values in a list, one of which must - be selected - - - Ranges - minimum and maximum values, any value between min and max - must be selected, boundary values included - - - Greater Than/Less Than - value must be greater/less than specified - value - - - CHOOSE Wildcard - the MG chooses from the allowed values for the - property - - The EventBufferControl property specifies whether events are buffered - following detection of an event in the Events descriptor, or - processed immediately. See 7.1.9 for details. - -7.1.6 Stream descriptor - - A Stream descriptor specifies the parameters of a single - bidirectional stream. These parameters are structured into three - descriptors: one that contains Termination properties specific to a - stream and one each for local and remote flows. The Stream - Descriptor includes a StreamID which identifies the stream. Streams - are created by specifying a new StreamID on one of the Terminations - in a Context. A stream is deleted by setting empty Local and Remote - descriptors for the stream with ReserveGroup and ReserveValue in - LocalControl set to "false" on all Terminations in the Context that - previously supported that stream. - - StreamIDs are of local significance between MGC and MG and they are - assigned by the MGC. Within a Context, StreamID is a means by which - to indicate which media flows are interconnected: streams with the - same StreamID are connected. - - If a Termination is moved from one Context to another, the effect on - the Context to which the Termination is moved is the same as in the - case that a new Termination were added with the same StreamIDs as the - moved Termination. - - - - - - - - - -Groves, et al. Standards Track [Page 30] - -RFC 3525 Gateway Control Protocol June 2003 - - -7.1.7 LocalControl descriptor - - The LocalControl descriptor contains the Mode property, the - ReserveGroup and ReserveValue properties and properties of a - Termination (defined in Packages) that are stream specific, and are - of interest between the MG and the MGC. Values of properties may be - underspecified as in 7.1.1. - - The allowed values for the mode property are send-only, receive-only, - send/receive, inactive and loop-back. "Send" and "receive" are with - respect to the exterior of the Context, so that, for example, a - stream set to mode=sendOnly does not pass received media into the - Context. The default value for the mode property is "Inactive". - Signals and Events are not affected by mode. - - The boolean-valued Reserve properties, ReserveValue and ReserveGroup, - of a Termination indicate what the MG is expected to do when it - receives a Local and/or Remote descriptor. - - If the value of a Reserve property is True, the MG SHALL reserve - resources for all alternatives specified in the Local and/or Remote - descriptors for which it currently has resources available. It SHALL - respond with the alternatives for which it reserves resources. If it - cannot not support any of the alternatives, it SHALL respond with a - reply to the MGC that contains empty Local and/or Remote descriptors. - If media begins to flow while more than a single alternative is - reserved, media packets may be sent/received on any of the - alternatives and must be processed, although only a single - alternative may be active at any given time. - - If the value of a Reserve property is False, the MG SHALL choose one - of the alternatives specified in the Local descriptor (if present) - and one of the alternatives specified in the Remote descriptor (if - present). If the MG has not yet reserved resources to support the - selected alternative, it SHALL reserve the resources. If, on the - other hand, it already reserved resources for the Termination - addressed (because of a prior exchange with ReserveValue and/or - ReserveGroup equal to True), it SHALL release any excess resources it - reserved previously. Finally, the MG shall send a reply to the MGC - containing the alternatives for the Local and/or Remote descriptor - that it selected. If the MG does not have sufficient resources to - support any of the alternatives specified, it SHALL respond with - error 510 (insufficient resources). - - The default value of ReserveValue and ReserveGroup is False. More - information on the use of the two Reserve properties is provided in - 7.1.8. - - - - -Groves, et al. Standards Track [Page 31] - -RFC 3525 Gateway Control Protocol June 2003 - - - A new setting of the LocalControl Descriptor completely replaces the - previous setting of that descriptor in the MG. Thus, to retain - information from the previous setting, the MGC must include that - information in the new setting. If the MGC wishes to delete some - information from the existing descriptor, it merely resends the - descriptor (in a Modify command) with the unwanted information - stripped out. - -7.1.8 Local and Remote descriptors - - The MGC uses Local and Remote descriptors to reserve and commit MG - resources for media decoding and encoding for the given Stream(s) and - Termination to which they apply. The MG includes these descriptors - in its response to indicate what it is actually prepared to support. - The MG SHALL include additional properties and their values in its - response if these properties are mandatory yet not present in the - requests made by the MGC (e.g., by specifying detailed video encoding - parameters where the MGC only specified the payload type). - - Local refers to the media received by the MG and Remote refers to the - media sent by the MG. - - When text encoding the protocol, the descriptors consist of session - descriptions as defined in SDP (RFC 2327). In session descriptions - sent from the MGC to the MG, the following exceptions to the syntax - of RFC 2327 are allowed: - - - the "s=", "t=" and "o=" lines are optional; - - - the use of CHOOSE is allowed in place of a single parameter value; - and - - - the use of alternatives is allowed in place of a single parameter - value. - - A Stream Descriptor specifies a single bi-directional media stream - and so a single session description MUST NOT include more than one - media description ("m=" line). A Stream Descriptor may contain - additional session descriptions as alternatives. Each media stream - for a termination must appear in distinct Stream Descriptors. When - multiple session descriptions are provided in one descriptor, the - "v=" lines are required as delimiters; otherwise they are optional in - session descriptions sent to the MG. Implementations shall accept - session descriptions that are fully conformant to RFC 2327. When - binary encoding the protocol the descriptor consists of groups of - properties (tag-value pairs) as specified in Annex C. Each such - group may contain the parameters of a session description. - - - - -Groves, et al. Standards Track [Page 32] - -RFC 3525 Gateway Control Protocol June 2003 - - - Below, the semantics of the Local and Remote descriptors are - specified in detail. The specification consists of two parts. The - first part specifies the interpretation of the contents of the - descriptor. The second part specifies the actions the MG must take - upon receiving the Local and Remote descriptors. The actions to be - taken by the MG depend on the values of the ReserveValue and - ReserveGroup properties of the LocalControl descriptor. - - Either the Local or the Remote descriptor or both may be: - - 1) unspecified (i.e., absent); - - 2) empty; - - 3) underspecified through use of CHOOSE in a property value; - - 4) fully specified; or - - 5) overspecified through presentation of multiple groups of - properties and possibly multiple property values in one or more of - these groups. - - Where the descriptors have been passed from the MGC to the MG, they - are interpreted according to the rules given in 7.1.1, with the - following additional comments for clarification: - - a) An unspecified Local or Remote descriptor is considered to be a - missing mandatory parameter. It requires the MG to use whatever - was last specified for that descriptor. It is possible that there - was no previously specified value, in which case the descriptor - concerned is ignored in further processing of the command. - - b) An empty Local (Remote) descriptor in a message from the MGC - signifies a request to release any resources reserved for the - media flow received (sent). - - c) If multiple groups of properties are present in a Local or Remote - descriptor or multiple values within a group, the order of - preference is descending. - - d) Underspecified or overspecified properties within a group of - properties sent by the MGC are requests for the MG to choose one - or more values which it can support for each of those properties. - In case of an overspecified property, the list of values is in - descending order of preference. - - Subject to the above rules, subsequent action depends on the values - of the ReserveValue and ReserveGroup properties in LocalControl. - - - -Groves, et al. Standards Track [Page 33] - -RFC 3525 Gateway Control Protocol June 2003 - - - If ReserveGroup is True, the MG reserves the resources required to - support any of the requested property group alternatives that it can - currently support. If ReserveValue is True, the MG reserves the - resources required to support any of the requested property value - alternatives that it can currently support. - - NOTE - If a Local or Remote descriptor contains multiple groups of - properties, and ReserveGroup is True, then the MG is requested to - reserve resources so that it can decode or encode the media stream - according to any of the alternatives. For instance, if the Local - descriptor contains two groups of properties, one specifying - packetized G.711 A-law audio and the other G.723.1 audio, the MG - reserves resources so that it can decode one audio stream encoded in - either G.711 A-law format or G.723.1 format. The MG does not have to - reserve resources to decode two audio streams simultaneously, one - encoded in G.711 A-law and one in G.723.1. The intention for the use - of ReserveValue is analogous. - - If ReserveGroup is true or ReserveValue is True, then the following - rules apply: - - - If the MG has insufficient resources to support all alternatives - requested by the MGC and the MGC requested resources in both Local - and Remote, the MG should reserve resources to support at least - one alternative each within Local and Remote. - - - If the MG has insufficient resources to support at least one - alternative within a Local (Remote) descriptor received from the - MGC, it shall return an empty Local (Remote) in response. - - - In its response to the MGC, when the MGC included Local and Remote - descriptors, the MG SHALL include Local and Remote descriptors for - all groups of properties and property values it reserved resources - for. If the MG is incapable of supporting at least one of the - alternatives within the Local (Remote) descriptor received from - the MGC, it SHALL return an empty Local (Remote) descriptor. - - - If the Mode property of the LocalControl descriptor is RecvOnly, - SendRecv, or LoopBack, the MG must be prepared to receive media - encoded according to any of the alternatives included in its - response to the MGC. - - If ReserveGroup is False and ReserveValue is False, then the MG - SHOULD apply the following rules to resolve Local and Remote to a - single alternative each: - - - The MG chooses the first alternative in Local for which it is able - to support at least one alternative in Remote. - - - -Groves, et al. Standards Track [Page 34] - -RFC 3525 Gateway Control Protocol June 2003 - - - - If the MG is unable to support at least one Local and one Remote - alternative, it returns Error 510 (Insufficient Resources). - - - The MG returns its selected alternative in each of Local and - Remote. - - A new setting of a Local or Remote descriptor completely replaces the - previous setting of that descriptor in the MG. Thus, to retain - information from the previous setting, the MGC must include that - information in the new setting. If the MGC wishes to delete some - information from the existing descriptor, it merely resends the - descriptor (in a Modify command) with the unwanted information - stripped out. - -7.1.9 Events descriptor - - The EventsDescriptor parameter contains a RequestIdentifier and a - list of events that the Media Gateway is requested to detect and - report. The RequestIdentifier is used to correlate the request with - the notifications that it may trigger. Requested events include, for - example, fax tones, continuity test results, and on-hook and off-hook - transitions. The RequestIdentifier is omitted if the - EventsDescriptor is empty (i.e., no events are specified). - - Each event in the descriptor contains the Event name, an optional - streamID, an optional KeepActive flag, and optional parameters. The - Event name consists of a Package Name (where the event is defined) - and an EventID. The ALL wildcard may be used for the EventID, - indicating that all events from the specified package have to be - detected. The default streamID is 0, indicating that the event to be - detected is not related to a particular media stream. Events can - have parameters. This allows a single event description to have some - variation in meaning without creating large numbers of individual - events. Further event parameters are defined in the package. - - If a digit map completion event is present or implied in the - EventsDescriptor, the EventDM parameter is used to carry either the - name or the value of the associated digit map. See 7.1.14 for - further details. - - When an event is processed against the contents of an active Events - Descriptor and found to be present in that descriptor ("recognized"), - the default action of the MG is to send a Notify command to the MGC. - Notification may be deferred if the event is absorbed into the - current dial string of an active digit map (see 7.1.14). Any other - action is for further study. Moreover, event recognition may cause - currently active signals to stop, or may cause the current Events - and/or Signals descriptor to be replaced, as described at the end of - - - -Groves, et al. Standards Track [Page 35] - -RFC 3525 Gateway Control Protocol June 2003 - - - this subclause. Unless the Events Descriptor is replaced by another - Events Descriptor, it remains active after an event has been - recognized. - - If the value of the EventBufferControl property equals LockStep, - following detection of such an event, normal handling of events is - suspended. Any event which is subsequently detected and occurs in - the EventBuffer descriptor is added to the end of the EventBuffer (a - FIFO queue), along with the time that it was detected. The MG SHALL - wait for a new EventsDescriptor to be loaded. A new EventsDescriptor - can be loaded either as the result of receiving a command with a new - EventsDescriptor, or by activating an embedded EventsDescriptor. - - If EventBufferControl equals Off, the MG continues processing based - on the active EventsDescriptor. - - In the case of an embedded EventsDescriptor being activated, the MG - continues event processing based on the newly activated - EventsDescriptor. - - NOTE 1 - For purposes of EventBuffer handling, activation of an - embedded EventsDescriptor is equivalent to receipt of a new - EventsDescriptor. - - When the MG receives a command with a new EventsDescriptor, one or - more events may have been buffered in the EventBuffer in the MG. The - value of EventBufferControl then determines how the MG treats such - buffered events. - - Case 1 - - If EventBufferControl equals LockStep and the MG receives a new - EventsDescriptor, it will check the FIFO EventBuffer and take the - following actions: - - 1) If the EventBuffer is empty, the MG waits for detection of events - based on the new EventsDescriptor. - - 2) If the EventBuffer is non-empty, the MG processes the FIFO queue - starting with the first event: - - a) If the event in the queue is in the events listed in the new - EventsDescriptor, the MG acts on the event and removes the - event from the EventBuffer. The time stamp of the Notify shall - be the time the event was actually detected. The MG then waits - for a new EventsDescriptor. While waiting for a new - EventsDescriptor, any events detected that appear in the - - - - -Groves, et al. Standards Track [Page 36] - -RFC 3525 Gateway Control Protocol June 2003 - - - EventsBufferDescriptor will be placed in the EventBuffer. When - a new EventsDescriptor is received, the event processing will - repeat from step 1. - - b) If the event is not in the new EventsDescriptor, the MG SHALL - discard the event and repeat from step 1. - - Case 2 - - If EventBufferControl equals Off and the MG receives a new - EventsDescriptor, it processes new events with the new - EventsDescriptor. - - If the MG receives a command instructing it to set the value of - EventBufferControl to Off, all events in the EventBuffer SHALL be - discarded. - - The MG may report several events in a single Transaction as long as - this does not unnecessarily delay the reporting of individual events. - - For procedures regarding transmitting the Notify command, refer to - the appropriate annex or Recommendation of the H.248 sub-series for - specific transport considerations. - - The default value of EventBufferControl is Off. - - NOTE 2 - Since the EventBufferControl property is in the - TerminationStateDescriptor, the MG might receive a command that - changes the EventBufferControl property and does not include an - EventsDescriptor. - - Normally, recognition of an event shall cause any active signals to - stop. When KeepActive is specified in the event, the MG shall not - interrupt any signals active on the Termination on which the event is - detected. - - An event can include an Embedded Signals descriptor and/or an - Embedded Events descriptor which, if present, replaces the current - Signals/Events descriptor when the event is recognized. It is - possible, for example, to specify that the dial-tone Signal be - generated when an off-hook Event is recognized, or that the dial-tone - Signal be stopped when a digit is recognized. A media gateway - controller shall not send EventsDescriptors with an event both marked - KeepActive and containing an embedded SignalsDescriptor. - - - - - - - -Groves, et al. Standards Track [Page 37] - -RFC 3525 Gateway Control Protocol June 2003 - - - Only one level of embedding is permitted. An embedded - EventsDescriptor SHALL NOT contain another embedded EventsDescriptor; - an embedded EventsDescriptor MAY contain an embedded - SignalsDescriptor. - - An EventsDescriptor received by a media gateway replaces any previous - Events descriptor. Event notification in process shall complete, and - events detected after the command containing the new EventsDescriptor - executes, shall be processed according to the new EventsDescriptor. - - An empty Events Descriptor disables all event recognition and - reporting. An empty EventBuffer Descriptor clears the EventBuffer - and disables all event accumulation in LockStep mode: the only events - reported will be those occurring while an Events Descriptor is - active. If an empty Events Descriptor is activated while the - Termination is operating in LockStep mode, the events buffer is - immediately cleared. - -7.1.10 EventBuffer descriptor - - The EventBuffer descriptor contains a list of events, with their - parameters if any, that the MG is requested to detect and buffer when - EventBufferControl equals LockStep (see 7.1.9). - -7.1.11 Signals descriptor - - Signals are MG generated media such as tones and announcements as - well as bearer-related signals such as hookswitch. More complex - signals may include a sequence of such simple signals interspersed - with and conditioned upon the receipt and analysis of media or - bearer-related signals. Examples include echoing of received data as - in Continuity Test package. Signals may also request preparation of - media content for future signals. - - A SignalsDescriptor is a parameter that contains the set of signals - that the Media Gateway is asked to apply to a Termination. A - SignalsDescriptor contains a number of signals and/or sequential - signal lists. A SignalsDescriptor may contain zero signals and - sequential signal lists. Support of sequential signal lists is - optional. - - Signals are defined in packages. Signals shall be named with a - Package name (in which the signal is defined) and a SignalID. No - wildcard shall be used in the SignalID. Signals that occur in a - SignalsDescriptor have an optional StreamID parameter (default is 0, - to indicate that the signal is not related to a particular media - stream), an optional signal type (see below), an optional duration - and possibly parameters defined in the package that defines the - - - -Groves, et al. Standards Track [Page 38] - -RFC 3525 Gateway Control Protocol June 2003 - - - signal. This allows a single signal to have some variation in - meaning, obviating the need to create large numbers of individual - signals. - - Finally, the optional parameter "notifyCompletion" allows a MGC to - indicate that it wishes to be notified when the signal finishes - playout. The possible cases are that the signal timed out (or - otherwise completed on its own), that it was interrupted by an event, - that it was halted when a Signals descriptor was replaced, or that it - stopped or never started for other reasons. If the notifyCompletion - parameter is not included in a Signals descriptor, notification is - generated only if the signal stopped or was never started for other - reasons. For reporting to occur, the signal completion event (see - E.1.2) must be enabled in the currently active Events descriptor. - - The duration is an integer value that is expressed in hundredths of a - second. - - There are three types of signals: - - - on/off - the signal lasts until it is turned off; - - - timeout - the signal lasts until it is turned off or a specific - period of time elapses; - - - brief - the signal will stop on its own unless a new Signals - descriptor is applied that causes it to stop; no timeout value is - needed. - - If a signal of default type other than TO has its type overridden to - type TO in the Signals descriptor, the duration parameter must be - present. - - If the signal type is specified in a SignalsDescriptor, it overrides - the default signal type (see 12.1.4). If duration is specified for - an on/off signal, it SHALL be ignored. - - A sequential signal list consists of a signal list identifier and a - sequence of signals to be played sequentially. Only the trailing - element of the sequence of signals in a sequential signal list may be - an on/off signal. The duration of a sequential signal list is the - sum of the durations of the signals it contains. - - Multiple signals and sequential signal lists in the same - SignalsDescriptor shall be played simultaneously. - - Signals are defined as proceeding from the Termination towards the - exterior of the Context unless otherwise specified in a package. - - - -Groves, et al. Standards Track [Page 39] - -RFC 3525 Gateway Control Protocol June 2003 - - - When the same Signal is applied to multiple Terminations within one - Transaction, the MG should consider using the same resource to - generate these Signals. - - Production of a Signal on a Termination is stopped by application of - a new SignalsDescriptor, or detection of an Event on the Termination - (see 7.1.9). - - A new SignalsDescriptor replaces any existing SignalsDescriptor. Any - signals applied to the Termination not in the replacement descriptor - shall be stopped, and new signals are applied, except as follows. - Signals present in the replacement descriptor and containing the - KeepActive flag shall be continued if they are currently playing and - have not already completed. If a replacement signal descriptor - contains a signal that is not currently playing and contains the - KeepActive flag, that signal SHALL be ignored. If the replacement - descriptor contains a sequential signal list with the same identifier - as the existing descriptor, then - - - the signal type and sequence of signals in the sequential signal - list in the replacement descriptor shall be ignored; and - - - the playing of the signals in the sequential signal list in the - existing descriptor shall not be interrupted. - -7.1.12 Audit descriptor - - The Audit descriptor specifies what information is to be audited. - The Audit descriptor specifies the list of descriptors to be - returned. Audit may be used in any command to force the return of - any descriptor containing the current values of its properties, - events, signals and statistics even if that descriptor was not - present in the command, or had no underspecified parameters. - Possible items in the Audit descriptor are: - - Modem - Mux - Events - Media - Signals - ObservedEvents - DigitMap - Statistics - Packages - EventBuffer - - - - - - -Groves, et al. Standards Track [Page 40] - -RFC 3525 Gateway Control Protocol June 2003 - - - Audit may be empty, in which case, no descriptors are returned. This - is useful in Subtract, to inhibit return of statistics, especially - when using wildcard. - -7.1.13 ServiceChange descriptor - - The ServiceChangeDescriptor contains the following parameters: - - . ServiceChangeMethod - . ServiceChangeReason - . ServiceChangeAddress - . ServiceChangeDelay - . ServiceChangeProfile - . ServiceChangeVersion - . ServiceChangeMGCId - . TimeStamp - . Extension - - See 7.2.8. - -7.1.14 DigitMap descriptor - -7.1.14.1 DigitMap definition, creation, modification and deletion - - A DigitMap is a dialing plan resident in the Media Gateway used for - detecting and reporting digit events received on a Termination. The - DigitMap descriptor contains a DigitMap name and the DigitMap to be - assigned. A digit map may be preloaded into the MG by management - action and referenced by name in an EventsDescriptor, may be defined - dynamically and subsequently referenced by name, or the actual - digitmap itself may be specified in the EventsDescriptor. It is - permissible for a digit map completion event within an Events - descriptor to refer by name to a DigitMap which is defined by a - DigitMap descriptor within the same command, regardless of the - transmitted order of the respective descriptors. - - DigitMaps defined in a DigitMapDescriptor can occur in any of the - standard Termination manipulation Commands of the protocol. A - DigitMap, once defined, can be used on all Terminations specified by - the (possibly wildcarded) TerminationID in such a command. DigitMaps - defined on the root Termination are global and can be used on every - Termination in the MG, provided that a DigitMap with the same name - has not been defined on the given Termination. When a DigitMap is - defined dynamically in a DigitMap descriptor: - - - A new DigitMap is created by specifying a name that is not yet - defined. The value shall be present. - - - - -Groves, et al. Standards Track [Page 41] - -RFC 3525 Gateway Control Protocol June 2003 - - - - A DigitMap value is updated by supplying a new value for a name - that is already defined. Terminations presently using the - digitmap shall continue to use the old definition; subsequent - EventsDescriptors specifying the name, including any - EventsDescriptor in the command containing the DigitMap - descriptor, shall use the new one. - - - A DigitMap is deleted by supplying an empty value for a name that - is already defined. Terminations presently using the digitmap - shall continue to use the old definition. - -7.1.14.2 DigitMap Timers - - The collection of digits according to a DigitMap may be protected by - three timers, viz. a start timer (T), short timer (S), and long timer - (L). - - 1) The start timer (T) is used prior to any digits having been - dialed. If the start timer is overridden with the value set to - zero (T=0), then the start timer shall be disabled. This implies - that the MG will wait indefinitely for digits. - - 2) If the Media Gateway can determine that at least one more digit is - needed for a digit string to match any of the allowed patterns in - the digit map, then the interdigit timer value should be set to a - long (L) duration (e.g., 16 seconds). - - 3) If the digit string has matched one of the patterns in a digit - map, but it is possible that more digits could be received which - would cause a match with a different pattern, then instead of - reporting the match immediately, the MG must apply the short timer - (S) and wait for more digits. - - The timers are configurable parameters to a DigitMap. Default values - of these timers should be provisioned on the MG, but can be - overridden by values specified within the DigitMap. - -7.1.14.3 DigitMap Syntax - - The formal syntax of the digit map is described by the DigitMap rule - in the formal syntax description of the protocol (see Annex A and - Annex B). A DigitMap, according to this syntax, is defined either by - a string or by a list of strings. Each string in the list is an - alternative event sequence, specified either as a sequence of digit - map symbols or as a regular expression of digit map symbols. These - digit map symbols, the digits "0" through "9" and letters "A" through - a maximum value depending on the signalling system concerned, but - never exceeding "K", correspond to specified events within a package - - - -Groves, et al. Standards Track [Page 42] - -RFC 3525 Gateway Control Protocol June 2003 - - - which has been designated in the Events descriptor on the Termination - to which the digit map is being applied. (The mapping between events - and digit map symbols is defined in the documentation for packages - associated with channel-associated signalling systems such as DTMF, - MF, or R2. Digits "0" through "9" MUST be mapped to the - corresponding digit events within the signalling system concerned. - Letters should be allocated in logical fashion, facilitating the use - of range notation for alternative events.) - - The letter "x" is used as a wildcard, designating any event - corresponding to symbols in the range "0"-"9". The string may also - contain explicit ranges and, more generally, explicit sets of - symbols, designating alternative events any one of which satisfies - that position of the digit map. Finally, the dot symbol "." stands - for zero or more repetitions of the event selector (event, range of - events, set of alternative events, or wildcard) that precedes it. As - a consequence of the third timing rule above, inter-event timing - while matching a terminal dot symbol uses the short timer by default. - - In addition to these event symbols, the string may contain "S" and - "L" inter-event timing specifiers and the "Z" duration modifier. "S" - and "L" respectively indicate that the MG should use the short (S) - timer or the long (L) timer for subsequent events, overriding the - timing rules described above. If an explicit timing specifier is in - effect in one alternative event sequence, but none is given in any - other candidate alternative, the timer value set by the explicit - timing specifier must be used. If all sequences with explicit timing - controls are dropped from the candidate set, timing reverts to the - default rules given above. Finally, if conflicting timing specifiers - are in effect in different alternative sequences, the long timer - shall be used. - - A "Z" designates a long duration event: placed in front of the - symbol(s) designating the event(s) which satisfy a given digit - position, it indicates that that position is satisfied only if the - duration of the event exceeds the long-duration threshold. The value - of this threshold is assumed to be provisioned in the MG. - -7.1.14.4 DigitMap Completion Event - - A digit map is active while the Events descriptor which invoked it is - active and it has not completed. A digit map completes when: - - - a timer has expired; or - - - an alternative event sequence has been matched and no other - alternative event sequence in the digit map could be matched - through detection of an additional event (unambiguous match); or - - - -Groves, et al. Standards Track [Page 43] - -RFC 3525 Gateway Control Protocol June 2003 - - - - an event has been detected such that a match to a complete - alternative event sequence of the digit map will be impossible no - matter what additional events are received. - - Upon completion, a digit map completion event as defined in the - package providing the events being mapped into the digit map shall be - generated. At that point the digit map is deactivated. Subsequent - events in the package are processed as per the currently active event - processing mechanisms. - -7.1.14.5 DigitMap Procedures - - Pending completion, successive events shall be processed according to - the following rules: - - 1) The "current dial string", an internal variable, is initially - empty. The set of candidate alternative event sequences includes - all of the alternatives specified in the digit map. - - 2) At each step, a timer is set to wait for the next event, based - either on the default timing rules given above or on explicit - timing specified in one or more alternative event sequences. If - the timer expires and a member of the candidate set of - alternatives is fully satisfied, a timeout completion with full - match is reported. If the timer expires and part or none of any - candidate alternative is satisfied, a timeout completion with - partial match is reported. - - 3) If an event is detected before the timer expires, it is mapped to - a digit string symbol and provisionally added to the end of the - current dial string. The duration of the event (long or not long) - is noted if and only if this is relevant in the current symbol - position (because at least one of the candidate alternative event - sequences includes the "Z" modifier at this position in the - sequence). - - 4) The current dial string is compared to the candidate alternative - event sequences. If and only if a sequence expecting a - long-duration event at this position is matched (i.e., the event - had long duration and met the specification for this position), - then any alternative event sequences not specifying a long - duration event at this position are discarded, and the current - dial string is modified by inserting a "Z" in front of the symbol - representing the latest event. Any sequence expecting a long- - duration event at this position but not matching the observed - event is discarded from the candidate set. If alternative event - sequences not specifying a long duration event in the given - - - - -Groves, et al. Standards Track [Page 44] - -RFC 3525 Gateway Control Protocol June 2003 - - - position remain in the candidate set after application of the - above rules, the observed event duration is treated as irrelevant - in assessing matches to them. - - 5) If exactly one candidate remains and it has been fully matched, a - completion event is generated indicating an unambiguous match. If - no candidates remain, the latest event is removed from the current - dial string and a completion event is generated indicating full - match if one of the candidates from the previous step was fully - satisfied before the latest event was detected, or partial match - otherwise. The event removed from the current dial string will - then be reported as per the currently active event processing - mechanisms. - - 6) If no completion event is reported out of step 5, processing - returns to step 2. - -7.1.14.6 DigitMap Activation - - A digit map is activated whenever a new Event descriptor is applied - to the Termination or embedded Event descriptor is activated, and - that Event descriptor contains a digit map completion event. The - digit map completion event contains an eventDM field in the requested - actions field. Each new activation of a digit map begins at step 1 - of the above procedure, with a clear current dial string. Any - previous contents of the current dial string from an earlier - activation are lost. - - A digit map completion event that does not contain an eventDM field - in its requested actions field is considered an error. Upon receipt - of such an event in an EventsDescriptor, a MG shall respond with an - error response, including Error 457 - Missing parameter in signal or - event. - -7.1.14.7 Interaction Of DigitMap and Event Processing - - While the digit map is activated, detection is enabled for all events - defined in the package containing the specified digit map completion - event. Normal event behaviour (e.g., stopping of signals unless the - digit completion event has the KeepActive flag enabled) continues to - apply for each such event detected, except that: - - - the events in the package containing the specified digit map - completion event other than the completion event itself are not - individually notified and have no side-effects unless separately - enabled; and - - - - - -Groves, et al. Standards Track [Page 45] - -RFC 3525 Gateway Control Protocol June 2003 - - - - an event that triggers a partial match completion event is not - recognized and therefore has no side effects until reprocessed - following the recognition of the digit map completion event. - -7.1.14.8 Wildcards - - Note that if a package contains a digit map completion event, then an - event specification consisting of the package name with a wildcarded - ItemID (Property Name) will activate a digit map; to that end, the - event specification must include an eventDM field according to - section 7.1.14.6. If the package also contains the digit events - themselves, this form of event specification will cause the - individual events to be reported to the MGC as they are detected. - -7.1.14.9 Example - - As an example, consider the following dial plan: - - 0 Local operator - - 00 Long-distance operator - - xxxx Local extension number (starts with 1-7) - - 8xxxxxxx Local number - - #xxxxxxx Off-site extension - - *xx Star services - - 91xxxxxxxxxx Long-distance number - - 9011 + up to 15 digits International number - - - - If the DTMF detection package described in E.6 is used to collect the - dialed digits, then the dialing plan shown above results in the - following digit map: - - (0| 00|[1-7]xxx|8xxxxxxx|Fxxxxxxx|Exx|91xxxxxxxxxx|9011x.) - -7.1.15 Statistics descriptor - - The Statistics Descriptor provides information describing the status - and usage of a Termination during its existence within a specific - Context. There is a set of standard statistics kept for each - Termination where appropriate (number of octets sent and received for - - - -Groves, et al. Standards Track [Page 46] - -RFC 3525 Gateway Control Protocol June 2003 - - - example). The particular statistical properties that are reported - for a given Termination are determined by the Packages realized by - the Termination. By default, statistics are reported when the - Termination is Subtracted from the Context. This behaviour can be - overridden by including an empty AuditDescriptor in the Subtract - command. Statistics may also be returned from the AuditValue - command, or any Add/Move/Modify command using the Audit descriptor. - - Statistics are cumulative; reporting Statistics does not reset them. - Statistics are reset when a Termination is Subtracted from a Context. - -7.1.16 Packages descriptor - - Used only with the AuditValue command, the PackageDescriptor returns - a list of Packages realized by the Termination. - -7.1.17 ObservedEvents descriptor - - ObservedEvents is supplied with the Notify command to inform the MGC - of which event(s) were detected. Used with the AuditValue command, - the ObservedEventsDescriptor returns events in the event buffer which - have not been Notified. ObservedEvents contains the - RequestIdentifier of the EventsDescriptor that triggered the - notification, the event(s) detected, optionally the detection time(s) - and any parameters of the observed event. Detection times are - reported with a precision of hundredths of a second. - -7.1.18 Topology descriptor - - A Topology descriptor is used to specify flow directions between - Terminations in a Context. Contrary to the descriptors in previous - subclauses, the Topology descriptor applies to a Context instead of a - Termination. The default topology of a Context is that each - Termination's transmission is received by all other Terminations. - The Topology descriptor is optional to implement. An MG that does - not support Topology descriptors, but receives a command containing - one, returns Error 444 Unsupported or unknown descriptor, and - optionally includes a string containing the name of the unsupported - Descriptor ("Topology") in the error text in the error descriptor. - - The Topology descriptor occurs before the commands in an action. It - is possible to have an action containing only a Topology descriptor, - provided that the Context to which the action applies already exists. - - - - - - - - -Groves, et al. Standards Track [Page 47] - -RFC 3525 Gateway Control Protocol June 2003 - - - A Topology descriptor consists of a sequence of triples of the form - (T1, T2, association). T1 and T2 specify Terminations within the - Context, possibly using the ALL or CHOOSE wildcard. The association - specifies how media flows between these two Terminations as follows. - - - (T1, T2, isolate) means that the Terminations matching T2 do not - receive media from the Terminations matching T1, nor vice versa. - - - (T1, T2, oneway) means that the Terminations that match T2 receive - media from the Terminations matching T1, but not vice versa. In - this case use of the ALL wildcard such that there are Terminations - that match both T1 and T2 is not allowed. - - - (T1, T2, bothway) means that the Terminations matching T2 receive - media from the Terminations matching T1, and vice versa. In this - case it is allowed to use wildcards such that there are - Terminations that match both T1 and T2. However, if there is a - Termination that matches both, no loopback is introduced. - - CHOOSE wildcards may be used in T1 and T2 as well, under the - following restrictions: - - - the action (see clause 8) of which the topology descriptor is part - contains an Add command in which a CHOOSE wildcard is used; - - - if a CHOOSE wildcard occurs in T1 or T2, then a partial name SHALL - NOT be specified. - - The CHOOSE wildcard in a Topology descriptor matches the - TerminationID that the MG assigns in the first Add command that uses - a CHOOSE wildcard in the same action. An existing Termination that - matches T1 or T2 in the Context to which a Termination is added, is - connected to the newly added Termination as specified by the Topology - descriptor. - - If a termination is not mentioned within a Topology Descriptor, any - topology associated with it remains unchanged. If, however, a new - termination is added into a context its association with the other - terminations within the context defaults to bothway, unless a - Topology Descriptor is given to change this (e.g., if T3 is added to - a context with T1 and T2 with topology (T3, T1, oneway) it will be - connected bothway to T2). - - Figure 7 and the table following it show some examples of the effect - of including topology descriptors in actions. In these examples it - is assumed that the topology descriptors are applied in sequence. - - - - - -Groves, et al. Standards Track [Page 48] - -RFC 3525 Gateway Control Protocol June 2003 - - - +------------------+ +------------------+ +------------------+ - | +----+ | | +----+ | | +----+ | - | | T2 | | | | T2 | | | | T2 | | - | +----+ | | +----+ | | +----+ | - | ^ ^ | | ^ | | ^ | - | | | | | | | | | | - | +--+ +--+ | | +---+ | | +--+ | - | | | | | | | | | | - | v v | | v | | | | - | +----+ +----+ | | +----+ +----+ | | +----+ +----+ | - | | T1 |<-->| T3 | | | | T1 |<-->| T3 | | | | T1 |<-->| T3 | | - | +----+ +----+ | | +----+ +----+ | | +----+ +----+ | - +------------------+ +------------------+ +------------------+ - 1. No Topology Desc. 2. T1, T2, Isolate 3. T3, T2, Oneway - - +------------------+ +------------------+ +------------------+ - | +----+ | | +----+ | | +----+ | - | | T2 | | | | T2 | | | | T2 | | - | +----+ | | +----+ | | +----+ | - | | | | ^ | | ^ ^ | - | | | | | | | | | | - | +--+ | | +---+ | | +--+ +--+ | - | | | | | | | | | | - | v | | v | | v v | - | +----+ +----+ | | +----+ +----+ | | +----+ +----+ | - | | T1 |<-->| T3 | | | | T1 |<-->| T3 | | | | T1 |<-->| T3 | | - | +----+ +----+ | | +----+ +----+ | | +----+ +----+ | - +------------------+ +------------------+ +------------------+ - 4. T2, T3 oneway 5. T2, T3 bothway 6. T1, T2 bothway - - Note: the direction of the arrow indicates the direction of flow. - - Figure 7: Example topologies - - Topology Description - - 1 No topology descriptors When no topology descriptors are - included, all Terminations have a - bothway connection to all other - Terminations. - - 2 T1, T2 Isolate Removes the connection between T1 and - T2. T3 has a bothway connection with - both T1 and T2. T1 and T2 have bothway - connection to T3. - - - - - - -Groves, et al. Standards Track [Page 49] - -RFC 3525 Gateway Control Protocol June 2003 - - - 3 T3, T2 oneway A oneway connection from T3 to T2 (i.e., - T2 receives media flow from T3). A - bothway connection between T1 and T3. - - 4 T2, T3 oneway A oneway connection between T2 to T3. - T1 and T3 remain bothway connected. - - 5 T2, T3 bothway T2 is bothway connected to T3. This - results in the same as 2. - - 6 T1, T2 bothway (T2, T3 All Terminations have a bothway - bothway and T1, T3 connection to all other Terminations. - bothway may be implied or - explicit). - - A oneway connection must be implemented in such a way that the other - Terminations in the Context are not aware of the change in topology. - -7.1.19 Error Descriptor - - If a responder encounters an error when processing a transaction - request, it must include an error descriptor in its response. A - Notify request may contain an error descriptor as well. - - An error descriptor consists of an IANA-registered error code, - optionally accompanied by an error text. H.248.8 contains a list of - valid error codes and error descriptions. - - An error descriptor shall be specified at the "deepest level" that is - semantically appropriate for the error being described and that is - possible given any parsing problems with the original request. An - error descriptor may refer to a syntactical construct other than - where it appears. For example, Error descriptor 422 - Syntax Error - in Action, could appear within a command even though it refers to the - larger construct - the action - and not the particular command within - which it appears. - -7.2 Command Application Programming Interface - - Following is an Application Programming Interface (API) describing - the Commands of the protocol. This API is shown to illustrate the - Commands and their parameters and is not intended to specify - implementation (e.g., via use of blocking function calls). It - describes the input parameters in parentheses after the command name - and the return values in front of the Command. This is only for - descriptive purposes; the actual Command syntax and encoding are - - - - - -Groves, et al. Standards Track [Page 50] - -RFC 3525 Gateway Control Protocol June 2003 - - - specified in later subclauses. The order of parameters to commands - is not fixed. Descriptors may appear as parameters to commands in - any order. The descriptors SHALL be processed in the order in which - they appear. - - Any reply to a command may contain an error descriptor; the API does - not specifically show this. - - All parameters enclosed by square brackets ([. . .]) are considered - optional. - -7.2.1 Add - - The Add Command adds a Termination to a Context. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,DigitMapDescriptor] - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - [,PackagesDescriptor] - Add( TerminationID - [, MediaDescriptor] - [, ModemDescriptor] - [, MuxDescriptor] - [, EventsDescriptor] - [, EventBufferDescriptor] - [, SignalsDescriptor] - [, DigitMapDescriptor] - [, AuditDescriptor] - ) - - The TerminationID specifies the Termination to be added to the - Context. The Termination is either created, or taken from the null - Context. If a CHOOSE wildcard is used in the TerminationID, the - selected TerminationID will be returned. Wildcards may be used in an - Add, but such usage would be unusual. If the wildcard matches more - than one TerminationID, all possible matches are attempted, with - results reported for each one. The order of attempts when multiple - TerminationIDs match is not specified. - - The optional MediaDescriptor describes all media streams. - - - - -Groves, et al. Standards Track [Page 51] - -RFC 3525 Gateway Control Protocol June 2003 - - - The optional ModemDescriptor and MuxDescriptor specify a modem and - multiplexer if applicable. For convenience, if a Multiplex - descriptor is present in an Add command and lists any Terminations - that are not currently in the Context, such Terminations are added to - the Context as if individual Add commands listing the Terminations - were invoked. If an error occurs on such an implied Add, error 471 - - Implied Add for Multiplex failure shall be returned and further - processing of the command shall cease. - - The EventsDescriptor parameter is optional. If present, it provides - the list of events that should be detected on the Termination. - - The EventBufferDescriptor parameter is optional. If present, it - provides the list of events that the MG is requested to detect and - buffer when EventBufferControl equals LockStep. - - The SignalsDescriptor parameter is optional. If present, it provides - the list of signals that should be applied to the Termination. - - The DigitMapDescriptor parameter is optional. If present, it defines - a DigitMap definition that may be used in an EventsDescriptor. - - The AuditDescriptor is optional. If present, the command will return - descriptors as specified in the AuditDescriptor. - - All descriptors that can be modified could be returned by MG if a - parameter was underspecified or overspecified. ObservedEvents, - Statistics, and Packages, and the EventBuffer descriptors are - returned only if requested in the AuditDescriptor. - - Add SHALL NOT be used on a Termination with a serviceState of - "OutofService". - -7.2.2 Modify - - The Modify Command modifies the properties of a Termination. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,DigitMapDescriptor] - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - [,PackagesDescriptor] - - - -Groves, et al. Standards Track [Page 52] - -RFC 3525 Gateway Control Protocol June 2003 - - - Modify( TerminationID - [, MediaDescriptor] - [, ModemDescriptor] - [, MuxDescriptor] - [, EventsDescriptor] - [, EventBufferDescriptor] - [, SignalsDescriptor] - [, DigitMapDescriptor] - [, AuditDescriptor] - ) - - The TerminationID may be specific if a single Termination in the - Context is to be modified. Use of wildcards in the TerminationID may - be appropriate for some operations. If the wildcard matches more - than one TerminationID, all possible matches are attempted, with - results reported for each one. The order of attempts when multiple - TerminationIDs match is not specified. The CHOOSE option is an - error, as the Modify command may only be used on existing - Terminations. - - For convenience, if a Multiplex Descriptor is present in a Modify - command, then: - - - if the new Multiplex Descriptor lists any Terminations that are - not currently in the Context, such Terminations are added to the - context as if individual commands listing the Terminations were - invoked. - - - if any Terminations listed previously in the Multiplex Descriptor - are no longer present in the new Multiplex Descriptor, they are - subtracted from the context as if individual Subtract commands - listing the Terminations were invoked. - - The remaining parameters to Modify are the same as those to Add. - Possible return values are the same as those to Add. - -7.2.3 Subtract - - The Subtract Command disconnects a Termination from its Context and - returns statistics on the Termination's participation in the Context. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,DigitMapDescriptor] - - - -Groves, et al. Standards Track [Page 53] - -RFC 3525 Gateway Control Protocol June 2003 - - - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - [,PackagesDescriptor] - Subtract(TerminationID - [, AuditDescriptor] - ) - - TerminationID in the input parameters represents the Termination that - is being subtracted. The TerminationID may be specific or may be a - wildcard value indicating that all (or a set of related) Terminations - in the Context of the Subtract Command are to be subtracted. If the - wildcard matches more than one TerminationID, all possible matches - are attempted, with results reported for each one. The order of - attempts when multiple TerminationIDs match is not specified. - - The use of CHOOSE in the TerminationID is an error, as the Subtract - command may only be used on existing Terminations. - - ALL may be used as the ContextID as well as the TerminationId in a - Subtract, which would have the effect of deleting all Contexts, - deleting all ephemeral Terminations, and returning all physical - Terminations to Null Context. Subtract of a termination from the - Null Context is not allowed. - - For convenience, if a multiplexing Termination is the object of a - Subtract command, then any bearer Terminations listed in its - Multiplex Descriptor are subtracted from the context as if individual - Subtract commands listing the Terminations were invoked. - - By default, the Statistics parameter is returned to report - information collected on the Termination or Terminations specified in - the Command. The information reported applies to the Termination's - or Terminations' existence in the Context from which it or they are - being subtracted. - - The AuditDescriptor is optional. If present, the command will return - only those descriptors as specified in the AuditDescriptor, which may - be empty. If omitted, the Statistics descriptor is returned, by - default. Possible return values are the same as those to Add. - - When a provisioned Termination is Subtracted from a Context, its - property values shall revert to: - - - the default value, if specified for the property and not - overridden by provisioning; - - - otherwise, the provisioned value. - - - -Groves, et al. Standards Track [Page 54] - -RFC 3525 Gateway Control Protocol June 2003 - - -7.2.4 Move - - The Move Command moves a Termination to another Context from its - current Context in one atomic operation. The Move command is the - only command that refers to a Termination in a Context different from - that to which the command is applied. The Move command shall not be - used to move Terminations to or from the null Context. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,DigitMapDescriptor] - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - [,PackagesDescriptor] - Move( TerminationID - [, MediaDescriptor] - [, ModemDescriptor] - [, MuxDescriptor] - [, EventsDescriptor] - [, EventBufferDescriptor] - [, SignalsDescriptor] - [, DigitMapDescriptor] - [, AuditDescriptor] - ) - - The TerminationID specifies the Termination to be moved. It may be - wildcarded, but CHOOSE shall not be used in the TerminationID. If - the wildcard matches more than one TerminationID, all possible - matches are attempted, with results reported for each one. The order - of attempts when multiple TerminationIDs match is not specified. The - Context to which the Termination is moved is indicated by the target - ContextId in the Action. If the last remaining Termination is moved - out of a Context, the Context is deleted. - - The Move command does not affect the properties of the Termination on - which it operates, except those properties explicitly modified by - descriptors included in the Move command. The AuditDescriptor with - the Statistics option, for example, would return statistics on the - Termination just prior to the Move. Possible descriptors returned - from Move are the same as for Add. - - - - - - -Groves, et al. Standards Track [Page 55] - -RFC 3525 Gateway Control Protocol June 2003 - - - For convenience, if a multiplexing Termination is the object of a - Move command, then any bearer Terminations listed in its Multiplex - Descriptor are also moved as if individual Move commands listing the - Terminations were invoked. - - Move SHALL NOT be used on a Termination with a serviceState of - "OutofService". - -7.2.5 AuditValue - - The AuditValue Command returns the current values of properties, - events, signals and statistics associated with Terminations. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,DigitMapDescriptor] - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - [,PackagesDescriptor] - AuditValue(TerminationID, - AuditDescriptor - ) - - TerminationID may be specific or wildcarded. If the wildcard matches - more than one TerminationID, all possible matches are attempted, with - results reported for each one. The order of attempts when multiple - TerminationIDs match is not specified. If a wildcarded response is - requested, only one command return is generated, with the contents - containing the union of the values of all Terminations matching the - wildcard. This convention may reduce the volume of data required to - audit a group of Terminations. Use of CHOOSE is an error. - - The appropriate descriptors, with the current values for the - Termination, are returned from AuditValue. Values appearing in - multiple instances of a descriptor are defined to be alternate values - supported, with each parameter in a descriptor considered - independent. - - ObservedEvents returns a list of events in the EventBuffer. If the - ObservedEventsDescriptor is audited while a DigitMap is active, the - returned ObservedEvents descriptor also includes a digit map - completion event that shows the current dial string but does not show - a Termination method. - - - -Groves, et al. Standards Track [Page 56] - -RFC 3525 Gateway Control Protocol June 2003 - - - EventBuffer returns the set of events and associated parameter values - currently enabled in the EventBufferDescriptor. PackagesDescriptor - returns a list of packages realized by the Termination. - DigitMapDescriptor returns the name or value of the current DigitMap - for the Termination. DigitMap requested in an AuditValue command - with TerminationID ALL returns all DigitMaps in the gateway. - Statistics returns the current values of all statistics being kept on - the Termination. Specifying an empty Audit descriptor results in - only the TerminationID being returned. This may be useful to get a - list of TerminationIDs when used with wildcard. Annexes A and B - provide a special syntax for presenting such a list in condensed - form, such that the AuditValue command tag does not have to be - repeated for each TerminationID. - - AuditValue results depend on the Context, viz. specific, null, or - wildcarded. (Note that ContextID ALL does not include the null - Context.) The TerminationID may be specific, or wildcarded. - - The following are examples of what is returned in case the context - and/or the termination is wildcarded and a wildcarded response has - been specified. - - Assume that the gateway has 4 terminations: t1/1, t1/2, t2/1 and - t2/2. Assume that terminations t1/* have implemented packages aaa - and bbb and that terminations t2/* have implemented packages ccc and - ddd. Assume that Context 1 has t1/1 and t2/1 in it and that Context - 2 has t1/2 and t2/2 in it. - - The command: - - Context=1{AuditValue=t1/1{Audit{Packages}}} - - Returns: - - Context=1{AuditValue=t1/1{Packages{aaa,bbb}}} - - The command: - - Context=*{AuditValue=t2/*{Audit{Packages}}} - - Returns: - - Context=1{AuditValue=t2/1{Packages{ccc,ddd}}}, - Context=2{AuditValue=t2/2{Packages{ccc,ddd}}} - - The command: - - Context=*{W-AuditValue=t1/*{Audit{Packages}}} - - - -Groves, et al. Standards Track [Page 57] - -RFC 3525 Gateway Control Protocol June 2003 - - - Returns: - - Context=*{W-AuditValue=t1/*{Packages{aaa,bbb}}} - - Note: A wildcard response may also be used for other commands such as - Subtract. - - The following illustrates other information that can be obtained with - the AuditValue Command: - - ContextID TerminationID Information Obtained - - Specific wildcard Audit of matching Terminations in a Context - - Specific specific Audit of a single Termination in a Context - - Null Root Audit of Media Gateway state and events - - Null wildcard Audit of all matching Terminations in the - null Context - - Null specific Audit of a single Termination outside of any - Context - - All wildcard Audit of all matching Terminations and the - Context to which they are associated - - All Root List of all ContextIds (the ContextID list - should be returned by using multiple action - replies, each containing a ContextID from - the list) - - All Specific (Non-null) ContextID in which the - Termination currently exists - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 58] - -RFC 3525 Gateway Control Protocol June 2003 - - -7.2.6 AuditCapabilities - - The AuditCapabilities Command returns the possible values of - properties, events, signals and statistics associated with - Terminations. - - TerminationID - [,MediaDescriptor] - [,ModemDescriptor] - [,MuxDescriptor] - [,EventsDescriptor] - [,SignalsDescriptor] - [,ObservedEventsDescriptor] - [,EventBufferDescriptor] - [,StatisticsDescriptor] - AuditCapabilities(TerminationID, - AuditDescriptor - ) - - The appropriate descriptors, with the possible values for the - Termination are returned from AuditCapabilities. Descriptors may be - repeated where there are multiple possible values. If a wildcarded - response is requested, only one command return is generated, with the - contents containing the union of the values of all Terminations - matching the wildcard. This convention may reduce the volume of data - required to audit a group of Terminations. - - Interpretation of what capabilities are requested for various values - of ContextID and TerminationID is the same as in AuditValue. - - The EventsDescriptor returns the list of possible events on the - Termination together with the list of all possible values for the - EventsDescriptor Parameters. EventBufferDescriptor returns the same - information as EventsDescriptor. The SignalsDescriptor returns the - list of possible signals that could be applied to the Termination - together with the list of all possible values for the Signals - Parameters. StatisticsDescriptor returns the names of the statistics - being kept on the termination. ObservedEventsDescriptor returns the - names of active events on the Termination. DigitMap and Packages are - not legal in AuditCapability. - - - - - - - - - - - -Groves, et al. Standards Track [Page 59] - -RFC 3525 Gateway Control Protocol June 2003 - - - The following illustrates other information that can be obtained with - the AuditCapabilties Command: - - ContextID TerminationID Information Obtained - - Specific wildcard Audit of matching Terminations in a Context - - Specific specific Audit of a single Termination in a Context - - Null Root Audit of MG state and events - - Null wildcard Audit of all matching Terminations in the - Null Context - - Null specific Audit of a single Termination outside of any - Context - - All wildcard Audit of all matching Terminations and the - Context to which they are associated - - All Root Same as for AuditValue - - All Specific Same as for AuditValue - -7.2.7 Notify - - The Notify Command allows the Media Gateway to notify the Media - Gateway Controller of events occurring within the Media Gateway. - - TerminationID - Notify(TerminationID, - ObservedEventsDescriptor, - [ErrorDescriptor] - ) - - The TerminationID parameter specifies the Termination issuing the - Notify Command. The TerminationID shall be a fully qualified name. - - The ObservedEventsDescriptor contains the RequestID and a list of - events that the Media Gateway detected in the order that they were - detected. Each event in the list is accompanied by parameters - associated with the event and optionally an indication of the time - that the event was detected. Procedures for sending Notify commands - with RequestID equal to 0 are for further study. - - Notify Commands with RequestID not equal to 0 shall occur only as the - result of detection of an event specified by an Events descriptor - which is active on the Termination concerned. - - - -Groves, et al. Standards Track [Page 60] - -RFC 3525 Gateway Control Protocol June 2003 - - - The RequestID returns the RequestID parameter of the EventsDescriptor - that triggered the Notify Command. It is used to correlate the - notification with the request that triggered it. The events in the - list must have been requested via the triggering EventsDescriptor or - embedded events descriptor unless the RequestID is 0 (which is for - further study). - - The ErrorDescriptor may be sent in the Notify Command as a result of - Error 518 - Event buffer full. - -7.2.8 ServiceChange - - The ServiceChange Command allows the Media Gateway to notify the - Media Gateway Controller that a Termination or group of Terminations - is about to be taken out of service or has just been returned to - service. The Media Gateway Controller may indicate that - Termination(s) shall be taken out of or returned to service. The - Media Gateway may notify the MGC that the capability of a Termination - has changed. It also allows a MGC to hand over control of a MG to - another MGC. - - TerminationID, - - [ServiceChangeDescriptor] - ServiceChange ( TerminationID, - ServiceChangeDescriptor - ) - - The TerminationID parameter specifies the Termination(s) that are - taken out of or returned to service. Wildcarding of Termination - names is permitted, with the exception that the CHOOSE mechanism - shall not be used. Use of the "Root" TerminationID indicates a - ServiceChange affecting the entire Media Gateway. - - The ServiceChangeDescriptor contains the following parameters as - required: - - - ServiceChangeMethod - - ServiceChangeReason - - ServiceChangeDelay - - ServiceChangeAddress - - ServiceChangeProfile - - ServiceChangeVersion - - ServiceChangeMgcId - - TimeStamp - - - - - - -Groves, et al. Standards Track [Page 61] - -RFC 3525 Gateway Control Protocol June 2003 - - - The ServiceChangeMethod parameter specifies the type of ServiceChange - that will or has occurred: - - 1) Graceful - indicates that the specified Terminations will be taken - out of service after the specified ServiceChangeDelay; established - connections are not yet affected, but the Media Gateway Controller - should refrain from establishing new connections and should - attempt to gracefully tear down existing connections on the - Termination(s) affected by the serviceChange command. The MG - should set Termination serviceState at the expiry of - ServiceChangeDelay or the removal of the Termination from an - active Context (whichever is first), to "out of service". - - 2) Forced - indicates that the specified Terminations were taken - abruptly out of service and any established connections associated - with them may be lost. For non-Root terminations, the MGC is - responsible for cleaning up the Context (if any) with which the - failed Termination is associated. At a minimum the Termination - shall be subtracted from the Context. The Termination - serviceState should be "out of service". For the root - termination, the MGC can assume that all connections are lost on - the MG and thus can consider that all the terminations have been - subtracted. - - 3) Restart - indicates that service will be restored on the specified - Terminations after expiration of the ServiceChangeDelay. The - serviceState should be set to "inService" upon expiry of - ServiceChangeDelay. - - 4) Disconnected - always applied with the Root TerminationID, - indicates that the MG lost communication with the MGC, but it was - subsequently restored to the same MGC (possibly after trying other - MGCs on a pre-provisioned list). Since MG state may have changed, - the MGC may wish to use the Audit command to resynchronize its - state with the MG's. - - 5) Handoff - sent from the MGC to the MG, this reason indicates that - the MGC is going out of service and a new MGC association must be - established. Sent from the MG to the MGC, this indicates that the - MG is attempting to establish a new association in accordance with - a Handoff received from the MGC with which it was previously - associated. - - 6) Failover - sent from MG to MGC to indicate the primary MG is out - of service and a secondary MG is taking over. This serviceChange - method is also sent from the MG to the MGC when the MG detects - that MGC has failed. - - - - -Groves, et al. Standards Track [Page 62] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7) Another value whose meaning is mutually understood between the MG - and the MGC. - - The ServiceChangeReason parameter specifies the reason why the - ServiceChange has or will occur. It consists of an alphanumeric - token (IANA registered) and, optionally, an explanatory string. - - The optional ServiceChangeAddress parameter specifies the address - (e.g., IP port number for IP networks) to be used for subsequent - communications. It can be specified in the input parameter - descriptor or the returned result descriptor. ServiceChangeAddress - and ServiceChangeMgcId parameters must not both be present in the - ServiceChangeDescriptor or the ServiceChangeResultDescriptor. The - ServiceChangeAddress provides an address to be used within the - Context of the association currently being negotiated, while the - ServiceChangeMgcId provides an alternate address where the MG should - seek to establish another association. Note that the use of - ServiceChangeAddress is not encouraged. MGCs and MGs must be able to - cope with the ServiceChangeAddress being either a full address or - just a port number in the case of TCP transports. - - The optional ServiceChangeDelay parameter is expressed in seconds. - If the delay is absent or set to zero, the delay value should be - considered to be null. In the case of a "graceful" - ServiceChangeMethod, a null delay indicates that the Media Gateway - Controller should wait for the natural removal of existing - connections and should not establish new connections. For "graceful" - only, a null delay means the MG must not set serviceState "out of - service" until the Termination is in the null Context. - - The optional ServiceChangeProfile parameter specifies the Profile (if - any) of the protocol supported. The ServiceChangeProfile includes - the version of the profile supported. - - The optional ServiceChangeVersion parameter contains the protocol - version and is used if protocol version negotiation occurs (see - 11.3). - - The optional TimeStamp parameter specifies the actual time as kept by - the sender. As such, it is not necessarily absolute time according - to, for example, a local time zone - it merely establishes an - arbitrary starting time against which all future timestamps - transmitted by a sender during this association shall be compared. - It can be used by the responder to determine how its notion of time - differs from that of its correspondent. TimeStamp is sent with a - precision of hundredths of a second. - - - - - -Groves, et al. Standards Track [Page 63] - -RFC 3525 Gateway Control Protocol June 2003 - - - The optional Extension parameter may contain any value whose meaning - is mutually understood by the MG and MGC. - - A ServiceChange Command specifying the "Root" for the TerminationID - and ServiceChangeMethod equal to Restart is a registration command by - which a Media Gateway announces its existence to the Media Gateway - Controller. The Media Gateway may also announce a registration - command by specifying the "Root" for the TerminationID and - ServiceChangeMethod equal to Failover when the MG detects MGC - failures. The Media Gateway is expected to be provisioned with the - name of one primary and optionally some number of alternate Media - Gateway Controllers. Acknowledgement of the ServiceChange Command - completes the registration process, except when the MGC has returned - an alternative ServiceChangeMgcId as described in the following - paragraph. The MG may specify the transport ServiceChangeAddress to - be used by the MGC for sending messages in the ServiceChangeAddress - parameter in the input ServiceChangeDescriptor. The MG may specify - an address in the ServiceChangeAddress parameter of the ServiceChange - request, and the MGC may also do so in the ServiceChange reply. In - either case, the recipient must use the supplied address as the - destination for all subsequent transaction requests within the - association. At the same time, as indicated in clause 9, transaction - replies and pending indications must be sent to the address from - which the corresponding requests originated. This must be done even - if it implies extra messaging because commands and responses cannot - be packed together. The TimeStamp parameter shall be sent with a - registration command and its response. - - The Media Gateway Controller may return a ServiceChangeMgcId - parameter that describes the Media Gateway Controller that should - preferably be contacted for further service by the Media Gateway. In - this case the Media Gateway shall reissue the ServiceChange command - to the new Media Gateway Controller. The MGC specified in a - ServiceChangeMgcId, if provided, shall be contacted before any - further alternate MGCs. On a HandOff message from MGC to MG, the - ServiceChangeMgcId is the new MGC that will take over from the - current MGC. - - The return from ServiceChange is empty except when the Root - terminationID is used. In that case it includes the following - parameters as required: - - - ServiceChangeAddress, if the responding MGC wishes to specify a - new destination for messages from the MG for the remainder of the - association; - - - ServiceChangeMgcId, if the responding MGC does not wish to sustain - an association with the MG; - - - -Groves, et al. Standards Track [Page 64] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ServiceChangeProfile, if the responder wishes to negotiate the - profile to be used for the association; - - - ServiceChangeVersion, if the responder wishes to negotiate the - version of the protocol to be used for the association. - - The following ServiceChangeReasons are defined. This list may be - extended by an IANA registration as outlined in 13.3. - - 900 Service Restored - 901 Cold Boot - 902 Warm Boot - 903 MGC Directed Change - 904 Termination malfunctioning - 905 Termination taken out of service - 906 Loss of lower layer connectivity (e.g., downstream sync) - 907 Transmission Failure - 908 MG Impending Failure - 909 MGC Impending Failure - 910 Media Capability Failure - 911 Modem Capability Failure - 912 Mux Capability Failure - 913 Signal Capability Failure - 914 Event Capability Failure - 915 State Loss - -7.2.9 Manipulating and Auditing Context Attributes - - The commands of the protocol as discussed in the preceding subclauses - apply to Terminations. This subclause specifies how Contexts are - manipulated and audited. - - Commands are grouped into actions (see clause 8). An action applies - to one Context. In addition to commands, an action may contain - Context manipulation and auditing instructions. - - An action request sent to a MG may include a request to audit - attributes of a Context. An action may also include a request to - change the attributes of a Context. - - The Context properties that may be included in an action reply are - used to return information to a MGC. This can be information - requested by an audit of Context attributes or details of the effect - of manipulation of a Context. - - - - - - - -Groves, et al. Standards Track [Page 65] - -RFC 3525 Gateway Control Protocol June 2003 - - - If a MG receives an action which contains both a request to audit - context attributes and a request to manipulate those attributes, the - response SHALL include the values of the attributes after processing - the manipulation request. - -7.2.10 Generic Command Syntax - - The protocol can be encoded in a binary format or in a text format. - MGCs should support both encoding formats. MGs may support both - formats. - - The protocol syntax for the binary format of the protocol is defined - in Annex A. Annex C specifies the encoding of the Local and Remote - descriptors for use with the binary format. - - A complete ABNF of the text encoding of the protocol per RFC 2234 is - given in Annex B. SDP is used as the encoding of the Local and - Remote descriptors for use with the text encoding as modified in - 7.1.8. - -7.3 Command Error Codes - - Errors consist of an IANA registered error code and an explanatory - string. Sending the explanatory string is optional. Implementations - are encouraged to append diagnostic information to the end of the - string. - - When a MG reports an error to a MGC, it does so in an error - descriptor. An error descriptor consists of an error code and - optionally the associated explanatory string. - - H.248.8 contains the error codes supported by Recommendations in the - H.248 sub-series. - -8 Transactions - - Commands between the Media Gateway Controller and the Media Gateway - are grouped into Transactions, each of which is identified by a - TransactionID. Transactions consist of one or more Actions. An - Action consists of a non-empty series of Commands, Context property - modifications, or Context property audits that are limited to - operating within a single Context. Consequently, each Action - typically specifies a ContextID. However, there are two - circumstances where a specific ContextID is not provided with an - Action. One is the case of modification of a Termination outside of - a Context. The other is where the controller requests the gateway to - create a new Context. Figure 8 is a graphic representation of the - Transaction, Action and Command relationships. - - - -Groves, et al. Standards Track [Page 66] - -RFC 3525 Gateway Control Protocol June 2003 - - - +----------------------------------------------------------+ - | Transaction x | - | +----------------------------------------------------+ | - | | Action 1 | | - | | +---------+ +---------+ +---------+ +---------+ | | - | | | Command | | Command | | Command | | Command | | | - | | | 1 | | 2 | | 3 | | 4 | | | - | | +---------+ +---------+ +---------+ +---------+ | | - | +----------------------------------------------------+ | - | | - | +----------------------------------------------------+ | - | | Action 2 | | - | | +---------+ | | - | | | Command | | | - | | | 1 | | | - | | +---------+ | | - | +----------------------------------------------------+ | - | | - | +----------------------------------------------------+ | - | | Action 3 | | - | | +---------+ +---------+ +---------+ | | - | | | Command | | Command | | Command | | | - | | | 1 | | 2 | | 3 | | | - | | +---------+ +---------+ +---------+ | | - | +----------------------------------------------------+ | - +----------------------------------------------------------+ - - Figure 8: Transactions, Actions and Commands - - Transactions are presented as TransactionRequests. Corresponding - responses to a TransactionRequest are received in a single reply, - possibly preceded by a number of TransactionPending messages (see - 8.2.3). - - Transactions guarantee ordered Command processing. That is, Commands - within a Transaction are executed sequentially. Ordering of - Transactions is NOT guaranteed - transactions may be executed in any - order, or simultaneously. - - At the first failing Command in a Transaction, processing of the - remaining Commands in that Transaction stops. If a command contains - a wildcarded TerminationID, the command is attempted with each of the - actual TerminationIDs matching the wildcard. A response within the - TransactionReply is included for each matching TerminationID, even if - one or more instances generated an error. If any TerminationID - matching a wildcard results in an error when executed, any commands - following the wildcarded command are not attempted. - - - - -Groves, et al. Standards Track [Page 67] - -RFC 3525 Gateway Control Protocol June 2003 - - - Commands may be marked as "Optional" which can override this - behaviour - if a command marked as Optional results in an error, - subsequent commands in the Transaction will be executed. If a - command fails, the MG shall as far as possible restore the state that - existed prior to the attempted execution of the command before - continuing with command processing. - - A TransactionReply includes the results for all of the Commands in - the corresponding TransactionRequest. The TransactionReply includes - the return values for the Commands that were executed successfully, - and the Command and error descriptor for any Command that failed. - - TransactionPending is used to periodically notify the receiver that a - Transaction has not completed yet, but is actively being processed. - - Applications SHOULD implement an application level timer per - transaction. Expiration of the timer should cause a retransmission - of the request. Receipt of a Reply should cancel the timer. Receipt - of Pending should restart the timer. - -8.1 Common parameters - -8.1.1 Transaction Identifiers - - Transactions are identified by a TransactionID, which is assigned by - sender and is unique within the scope of the sender. A response - containing an error descriptor to indicate that the TransactionID is - missing in a request shall use TransactionID 0 in the corresponding - TransactionReply. - -8.1.2 Context Identifiers - - Contexts are identified by a ContextID, which is assigned by the - Media Gateway and is unique within the scope of the Media Gateway. - The Media Gateway Controller shall use the ContextID supplied by the - Media Gateway in all subsequent Transactions relating to that - Context. The protocol makes reference to a distinguished value that - may be used by the Media Gateway Controller when referring to a - Termination that is currently not associated with a Context, namely - the null ContextID. - - The CHOOSE wildcard is used to request that the Media Gateway create - a new Context. - - The MGC may use the ALL wildcard to address all Contexts on the MG. - The null Context is not included when the ALL wildcard is used. - - - - - -Groves, et al. Standards Track [Page 68] - -RFC 3525 Gateway Control Protocol June 2003 - - - The MGC shall not use partially specified ContextIDs containing the - CHOOSE or ALL wildcards. - -8.2 Transaction Application Programming Interface - - Following is an Application Programming Interface (API) describing - the Transactions of the protocol. This API is shown to illustrate - the Transactions and their parameters and is not intended to specify - implementation (e.g., via use of blocking function calls). It will - describe the input parameters and return values expected to be used - by the various Transactions of the protocol from a very high level. - Transaction syntax and encodings are specified in later subclauses. - -8.2.1 TransactionRequest - - The TransactionRequest is invoked by the sender. There is one - Transaction per request invocation. A request contains one or more - Actions, each of which specifies its target Context and one or more - Commands per Context. - - TransactionRequest(TransactionId { - ContextID {Command ... Command}, - . . . - ContextID {Command ... Command } }) - - The TransactionID parameter must specify a value for later - correlation with the TransactionReply or TransactionPending response - from the receiver. - - The ContextID parameter must specify a value to pertain to all - Commands that follow up to either the next specification of a - ContextID parameter or the end of the TransactionRequest, whichever - comes first. - - The Command parameter represents one of the Commands mentioned in 7.2 - (Command Application Programming Interface). - -8.2.2 TransactionReply - - The TransactionReply is invoked by the receiver. There is one reply - invocation per transaction. A reply contains one or more Actions, - each of which must specify its target Context and one or more - Responses per Context. The TransactionReply is invoked by the - responder when it has processed the TransactionRequest. - - - - - - - -Groves, et al. Standards Track [Page 69] - -RFC 3525 Gateway Control Protocol June 2003 - - - A TransactionRequest has been processed: - - - when all actions in that TransactionRequest have been processed; - or - - - when an error is encountered in processing that - TransactionRequest, except when the error is in an optional - command. - - A command has been processed when all descriptors in that command - have been processed. - - A SignalsDescriptor is considered to have been processed when it has - been established that the descriptor is syntactically valid, the - requested signals are supported and they have been queued to be - applied. - - An EventsDescriptor or EventBufferDescriptor is considered to have - been processed when it has been established that the descriptor is - syntactically valid, the requested events can be observed, any - embedded signals can be generated, any embedded events can be - detected, and the MG has been brought into a state in which the - events will be detected. - - TransactionReply(TransactionID { - ContextID { Response ... Response }, - . . . - ContextID { Response ... Response } }) - - The TransactionID parameter must be the same as that of the - corresponding TransactionRequest. - - The ContextID parameter must specify a value to pertain to all - Responses for the action. The ContextID may be specific, all or - null. - - Each of the Response parameters represents a return value as - mentioned in 7.2, or an error descriptor if the command execution - encountered an error. Commands after the point of failure are not - processed and, therefore, Responses are not issued for them. - - An exception to this occurs if a command has been marked as optional - in the Transaction request. If the optional command generates an - error, the transaction still continues to execute, so the Reply - would, in this case, have Responses after an Error. - - Section 7.1.19 Error Descriptor specifies the generation of error - descriptors. The text below discusses several individual cases. - - - -Groves, et al. Standards Track [Page 70] - -RFC 3525 Gateway Control Protocol June 2003 - - - If the receiver encounters an error in processing a ContextID, the - requested Action response will consist of the Context ID and a single - error descriptor, 422 - Syntax Error in Action. - - If the receiver encounters an error such that it cannot determine a - legal Action, it will return a TransactionReply consisting of the - TransactionID and a single error descriptor, 422 - Syntax Error in - Action. If the end of an action cannot be reliably determined but - one or more commands can be parsed, it will process them and then - send 422 - Syntax Error in Action as the last action for the - transaction. If the receiver encounters an error such that is cannot - determine a legal Transaction, it will return a TransactionReply with - a null TransactionID and a single error descriptor (403 - Syntax - Error in TransactionRequest). - - If the end of a transaction cannot be reliably determined and one or - more Actions can be parsed, it will process them and then return 403 - - Syntax Error in Transaction as the last action reply for the - transaction. If no Actions can be parsed, it will return 403 - - Syntax Error in TransactionRequest as the only reply. - - If the terminationID cannot be reliably determined, it will send 442 - - Syntax Error in Command as the action reply. - - If the end of a command cannot be reliably determined, it will return - 442 - Syntax Error in Command as the reply to the last action it can - parse. - -8.2.3 TransactionPending - - The receiver invokes the TransactionPending. A TransactionPending - indicates that the Transaction is actively being processed, but has - not been completed. It is used to prevent the sender from assuming - the TransactionRequest was lost where the Transaction will take some - time to complete. - - TransactionPending(TransactionID { } ) - - The TransactionID parameter must be the same as that of the - corresponding TransactionRequest. A property of root - (normalMGExecutionTime) is settable by the MGC to indicate the - interval within which the MGC expects a response to any transaction - from the MG. Another property (normalMGCExecutionTime) is settable - by the MGC to indicate the interval within which the MG should expect - a response to any transaction from the MGC. Senders may receive more - than one TransactionPending for a command. If a duplicate request is - - - - - -Groves, et al. Standards Track [Page 71] - -RFC 3525 Gateway Control Protocol June 2003 - - - received when pending, the responder may send a duplicate pending - immediately, or continue waiting for its timer to trigger another - TransactionPending. - -8.3 Messages - - Multiple Transactions can be concatenated into a Message. Messages - have a header, which includes the identity of the sender. The - Message Identifier (MID) of a message is set to a provisioned name - (e.g., domain address/domain name/device name) of the entity - transmitting the message. Domain name is a suggested default. An - H.248.1 entity (MG/MGC) must consistently use the same MID in all - messages it originates for the duration of control association with - the peer (MGC/MG). - - Every Message contains a Version Number identifying the version of - the protocol the message conforms to. Versions consist of one or two - digits, beginning with version 1 for the present version of the - protocol. - - The transactions in a message are treated independently. There is no - order implied; there is no application or protocol acknowledgement of - a message. A message is essentially a transport mechanism. For - example, message X containing transaction requests A, B, and C may be - responded to with message Y containing replies to A and C and message - Z containing the reply to B. Likewise, message L containing request - D and message M containing request E may be responded to with message - N containing replies to both D and E. - -9 Transport - - The transport mechanism for the protocol should allow the reliable - transport of transactions between a MGC and MG. The transport shall - remain independent of what particular commands are being sent and - shall be applicable to all application states. There are several - transports defined for the protocol, which are defined in Annexes to - this RFC and other Recommendations of the H.248 - sub-series. Additional Transports may be defined as additional - - Recommendations of the H.248 sub-series. For transport of the - protocol over IP, MGCs shall implement both TCP and UDP/ALF, a MG - shall implement TCP or UDP/ALF or both. - - The MG is provisioned with a name or address (such as DNS name or IP - address) of a primary and zero or more secondary MGCs (see 7.2.8) - that is the address the MG uses to send messages to the MGC. If TCP - or UDP is used as the protocol transport and the port to which the - initial ServiceChange request is to be sent is not otherwise known, - - - -Groves, et al. Standards Track [Page 72] - -RFC 3525 Gateway Control Protocol June 2003 - - - that request should be sent to the default port number for the - protocol. This port number is 2944 for text-encoded operation or - 2945 for binary-encoded operation, for either UDP or TCP. The MGC - receives the message containing the ServiceChange request from the MG - and can determine the MG's address from it. As described in 7.2.8, - either the MG or the MGC may supply an address in the - ServiceChangeAddress parameter to which subsequent transaction - requests must be addressed, but responses (including the response to - the initial ServiceChange request) must always be sent back to the - address which was the source of the corresponding request. For - example, in IP networks, this is the source address in the IP header - and the source port number in the TCP/UDP/SCTP header. - -9.1 Ordering of Commands - - This RFC does not mandate that the underlying transport protocol - guarantees the sequencing of transactions sent to an entity. This - property tends to maximize the timeliness of actions, but it has a - few drawbacks. For example: - - - Notify commands may be delayed and arrive at the MGC after the - transmission of a new command changing the EventsDescriptor. - - - If a new command is transmitted before a previous one is - acknowledged, there is no guarantee that prior command will be - executed before the new one. - - Media Gateway Controllers that want to guarantee consistent operation - of the Media Gateway may use the following rules. These rules are - with respect to commands that are in different transactions. - Commands that are in the same transaction are executed in order (see - clause 8). - - 1) When a Media Gateway handles several Terminations, commands - pertaining to the different Terminations may be sent in parallel, - for example following a model where each Termination (or group of - Terminations) is controlled by its own process or its own thread. - - 2) On a Termination, there should normally be at most one outstanding - command (Add or Modify or Move), unless the outstanding commands - are in the same transaction. However, a Subtract command may be - issued at any time. In consequence, a Media Gateway may sometimes - receive a Modify command that applies to a previously subtracted - Termination. Such commands should be ignored, and an error code - should be returned. - - - - - - -Groves, et al. Standards Track [Page 73] - -RFC 3525 Gateway Control Protocol June 2003 - - - 3) For transports that do not guarantee in-sequence delivery of - messages (i.e., UDP), there should normally be on a given - Termination at most one outstanding Notify command at any time. - - 4) In some cases, an implicitly or explicitly wildcarded Subtract - command that applies to a group of Terminations may step in front - of a pending Add command. The Media Gateway Controller should - individually delete all Terminations for which an Add command was - pending at the time of the global Subtract command. Also, new Add - commands for Terminations named by the wildcarding (or implied in - a Multiplex descriptor) should not be sent until the wildcarded - Subtract command is acknowledged. - - 5) AuditValue and AuditCapability are not subject to any sequencing. - - 6) ServiceChange shall always be the first command sent by a MG as - defined by the restart procedure. Any other command or response - must be delivered after this ServiceChange command. - - These rules do not affect the command responder, which should always - respond to commands. - -9.2 Protection against Restart Avalanche - - In the event that a large number of Media Gateways are powered on - simultaneously and they were to all initiate a ServiceChange - transaction, the Media Gateway Controller would very likely be - swamped, leading to message losses and network congestion during the - critical period of service restoration. In order to prevent such - avalanches, the following behaviour is suggested: - - 1) When a Media Gateway is powered on, it should initiate a restart - timer to a random value, uniformly distributed between 0 and a - maximum waiting delay (MWD). Care should be taken to avoid - synchronicity of the random number generation between multiple - Media Gateways that would use the same algorithm. - - 2) The Media Gateway should then wait for either the end of this - timer or the detection of a local user activity, such as for - example an off-hook transition on a residential Media Gateway. - - 3) When the timer elapses, or when an activity is detected, the Media - Gateway should initiate the restart procedure. - - The restart procedure simply requires the MG to guarantee that the - first message that the Media Gateway Controller sees from this MG is - a ServiceChange message informing the Media Gateway Controller about - the restart. - - - -Groves, et al. Standards Track [Page 74] - -RFC 3525 Gateway Control Protocol June 2003 - - - NOTE - The value of MWD is a configuration parameter that depends - on the type of the Media Gateway. The following reasoning may be - used to determine the value of this delay on residential gateways. - - Media Gateway Controllers are typically dimensioned to handle the - peak hour traffic load, during which, in average, 10% of the lines - will be busy, placing calls whose average duration is typically 3 - minutes. The processing of a call typically involves 5 to 6 Media - Gateway Controller transactions between each Media Gateway and the - Media Gateway Controller. This simple calculation shows that the - Media Gateway Controller is expected to handle 5 to 6 transactions - for each Termination, every 30 minutes on average, or, to put it - otherwise, about one transaction per Termination every 5 to 6 minutes - on average. This suggests that a reasonable value of MWD for a - residential gateway would be 10 to 12 minutes. In the absence of - explicit configuration, residential gateways should adopt a value of - 600 seconds for MWD. - - The same reasoning suggests that the value of MWD should be much - shorter for trunking gateways or for business gateways, because they - handle a large number of Terminations, and also because the usage - rate of these Terminations is much higher than 10% during the peak - busy hour, a typical value being 60%. These Terminations, during the - peak hour, are this expected to contribute about one transaction per - minute to the Media Gateway Controller load. A reasonable algorithm - is to make the value of MWD per "trunk" Termination six times shorter - than the MWD per residential gateway, and also inversely proportional - to the number of Terminations that are being restarted. For example - MWD should be set to 2.5 seconds for a gateway that handles a T1 - line, or to 60 milliseconds for a gateway that handles a T3 line. - -10 Security Considerations - - This clause covers security when using the protocol in an IP - environment. - -10.1 Protection of Protocol Connections - - A security mechanism is clearly needed to prevent unauthorized - entities from using the protocol defined in this RFC for setting up - unauthorized calls or interfering with authorized calls. The - security mechanism for the protocol when transported over IP networks - is IPsec [RFC 2401 to RFC 2411]. - - The AH header [RFC 2402] affords data origin authentication, - connectionless integrity and optional anti-replay protection of - messages passed between the MG and the MGC. The ESP header [RFC - 2406] provides confidentiality of messages, if desired. For - - - -Groves, et al. Standards Track [Page 75] - -RFC 3525 Gateway Control Protocol June 2003 - - - instance, the ESP encryption service should be requested if the - session descriptions are used to carry session keys, as defined in - SDP. - - Implementations of the protocol defined in this RFC employing the ESP - header SHALL comply with section 5 of [RFC 2406], which defines a - minimum set of algorithms for integrity checking and encryption. - Similarly, implementations employing the AH header SHALL comply with - section 5 of [RFC 2402], which defines a minimum set of algorithms - for integrity checking using manual keys. - - Implementations SHOULD use IKE [RFC 2409] to permit more robust - keying options. Implementations employing IKE SHOULD support - authentication with RSA signatures and RSA public key encryption. - -10.2 Interim AH scheme - - Implementation of IPsec requires that the AH or ESP header be - inserted immediately after the IP header. This cannot be easily done - at the application level. Therefore, this presents a deployment - problem for the protocol defined in this RFC where the underlying - network implementation does not support IPsec. - - As an interim solution, an optional AH header is defined within the - H.248.1 protocol header. The header fields are exactly those of the - SPI, SEQUENCE NUMBER and DATA fields as defined in [RFC 2402]. The - semantics of the header fields are the same as the "transport mode" - of [RFC 2402], except for the calculation of the Integrity Check - Value (ICV). In IPsec, the ICV is calculated over the entire IP - packet including the IP header. This prevents spoofing of the IP - addresses. To retain the same functionality, the ICV calculation - should be performed across all the transactions (concatenated) in the - message prepended by a synthesized IP header consisting of a 32-bit - source IP address, a 32-bit destination address and a 16-bit UDP - destination port encoded as 20 hex digits. When the interim AH - mechanism is employed when TCP is the transport Layer, the UDP Port - above becomes the TCP port, and all other operations are the same. - - Implementations of the H.248.1 protocol SHALL implement IPsec where - the underlying operating system and the transport network supports - IPsec. Implementations of the protocol using IPv4 SHALL implement - the interim AH scheme. However, this interim scheme SHALL NOT be - used when the underlying network layer supports IPsec. IPv6 - implementations are assumed to support IPsec and SHALL NOT use the - interim AH scheme. - - - - - - -Groves, et al. Standards Track [Page 76] - -RFC 3525 Gateway Control Protocol June 2003 - - - All implementations of the interim AH mechanism SHALL comply with - section 5 of RFC 2402 which defines a minimum set of algorithms for - integrity checking using manual keys. - - The interim AH interim scheme does not provide protection against - eavesdropping, thus forbidding third parties from monitoring the - connections set up by a given Termination. Also, it does not provide - protection against replay attacks. These procedures do not - necessarily protect against denial of service attacks by misbehaving - MGs or misbehaving MGCs. However, they will provide an - identification of these misbehaving entities, which should then be - deprived of their authorization through maintenance procedures. - -10.3 Protection of Media Connections - - The protocol allows the MGC to provide MGs with "session keys" that - can be used to encrypt the audio messages, protecting against - eavesdropping. - - A specific problem of packet networks is "uncontrolled barge-in". - This attack can be performed by directing media packets to the IP - address and UDP port used by a connection. If no protection is - implemented, the packets must be decompressed and the signals must be - played on the "line side". - - A basic protection against this attack is to only accept packets from - known sources, checking for example that the IP source address and - UDP source port match the values announced in the Remote descriptor. - This has two inconveniences: it slows down connection establishment - and it can be fooled by source spoofing: - - - To enable the address-based protection, the MGC must obtain the - remote session description of the egress MG and pass it to the - ingress MG. This requires at least one network round trip, and - leaves us with a dilemma: either allow the call to proceed without - waiting for the round trip to complete, and risk for example, - "clipping" a remote announcement, or wait for the full round trip - and settle for slower call-set up procedures. - - - Source spoofing is only effective if the attacker can obtain valid - pairs of source destination addresses and ports, for example by - listening to a fraction of the traffic. To fight source spoofing, - one could try to control all access points to the network. But - this is in practice very hard to achieve. - - - - - - - -Groves, et al. Standards Track [Page 77] - -RFC 3525 Gateway Control Protocol June 2003 - - - An alternative to checking the source address is to encrypt and - authenticate the packets, using a secret key that is conveyed during - the call set-up procedure. This will not slow down the call set-up, - and provides strong protection against address spoofing. - -11 MG-MGC Control Interface - - The control association between MG and MGC is initiated at MG cold - start, and announced by a ServiceChange message, but can be changed - by subsequent events, such as failures or manual service events. - While the protocol does not have an explicit mechanism to support - multiple MGCs controlling a physical MG, it has been designed to - support the multiple logical MG (within a single physical MG) that - can be associated with different MGCs. - -11.1 Multiple Virtual MGs - - A physical Media Gateway may be partitioned into one or more Virtual - MGs. A virtual MG consists of a set of statically partitioned - physical Terminations and/or sets of ephemeral Terminations. A - physical Termination is controlled by one MGC. The model does not - require that other resources be statically allocated, just - Terminations. The mechanism for allocating Terminations to virtual - MGs is a management method outside the scope of the protocol. Each - of the virtual MGs appears to the MGC as a complete MG client. - - A physical MG may have only one network interface, which must be - shared across virtual MGs. In such a case, the packet/cell side - Termination is shared. It should be noted however, that in use, such - interfaces require an ephemeral instance of the Termination to be - created per flow, and thus sharing the Termination is - straightforward. This mechanism does lead to a complication, namely - that the MG must always know which of its controlling MGCs should be - notified if an event occurs on the interface. - - In normal operation, the Virtual MG will be instructed by the MGC to - create network flows (if it is the originating side), or to expect - flow requests (if it is the terminating side), and no confusion will - arise. However, if an unexpected event occurs, the Virtual MG must - know what to do with respect to the physical resources it is - controlling. - - If recovering from the event requires manipulation of a physical - interface's state, only one MGC should do so. These issues are - resolved by allowing any of the MGCs to create EventsDescriptors to - be notified of such events, but only one MGC can have read/write - - - - - -Groves, et al. Standards Track [Page 78] - -RFC 3525 Gateway Control Protocol June 2003 - - - access to the physical interface properties; all other MGCs have - read-only access. The management mechanism is used to designate - which MGC has read/write capability, and is designated the Master - MGC. - - Each virtual MG has its own Root Termination. In most cases the - values for the properties of the Root Termination are independently - settable by each MGC. Where there can only be one value, the - parameter is read-only to all but the Master MGC. - - ServiceChange may only be applied to a Termination or set of - Terminations partitioned to the Virtual MG or created (in the case of - ephemeral Terminations) by that Virtual MG. - -11.2 Cold start - - A MG is pre-provisioned by a management mechanism outside the scope - of this protocol with a primary and (optionally) an ordered list of - secondary MGCs. Upon a cold start of the MG, it will issue a - ServiceChange command with a "Restart" method, on the Root - Termination to its primary MGC. If the MGC accepts the MG, it sends - a Transaction Reply not including a ServiceChangeMgcId parameter. If - the MGC does not accept the MG's registration, it sends a Transaction - Reply, providing the address of an alternate MGC to be contacted by - including a ServiceChangeMgcId parameter. - - If the MG receives a Transaction Reply that includes a - ServiceChangeMgcId parameter, it sends a ServiceChange to the MGC - specified in the ServiceChangeMgcId. It continues this process until - it gets a controlling MGC to accept its registration, or it fails to - get a reply. Upon failure to obtain a reply, either from the primary - MGC, or a designated successor, the MG tries its pre-provisioned - secondary MGCs, in order. If the MG is unable to establish a control - relationship with any MGC, it shall wait a random amount of time as - described in 9.2 and then start contacting its primary, and if - necessary, its secondary MGCs again. - - It is possible that the reply to a ServiceChange with Restart will be - lost, and a command will be received by the MG prior to the receipt - of the ServiceChange response. The MG shall issue Error 505 - - Command Received before a ServiceChange Reply has been received. - -11.3 Negotiation of protocol version - - The first ServiceChange command from a MG shall contain the version - number of the protocol supported by the MG in the - ServiceChangeVersion parameter. Upon receiving such a message, if - the MGC supports only a lower version, then the MGC shall send a - - - -Groves, et al. Standards Track [Page 79] - -RFC 3525 Gateway Control Protocol June 2003 - - - ServiceChangeReply with the lower version and thereafter all the - messages between MG and MGC shall conform to the lower version of the - protocol. If the MG is unable to comply and it has established a - transport connection to the MGC, it should close that connection. In - any event, it should reject all subsequent requests from the MGC with - error 406 - Version Not Supported. - - If the MGC supports a higher version than the MG but is able to - support the lower version proposed by the MG, it shall send a - ServiceChangeReply with the lower version and thereafter all the - messages between MG and MGC shall conform to the lower version of the - protocol. If the MGC is unable to comply, it shall reject the - association, with error 406 - Version Not Supported. - - Protocol version negotiation may also occur at "handoff" and - "failover" ServiceChanges. - - When extending the protocol with new versions, the following rules - should be followed: - - 1) Existing protocol elements, i.e., procedures, parameters, - descriptor, property, values, should not be changed unless a - protocol error needs to be corrected or it becomes necessary to - change the operation of the service that is being supported by the - protocol. - - 2) The semantics of a command, a parameter, a descriptor, a property, - or a value should not be changed. - - 3) Established rules for formatting and encoding messages and - parameters should not be modified. - - 4) When information elements are found to be obsolete they can be - marked as not used. However, the identifier for that information - element will be marked as reserved. In that way it can not be - used in future versions. - -11.4 Failure of a MG - - If a MG fails, but is capable of sending a message to the MGC, it - sends a ServiceChange with an appropriate method (graceful or forced) - and specifies the Root TerminationID. When it returns to service, it - sends a ServiceChange with a "Restart" method. - - Allowing the MGC to send duplicate messages to both MGs accommodates - pairs of MGs that are capable of redundant failover of one of the - MGs. Only the Working MG shall accept or reject transactions. Upon - failover, the primary MG sends a ServiceChange command with a - - - -Groves, et al. Standards Track [Page 80] - -RFC 3525 Gateway Control Protocol June 2003 - - - "Failover" method and a "MG Impending Failure" reason. The MGC then - uses the secondary MG as the active MG. When the error condition is - repaired, the Working MG can send a "ServiceChange" with a "Restart" - method. - - Note: Redundant failover MGs require a reliable transport, because - the protocol provides no means for a secondary MG running ALF to - acknowledge messages sent from the MGC. - -11.5 Failure of an MGC - - If the MG detects a failure of its controlling MGC, it attempts to - contact the next MGC on its pre-provisioned list. It starts its - attempts at the beginning (primary MGC), unless that was the MGC that - failed, in which case it starts at its first secondary MGC. It sends - a ServiceChange message with a "Failover" method and a "MGC Impending - Failure" reason. If the MG is unable to establish a control - relationship with any MGC, it shall wait a random amount of time as - described in section 9.2 and then start again contacting its primary, - and (if necessary) its secondary MGCs. When contacting its - previously controlling MGC, the MG sends the ServiceChange message - with "Disconnected" method. - - In partial failure, or for manual maintenance reasons, an MGC may - wish to direct its controlled MGs to use a different MGC. To do so, - it sends a ServiceChange method to the MG with a "HandOff" method, - and its designated replacement in ServiceChangeMgcId. If "HandOff" - is supported, the MG shall send a ServiceChange message with a - "Handoff" method and a "MGC directed change" reason to the designated - MGC. If it fails to get a reply from the designated MGC, the MG - shall behave as if its MGC failed, and start contacting secondary - MGCs as specified in the previous paragraph. If the MG is unable to - establish a control relationship with any MGC, it shall wait a random - amount of time as described in 9.2 and then start contacting its - primary, and if necessary, its secondary MGCs again. - - No recommendation is made on how the MGCs involved in the Handoff - maintain state information; this is considered to be out of scope of - this RFC. The MGC and MG may take the following steps when Handoff - occurs. When the MGC initiates a HandOff, the handover should be - transparent to Operations on the Media Gateway. Transactions can be - executed in any order, and could be in progress when the - ServiceChange is executed. Accordingly, commands in progress - continue and replies to all commands from the original MGC must be - sent to the transport address from which they were sent. If the - service relationship with the sending MGC has ended, the replies - should be discarded. The MG may receive outstanding transaction - replies from the new MGC. No new messages shall be sent to the new - - - -Groves, et al. Standards Track [Page 81] - -RFC 3525 Gateway Control Protocol June 2003 - - - MGC until the control association is established. Repeated - transaction requests shall be directed to the new MGC. The MG shall - maintain state on all Terminations and Contexts. - - It is possible that the MGC could be implemented in such a way that a - failed MGC is replaced by a working MGC where the identity of the new - MGC is the same as the failed one. In such a case, - ServiceChangeMgcId would be specified with the previous value and the - MG shall behave as if the value was changed, and send a ServiceChange - message, as above. - - Pairs of MGCs that are capable of redundant failover can notify the - controlled MGs of the failover by the above mechanism. - -12 Package definition - - The primary mechanism for extension is by means of Packages. - Packages define additional Properties, Events, Signals and Statistics - that may occur on Terminations. - - Packages defined by IETF will appear in separate RFCs. - - Packages defined by ITU-T may appear in the relevant Recommendations - (e.g., as Recommendations of the H.248 sub-series). - - 1) A public document or a standard forum document, which can be - referenced as the document that describes the package following - the guideline above, should be specified. - - 2) The document shall specify the version of the Package that it - describes. - - 3) The document should be available on a public web server and should - have a stable URL. The site should provide a mechanism to provide - comments and appropriate responses should be returned. - -12.1 Guidelines for defining packages - - Packages define Properties, Events, Signals, and Statistics. - - Packages may also define new error codes according to the guidelines - given in 13.2. This is a matter of documentary convenience: the - package documentation is submitted to IANA in support of the error - code registration. If a package is modified, it is unnecessary to - provide IANA with a new document reference in support of the error - code unless the description of the error code itself is modified. - - - - - -Groves, et al. Standards Track [Page 82] - -RFC 3525 Gateway Control Protocol June 2003 - - - Names of all such defined constructs shall consist of the PackageID - (which uniquely identifies the package) and the ID of the item (which - uniquely identifies the item in that package). In the text encoding - the two shall be separated by a forward slash ("/") character. - Example: togen/playtone is the text encoding to refer to the play - tone signal in the tone generation package. - - A Package will contain the following sections: - -12.1.1 Package - - Overall description of the package, specifying: - - Package Name: only descriptive - - PackageID: is an identifier - - Description: - - Version: - - A new version of a package can only add additional Properties, - Events, Signals, Statistics and new possible values for an - existing parameter described in the original package. No - deletions or modifications shall be allowed. A version is an - integer in the range from 1 to 99. - - Designed to be extended only (Optional): - - This indicates that the package has been expressly designed to - be extended by others, not to be directly referenced. For - example, the package may not have any function on its own or be - nonsensical on its own. The MG SHOULD NOT publish this - PackageID when reporting packages. - - Extends (Optional): existing package Descriptor - - A package may extend an existing package. The version of the - original package must be specified. When a package extends - another package it shall only add additional Properties, - Events, Signals, Statistics and new possible values for an - existing parameter described in the original package. An - extended package shall not redefine or overload an identifier - defined in the original package and packages it may have - extended (multiple levels of extension). Hence, if package B - version 1 extends package A version 1, version 2 of B will not - be able to extend the A version 2 if A version 2 defines a name - already in B version 1. - - - -Groves, et al. Standards Track [Page 83] - -RFC 3525 Gateway Control Protocol June 2003 - - -12.1.2 Properties - - Properties defined by the package, specifying: - - Property Name: only descriptive - - PropertyID: is an identifier - - Description: - - Type: One of: - - Boolean - - String: UTF-8 string - - Octet String: A number of octets. See Annex A and Annex B.3 - for encoding - - Integer: 4 byte signed integer - - Double: 8 byte signed integer - - Character: unicode UTF-8 encoding of a single letter. Could be - more than one octet. - - Enumeration: one of a list of possible unique values (see 12.3) - - Sub-list: a list of several values from a list. The type of - sub-list SHALL also be specified. The type shall be chosen - from the types specified in this section (with the exception of - sub-list). For example, Type: sub-list of enumeration. The - encoding of sub-lists is specified in Annexes A and B.3. - - Possible values: - - A package MUST specify either a specific set of values or a - description of how values are determined. A package MUST also - specify a default value or the default behaviour when the value - is omitted from its descriptor. For example, a package may - specify that procedures related to the property are suspended - when its value is omitted. A default value (but not - procedures) - may be specified as provisionable. - - Defined in: - - Which H.248.1 descriptor the property is defined in. - - - -Groves, et al. Standards Track [Page 84] - -RFC 3525 Gateway Control Protocol June 2003 - - - LocalControl is for stream dependent properties. - TerminationState is for stream independent properties. These - are expected to be the most common cases, but it is possible - for properties to be defined in other descriptors. - - Characteristics: Read/Write or both, and (optionally), global: - - Indicates whether a property is read-only, or read-write, and - if it is global. If Global is omitted, the property is not - global. If a property is declared as global, the value of the - property is shared by all Terminations realizing the package. - -12.1.3 Events - - Events defined by the package, specifying: - - Event name: only descriptive - - EventID: is an identifier - - Description: - - EventsDescriptor Parameters: - - Parameters used by the MGC to configure the event, and found in - the EventsDescriptor. See 12.2. - - ObservedEventsDescriptor Parameters: - - Parameters returned to the MGC in Notify requests and in - replies to command requests from the MGC that audit - ObservedEventsDescriptor, and found in the - ObservedEventsDescriptor. See 12.2. - -12.1.4 Signals - - Signals defined by the package, specifying: - - Signal Name: only descriptive - - SignalID: is an identifier. SignalID is used in a - SignalsDescriptor - - Description - - SignalType: one of: - - OO (On/Off) - - - -Groves, et al. Standards Track [Page 85] - -RFC 3525 Gateway Control Protocol June 2003 - - - TO (TimeOut) - - BR (Brief) - - NOTE - SignalType may be defined such that it is dependent on the - value of one or more parameters. The package MUST specify a - default signal type. If the default type is TO, the package MUST - specify a default duration which may be provisioned. A default - duration is meaningless for BR. - - Duration: in hundredths of seconds - - Additional Parameters: see 12.2 - -12.1.5 Statistics - - Statistics defined by the package, specifying: - - Statistic name: only descriptive - - StatisticID: is an identifier - - StatisticID is used in a StatisticsDescriptor - - Description: - - Units: unit of measure, e.g., milliseconds, packets - -12.1.6 Procedures - - Additional guidance on the use of the package. - -12.2 Guidelines to defining Parameters to Events and Signals - - Parameter Name: only descriptive - - ParameterID: is an identifier. The textual ParameterID of parameters - to Events and Signals shall not start with "EPA" and "SPA", - respectively. The textual ParameterID shall also not be "ST", - "Stream", "SY", "SignalType", "DR", "Duration", "NC", - "NotifyCompletion", "KA", "Keepactive", "EB", "Embed", "DM" or - "DigitMap". - - Type: One of: - - Boolean - - String: UTF-8 octet string - - - -Groves, et al. Standards Track [Page 86] - -RFC 3525 Gateway Control Protocol June 2003 - - - Octet String: A number of octets. See Annex A and Annex B.3 for - encoding - - Integer: 4-octet signed integer - - Double: 8-octet signed integer - - Character: unicode UTF-8 encoding of a single letter. Could be - more than one octet. - - Enumeration: one of a list of possible unique values (see 12.3) - - Sub-list: a list of several values from a list (not supported for - statistics). The type of sub-list SHALL also be specified. The - type shall be chosen from the types specified in this section - (with the exception of sub-list). For example, Type: sub-list of - enumeration. The encoding of sub-lists is specified in Annexes A - and B.3. - - Possible values: - - A package MUST specify either a specific set of values or a - description of how values are determined. A package MUST also - specify a default value or the default behavior when the value is - omitted from its descriptor. For example, a package may specify - that procedures related to the parameter are suspended when it - value is omitted. A default value (but not procedures) may be - specified as provisionable. - - Description: - -12.3 Lists - - Possible values for parameters include enumerations. Enumerations - may be defined in a list. It is recommended that the list be IANA - registered so that packages that extend the list can be defined - without concern for conflicting names. - -12.4 Identifiers - - Identifiers in text encoding shall be strings of up to 64 characters, - containing no spaces, starting with an alphabetic character and - consisting of alphanumeric characters and/or digits, and possibly - including the special character underscore ("_"). - - - - - - - -Groves, et al. Standards Track [Page 87] - -RFC 3525 Gateway Control Protocol June 2003 - - - Identifiers in binary encoding are 2 octets long. - - Both text and binary values shall be specified for each identifier, - including identifiers used as values in enumerated types. - -12.5 Package registration - - A package can be registered with IANA for interoperability reasons. - See clause 13 for IANA Considerations. - -13 IANA Considerations - -13.1 Packages - - The following considerations SHALL be met to register a package with - IANA: - - 1) A unique string name, unique serial number and version number is - registered for each package. The string name is used with text - encoding. The serial number shall be used with binary encoding. - Serial Numbers 0x8000 to 0xFFFF are reserved for private use. - Serial number 0 is reserved. - - 2) A contact name, email and postal addresses for that contact shall - be specified. The contact information shall be updated by the - defining organization as necessary. - - 3) A reference to a document that describes the package, which should - be public: - - The document shall specify the version of the Package that it - describes. - - If the document is public, it should be located on a public web - server and should have a stable URL. The site should provide a - mechanism to provide comments and appropriate responses should be - returned. - - 4) Packages registered by other than recognized standards bodies - shall have a minimum package name length of 8 characters. - - 5) All other package names are first come-first served if all other - conditions are met. - - - - - - - - -Groves, et al. Standards Track [Page 88] - -RFC 3525 Gateway Control Protocol June 2003 - - -13.2 Error codes - - The following considerations SHALL be met to register an error code - with IANA: - - 1) An error number and a one-line (80-character maximum) string is - registered for each error. - - 2) A complete description of the conditions under which the error is - detected shall be included in a publicly available document. The - description shall be sufficiently clear to differentiate the error - from all other existing error codes. - - 3) The document should be available on a public web server and should - have a stable URL. - - 4) Error numbers registered by recognized standards bodies shall have - 3- or 4-character error numbers. - - 5) Error numbers registered by all other organizations or individuals - shall have 4-character error numbers. - - 6) An error number shall not be redefined nor modified except by the - organization or individual that originally defined it, or their - successors or assigns. - -13.3 ServiceChange reasons - - The following considerations SHALL be met to register service change - reason with IANA: - - 1) A one-phrase, 80-character maximum, unique reason code is - registered for each reason. - - 2) A complete description of the conditions under which the reason is - used is detected shall be included in a publicly available - document. The description shall be sufficiently clear to - differentiate the reason from all other existing reasons. - - 3) The document should be available on a public web server and should - have a stable URL. - - - - - - - - - - -Groves, et al. Standards Track [Page 89] - -RFC 3525 Gateway Control Protocol June 2003 - - -ANNEX A - Binary encoding of the protocol - - This annex specifies the syntax of messages using the notation - defined in Recommendation X.680; Information technology - Abstract - Syntax Notation One (ASN.1): Specification of basic notation. - Messages shall be encoded for transmission by applying the basic - encoding rules specified in Recommendation X.690, Information - Technology - ASN.1 Encoding Rules: Specification of Basic Encoding - Rules (BER), Canonical Encoding Rules (CER) and Distinguished - Encoding Rules. - -A.1 Coding of wildcards - - The use of wildcards ALL and CHOOSE is allowed in the protocol. This - allows a MGC to partially specify Termination IDs and to let the MG - choose from the values that conform to the partial specification. - Termination IDs may encode a hierarchy of names. This hierarchy is - provisioned. For instance, a TerminationID may consist of a trunk - group, a trunk within the group and a circuit. Wildcarding must be - possible at all levels. The following paragraphs explain how this is - achieved. - - The ASN.1 description uses octet strings of up to 8 octets in length - for Termination IDs. This means that Termination IDs consist of at - most 64 bits. A fully specified Termination ID may be preceded by a - sequence of wildcarding fields. A wildcarding field is one octet in - length. Bit 7 (the most significant bit) of this octet specifies - what type of wildcarding is invoked: if the bit value equals 1, then - the ALL wildcard is used; if the bit value if 0, then the CHOOSE - wildcard is used. Bit 6 of the wildcarding field specifies whether - the wildcarding pertains to one level in the hierarchical naming - scheme (bit value 0) or to the level of the hierarchy specified in - the wildcarding field plus all lower levels (bit value 1). Bits 0 - through 5 of the wildcarding field specify the bit position in the - Termination ID at which the wildcarding starts. - - We illustrate this scheme with some examples. In these examples, the - most significant bit in a string of bits appears on the left hand - side. - - Assume that Termination IDs are three octets long and that each octet - represents a level in a hierarchical naming scheme. A valid - Termination ID is: - - 00000001 00011110 01010101. - - - - - - -Groves, et al. Standards Track [Page 90] - -RFC 3525 Gateway Control Protocol June 2003 - - - Addressing ALL names with prefix 00000001 00011110 is done as - follows: - - wildcarding field: 10000111 - - Termination ID: 00000001 00011110 xxxxxxxx. - - The values of the bits labeled "x" is irrelevant and shall be ignored - by the receiver. - - Indicating to the receiver that it must choose a name with 00011110 - as the second octet is done as follows: - - wildcarding fields: 00010111 followed by 00000111 - - Termination ID: xxxxxxxx 00011110 xxxxxxxx. - - The first wildcard field indicates a CHOOSE wildcard for the level in - the naming hierarchy starting at bit 23, the highest level in our - assumed naming scheme. The second wildcard field indicates a CHOOSE - wildcard for the level in the naming hierarchy starting at bit 7, the - lowest level in our assumed naming scheme. - - Finally, a CHOOSE-wildcarded name with the highest level of the name - equal to 00000001 is specified as follows: - - wildcard field: 01001111 - - Termination ID: 0000001 xxxxxxxx xxxxxxxx . - - Bit value 1 at bit position 6 of the first octet of the wildcard - field indicates that the wildcarding pertains to the specified level - in the naming hierarchy and all lower levels. - - Context IDs may also be wildcarded. In the case of Context IDs, - however, specifying partial names is not allowed. Context ID 0x0 - SHALL be used to indicate the NULL Context, Context ID 0xFFFFFFFE - SHALL be used to indicate a CHOOSE wildcard, and Context ID - 0xFFFFFFFF SHALL be used to indicate an ALL wildcard. - - TerminationID 0xFFFFFFFFFFFFFFFF SHALL be used to indicate the ROOT - Termination. - - - - - - - - - -Groves, et al. Standards Track [Page 91] - -RFC 3525 Gateway Control Protocol June 2003 - - -A.2 ASN.1 syntax specification - - This subclause contains the ASN.1 specification of the H.248.1 - protocol syntax. - - NOTE 1 - In case a transport mechanism is used that employs - application level framing, the definition of Transaction below - changes. Refer to the annex or to the Recommendation of the H.248 - sub-series defining the transport mechanism for the definition that - applies in that case. - - NOTE 2 - The ASN.1 specification below contains a clause defining - TerminationIDList as a sequence of TerminationIDs. The length of - this sequence SHALL be one, except possibly when used in - contextAuditResult. - - NOTE 3 - This syntax specification does not enforce all - restrictions on element inclusions and values. Some additional - restrictions are stated in comments and other restrictions appear - in the text of this RFC. These additional restrictions - are part of the protocol even though not enforced by this - specification. - - NOTE 4 - The ASN.1 module in this Annex uses octet string types to - encode values for property parameter, signal parameter and event - parameter values and statistics. The actual types of these values - vary and are specified in Annex C or the relevant package - definition. - - A value is first BER-encoded based on its type using the table below. - The result of this BER-encoding is then encoded as an ASN.1 octet - string, "double wrapping" the value. The format specified in Annex C - or the package relates to BER encoding according to the following - table: - - Type Specified in Package ASN.1 BER Type - - String IA5String or UTF8String (Note 4) - - Integer (4 Octet) INTEGER - - Double (8 octet signed int) INTEGER (Note 3) - - Character (UTF-8, Note 1) IA5String - - Enumeration ENUMERATED - - Boolean BOOLEAN - - - -Groves, et al. Standards Track [Page 92] - -RFC 3525 Gateway Control Protocol June 2003 - - - Unsigned Integer (Note 2) INTEGER (Note 3) - - Octet (String) OCTET STRING - - Note 1: Can be more than one byte - - Note 2: Unsigned integer is referenced in Annex C - - Note 3: The BER encoding of INTEGER does not imply the use of 4 - bytes. - - Note 4: String should be encoded as IA5String when the contents - are all ASCII characters, but as UTF8String if it contains any - Non-ASCII characters. - - See ITU-T Rec. X.690, 8.7, for the definition of the encoding of an - octet string value. - - MEDIA-GATEWAY-CONTROL DEFINITIONS AUTOMATIC TAGS::= - BEGIN - - MegacoMessage ::= SEQUENCE - { - authHeader AuthenticationHeader OPTIONAL, - mess Message - } - - AuthenticationHeader ::= SEQUENCE - { - secParmIndex SecurityParmIndex, - seqNum SequenceNum, - ad AuthData - } - - SecurityParmIndex ::= OCTET STRING(SIZE(4)) - - SequenceNum ::= OCTET STRING(SIZE(4)) - - AuthData ::= OCTET STRING (SIZE (12..32)) - - Message ::= SEQUENCE - { - version INTEGER(0..99), - -- The version of the protocol defined here is equal to 1. - mId MId, -- Name/address of message originator - messageBody CHOICE - { - messageError ErrorDescriptor, - - - -Groves, et al. Standards Track [Page 93] - -RFC 3525 Gateway Control Protocol June 2003 - - - transactions SEQUENCE OF Transaction - }, - ... - } - - MId ::= CHOICE - { - ip4Address IP4Address, - ip6Address IP6Address, - domainName DomainName, - deviceName PathName, - mtpAddress OCTET STRING(SIZE(2..4)), - -- Addressing structure of mtpAddress: - -- 25 - 15 0 - -- | PC | NI | - -- 24 - 14 bits 2 bits - -- Note: 14 bits are defined for international use. - -- Two national options exist where the point code is 16 or 24 - -- bits. - -- To octet align the mtpAddress, the MSBs shall be encoded as 0s. - ... - } - - DomainName ::= SEQUENCE - { - name IA5String, - -- The name starts with an alphanumeric digit followed by a - -- sequence of alphanumeric digits, hyphens and dots. No two - -- dots shall occur consecutively. - portNumber INTEGER(0..65535) OPTIONAL - } - - IP4Address ::= SEQUENCE - { - address OCTET STRING (SIZE(4)), - portNumber INTEGER(0..65535) OPTIONAL - } - - IP6Address ::= SEQUENCE - { - address OCTET STRING (SIZE(16)), - portNumber INTEGER(0..65535) OPTIONAL - } - - PathName ::= IA5String(SIZE (1..64)) - -- See A.3 - - Transaction ::= CHOICE - - - -Groves, et al. Standards Track [Page 94] - -RFC 3525 Gateway Control Protocol June 2003 - - - { - transactionRequest TransactionRequest, - transactionPending TransactionPending, - transactionReply TransactionReply, - transactionResponseAck TransactionResponseAck, - -- use of response acks is dependent on underlying transport - ... - } - - TransactionId ::= INTEGER(0..4294967295) -- 32-bit unsigned integer - - TransactionRequest ::= SEQUENCE - { - transactionId TransactionId, - actions SEQUENCE OF ActionRequest, - ... - } - - TransactionPending ::= SEQUENCE - { - transactionId TransactionId, - ... - } - - TransactionReply ::= SEQUENCE - { - transactionId TransactionId, - immAckRequired NULL OPTIONAL, - transactionResult CHOICE - { - transactionError ErrorDescriptor, - actionReplies SEQUENCE OF ActionReply - }, - ... - } - - TransactionResponseAck ::= SEQUENCE OF TransactionAck - TransactionAck ::= SEQUENCE - { - firstAck TransactionId, - lastAck TransactionId OPTIONAL - } - - ErrorDescriptor ::= SEQUENCE - { - errorCode ErrorCode, - errorText ErrorText OPTIONAL - } - - - -Groves, et al. Standards Track [Page 95] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ErrorCode ::= INTEGER(0..65535) - -- See clause 13 for IANA Considerations with respect to error codes - - ErrorText ::= IA5String - - ContextID ::= INTEGER(0..4294967295) - - -- Context NULL Value: 0 - -- Context CHOOSE Value: 4294967294 (0xFFFFFFFE) - -- Context ALL Value: 4294967295 (0xFFFFFFFF) - - - ActionRequest ::= SEQUENCE - { - contextId ContextID, - contextRequest ContextRequest OPTIONAL, - contextAttrAuditReq ContextAttrAuditRequest OPTIONAL, - commandRequests SEQUENCE OF CommandRequest - } - - ActionReply ::= SEQUENCE - { - contextId ContextID, - errorDescriptor ErrorDescriptor OPTIONAL, - contextReply ContextRequest OPTIONAL, - commandReply SEQUENCE OF CommandReply - } - - ContextRequest ::= SEQUENCE - { - priority INTEGER(0..15) OPTIONAL, - emergency BOOLEAN OPTIONAL, - topologyReq SEQUENCE OF TopologyRequest OPTIONAL, - ... - } - - ContextAttrAuditRequest ::= SEQUENCE - { - topology NULL OPTIONAL, - emergency NULL OPTIONAL, - priority NULL OPTIONAL, - ... - } - - CommandRequest ::= SEQUENCE - { - command Command, - - - -Groves, et al. Standards Track [Page 96] - -RFC 3525 Gateway Control Protocol June 2003 - - - optional NULL OPTIONAL, - wildcardReturn NULL OPTIONAL, - ... - } - - Command ::= CHOICE - { - addReq AmmRequest, - moveReq AmmRequest, - modReq AmmRequest, - -- Add, Move, Modify requests have the same parameters - subtractReq SubtractRequest, - auditCapRequest AuditRequest, - auditValueRequest AuditRequest, - notifyReq NotifyRequest, - serviceChangeReq ServiceChangeRequest, - ... - } - - CommandReply ::= CHOICE - { - addReply AmmsReply, - moveReply AmmsReply, - modReply AmmsReply, - subtractReply AmmsReply, - -- Add, Move, Modify, Subtract replies have the same parameters - auditCapReply AuditReply, - auditValueReply AuditReply, - notifyReply NotifyReply, - serviceChangeReply ServiceChangeReply, - ... - } - - TopologyRequest ::= SEQUENCE - { - terminationFrom TerminationID, - terminationTo TerminationID, - topologyDirection ENUMERATED - { - bothway(0), - isolate(1), - oneway(2) - }, - ... - } - - AmmRequest ::= SEQUENCE - { - - - -Groves, et al. Standards Track [Page 97] - -RFC 3525 Gateway Control Protocol June 2003 - - - terminationID TerminationIDList, - descriptors SEQUENCE OF AmmDescriptor, - -- At most one descriptor of each type (see AmmDescriptor) - -- allowed in the sequence. - ... - } - - AmmDescriptor ::= CHOICE - { - mediaDescriptor MediaDescriptor, - modemDescriptor ModemDescriptor, - muxDescriptor MuxDescriptor, - eventsDescriptor EventsDescriptor, - eventBufferDescriptor EventBufferDescriptor, - signalsDescriptor SignalsDescriptor, - digitMapDescriptor DigitMapDescriptor, - auditDescriptor AuditDescriptor, - ... - } - - AmmsReply ::= SEQUENCE - { - terminationID TerminationIDList, - terminationAudit TerminationAudit OPTIONAL, - ... - } - - SubtractRequest ::= SEQUENCE - { - terminationID TerminationIDList, - auditDescriptor AuditDescriptor OPTIONAL, - ... - } - - AuditRequest ::= SEQUENCE - { - terminationID TerminationID, - auditDescriptor AuditDescriptor, - ... - } - - AuditReply ::= CHOICE - { - contextAuditResult TerminationIDList, - error ErrorDescriptor, - auditResult AuditResult, - ... - } - - - -Groves, et al. Standards Track [Page 98] - -RFC 3525 Gateway Control Protocol June 2003 - - - - AuditResult ::= SEQUENCE - { - - terminationID TerminationID, - terminationAuditResult TerminationAudit - } - - TerminationAudit ::= SEQUENCE OF AuditReturnParameter - - AuditReturnParameter ::= CHOICE - { - errorDescriptor ErrorDescriptor, - mediaDescriptor MediaDescriptor, - modemDescriptor ModemDescriptor, - muxDescriptor MuxDescriptor, - eventsDescriptor EventsDescriptor, - eventBufferDescriptor EventBufferDescriptor, - signalsDescriptor SignalsDescriptor, - digitMapDescriptor DigitMapDescriptor, - observedEventsDescriptor ObservedEventsDescriptor, - statisticsDescriptor StatisticsDescriptor, - packagesDescriptor PackagesDescriptor, - emptyDescriptors AuditDescriptor, - ... - } - - AuditDescriptor ::= SEQUENCE - { - auditToken BIT STRING - { - muxToken(0), modemToken(1), mediaToken(2), - eventsToken(3), signalsToken(4), - digitMapToken(5), statsToken(6), - observedEventsToken(7), - packagesToken(8), eventBufferToken(9) - } OPTIONAL, - ... - } - - NotifyRequest ::= SEQUENCE - { - terminationID TerminationIDList, - observedEventsDescriptor ObservedEventsDescriptor, - errorDescriptor ErrorDescriptor OPTIONAL, - ... - } - - - - -Groves, et al. Standards Track [Page 99] - -RFC 3525 Gateway Control Protocol June 2003 - - - NotifyReply ::= SEQUENCE - { - terminationID TerminationIDList, - errorDescriptor ErrorDescriptor OPTIONAL, - ... - } - - ObservedEventsDescriptor ::= SEQUENCE - { - requestId RequestID, - observedEventLst SEQUENCE OF ObservedEvent - } - - ObservedEvent ::= SEQUENCE - { - eventName EventName, - streamID StreamID OPTIONAL, - eventParList SEQUENCE OF EventParameter, - timeNotation TimeNotation OPTIONAL, - ... - } - - EventName ::= PkgdName - - EventParameter ::= SEQUENCE - { - eventParameterName Name, - value Value, - -- For use of extraInfo see the comment related to PropertyParm - extraInfo CHOICE - { - relation Relation, - range BOOLEAN, - sublist BOOLEAN - } OPTIONAL, - ... - } - - ServiceChangeRequest ::= SEQUENCE - { - terminationID TerminationIDList, - serviceChangeParms ServiceChangeParm, - ... - } - - ServiceChangeReply ::= SEQUENCE - { - terminationID TerminationIDList, - - - -Groves, et al. Standards Track [Page 100] - -RFC 3525 Gateway Control Protocol June 2003 - - - serviceChangeResult ServiceChangeResult, - ... - } - - -- For ServiceChangeResult, no parameters are mandatory. Hence the - -- distinction between ServiceChangeParm and ServiceChangeResParm. - - ServiceChangeResult ::= CHOICE - { - errorDescriptor ErrorDescriptor, - serviceChangeResParms ServiceChangeResParm - } - - WildcardField ::= OCTET STRING(SIZE(1)) - - TerminationID ::= SEQUENCE - { - wildcard SEQUENCE OF WildcardField, - id OCTET STRING(SIZE(1..8)), - ... - } - -- See A.1 for explanation of wildcarding mechanism. - -- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination. - - TerminationIDList ::= SEQUENCE OF TerminationID - - MediaDescriptor ::= SEQUENCE - { - - termStateDescr TerminationStateDescriptor OPTIONAL, - streams CHOICE - { - oneStream StreamParms, - multiStream SEQUENCE OF StreamDescriptor - } OPTIONAL, - ... - } - - StreamDescriptor ::= SEQUENCE - { - streamID StreamID, - streamParms StreamParms - } - - StreamParms ::= SEQUENCE - { - localControlDescriptor LocalControlDescriptor OPTIONAL, - localDescriptor LocalRemoteDescriptor OPTIONAL, - - - -Groves, et al. Standards Track [Page 101] - -RFC 3525 Gateway Control Protocol June 2003 - - - remoteDescriptor LocalRemoteDescriptor OPTIONAL, - ... - } - - LocalControlDescriptor ::= SEQUENCE - { - - streamMode StreamMode OPTIONAL, - reserveValue BOOLEAN OPTIONAL, - reserveGroup BOOLEAN OPTIONAL, - propertyParms SEQUENCE OF PropertyParm, - ... - } - - StreamMode ::= ENUMERATED - { - sendOnly(0), - recvOnly(1), - sendRecv(2), - inactive(3), - loopBack(4), - ... - } - - -- In PropertyParm, value is a SEQUENCE OF octet string. When sent - -- by an MGC the interpretation is as follows: - -- empty sequence means CHOOSE - -- one element sequence specifies value - -- If the sublist field is not selected, a longer sequence means - -- "choose one of the values" (i.e., value1 OR value2 OR ...) - -- If the sublist field is selected, - -- a sequence with more than one element encodes the value of a - -- list-valued property (i.e., value1 AND value2 AND ...). - -- The relation field may only be selected if the value sequence - -- has length 1. It indicates that the MG has to choose a value - -- for the property. E.g., x > 3 (using the greaterThan - -- value for relation) instructs the MG to choose any value larger - -- than 3 for property x. - -- The range field may only be selected if the value sequence - -- has length 2. It indicates that the MG has to choose a value - -- in the range between the first octet in the value sequence and - -- the trailing octet in the value sequence, including the - -- boundary values. - -- When sent by the MG, only responses to an AuditCapability request - -- may contain multiple values, a range, or a relation field. - - PropertyParm ::= SEQUENCE - { - - - -Groves, et al. Standards Track [Page 102] - -RFC 3525 Gateway Control Protocol June 2003 - - - name PkgdName, - value SEQUENCE OF OCTET STRING, - extraInfo CHOICE - { - relation Relation, - range BOOLEAN, - sublist BOOLEAN - } OPTIONAL, - ... - } - - Name ::= OCTET STRING(SIZE(2)) - - PkgdName ::= OCTET STRING(SIZE(4)) - -- represents Package Name (2 octets) plus Property, Event, - -- Signal Names or Statistics ID. (2 octets) - -- To wildcard a package use 0xFFFF for first two octets, choose - -- is not allowed. To reference native property tag specified in - -- Annex C, use 0x0000 as first two octets. - -- To wildcard a Property, Event, Signal, or Statistics ID, use - -- 0xFFFF for last two octets, choose is not allowed. - -- Wildcarding of Package Name is permitted only if Property, - -- Event, Signal, or Statistics ID are - -- also wildcarded. - - Relation ::= ENUMERATED - { - greaterThan(0), - smallerThan(1), - unequalTo(2), - ... - } - - LocalRemoteDescriptor ::= SEQUENCE - { - propGrps SEQUENCE OF PropertyGroup, - ... - } - - PropertyGroup ::= SEQUENCE OF PropertyParm - - TerminationStateDescriptor ::= SEQUENCE - { - propertyParms SEQUENCE OF PropertyParm, - eventBufferControl EventBufferControl OPTIONAL, - serviceState ServiceState OPTIONAL, - ... - } - - - -Groves, et al. Standards Track [Page 103] - -RFC 3525 Gateway Control Protocol June 2003 - - - - EventBufferControl ::= ENUMERATED - { - off(0), - lockStep(1), - ... - } - - ServiceState ::= ENUMERATED - - { - test(0), - outOfSvc(1), - inSvc(2), - ... - } - - MuxDescriptor ::= SEQUENCE - { - muxType MuxType, - termList SEQUENCE OF TerminationID, - nonStandardData NonStandardData OPTIONAL, - ... - } - - MuxType ::= ENUMERATED - { - h221(0), - h223(1), - h226(2), - v76(3), - ... - } - - StreamID ::= INTEGER(0..65535) -- 16-bit unsigned integer - - EventsDescriptor ::= SEQUENCE - { - requestID RequestID OPTIONAL, - -- RequestID must be present if eventList - -- is non empty - eventList SEQUENCE OF RequestedEvent, - ... - } - - RequestedEvent ::= SEQUENCE - { - pkgdName PkgdName, - - - -Groves, et al. Standards Track [Page 104] - -RFC 3525 Gateway Control Protocol June 2003 - - - streamID StreamID OPTIONAL, - eventAction RequestedActions OPTIONAL, - evParList SEQUENCE OF EventParameter, - ... - } - - RequestedActions ::= SEQUENCE - { - keepActive BOOLEAN OPTIONAL, - eventDM EventDM OPTIONAL, - secondEvent SecondEventsDescriptor OPTIONAL, - signalsDescriptor SignalsDescriptor OPTIONAL, - ... - } - - EventDM ::= CHOICE - { digitMapName DigitMapName, - digitMapValue DigitMapValue - } - - SecondEventsDescriptor ::= SEQUENCE - { - requestID RequestID OPTIONAL, - eventList SEQUENCE OF SecondRequestedEvent, - ... - } - - SecondRequestedEvent ::= SEQUENCE - { - pkgdName PkgdName, - streamID StreamID OPTIONAL, - eventAction SecondRequestedActions OPTIONAL, - evParList SEQUENCE OF EventParameter, - ... - } - - SecondRequestedActions ::= SEQUENCE - { - keepActive BOOLEAN OPTIONAL, - eventDM EventDM OPTIONAL, - signalsDescriptor SignalsDescriptor OPTIONAL, - ... - } - - EventBufferDescriptor ::= SEQUENCE OF EventSpec - - EventSpec ::= SEQUENCE - { - - - -Groves, et al. Standards Track [Page 105] - -RFC 3525 Gateway Control Protocol June 2003 - - - eventName EventName, - streamID StreamID OPTIONAL, - eventParList SEQUENCE OF EventParameter, - ... - } - - SignalsDescriptor ::= SEQUENCE OF SignalRequest - - SignalRequest ::=CHOICE - { - signal Signal, - seqSigList SeqSigList, - ... - } - - SeqSigList ::= SEQUENCE - { - id INTEGER(0..65535), - signalList SEQUENCE OF Signal - } - - Signal ::= SEQUENCE - { - signalName SignalName, - streamID StreamID OPTIONAL, - sigType SignalType OPTIONAL, - duration INTEGER (0..65535) OPTIONAL, - notifyCompletion NotifyCompletion OPTIONAL, - keepActive BOOLEAN OPTIONAL, - sigParList SEQUENCE OF SigParameter, - ... - } - - SignalType ::= ENUMERATED - { - brief(0), - onOff(1), - timeOut(2), - ... - } - - SignalName ::= PkgdName - - NotifyCompletion ::= BIT STRING - { - onTimeOut(0), onInterruptByEvent(1), - onInterruptByNewSignalDescr(2), otherReason(3) - } - - - -Groves, et al. Standards Track [Page 106] - -RFC 3525 Gateway Control Protocol June 2003 - - - - SigParameter ::= SEQUENCE - { - sigParameterName Name, - value Value, - -- For use of extraInfo see the comment related to PropertyParm - extraInfo CHOICE - { - relation Relation, - range BOOLEAN, - sublist BOOLEAN - - } OPTIONAL, - ... - } - - -- For an AuditCapReply with all events, the RequestID SHALL be ALL. - -- ALL is represented by 0xffffffff. - - RequestID ::= INTEGER(0..4294967295) -- 32-bit unsigned integer - - ModemDescriptor ::= SEQUENCE - { - mtl SEQUENCE OF ModemType, - mpl SEQUENCE OF PropertyParm, - nonStandardData NonStandardData OPTIONAL - } - - ModemType ::= ENUMERATED - { - v18(0), - v22(1), - v22bis(2), - v32(3), - v32bis(4), - v34(5), - v90(6), - v91(7), - synchISDN(8), - ... - } - - DigitMapDescriptor ::= SEQUENCE - { - digitMapName DigitMapName OPTIONAL, - digitMapValue DigitMapValue OPTIONAL - } - - - - -Groves, et al. Standards Track [Page 107] - -RFC 3525 Gateway Control Protocol June 2003 - - - DigitMapName ::= Name - - DigitMapValue ::= SEQUENCE - { - startTimer INTEGER(0..99) OPTIONAL, - shortTimer INTEGER(0..99) OPTIONAL, - longTimer INTEGER(0..99) OPTIONAL, - digitMapBody IA5String, - -- Units are seconds for start, short and long timers, and - -- hundreds of milliseconds for duration timer. Thus start, - -- short, and long range from 1 to 99 seconds and duration - -- from 100 ms to 9.9 s - -- See A.3 for explanation of digit map syntax - ... - } - - ServiceChangeParm ::= SEQUENCE - { - serviceChangeMethod ServiceChangeMethod, - serviceChangeAddress ServiceChangeAddress OPTIONAL, - serviceChangeVersion INTEGER(0..99) OPTIONAL, - serviceChangeProfile ServiceChangeProfile OPTIONAL, - serviceChangeReason Value, - -- A serviceChangeReason consists of a numeric reason code - -- and an optional text description. - -- The serviceChangeReason SHALL be a string consisting of - -- a decimal reason code, optionally followed by a single - -- space character and a textual description string. - -- This string is first BER-encoded as an IA5String. - -- The result of this BER-encoding is then encoded as - -- an ASN.1 OCTET STRING type, "double wrapping" the - -- value as was done for package elements. - serviceChangeDelay INTEGER(0..4294967295) OPTIONAL, - -- 32-bit unsigned integer - serviceChangeMgcId MId OPTIONAL, - timeStamp TimeNotation OPTIONAL, - nonStandardData NonStandardData OPTIONAL, - ... - } - - ServiceChangeAddress ::= CHOICE - { - portNumber INTEGER(0..65535), -- TCP/UDP port number - ip4Address IP4Address, - ip6Address IP6Address, - domainName DomainName, - deviceName PathName, - mtpAddress OCTET STRING(SIZE(2..4)), - - - -Groves, et al. Standards Track [Page 108] - -RFC 3525 Gateway Control Protocol June 2003 - - - ... - } - - ServiceChangeResParm ::= SEQUENCE - { - serviceChangeMgcId MId OPTIONAL, - serviceChangeAddress ServiceChangeAddress OPTIONAL, - serviceChangeVersion INTEGER(0..99) OPTIONAL, - serviceChangeProfile ServiceChangeProfile OPTIONAL, - timestamp TimeNotation OPTIONAL, - ... - } - - ServiceChangeMethod ::= ENUMERATED - - { - failover(0), - forced(1), - graceful(2), - restart(3), - disconnected(4), - handOff(5), - ... - } - - ServiceChangeProfile ::= SEQUENCE - { - profileName IA5String(SIZE (1..67)) - -- 64 characters for name, 1 for "/", 2 for version to match ABNF - } - - PackagesDescriptor ::= SEQUENCE OF PackagesItem - - PackagesItem ::= SEQUENCE - { - packageName Name, - packageVersion INTEGER(0..99), - ... - } - - StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter - - StatisticsParameter ::= SEQUENCE - { - statName PkgdName, - statValue Value OPTIONAL - } - - - - -Groves, et al. Standards Track [Page 109] - -RFC 3525 Gateway Control Protocol June 2003 - - - NonStandardData ::= SEQUENCE - { - nonStandardIdentifier NonStandardIdentifier, - data OCTET STRING - } - - NonStandardIdentifier ::= CHOICE - { - object OBJECT IDENTIFIER, - h221NonStandard H221NonStandard, - experimental IA5String(SIZE(8)), - -- first two characters should be "X-" or "X+" - ... - } - - H221NonStandard ::= SEQUENCE - { t35CountryCode1 INTEGER(0..255), - t35CountryCode2 INTEGER(0..255), -- country, as per T.35 - t35Extension INTEGER(0..255), -- assigned nationally - manufacturerCode INTEGER(0..65535), -- assigned nationally - ... - } - - TimeNotation ::= SEQUENCE - { - date IA5String(SIZE(8)), -- yyyymmdd format - time IA5String(SIZE(8)) -- hhmmssss format - -- per ISO 8601:1988 - } - - Value ::= SEQUENCE OF OCTET STRING - - END - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 110] - -RFC 3525 Gateway Control Protocol June 2003 - - -A.3 Digit maps and path names - - From a syntactic viewpoint, digit maps are strings with syntactic - restrictions imposed upon them. The syntax of valid digit maps is - specified in ABNF [RFC 2234]. The syntax for digit maps presented in - this subclause is for illustrative purposes only. The definition of - digitMap in Annex B takes precedence in the case of differences - between the two. - - digitMap = (digitString / LWSP "(" LWSP digitStringList LWSP ")" - LWSP) - - digitStringList = digitString *( LWSP "|" LWSP digitString ) - digitString = 1*(digitStringElement) - digitStringElement = digitPosition [DOT] - digitPosition = digitMapLetter / digitMapRange - digitMapRange = ("x" / (LWSP "[" LWSP digitLetter LWSP "]" LWSP)) - digitLetter = *((DIGIT "-" DIGIT) /digitMapLetter) - digitMapLetter = DIGIT ;digits 0-9 - / %x41-4B / %x61-6B ;a-k and A-K - / "L"/ "S" ;Inter-event timers - ;(long, short) - / "Z" ;Long duration event - DOT = %x2E ; "." - LWSP = *(WSP / COMMENT / EOL) - WSP = SP / HTAB - COMMENT = ";" *(SafeChar / RestChar / WSP) EOL - EOL = (CR [LF]) / LF - SP = %x20 - HTAB = %x09 - CR = %x0D - LF = %x0A - SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / "!" / "_" / "/" / - "'" / "?" / "@" / "^" / "`" / "~" / "*" / "$" / "\" / - "(" / ")" / "%" / "." - RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" / - "<" / ">" / "=" / %x22 - DIGIT = %x30-39 ; digits 0 through 9 - ALPHA = %x41-5A / %x61-7A; A-Z, a-z - - A path name is also a string with syntactic restrictions imposed upon - it. The ABNF production defining it is copied from Annex B. - - ; Total length of pathNAME must not exceed 64 chars. - pathNAME = ["*"] NAME *("/" / "*"/ ALPHA / DIGIT /"_" / "$" ) - ["@" pathDomainName ] - - - - - -Groves, et al. Standards Track [Page 111] - -RFC 3525 Gateway Control Protocol June 2003 - - - ; ABNF allows two or more consecutive "." although it is - ; meaningless in a path domain name. - pathDomainName = (ALPHA / DIGIT / "*" ) - *63(ALPHA / DIGIT / "-" - NAME = ALPHA *63(ALPHA / DIGIT / "_" ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 112] - -RFC 3525 Gateway Control Protocol June 2003 - - -ANNEX B - Text encoding of the protocol - -B.1 Coding of wildcards - - In a text encoding of the protocol, while TerminationIDs are - arbitrary, by judicious choice of names, the wildcard character, "*" - may be made more useful. When the wildcard character is encountered, - it will "match" all TerminationIDs having the same previous and - following characters (if appropriate). For example, if there were - TerminationIDs of R13/3/1, R13/3/2 and R13/3/3, the TerminationID - R13/3/* would match all of them. There are some circumstances where - ALL Terminations must be referred to. The TerminationID "*" - suffices, and is referred to as ALL. The CHOOSE TerminationID "$" - may be used to signal to the MG that it has to create an ephemeral - Termination or select an idle physical Termination. - -B.2 ABNF specification - - The protocol syntax is presented in ABNF according to RFC 2234. - - Note 1 - This syntax specification does not enforce all - restrictions on element inclusions and values. Some additional - restrictions are stated in comments and other restrictions appear - in the text of this RFC. These additional restrictions are part - of the protocol even though not enforced by this specification. - - Note 2 - The syntax is context-dependent. For example, "Add" can - be the AddToken or a NAME depending on the context in which it - occurs. - - Everything in the ABNF and text encoding is case insensitive. This - includes TerminationIDs, digitmap Ids etc. SDP is case sensitive as - per RFC 2327. - - ; NOTE -- The ABNF in this section uses the VALUE construct (or lists - ; of VALUE constructs) to encode various package element values - ; (properties, signal parameters, etc.). The types of these values - ; vary and are specified the relevant package definition. Several - ; such types are described in section 12.2. - ; - ; The ABNF specification for VALUE allows a quotedString form or a - ; collection of SafeChars. The encoding of package element values - ; into ABNF VALUES is specified below. If a type's encoding allows - ; characters other than SafeChars, the quotedString form MUST be used - ; for all values of that type, even for specific values that consist - ; only of SafeChars. - ; - - - - -Groves, et al. Standards Track [Page 113] - -RFC 3525 Gateway Control Protocol June 2003 - - - ; String: A string MUST use the quotedString form of VALUE and can - ; contain anything allowable in the quotedString form. - ; - ; Integer, Double, and Unsigned Integer: Decimal values can be - ; encoded using characters 0-9. Hexadecimal values must be prefixed - ; with '0x' and can use characters 0-9,a-f,A-F. An octal format is - ; not supported. Negative integers start with '-' and MUST be - ; Decimal. The SafeChar form of VALUE MUST be used. - ; - ; Character: A UTF-8 encoding of a single letter surrounded by - ; double quotes. - ; - ; Enumeration: An enumeration MUST use the SafeChar form of VALUE - ; and can contain anything allowable in the SafeChar form. - ; - ; Boolean: Boolean values are encoded as "on" and "off" and are - ; case insensitive. The SafeChar form of VALUE MUST be used. - ; - ; Future types: Any defined types MUST fit within - ; the ABNF specification of VALUE. Specifically, if a type's - ; encoding allows characters other than SafeChars, the quotedString - ; form MUST be used for all values of that type, even for specific - ; values that consist only of SafeChars. - ; - ; Note that there is no way to use the double quote character within - ; a value. - ; - ; Note that SDP disallows whitespace at the beginning of a line, - ; Megaco ABNF allows whitespace before the beginning of the SDP in - ; the Local/Remote descriptor. Parsers should accept whitespace - ; between the LBRKT following the Local/Remote token and the - ; beginning of the SDP. - - megacoMessage = LWSP [authenticationHeader SEP ] message - - authenticationHeader = AuthToken EQUAL SecurityParmIndex COLON - SequenceNum COLON AuthData - - SecurityParmIndex = "0x" 8(HEXDIG) - SequenceNum = "0x" 8(HEXDIG) - AuthData = "0x" 24*64(HEXDIG) - - message = MegacopToken SLASH Version SEP mId SEP - messageBody - ; The version of the protocol defined here is equal to 1. - - messageBody = ( errorDescriptor / transactionList ) - - - - -Groves, et al. Standards Track [Page 114] - -RFC 3525 Gateway Control Protocol June 2003 - - - transactionList = 1*( transactionRequest / transactionReply / - transactionPending / transactionResponseAck ) - ;Use of response acks is dependent on underlying transport - - - transactionPending = PendingToken EQUAL TransactionID LBRKT - RBRKT - - transactionResponseAck = ResponseAckToken LBRKT transactionAck - *(COMMA transactionAck) RBRKT - transactionAck = transactionID / (transactionID "-" transactionID) - - transactionRequest = TransToken EQUAL TransactionID LBRKT - actionRequest *(COMMA actionRequest) RBRKT - - actionRequest = CtxToken EQUAL ContextID LBRKT (( - contextRequest [COMMA commandRequestList]) - / commandRequestList) RBRKT - - contextRequest = ((contextProperties [COMMA contextAudit]) - / contextAudit) - - contextProperties = contextProperty *(COMMA contextProperty) - - ; at-most-once - contextProperty = (topologyDescriptor / priority / EmergencyToken) - - contextAudit = ContextAuditToken LBRKT contextAuditProperties - *(COMMA contextAuditProperties) RBRKT - - ; at-most-once - contextAuditProperties = ( TopologyToken / EmergencyToken / - PriorityToken ) - - ; "O-" indicates an optional command - ; "W-" indicates a wildcarded response to a command - commandRequestList = ["O-"] ["W-"] commandRequest - *(COMMA ["O-"] ["W-"]commandRequest) - - commandRequest = ( ammRequest / subtractRequest / auditRequest / - notifyRequest / serviceChangeRequest) - - transactionReply = ReplyToken EQUAL TransactionID LBRKT - [ ImmAckRequiredToken COMMA] - ( errorDescriptor / actionReplyList ) RBRKT - - actionReplyList = actionReply *(COMMA actionReply ) - - - - -Groves, et al. Standards Track [Page 115] - -RFC 3525 Gateway Control Protocol June 2003 - - - actionReply = CtxToken EQUAL ContextID LBRKT - ( errorDescriptor / commandReply ) / - (commandReply COMMA errorDescriptor) ) RBRKT - - commandReply = (( contextProperties [COMMA commandReplyList] ) / - commandReplyList ) - - - commandReplyList = commandReplys *(COMMA commandReplys ) - - commandReplys = (serviceChangeReply / auditReply / ammsReply / - notifyReply ) - - ;Add Move and Modify have the same request parameters - ammRequest = (AddToken / MoveToken / ModifyToken ) EQUAL - TerminationID [LBRKT ammParameter *(COMMA - ammParameter) RBRKT] - - ;at-most-once - ammParameter = (mediaDescriptor / modemDescriptor / - muxDescriptor / eventsDescriptor / - signalsDescriptor / digitMapDescriptor / - eventBufferDescriptor / auditDescriptor) - - ammsReply = (AddToken / MoveToken / ModifyToken / - SubtractToken ) EQUAL TerminationID [ LBRKT - terminationAudit RBRKT ] - - subtractRequest = SubtractToken EQUAL TerminationID - [ LBRKT auditDescriptor RBRKT] - - auditRequest = (AuditValueToken / AuditCapToken ) EQUAL - TerminationID LBRKT auditDescriptor RBRKT - - auditReply = (AuditValueToken / AuditCapToken ) - ( contextTerminationAudit / auditOther) - - auditOther = EQUAL TerminationID [LBRKT - terminationAudit RBRKT] - - terminationAudit = auditReturnParameter *(COMMA auditReturnParameter) - - contextTerminationAudit = EQUAL CtxToken ( terminationIDList / - LBRKT errorDescriptor RBRKT ) - - auditReturnParameter = (mediaDescriptor / modemDescriptor / - muxDescriptor / eventsDescriptor / - signalsDescriptor / digitMapDescriptor / - - - -Groves, et al. Standards Track [Page 116] - -RFC 3525 Gateway Control Protocol June 2003 - - - observedEventsDescriptor / eventBufferDescriptor / - statisticsDescriptor / packagesDescriptor / - errorDescriptor / auditItem) - - auditDescriptor = AuditToken LBRKT [ auditItem - *(COMMA auditItem) ] RBRKT - - notifyRequest = NotifyToken EQUAL TerminationID - LBRKT ( observedEventsDescriptor - [ COMMA errorDescriptor ] ) RBRKT - - notifyReply = NotifyToken EQUAL TerminationID - [ LBRKT errorDescriptor RBRKT ] - - serviceChangeRequest = ServiceChangeToken EQUAL TerminationID - LBRKT serviceChangeDescriptor RBRKT - - serviceChangeReply = ServiceChangeToken EQUAL TerminationID - [LBRKT (errorDescriptor / - serviceChangeReplyDescriptor) RBRKT] - - errorDescriptor = ErrorToken EQUAL ErrorCode - LBRKT [quotedString] RBRKT - - ErrorCode = 1*4(DIGIT) ; could be extended - - TransactionID = UINT32 - - mId = (( domainAddress / domainName ) - [":" portNumber]) / mtpAddress / deviceName - - ; ABNF allows two or more consecutive "." although it is meaningless - ; in a domain name. - domainName = "<" (ALPHA / DIGIT) *63(ALPHA / DIGIT / "-" / - ".") ">" - deviceName = pathNAME - - ;The values 0x0, 0xFFFFFFFE and 0xFFFFFFFF are reserved. - ContextID = (UINT32 / "*" / "-" / "$") - - domainAddress = "[" (IPv4address / IPv6address) "]" - ;RFC2373 contains the definition of IP6Addresses. - IPv6address = hexpart [ ":" IPv4address ] - IPv4address = V4hex DOT V4hex DOT V4hex DOT V4hex - V4hex = 1*3(DIGIT) ; "0".."255" - ; this production, while occurring in RFC2373, is not referenced - ; IPv6prefix = hexpart SLASH 1*2DIGIT - hexpart = hexseq "::" [ hexseq ] / "::" [ hexseq ] / hexseq - - - -Groves, et al. Standards Track [Page 117] - -RFC 3525 Gateway Control Protocol June 2003 - - - hexseq = hex4 *( ":" hex4) - hex4 = 1*4HEXDIG - - portNumber = UINT16 - - ; Addressing structure of mtpAddress: - ; 25 - 15 0 - ; | PC | NI | - ; 24 - 14 bits 2 bits - ; Note: 14 bits are defined for international use. - ; Two national options exist where the point code is 16 or 24 bits. - ; To octet align the mtpAddress the MSBs shall be encoded as 0s. - ; An octet shall be represented by 2 hex digits. - mtpAddress = MTPToken LBRKT 4*8 (HEXDIG) RBRKT - - terminationIDList = LBRKT TerminationID *(COMMA TerminationID) RBRKT - - ; Total length of pathNAME must not exceed 64 chars. - pathNAME = ["*"] NAME *("/" / "*"/ ALPHA / DIGIT /"_" / "$" ) - ["@" pathDomainName ] - - ; ABNF allows two or more consecutive "." although it is meaningless - ; in a path domain name. - pathDomainName = (ALPHA / DIGIT / "*" ) - *63(ALPHA / DIGIT / "-" / "*" / ".") - - TerminationID = "ROOT" / pathNAME / "$" / "*" - - mediaDescriptor = MediaToken LBRKT mediaParm *(COMMA mediaParm) RBRKT - - ; at-most one terminationStateDescriptor - ; and either streamParm(s) or streamDescriptor(s) but not both - mediaParm = (streamParm / streamDescriptor / - terminationStateDescriptor) - - ; at-most-once per item - streamParm = ( localDescriptor / remoteDescriptor / - localControlDescriptor ) - - streamDescriptor = StreamToken EQUAL StreamID LBRKT streamParm - *(COMMA streamParm) RBRKT - - localControlDescriptor = LocalControlToken LBRKT localParm - *(COMMA localParm) RBRKT - - ; at-most-once per item except for propertyParm - localParm = ( streamMode / propertyParm / reservedValueMode - / reservedGroupMode ) - - - -Groves, et al. Standards Track [Page 118] - -RFC 3525 Gateway Control Protocol June 2003 - - - - reservedValueMode = ReservedValueToken EQUAL ( "ON" / "OFF" ) - reservedGroupMode = ReservedGroupToken EQUAL ( "ON" / "OFF" ) - - streamMode = ModeToken EQUAL streamModes - - streamModes = (SendonlyToken / RecvonlyToken / SendrecvToken / - InactiveToken / LoopbackToken ) - - propertyParm = pkgdName parmValue - parmValue = (EQUAL alternativeValue/ INEQUAL VALUE) - alternativeValue = ( VALUE - / LSBRKT VALUE *(COMMA VALUE) RSBRKT - ; sublist (i.e., A AND B AND ...) - / LBRKT VALUE *(COMMA VALUE) RBRKT - ; alternatives (i.e., A OR B OR ...) - / LSBRKT VALUE COLON VALUE RSBRKT ) - ; range - - INEQUAL = LWSP (">" / "<" / "#" ) LWSP - LSBRKT = LWSP "[" LWSP - RSBRKT = LWSP "]" LWSP - - ; Note - The octet zero is not among the permitted characters in - ; octet string. As the current definition is limited to SDP, and a - ; zero octet would not be a legal character in SDP, this is not a - ; concern. - - localDescriptor = LocalToken LBRKT octetString RBRKT - - remoteDescriptor = RemoteToken LBRKT octetString RBRKT - - eventBufferDescriptor= EventBufferToken [ LBRKT eventSpec - *( COMMA eventSpec) RBRKT ] - - eventSpec = pkgdName [ LBRKT eventSpecParameter - *(COMMA eventSpecParameter) RBRKT ] - eventSpecParameter = (eventStream / eventOther) - - eventBufferControl = BufferToken EQUAL ( "OFF" / LockStepToken ) - - terminationStateDescriptor = TerminationStateToken LBRKT - terminationStateParm *( COMMA terminationStateParm ) RBRKT - - ; at-most-once per item except for propertyParm - terminationStateParm = (propertyParm / serviceStates / - eventBufferControl ) - - - - -Groves, et al. Standards Track [Page 119] - -RFC 3525 Gateway Control Protocol June 2003 - - - serviceStates = ServiceStatesToken EQUAL ( TestToken / - OutOfSvcToken / InSvcToken ) - - muxDescriptor = MuxToken EQUAL MuxType terminationIDList - - MuxType = ( H221Token / H223Token / H226Token / V76Token - / extensionParameter ) - - StreamID = UINT16 - pkgdName = (PackageName SLASH ItemID) ;specific item - / (PackageName SLASH "*") ;all items in package - / ("*" SLASH "*") ; all items supported by the MG - PackageName = NAME - ItemID = NAME - - eventsDescriptor = EventsToken [ EQUAL RequestID LBRKT - requestedEvent *( COMMA requestedEvent ) RBRKT ] - - requestedEvent = pkgdName [ LBRKT eventParameter - *( COMMA eventParameter ) RBRKT ] - - ; at-most-once each of KeepActiveToken , eventDM and eventStream - ;at most one of either embedWithSig or embedNoSig but not both - ;KeepActiveToken and embedWithSig must not both be present - eventParameter = ( embedWithSig / embedNoSig / KeepActiveToken - /eventDM / eventStream / eventOther ) - - embedWithSig = EmbedToken LBRKT signalsDescriptor - [COMMA embedFirst ] RBRKT - embedNoSig = EmbedToken LBRKT embedFirst RBRKT - - ; at-most-once of each - embedFirst = EventsToken [ EQUAL RequestID LBRKT - secondRequestedEvent *(COMMA secondRequestedEvent) RBRKT ] - - secondRequestedEvent = pkgdName [ LBRKT secondEventParameter - *( COMMA secondEventParameter ) RBRKT ] - - ; at-most-once each of embedSig , KeepActiveToken, eventDM or - ; eventStream - ; KeepActiveToken and embedSig must not both be present - secondEventParameter = ( embedSig / KeepActiveToken / eventDM / - eventStream / eventOther ) - - embedSig = EmbedToken LBRKT signalsDescriptor RBRKT - - eventStream = StreamToken EQUAL StreamID - - - - -Groves, et al. Standards Track [Page 120] - -RFC 3525 Gateway Control Protocol June 2003 - - - eventOther = eventParameterName parmValue - - eventParameterName = NAME - - eventDM = DigitMapToken EQUAL(( digitMapName ) / - (LBRKT digitMapValue RBRKT )) - - signalsDescriptor = SignalsToken LBRKT [ signalParm - *(COMMA signalParm)] RBRKT - - signalParm = signalList / signalRequest - - signalRequest = signalName [ LBRKT sigParameter - *(COMMA sigParameter) RBRKT ] - - signalList = SignalListToken EQUAL signalListId LBRKT - signalListParm *(COMMA signalListParm) RBRKT - - signalListId = UINT16 - - ;exactly once signalType, at most once duration and every signal - ;parameter - signalListParm = signalRequest - - signalName = pkgdName - ;at-most-once sigStream, at-most-once sigSignalType, - ;at-most-once sigDuration, every signalParameterName at most once - sigParameter = sigStream / sigSignalType / sigDuration / sigOther - / notifyCompletion / KeepActiveToken - sigStream = StreamToken EQUAL StreamID - sigOther = sigParameterName parmValue - sigParameterName = NAME - sigSignalType = SignalTypeToken EQUAL signalType - signalType = (OnOffToken / TimeOutToken / BriefToken) - sigDuration = DurationToken EQUAL UINT16 - notifyCompletion = NotifyCompletionToken EQUAL (LBRKT - notificationReason *(COMMA notificationReason) RBRKT) - - notificationReason = ( TimeOutToken / InterruptByEventToken - / InterruptByNewSignalsDescrToken - / OtherReasonToken ) - observedEventsDescriptor = ObservedEventsToken EQUAL RequestID - LBRKT observedEvent *(COMMA observedEvent) RBRKT - - ;time per event, because it might be buffered - observedEvent = [ TimeStamp LWSP COLON] LWSP - pkgdName [ LBRKT observedEventParameter - *(COMMA observedEventParameter) RBRKT ] - - - -Groves, et al. Standards Track [Page 121] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ;at-most-once eventStream, every eventParameterName at most once - observedEventParameter = eventStream / eventOther - - ; For an AuditCapReply with all events, the RequestID should be ALL. - RequestID = ( UINT32 / "*" ) - - modemDescriptor = ModemToken (( EQUAL modemType) / - (LSBRKT modemType *(COMMA modemType) RSBRKT)) - [ LBRKT propertyParm *(COMMA propertyParm) RBRKT ] - - - ; at-most-once except for extensionParameter - modemType = (V32bisToken / V22bisToken / V18Token / - V22Token / V32Token / V34Token / V90Token / - V91Token / SynchISDNToken / extensionParameter) - - digitMapDescriptor = DigitMapToken EQUAL - ( ( LBRKT digitMapValue RBRKT ) / - (digitMapName [ LBRKT digitMapValue RBRKT ]) ) - digitMapName = NAME - digitMapValue = ["T" COLON Timer COMMA] ["S" COLON Timer COMMA] - ["L" COLON Timer COMMA] digitMap - Timer = 1*2DIGIT - ; Units are seconds for T, S, and L timers, and hundreds of - ; milliseconds for Z timer. Thus T, S, and L range from 1 to 99 - ; seconds and Z from 100 ms to 9.9 s - digitMap = (digitString / - LWSP "(" LWSP digitStringList LWSP ")" LWSP) - digitStringList = digitString *( LWSP "|" LWSP digitString ) - digitString = 1*(digitStringElement) - digitStringElement = digitPosition [DOT] - digitPosition = digitMapLetter / digitMapRange - digitMapRange = ("x" / (LWSP "[" LWSP digitLetter LWSP "]" LWSP)) - digitLetter = *((DIGIT "-" DIGIT ) / digitMapLetter) - digitMapLetter = DIGIT ;Basic event symbols - / %x41-4B / %x61-6B ; a-k, A-K - / "L" / "S" ;Inter-event timers (long, short) - / "Z" ;Long duration modifier - - ;at-most-once, and DigitMapToken and PackagesToken are not allowed - ;in AuditCapabilities command - auditItem = ( MuxToken / ModemToken / MediaToken / - SignalsToken / EventBufferToken / - DigitMapToken / StatsToken / EventsToken / - ObservedEventsToken / PackagesToken ) - - - - - -Groves, et al. Standards Track [Page 122] - -RFC 3525 Gateway Control Protocol June 2003 - - - serviceChangeDescriptor = ServicesToken LBRKT serviceChangeParm - *(COMMA serviceChangeParm) RBRKT - - ; each parameter at-most-once - ; at most one of either serviceChangeAddress or serviceChangeMgcId - ; but not both - ; serviceChangeMethod and serviceChangeReason are REQUIRED - serviceChangeParm = (serviceChangeMethod / serviceChangeReason / - serviceChangeDelay / serviceChangeAddress / - serviceChangeProfile / extension / TimeStamp / - serviceChangeMgcId / serviceChangeVersion ) - - serviceChangeReplyDescriptor = ServicesToken LBRKT - servChgReplyParm *(COMMA servChgReplyParm) RBRKT - - ; at-most-once. Version is REQUIRED on first ServiceChange response - ; at most one of either serviceChangeAddress or serviceChangeMgcId - ; but not both - servChgReplyParm = (serviceChangeAddress / serviceChangeMgcId / - serviceChangeProfile / serviceChangeVersion / - TimeStamp) - serviceChangeMethod = MethodToken EQUAL (FailoverToken / - ForcedToken / GracefulToken / RestartToken / - DisconnectedToken / HandOffToken / - extensionParameter) - ; A serviceChangeReason consists of a numeric reason code - ; and an optional text description. - ; A serviceChangeReason MUST be encoded using the quotedString - ; form of VALUE. - ; The quotedString SHALL contain a decimal reason code, - ; optionally followed by a single space character and a - ; textual description string. - - - serviceChangeReason = ReasonToken EQUAL VALUE - serviceChangeDelay = DelayToken EQUAL UINT32 - serviceChangeAddress = ServiceChangeAddressToken EQUAL ( mId / - portNumber ) - serviceChangeMgcId = MgcIdToken EQUAL mId - serviceChangeProfile = ProfileToken EQUAL NAME SLASH Version - serviceChangeVersion = VersionToken EQUAL Version - extension = extensionParameter parmValue - - packagesDescriptor = PackagesToken LBRKT packagesItem - *(COMMA packagesItem) RBRKT - - Version = 1*2(DIGIT) - packagesItem = NAME "-" UINT16 - - - -Groves, et al. Standards Track [Page 123] - -RFC 3525 Gateway Control Protocol June 2003 - - - - TimeStamp = Date "T" Time ; per ISO 8601:1988 - ; Date = yyyymmdd - Date = 8(DIGIT) - ; Time = hhmmssss - Time = 8(DIGIT) - statisticsDescriptor = StatsToken LBRKT statisticsParameter - *(COMMA statisticsParameter ) RBRKT - - ;at-most-once per item - statisticsParameter = pkgdName [EQUAL VALUE] - - topologyDescriptor = TopologyToken LBRKT topologyTriple - *(COMMA topologyTriple) RBRKT - topologyTriple = terminationA COMMA - terminationB COMMA topologyDirection - terminationA = TerminationID - terminationB = TerminationID - topologyDirection = BothwayToken / IsolateToken / OnewayToken - - priority = PriorityToken EQUAL UINT16 - - extensionParameter = "X" ("-" / "+") 1*6(ALPHA / DIGIT) - - ; octetString is used to describe SDP defined in RFC2327. - ; Caution should be taken if CRLF in RFC2327 is used. - ; To be safe, use EOL in this ABNF. - ; Whenever "}" appears in SDP, it is escaped by "\", e.g., "\}" - octetString = *(nonEscapeChar) - nonEscapeChar = ( "\}" / %x01-7C / %x7E-FF ) - ; Note - The double-quote character is not allowed in quotedString. - quotedString = DQUOTE *(SafeChar / RestChar/ WSP) DQUOTE - - UINT16 = 1*5(DIGIT) ; %x0-FFFF - UINT32 = 1*10(DIGIT) ; %x0-FFFFFFFF - - NAME = ALPHA *63(ALPHA / DIGIT / "_" ) - VALUE = quotedString / 1*(SafeChar) - SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / - "!" / "_" / "/" / "\'" / "?" / "@" / - "^" / "`" / "~" / "*" / "$" / "\" / - "(" / ")" / "%" / "|" / "." - - EQUAL = LWSP %x3D LWSP ; "=" - COLON = %x3A ; ":" - LBRKT = LWSP %x7B LWSP ; "{" - RBRKT = LWSP %x7D LWSP ; "}" - COMMA = LWSP %x2C LWSP ; "," - - - -Groves, et al. Standards Track [Page 124] - -RFC 3525 Gateway Control Protocol June 2003 - - - DOT = %x2E ; "." - SLASH = %x2F ; "/" - ALPHA = %x41-5A / %x61-7A ; A-Z / a-z - DIGIT = %x30-39 ; 0-9 - DQUOTE = %x22 ; " (Double Quote) - HEXDIG = ( DIGIT / "A" / "B" / "C" / "D" / "E" / "F" ) - SP = %x20 ; space - HTAB = %x09 ; horizontal tab - CR = %x0D ; Carriage return - LF = %x0A ; linefeed - LWSP = *( WSP / COMMENT / EOL ) - EOL = (CR [LF] / LF ) - WSP = SP / HTAB ; white space - SEP = ( WSP / EOL / COMMENT) LWSP - COMMENT = ";" *(SafeChar/ RestChar / WSP / %x22) EOL - RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" / - "<" / ">" / "=" - - ; New Tokens added to sigParameter must take the format of SPA* - ; * may be of any form i.e., SPAM - ; New Tokens added to eventParameter must take the form of EPA* - ; * may be of any form i.e., EPAD - - AddToken = ("Add" / "A") - AuditToken = ("Audit" / "AT") - AuditCapToken = ("AuditCapability" / "AC") - AuditValueToken = ("AuditValue" / "AV") - AuthToken = ("Authentication" / "AU") - BothwayToken = ("Bothway" / "BW") - BriefToken = ("Brief" / "BR") - BufferToken = ("Buffer" / "BF") - CtxToken = ("Context" / "C") - ContextAuditToken = ("ContextAudit" / "CA") - DigitMapToken = ("DigitMap" / "DM") - DisconnectedToken = ("Disconnected" / "DC") - DelayToken = ("Delay" / "DL") - DurationToken = ("Duration" / "DR") - EmbedToken = ("Embed" / "EM") - EmergencyToken = ("Emergency" / "EG") - ErrorToken = ("Error" / "ER") - EventBufferToken = ("EventBuffer" / "EB") - EventsToken = ("Events" / "E") - FailoverToken = ("Failover" / "FL") - ForcedToken = ("Forced" / "FO") - GracefulToken = ("Graceful" / "GR") - H221Token = ("H221" ) - H223Token = ("H223" ) - H226Token = ("H226" ) - - - -Groves, et al. Standards Track [Page 125] - -RFC 3525 Gateway Control Protocol June 2003 - - - HandOffToken = ("HandOff" / "HO") - ImmAckRequiredToken = ("ImmAckRequired" / "IA") - InactiveToken = ("Inactive" / "IN") - IsolateToken = ("Isolate" / "IS") - InSvcToken = ("InService" / "IV") - InterruptByEventToken = ("IntByEvent" / "IBE") - InterruptByNewSignalsDescrToken - = ("IntBySigDescr" / "IBS") - KeepActiveToken = ("KeepActive" / "KA") - LocalToken = ("Local" / "L") - LocalControlToken = ("LocalControl" / "O") - LockStepToken = ("LockStep" / "SP") - LoopbackToken = ("Loopback" / "LB") - MediaToken = ("Media" / "M") - MegacopToken = ("MEGACO" / "!") - MethodToken = ("Method" / "MT") - MgcIdToken = ("MgcIdToTry" / "MG") - ModeToken = ("Mode" / "MO") - ModifyToken = ("Modify" / "MF") - ModemToken = ("Modem" / "MD") - MoveToken = ("Move" / "MV") - MTPToken = ("MTP") - MuxToken = ("Mux" / "MX") - NotifyToken = ("Notify" / "N") - NotifyCompletionToken = ("NotifyCompletion" / "NC") - ObservedEventsToken = ("ObservedEvents" / "OE") - OnewayToken = ("Oneway" / "OW") - OnOffToken = ("OnOff" / "OO") - OtherReasonToken = ("OtherReason" / "OR") - OutOfSvcToken = ("OutOfService" / "OS") - PackagesToken = ("Packages" / "PG") - PendingToken = ("Pending" / "PN") - PriorityToken = ("Priority" / "PR") - ProfileToken = ("Profile" / "PF") - ReasonToken = ("Reason" / "RE") - RecvonlyToken = ("ReceiveOnly" / "RC") - ReplyToken = ("Reply" / "P") - RestartToken = ("Restart" / "RS") - RemoteToken = ("Remote" / "R") - ReservedGroupToken = ("ReservedGroup" / "RG") - ReservedValueToken = ("ReservedValue" / "RV") - SendonlyToken = ("SendOnly" / "SO") - SendrecvToken = ("SendReceive" / "SR") - ServicesToken = ("Services" / "SV") - ServiceStatesToken = ("ServiceStates" / "SI") - ServiceChangeToken = ("ServiceChange" / "SC") - ServiceChangeAddressToken = ("ServiceChangeAddress" / "AD") - SignalListToken = ("SignalList" / "SL") - - - -Groves, et al. Standards Track [Page 126] - -RFC 3525 Gateway Control Protocol June 2003 - - - SignalsToken = ("Signals" / "SG") - SignalTypeToken = ("SignalType" / "SY") - StatsToken = ("Statistics" / "SA") - StreamToken = ("Stream" / "ST") - SubtractToken = ("Subtract" / "S") - SynchISDNToken = ("SynchISDN" / "SN") - TerminationStateToken = ("TerminationState" / "TS") - TestToken = ("Test" / "TE") - TimeOutToken = ("TimeOut" / "TO") - TopologyToken = ("Topology" / "TP") - TransToken = ("Transaction" / "T") - ResponseAckToken = ("TransactionResponseAck" / "K") - V18Token = ("V18") - V22Token = ("V22") - V22bisToken = ("V22b") - V32Token = ("V32") - V32bisToken = ("V32b") - V34Token = ("V34") - V76Token = ("V76") - V90Token = ("V90") - V91Token = ("V91") - VersionToken = ("Version" / "V") - -B.3 Hexadecimal octet coding - - Hexadecimal octet coding is a means for representing a string of - octets as a string of hexadecimal digits, with two digits - representing each octet. This octet encoding should be used when - encoding octet strings in the text version of the protocol. For each - octet, the 8-bit sequence is encoded as two hexadecimal digits. Bit - 0 is the first transmitted; bit 7 is the last. Bits 7-4 are encoded - as the first hexadecimal digit, with Bit 7 as MSB and Bit 4 as LSB. - Bits 3-0 are encoded as the second hexadecimal digit, with Bit 3 as - MSB and Bit 0 as LSB. Examples: - - Octet bit pattern Hexadecimal coding - 00011011 D8 - 11100100 27 - 10000011 10100010 11001000 00001001 C1451390 - -B.4 Hexadecimal octet sequence - - A hexadecimal octet sequence is an even number of hexadecimal digits, - terminated by a character. - - - - - - - -Groves, et al. Standards Track [Page 127] - -RFC 3525 Gateway Control Protocol June 2003 - - -ANNEX C - Tags for media stream properties - - Parameters for Local, Remote and LocalControl descriptors are - specified as tag-value pairs if binary encoding is used for the - protocol. This annex contains the property names (PropertyID), the - tags (Property tag), type of the property (Type) and the values - (Value). Values presented in the Value field when the field contains - references shall be regarded as "information". The reference - contains the normative values. If a value field does not contain a - reference, then the values in that field can be considered as - "normative". - - Tags are given as hexadecimal numbers in this annex. When setting - the value of a property, a MGC may underspecify the value according - to one of the mechanisms specified in 7.1.1. - - It is optional to support the properties in this Annex or any of its - sub-sections. For example, only three properties from C.3 and only - five properties from C.8 might be implemented. - - For type "enumeration" the value is represented by the value in - brackets, e.g., Send(0), Receive(1). Annex C properties with the - types "N bits" or "M Octets" should be treated as octet strings when - encoding the protocol. Properties with "N bit integer" shall be - treated as an integers. "String" shall be treated as an IA5String - when encoding the protocol. - - When a type is smaller than one octet, the value shall be stored in - the low-order bits of an octet string of size 1. - -C.1 General media attributes - - PropertyID Property Type Value - tag - - Media 1001 Enumeration Audio(0), Video(1), Data(2) - - Transmission 1002 Enumeration Send(0), Receive(1), - mode Send&Receive(2) - - Number of 1003 Unsigned 0-255 - Channels integer - - Sampling 1004 Unsigned 0-2^32 - rate integer - - Bitrate 1005 Integer (0..4294967295)NOTE - Units of - 100 bit/s. - - - -Groves, et al. Standards Track [Page 128] - -RFC 3525 Gateway Control Protocol June 2003 - - - ACodec 1006 Octet string Audio Codec Type: - Ref.: ITU-T Q.765 - Non-ITU-T codecs are defined - with the appropriate standards - organization under a defined - Organizational Identifier. - - Samplepp 1007 Unsigned Maximum samples or frames per - integer packet: 0..65535 - - Silencesupp 1008 Boolean Silence Suppression: True/False - - Encrypttype 1009 Octet string Ref.: ITU-T H.245 - - Encryptkey 100A Octet string Encryption key - size Ref.: ITU-T H.235 - (0..65535) - - Echocanc 100B Not Used. See H.248.1 E.13 for - an example of possible Echo - Control properties. - - Gain 100C Unsigned Gain in dB: 0..65535 - integer - - Jitterbuff 100D Unsigned Jitter buffer size in ms: - integer 0..65535 - - PropDelay 100E Unsigned Propagation Delay: 0..65535 - integer Maximum propagation delay in - milliseconds for the bearer - connection between two media - gateways. The maximum delay - will be dependent on the bearer - technology. - - RTPpayload 100F Integer Payload type in RTP Profile for - Audio and Video Conferences - with Minimal Control - Ref.: RFC 1890 - - - - - - - - - - - -Groves, et al. Standards Track [Page 129] - -RFC 3525 Gateway Control Protocol June 2003 - - -C.2 Mux properties - - PropertyID Property tag Type Value - - H222 2001 Octet string H222LogicalChannelParameters - Ref.: ITU-T H.245 - - H223 2002 Octet string H223LogicalChannelParameters - Ref.: ITU-T H.245 - - V76 2003 Octet string V76LogicalChannelParameters - Ref.: ITU-T H.245 - - H2250 2004 Octet string H2250LogicalChannelParameters - Ref.: ITU-T H.245 - -C.3 General bearer properties - - PropertyID Property Type Value - tag - - Mediatx 3001 Enumeration Media Transport TypeTDM - Circuit(0), ATM(1), FR(2), - Ipv4(3), Ipv6(4), ... - - BIR 3002 4 octets Value depends on transport - technology - - NSAP 3003 1-20 octets See NSAP. - Ref.: Annex A/X.213 - -C.4 General ATM properties - - PropertyID Property Type Value - tag - - AESA 4001 20 octets ATM End System Address - - VPVC 4002 4 octets: VPCI VPCI/VCI - in first two - least Ref.: ITU-T Q.2931 - significant - octets, VCI in - second two - octets - - - - - - -Groves, et al. Standards Track [Page 130] - -RFC 3525 Gateway Control Protocol June 2003 - - - SC 4003 Enumeration Service Category: CBR(0), - nrt-VBR1(1), nrt VBR2(2), - nrt-VBR3(3), rt-VBR1(4), - rt VBR2(5), rt-VBR3(6), - UBR1(7), UBR2(8), ABR(9). - Ref.: ATM Forum UNI 4.0 - - BCOB 4004 5-bit integer Broadband Bearer Class - Ref.: ITU-T Q.2961.2 - - BBTC 4005 7-bit integer Broadband Transfer Capability - Ref.: ITU-T Q.2961.1 - - ATC 4006 Enumeration I.371 ATM Traffic - CapabilityDBR(0), SBR1(1), - SBR2(2), SBR3(3), ABT/IT(4), - ABT/DT(5), ABR(6) - Ref.: ITU-T I.371 - - STC 4007 2 bits Susceptibility to clipping: - Bits - 2 1 - --- - 0 0 not susceptible to - clipping - 0 1 susceptible to - clipping - Ref.: ITU-T Q.2931 - - UPCC 4008 2 bits User Plane Connection - configuration: - Bits - 2 1 - --- - 0 0 point-to-point - 0 1 point-to-multipoint - Ref.: ITU-T Q.2931 - - PCR0 4009 24-bit integer Peak Cell Rate (For CLP = 0) - Ref.: ITU-T Q.2931 - - SCR0 400A 24-bit integer Sustainable Cell Rate (For - CLP = 0) - Ref.: ITU-T Q.2961.1 - - MBS0 400B 24-bit integer Maximum Burst Size (For CLP = - 0) - Ref.: ITU-T Q.2961.1 - - - -Groves, et al. Standards Track [Page 131] - -RFC 3525 Gateway Control Protocol June 2003 - - - PCR1 400C 24-bit integer Peak Cell Rate (For CLP = 0 + - 1) - Ref.: ITU-T Q.2931 - - SCR1 400D 24-bit integer Sustainable Cell Rate (For - CLP = 0 + 1) - Ref.: ITU-T Q.2961.1 - - MBS1 400E 24-bit integer Maximum Burst Size (For CLP = - 0 + 1) - Ref.: ITU-T Q.2961.1 - - BEI 400F Boolean Best Effort Indicator - Value 1 indicates that BEI is - to be included in the ATM - signaling; value 0 indicates - that BEI is not to be - included in the ATM - signaling. - Ref.: ATM Forum UNI 4.0 - - TI 4010 Boolean Tagging Indicator - Value 0 indicates that - tagging is not allowed; value - 1 indicates that tagging is - requested. - Ref.: ITU-T Q.2961.1 - - FD 4011 Boolean Frame Discard - Value 0 indicates that no - frame discard is allowed; - value 1 indicates that frame - discard is allowed. - Ref.: ATM Forum UNI 4.0 - - A2PCDV 4012 24-bit integer Acceptable 2-point CDV - Ref.: ITU-T Q.2965.2 - - C2PCDV 4013 24-bit integer Cumulative 2-point CDV - Ref.: ITU-T Q.2965.2 - - APPCDV 4014 24-bit integer Acceptable P-P CDV - Ref.: ATM Forum UNI 4.0 - - CPPCDV 4015 24-bit integer Cumulative P-P CDV - Ref.: ATM Forum UNI 4.0 - - - - - -Groves, et al. Standards Track [Page 132] - -RFC 3525 Gateway Control Protocol June 2003 - - - ACLR 4016 8-bit integer Acceptable Cell Loss Ratio - Ref.: ITU-T Q.2965.2, ATM - Forum UNI 4.0 - - MEETD 4017 16-bit integer Maximum End-to-end transit - delay - Ref.: ITU-T Q.2965.2, ATM - Forum UNI 4.0 - - CEETD 4018 16-bit integer Cumulative End-to-end transit - delay - Ref.: ITU-T Q.2965.2, ATM - Forum UNI 4.0 - - QosClass 4019 Integer 0-5 QoS Class - - QoS Class Meaning - - 0 Default QoS - associated - with the ATC - as defined - in ITU-T - Q.2961.2 - - 1 Stringent - - 2 Tolerant - - 3 Bi-level - - 4 Unbounded - - 5 Stringent - Bi-level - Ref.: ITU-T Q.2965.1 - - AALtype 401A 1 octet AAL Type - Bits - 8 7 6 5 4 3 2 1 - --------------- - 0 0 0 0 0 0 0 0 AAL for - voice - 0 0 0 0 0 0 0 1 AAL type 1 - 0 0 0 0 0 0 1 0 AAL type 2 - 0 0 0 0 0 0 1 1 AAL type - 3/4 - 0 0 0 0 0 1 0 1 AAL type 5 - - - -Groves, et al. Standards Track [Page 133] - -RFC 3525 Gateway Control Protocol June 2003 - - - 0 0 0 1 0 0 0 0 user- - defined AAL - Ref.: ITU-T Q.2931 - -C.5 Frame Relay - - PropertyID Property Type Value - tag - - DLCI 5001 Unsigned Data link connection - integer id - - CID 5002 Unsigned sub-channel id - integer - - SID/Noiselevel 5003 Unsigned silence insertion - integer descriptor - - Primary Payload 5004 Unsigned Primary Payload Type - type integer Covers FAX and codecs - -C.6 IP - - PropertyID Property tag Type Value - - IPv4 6001 32 bits Ipv4Address Ipv4Address - Ref.: IETF RFC 791 - - IPv6 6002 128 bits IPv6 Address - Ref.: IETF RFC 2460 - - Port 6003 Unsigned integer 0..65535 - - Porttype 6004 Enumerated TCP(0), UDP(1), SCTP(2) - - -C.7 ATM AAL2 - - PropertyID Property Type Value - tag - - AESA 7001 20 octets AAL2 service endpoint - address as defined in - the referenced - Recommendation. - ESEANSEA - Ref.: ITU-T Q.2630.1 - - - - -Groves, et al. Standards Track [Page 134] - -RFC 3525 Gateway Control Protocol June 2003 - - - BIR See C.3 4 octets Served user generated - reference as defined in - the referenced - Recommendation. - SUGR - Ref.: ITU-T Q.2630.1 - - ALC 7002 12 octets AAL2 link - characteristics as - defined in the - referenced - Recommendation. - Maximum/Average CPS-SDU - bit rate; - Maximum/Average CPS-SDU - size - Ref.: ITU-T Q.2630.1 - - SSCS 7003 I.366.2: Audio (8 Service specific - octets); Multirate (3 convergence sublayer - octets), or I.366.1: information as defined - SAR-assured (14 in: - octets);SAR-unassured - ITU-T Q.2630.1,and - (7 octets). used in: - - ITU-T I.366.2: - Audio/Multirate; - - ITU-T I.366.1: SAR- - assured/unassured. - Ref.: ITU-T Q.2630.1, - I.366.1 and I.366.2 - - SUT 7004 1..254 octets Served user transport - parameter as defined in - the referenced - Recommendation. - Ref.: ITU-T Q.2630.1 - - TCI 7005 Boolean Test connection - indicator as defined in - the referenced - Recommendation. - Ref.: ITU-T Q.2630.1 - - Timer_CU 7006 32-bit integer Timer-CU - Milliseconds to hold - partially filled cell - before sending. - - - - -Groves, et al. Standards Track [Page 135] - -RFC 3525 Gateway Control Protocol June 2003 - - - MaxCPSSDU 7007 8-bit integer Maximum Common Part - Sublayer Service Data - Unit - Ref.: ITU-T Q.2630.1 - - CID 7008 8 bits subchannel id: 0-255 - Ref.: ITU-T I.363.2 -C.8 ATM AAL1 - - PropertyID Property Type Value - tag - - BIR See table 4-29 octets GIT (Generic Identifier - in C.3 Transport) - Ref.: ITU-T Q.2941.1 - - AAL1ST 8001 1 octet AAL1 Subtype - Bits - 8 7 6 5 4 3 2 1 - --------------- - 0 0 0 0 0 0 0 0 null - 0 0 0 0 0 0 0 1 voiceband - signal transport on 64 kbit/s - 0 0 0 0 0 0 1 0 circuit - transport - 0 0 0 0 0 1 0 0 high-quality - audio signal transport - 0 0 0 0 0 1 0 1 video signal - transport - Ref.: ITU-T Q.2931 - - CBRR 8002 1 octet CBR Rate - Bits - 8 7 6 5 4 3 2 1 - --------------- - 0 0 0 0 0 0 0 1 64 kbit/s - 0 0 0 0 0 1 0 0 1544 kbit/s - 0 0 0 0 0 1 0 1 6312 kbit/s - 0 0 0 0 0 1 1 0 32 064 kbit/s - 0 0 0 0 0 1 1 1 44 736 kbit/s - 0 0 0 0 1 0 0 0 97 728 kbit/s - 0 0 0 1 0 0 0 0 2048 kbit/s - 0 0 0 1 0 0 0 1 8448 kbit/s - 0 0 0 1 0 0 1 0 34 368 kbit/s - 0 0 0 1 0 0 1 1 139 264 kbit/s - 0 1 0 0 0 0 0 0 n x 64 kbit/s - 0 1 0 0 0 0 0 1 n x 8 kbit/s - Ref.: ITU-T Q.2931 - - - -Groves, et al. Standards Track [Page 136] - -RFC 3525 Gateway Control Protocol June 2003 - - - MULT See table Multiplier, or n x 64k/8k/300 - in C.9 Ref.: ITU-T Q.2931 - - SCRI 8003 1 octet Source Clock Frequency Recovery - Method - Bits - 8 7 6 5 4 3 2 1 - --------------- - 0 0 0 0 0 0 0 0 null - 0 0 0 0 0 0 0 1 SRTS - 0 0 0 0 0 0 1 0 ACM - Ref.: ITU-T Q.2931 - - ECM 8004 1 octet Error Correction Method - Bits - 8 7 6 5 4 3 2 1 - --------------- - 0 0 0 0 0 0 0 0 null - 0 0 0 0 0 0 0 1 FEC - Loss - 0 0 0 0 0 0 1 0 FEC - Delay - Ref.: ITU-T Q.2931 - - SDTB 8005 16-bit Structured Data Transfer - integer Blocksize - Block size of SDT CBR service - Ref.: ITU-T I.363.1 - - PFCI 8006 8-bit Partially filled cells identifier - integer 1-47 - Ref.: ITU-T I.363.1 - -C.9 Bearer capabilities - - The table entries referencing Recommendation Q.931 refer to the - encoding in the bearer capability information element of Q.931, not - to the low layer information element. - - PropertyID Tag Type Value - - TMR 9001 1 octet Transmission Medium - Requirement (Q.763) - Bits - 87654321 - -------- - 00000000 speech - 00000001 spare - 00000010 64 kbit/s - unrestricted - - - -Groves, et al. Standards Track [Page 137] - -RFC 3525 Gateway Control Protocol June 2003 - - - 00000011 3.1 kHz audio - 00000100 reserved for - alternate speech (service - 2)/64 kbit/s unrestricted - (service 1) - 00000101 reserved for - alternate 64 kbit/s - unrestricted (service - 1)/speech (service 2) - 00000110 64 kbit/s preferred - - The assigned codepoints - listed below are all for - unrestricted service. - 00000111 2 x 64 kbit/s - 00001000 384 kbit/s - 00001001 1536 kbit/s - 00001010 1920 kbit/s - 00001011 - through - 00001111 spare - 00010000 - through - 00101010: - 3 x 64 kbit/s through - 29 x 64 kbit/s - except - 00010011 spare - 00100101 spare - - 00101011 - through - 11111111 spare - Ref.: ITU-T Q.763 - - TMRSR 9002 1 octet Transmission Medium - Requirement Subrate - 0 unspecified - 1 8 kbit/s - 2 16 kbit/s - 3 32 kbit/s - - Contcheck 9003 Boolean Continuity Check - 0 continuity check not - required on this circuit - 1 continuity check - required on this circuit - Ref.: ITU-T Q.763 - - - -Groves, et al. Standards Track [Page 138] - -RFC 3525 Gateway Control Protocol June 2003 - - - - ITC 9004 5 bits Information Transfer - Capability - Bits - 5 4 3 2 1 - --------- - 0 0 0 0 0 Speech - 0 1 0 0 0 Unrestricted - digital information - 0 1 0 0 1 Restricted - digital information - 1 0 0 0 0 3.1 kHz audio - 1 0 0 0 1 Unrestricted - digital information with - tones/announcements - 1 1 0 0 0 Video - All other values are - reserved. - Ref.: ITU-T Q.763 - - TransMode 9005 2 bits Transfer Mode - Bits - 2 1 - --- - 0 0 Circuit mode - 1 0 Packet mode - Ref.: ITU-T Q.931 - - TransRate 9006 5 bits Transfer Rate - Bits - 5 4 3 2 1 - --------- - 0 0 0 0 0 This code shall - be used for packet mode calls - 1 0 0 0 0 64 kbit/s - 1 0 0 0 1 2 x 64 kbit/s - 1 0 0 1 1 384 kbit/s - 1 0 1 0 1 1536 kbit/s - 1 0 1 1 1 1920 kbit/s - 1 1 0 0 0 Multirate (64 - kbit/s base rate) - Ref.: ITU-T Q.931 - - MULT 9007 7 bits Rate Multiplier - Any value from 2 to n - (maximum number of B- - channels) - Ref.: ITU-T Q.931 - - - -Groves, et al. Standards Track [Page 139] - -RFC 3525 Gateway Control Protocol June 2003 - - - - layer1prot 9008 5 bits User Information Layer 1 - Protocol - Bits - 5 4 3 2 1 - --------- - 0 0 0 0 1 ITU-T - standardized rate adaption - V.110 and X.30. - 0 0 0 1 0 Recommendation - G.711 m-law - 0 0 0 1 1 Recommendation - G.711 A-law - 0 0 1 0 0 Recommendation - G.721 32 kbit/s ADPCM and - Recommendation I.460 - 0 0 1 0 1 Recommendations - H.221 and H.242 - 0 0 1 1 0 Recommendations - H.223 and H.245 - 0 0 1 1 1 Non-ITU-T - standardized rate adaption. - 0 1 0 0 0 ITU-T - standardized rate adaption - V.120. - 0 1 0 0 1 ITU-T - standardized rate adaption - X.31 HDLC flag stuffing - All other values are - reserved. - Ref.: ITU Recommendation - Q.931 - - syncasync 9009 Boolean Synchronous/Asynchronous - 0 Synchronous data - 1 Asynchronous data - Ref.: ITU-T Q.931 - - negotiation 900A Boolean Negotiation - 0 In-band negotiation - possible - 1 In-band negotiation not - possible - Ref.: ITU-T Q.931 - - Userrate 900B 5 bits User Rate - Bits - 5 4 3 2 1 - - - -Groves, et al. Standards Track [Page 140] - -RFC 3525 Gateway Control Protocol June 2003 - - - --------- - 0 0 0 0 0 Rate is - indicated by E-bits specified - in Recommendation I.460 or - may be negotiated in-band - 0 0 0 0 1 0.6 kbit/s - Recommendations V.6 and X.1 - 0 0 0 1 0 1.2 kbit/s - Recommendation V.6 - 0 0 0 1 1 2.4 kbit/s - Recommendations V.6 and X.1 - 0 0 1 0 0 3.6 kbit/s - Recommendation V.6 - 0 0 1 0 1 4.8 kbit/s - Recommendations V.6 and X.1 - 0 0 1 1 0 7.2 kbit/s - Recommendation V.6 - 0 0 1 1 1 8 kbit/s - Recommendation I.460 - 0 1 0 0 0 9.6 kbit/s - Recommendations V.6 and X.1 - 0 1 0 0 1 14.4 kbit/s - Recommendation V.6 - 0 1 0 1 0 16 kbit/s - Recommendation I.460 - 0 1 0 1 1 19.2 kbit/s - Recommendation V.6 - 0 1 1 0 0 32 kbit/s - Recommendation I.460 - 0 1 1 0 1 38.4 kbit/s - Recommendation V.110 - 0 1 1 1 0 48 kbit/s - Recommendations V.6 and X.1 - 0 1 1 1 1 56 kbit/s - Recommendation V.6 - 1 0 0 1 0 57.6 kbit/s - Recommendation V.14 extended - 1 0 0 1 1 28.8 kbit/s - Recommendation V.110 - 1 0 1 0 0 24 kbit/s - Recommendation V.110 - 1 0 1 0 1 0.1345 kbit/s - Recommendation X.1 - 1 0 1 1 0 0.100 kbit/s - Recommendation X.1 - 1 0 1 1 1 0.075/1.2 - kbit/s Recommendations V.6 - and X.1 - - - -Groves, et al. Standards Track [Page 141] - -RFC 3525 Gateway Control Protocol June 2003 - - - 1 1 0 0 0 1.2/0.075 - kbit/s Recommendations V.6 - and X.1 - 1 1 0 0 1 0.050 kbit/s - Recommendations V.6 and X.1 - 1 1 0 1 0 0.075 kbit/s - Recommendations V.6 and X.1 - 1 1 0 1 1 0.110 kbit/s - Recommendations V.6 and X.1 - 1 1 1 0 0 0.150 kbit/s - Recommendations V.6 and X.1 - 1 1 1 0 1 0.200 kbit/s - Recommendations V.6 and X.1 - 1 1 1 1 0 0.300 kbit/s - Recommendations V.6 and X.1 - 1 1 1 1 1 12 kbit/s - Recommendation V.6 - All other values are - reserved. - Ref.: ITU-T Q.931 - INTRATE 900C 2 bits Intermediate Rate - Bits - 2 1 - --- - 0 0 Not used - 0 1 8 kbit/s - 1 0 16 kbit/s - 1 1 32 kbit/s - Ref.: ITU-T Q.931 - - nictx 900D Boolean Network Independent Clock - (NIC) on transmission - 0 Not required to send - data with network independent - clock - 1 Required to send data - with network independent - clock - Ref.: ITU-T Q.931 - - nicrx 900E Boolean Network independent clock - (NIC) on reception - 0 Cannot accept data with - network independent clock - (i.e., sender does not support - this optional procedure) - 1 Can accept data with - network independent clock - - - -Groves, et al. Standards Track [Page 142] - -RFC 3525 Gateway Control Protocol June 2003 - - - (i.e., sender does support - this optional procedure) - Ref.: ITU-T Q.931 - - flowconttx 900F Boolean Flow Control on transmission - (Tx) - 0 Not required to send - data with flow control - mechanism - 1 Required to send data - with flow control mechanism - Ref.: ITU-T Q.931 - - flowcontrx 9010 Boolean Flow control on reception - (Rx) - 0 Cannot accept data with - flow control mechanism (i.e., - sender does not support this - optional procedure) - 1 Can accept data with - flow control mechanism (i.e., - sender does support this - optional procedure) - Ref.: ITU-T Q.931 - - rateadapthdr 9011 Boolean Rate adaption header/no - header - 0 Rate adaption header - not included - 1 Rate adaption header - included - Ref.: ITU-T Q.931 - - multiframe 9012 Boolean Multiple frame establishment - support in data link - 0 Multiple frame - establishment not supported. - Only UI frames allowed - 1 Multiple frame - establishment supported - Ref.: ITU-T Q.931 - - OPMODE 9013 Boolean Mode of operation - 0 Bit transparent mode of - operation - 1 Protocol sensitive mode - of operation - Ref.: ITU-T Q.931 - - - -Groves, et al. Standards Track [Page 143] - -RFC 3525 Gateway Control Protocol June 2003 - - - - llidnegot 9014 Boolean Logical link identifier - negotiation - 0 Default, LLI = 256 only - 1 Full protocol - negotiation - Ref.: ITU-T Q.931 - - assign 9015 Boolean Assignor/assignee - 0 Message originator is - "default assignee" - 1 Message originator is - "assignor only" - Ref.: ITU-T Q.931 - - inbandneg 9016 Boolean In-band/out-band negotiation - 0 Negotiation is done - with USER INFORMATION - messages on a temporary - signalling connection - 1 Negotiation is done in- - band using logical link zero - Ref.: ITU-T Q.931 - - stopbits 9017 2 bits Number of stop bits - Bits - 2 1 - --- - 0 0 Not used - 0 1 1 bit - 1 0 1.5 bits - 1 1 2 bits - Ref.: ITU-T Q.931 - - databits 9018 2 bits Number of data bits excluding - parity bit if present - Bits - 2 1 - --- - 0 0 Not used - 0 1 5 bits - 1 0 7 bits - 1 1 8 bits - Ref.: ITU-T Q.931 - - parity 9019 3 bits Parity information - Bits - 3 2 1 - - - -Groves, et al. Standards Track [Page 144] - -RFC 3525 Gateway Control Protocol June 2003 - - - ------ - 0 0 0 Odd - 0 1 0 Even - 0 1 1 None - 1 0 0 Forced to 0 - 1 0 1 Forced to 1 - All other values are - reserved. - Ref.: ITU-T Q.931 - - duplexmode 901A Boolean Mode duplex - 0 Half duplex - 1 Full duplex - Ref.: ITU-T Q.931 - - modem 901B 6 bits Modem Type - Bits - 6 5 4 3 2 1 - ----------- - 0 0 0 0 0 0 through - 0 0 0 1 0 1 National use - 0 1 0 0 0 1 Rec. V.21 - 0 1 0 0 1 0 Rec. V.22 - 0 1 0 0 1 1 Rec. V.22 bis - 0 1 0 1 0 0 Rec. V.23 - 0 1 0 1 0 1 Rec. V.26 - 0 1 1 0 0 1 Rec. V.26 bis - 0 1 0 1 1 1 Rec. V.26 ter - 0 1 1 0 0 0 Rec. V.27 - 0 1 1 0 0 1 Rec. V.27 bis - 0 1 1 0 1 0 Rec. V.27 ter - 0 1 1 0 1 1 Rec. V.29 - 0 1 1 1 0 1 Rec. V.32 - 0 1 1 1 1 0 Rec. V.34 - 1 0 0 0 0 0 through - 1 0 1 1 1 1 National use - 1 1 0 0 0 0 through - 1 1 1 1 1 1 User specified - Ref.: ITU-T Q.931 - - layer2prot 901C 5 bits User information layer 2 - protocol - Bits - 5 4 3 2 1 - --------- - 0 0 0 1 0 Rec. Q.921/I.441 - 0 0 1 1 0 Rec. X.25, link - layer - - - -Groves, et al. Standards Track [Page 145] - -RFC 3525 Gateway Control Protocol June 2003 - - - 0 1 1 0 0 LAN logical link - control (ISO/IEC 8802 2) - All other values are - reserved. - Ref.: ITU-T Q.931 - - layer3prot 901D 5 bits User information layer 3 - protocol - Bits - 5 4 3 2 1 - --------- - 0 0 0 1 0 ITU-T Q.931 - 0 0 1 1 0 ITU-T X.25, - packet layer - 0 1 0 1 1 ISO/IEC TR 9577 - (Protocol identification in - the network layer) - All other values are - reserved. - Ref.: ITU-T Q.931 - - addlayer3prot 901E Octet Additional User Information - layer 3 protocol - Bits Bits - 4 3 2 1 4 3 2 1 - ------- ------- - 1 1 0 0 1 1 0 0 - Internet Protocol (RFC 791) - (ISO/IEC TR 9577) - 1 1 0 0 1 1 1 1 - Point-to-point Protocol (RFC - 1661) - Ref.: ITU-T Q.931 - - DialledN 901F 30 Dialled Number - octets - - DiallingN 9020 30 Dialling Number - octets - - ECHOCI 9021 Not Used. See H.248.1 E.13 - for an example of possible - Echo Control properties. - - NCI 9022 1 octet Nature of Connection - Indicators - Bits - 2 1 Satellite Indicator - - - -Groves, et al. Standards Track [Page 146] - -RFC 3525 Gateway Control Protocol June 2003 - - - --- - 0 0 no satellite circuit - in the connection - 0 1 one satellite circuit - in the connection - 1 0 two satellite - circuits in the connection - 1 1 spare - - Bits - 4 3 Continuity check - --- indicator - 0 0 continuity check not - required - 0 1 continuity check - required on this circuit - 1 0 continuity check - performed on a previous - circuit - 1 1 spare - - Bit - 5 Echo control device - - indicator - 0 outgoing echo control - device not included - 1 outgoing echo control - device included - - Bits - 8 7 6 Spare - Ref.: ITU-T Q.763 - - USI 9023 Octet User Service Information - string Ref.: ITU-T Q.763 Clause 3.57 - -C.10 AAL5 properties - - PropertyID Property Type Value - tag - - FMSDU A001 32-bit Forward Maximum CPCS-SDU Size: - integer Maximum CPCS-SDU size sent in the - direction from the calling user to - the called user. - Ref.: ITU-T Q.2931 - - - - - -Groves, et al. Standards Track [Page 147] - -RFC 3525 Gateway Control Protocol June 2003 - - - BMSDU A002 32-bit Backwards Maximum CPCS-SDU Size: - integer Maximum CPCS-SDU size sent in the - direction from the called user to - the calling user. - Ref.: ITU-T Q.2931 - - SSCS See table See table See table in C.7 - in C.7 in C.7 Additional values: - VPI/VCI - -C.11 SDP equivalents - - PropertyID Property Type Value - tag - - SDP_V B001 String Protocol Version - Ref.: RFC 2327 - - SDP_O B002 String Owner/creator and session ID - Ref.: RFC 2327 - - SDP_S B003 String Session name - Ref.: RFC 2327 - - SDP_I B004 String Session identifier - Ref.: RFC 2327 - - SDP_U B005 String URI of descriptor - Ref.: RFC 2327 - - SDC_E B006 String email address - Ref.: RFC 2327 - - SDP_P B007 String phone number - Ref.: RFC 2327 - - SDP_C B008 String Connection information - Ref.: RFC 2327 - - SDP_B B009 String Bandwidth Information - Ref.: RFC 2327 - - SDP_Z B00A String Time zone adjustment - Ref.: RFC 2327 - - SDP_K B00B String Encryption Key - Ref.: RFC 2327 - - - - -Groves, et al. Standards Track [Page 148] - -RFC 3525 Gateway Control Protocol June 2003 - - - SDP_A B00C String Zero or more session attributes - Ref.: RFC 2327 - - SDP_T B00D String Active Session Time - Ref.: RFC 2327 - - SDP_R B00E String Zero or more repeat times - Reference: RFC 2327 - - SDP_M B00F String Media type, port, transport and format - Ref.: RFC 2327 - -C.12 H.245 - - PropertyID Property Type Value - tag - - OLC C001 Octet The value of H.245 - OpenLogicalChannel structure. - string Ref.: ITU-T H.245 - - OLCack C002 Octet The value of H.245 - string OpenLogicalChannelAck structure. - Ref.: ITU-T H.245 - - OLCcnf C003 Octet The value of H.245 - string OpenLogicalChannelConfirm structure. - Ref.: ITU-T H.245 - - OLCrej C004 Octet The value of H.245 - string OpenLogicalChannelReject structure. - Ref.: ITU-T H.245 - - CLC C005 Octet The value of H.245 - string CloseLogicalChannel structure. - Ref.: ITU-T H.245 - - CLCack C006 Octet The value of H.245 - string CloseLogicalChannelAck structure. - Ref.: ITU-T H.245 - - - - - - - - - - - -Groves, et al. Standards Track [Page 149] - -RFC 3525 Gateway Control Protocol June 2003 - - -ANNEX D - Transport over IP - -D.1 Transport over IP/UDP using Application Level Framing (ALF) - - Protocol messages defined in this RFC may be transmitted over UDP. - When no port is provided by the peer (see 7.2.8), commands should be - sent to the default port number: 2944 for text-encoded operation, or - 2945 for binary-encoded operation. Responses must be sent to the - address and port from which the corresponding commands were sent. - - ALF is a set of techniques that allows an application, as opposed to - a stack, to affect how messages are sent to the other side. A - typical ALF technique is to allow an application to change the order - of messages sent when there is a queue after it has queued them. - There is no formal specification for ALF. The procedures in Annex - D.1 contain a minimum suggested set of ALF behaviours - - Implementors using IP/UDP with ALF should be aware of the - restrictions of the MTU on the maximum message size. - -D.1.1 Providing At-Most-Once functionality - - Messages, being carried over UDP, may be subject to losses. In the - absence of a timely response, commands are repeated. Most commands - are not idempotent. The state of the MG would become unpredictable - if, for example, Add commands were executed several times. The - transmission procedures shall thus provide an "At-Most-Once" - functionality. - - Peer protocol entities are expected to keep in memory a list of the - responses that they sent to recent transactions and a list of the - transactions that are currently outstanding. The transaction - identifier of each incoming message is compared to the transaction - identifiers of the recent responses sent to the same MId. If a match - is found, the entity does not execute the transaction, but simply - repeats the response. If no match is found, the message will be - compared to the list of currently outstanding transactions. If a - match is found in that list, indicating a duplicate transaction, the - entity does not execute the transaction (see D.1.4 for procedures on - sending TransactionPending). - - The procedure uses a long timer value, noted LONG-TIMER in the - following. The timer should be set larger than the maximum duration - of a transaction, which should take into account the maximum number - - - - - - - -Groves, et al. Standards Track [Page 150] - -RFC 3525 Gateway Control Protocol June 2003 - - - of repetitions, the maximum value of the repetition timer and the - maximum propagation delay of a packet in the network. A suggested - value is 30 seconds. - - The copy of the responses may be destroyed either LONG-TIMER seconds - after the response is issued, or when the entity receives a - confirmation that the response has been received, through the - "Response Acknowledgement parameter". For transactions that are - acknowledged through this parameter, the entity shall keep a copy of - the transaction-id for LONG-TIMER seconds after the response is - issued, in order to detect and ignore duplicate copies of the - transaction request that could be produced by the network. - -D.1.2 Transaction identifiers and three-way handshake - -D.1.2.1 Transaction identifiers - - Transaction identifiers are 32-bit integer numbers. A Media Gateway - Controller may decide to use a specific number space for each of the - MGs that they manage, or to use the same number space for all MGs - that belong to some arbitrary group. MGCs may decide to share the - load of managing a large MG between several independent processes. - These processes will share the same transaction number space. There - are multiple possible implementations of this sharing, such as having - a centralized allocation of transaction identifiers, or - pre-allocating non-overlapping ranges of identifiers to different - processes. The implementations shall guarantee that unique - transaction identifiers are allocated to all transactions that - originate from a logical MGC (identical mId). MGs can simply detect - duplicate transactions by looking at the transaction identifier and - mId only. - -D.1.2.2 Three-way handshake - - The TransactionResponse Acknowledgement parameter can be found in any - message. It carries a set of "confirmed transaction-id ranges". - Entities may choose to delete the copies of the responses to - transactions whose id is included in "confirmed transaction-id - ranges" received in the transaction response messages. They should - silently discard further commands when the transaction-id falls - within these ranges. - - The "confirmed transaction-id ranges" values shall not be used if - more than LONG-TIMER seconds have elapsed since the MG issued its - last response to that MGC, or when a MG resumes operation. In this - situation, transactions should be accepted and processed, without any - test on the transaction-id. - - - - -Groves, et al. Standards Track [Page 151] - -RFC 3525 Gateway Control Protocol June 2003 - - - Messages that carry the "Transaction Response Acknowledgement" - parameter may be transmitted in any order. The entity shall retain - the "confirmed transaction-id ranges" received for LONG-TIMER - seconds. - - In the binary encoding, if only the firstAck is present in a response - acknowledgement (see A.2), only one transaction is acknowledged. If - both firstAck and lastAck are present, then the range of transactions - from firstAck to lastAck is acknowledged. In the text encoding, a - horizontal dash is used to indicate a range of transactions being - acknowledged (see B.2). - -D.1.3 Computing retransmission timers - - It is the responsibility of the requesting entity to provide suitable - timeouts for all outstanding transactions, and to retry transactions - when timeouts have been exceeded. Furthermore, when repeated - transactions fail to be acknowledged, it is the responsibility of the - requesting entity to seek redundant services and/or clear existing or - pending connections. - - The specification purposely avoids specifying any value for the - retransmission timers. These values are typically network dependent. - The retransmission timers should normally estimate the timer value by - measuring the time spent between the sending of a command and the - return of a response. Implementations SHALL ensure that the - algorithm used to calculate retransmission timing performs an - exponentially increasing backoff of the retransmission timeout for - each retransmission or repetition after the first one. - - NOTE - One possibility is to use the algorithm implemented in - TCP-IP, which uses two variables: - - - The average acknowledgement delay (AAD), estimated through an - exponentially smoothed average of the observed delays. - - - The average deviation (ADEV), estimated through an exponentially - smoothed average of the absolute value of the difference between - the observed delay and the current average. The retransmission - timer, in TCP, is set to the sum of the average delay plus N times - the average deviation. The maximum value of the timer should - however be bounded for the protocol defined in this - RFC, in order to guarantee that no repeated packet - would be received by the gateways after LONG-TIMER seconds. A - suggested maximum value is 4 seconds. - - - - - - -Groves, et al. Standards Track [Page 152] - -RFC 3525 Gateway Control Protocol June 2003 - - - After any retransmission, the entity SHOULD do the following: - - - It should double the estimated value of the average delay, AAD. - - - It should compute a random value, uniformly distributed between - 0.5 AAD and AAD. - - - It should set the retransmission timer to the sum of that random - value and N times the average deviation. - - This procedure has two effects. Because it includes an exponentially - increasing component, it will automatically slow down the stream of - messages in case of congestion. Because it includes a random - component, it will break the potential synchronization between - notifications triggered by the same external event. - -D.1.4 Provisional responses - - Executing some transactions may require a long time. Long execution - times may interact with the timer-based retransmission procedure. - This may result either in an inordinate number of retransmissions, or - in timer values that become too long to be efficient. Entities that - can predict that a transaction will require a long execution time may - send a provisional response, "Transaction Pending". They SHOULD send - this response if they receive a repetition of a transaction that is - still being executed. - - Entities that receive a Transaction Pending shall switch to a - different repetition timer for repeating requests. The root - Termination has a property (ProvisionalResponseTimerValue), which can - be set to the requested maximum number of milliseconds between - receipt of a command and transmission of the TransactionPending - response. Upon receipt of a final response following receipt of - provisional responses, an immediate confirmation shall be sent, and - normal repetition timers shall be used thereafter. An entity that - sends a provisional response, SHALL include the immAckRequired field - in the ensuing final response, indicating that an immediate - confirmation is expected. Receipt of a Transaction Pending after - receipt of a reply shall be ignored. - -D.1.5 Repeating Requests, Responses and Acknowledgements - - The protocol is organized as a set of transactions, each of which is - composed of a request and a response, commonly referred to as an - acknowledgement. The protocol messages, being carried over UDP, may - be subject to losses. In the absence of a timely response, - transactions are repeated. Entities are expected to keep in memory a - - - - -Groves, et al. Standards Track [Page 153] - -RFC 3525 Gateway Control Protocol June 2003 - - - list of the responses that they sent to recent transactions, i.e., a - list of all the responses they sent over the last LONG-TIMER seconds, - and a list of the transactions that are currently being executed. - - The repetition mechanism is used to guard against three types of - possible errors: - - - transmission errors, when for example a packet is lost due to - noise on a line or congestion in a queue; - - - component failure, when for example an interface to a entity - becomes unavailable; - - - entity failure, when for example an entire entity becomes - unavailable. - - The entities should be able to derive from the past history an - estimate of the packet loss rate due to transmission errors. In a - properly configured system, this loss rate should be kept very low, - typically less than 1%. If a Media Gateway Controller or a Media - Gateway has to repeat a message more than a few times, it is very - legitimate to assume that something else than a transmission error is - occurring. For example, given a loss rate of 1%, the probability - that five consecutive transmission attempts fail is 1 in 100 billion, - an event that should occur less than once every 10 days for a Media - Gateway Controller that processes 1000 transactions per second. - (Indeed, the number of repetition that is considered excessive should - be a function of the prevailing packet loss rate.) We should note - that the "suspicion threshold", which we will call "Max1", is - normally lower than the "disconnection threshold", which should be - set to a larger value. - - A classic retransmission algorithm would simply count the number of - successive repetitions, and conclude that the association is broken - after retransmitting the packet an excessive number of times - (typically between 7 and 11 times.) In order to account for the - possibility of an undetected or in progress "failover", we modify - the classic algorithm so that if the Media Gateway receives a valid - ServiceChange message announcing a failover, it will start - transmitting outstanding commands to that new MGC. Responses to - commands are still transmitted to the source address of the command. - - In order to automatically adapt to network load, this RFC specifies - exponentially increasing timers. If the initial timer is set to 200 - milliseconds, the loss of a fifth retransmission will be detected - after about 6 seconds. This is probably an acceptable waiting delay - to detect a failover. The repetitions should continue after that - delay not only in order to perhaps overcome a transient connectivity - - - -Groves, et al. Standards Track [Page 154] - -RFC 3525 Gateway Control Protocol June 2003 - - - problem, but also in order to allow some more time for the execution - of a failover (waiting a total delay of 30 seconds is probably - acceptable). - - It is, however, important that the maximum delay of retransmissions - be bounded. Prior to any retransmission, it is checked that the time - elapsed since the sending of the initial datagram is no greater than - T-MAX. If more than T-MAX time has elapsed, the MG concludes that - the MGC has failed, and it begins its recovery process as described - in section 11.5. If the MG retries to connect to the current MGC it - shall use a ServiceChange with ServiceChangeMethod set to - Disconnected so that the new MGC will be aware that the MG lost one - or more transactions. The value T-MAX is related to the LONG-TIMER - value: the LONG-TIMER value is obtained by adding to T MAX the - maximum propagation delay in the network. - -D.2 Using TCP - - Protocol messages as defined in this RFC may be transmitted over TCP. - When no port is specified by the other side (see 7.2.8), the commands - should be sent to the default port. The defined protocol has - messages as the unit of transfer, while TCP is a stream-oriented - protocol. TPKT, according to RFC 1006, SHALL be used to delineate - messages within the TCP stream. - - In a transaction-oriented protocol, there are still ways for - transaction requests or responses to be lost. As such, it is - recommended that entities using TCP transport implement application - level timers for each request and each response, similar to those - specified for application level framing over UDP. - -D.2.1 Providing the At-Most-Once functionality - - Messages, being carried over TCP, are not subject to transport - losses, but loss of a transaction request or its reply may - nonetheless be noted in real implementations. In the absence of a - timely response, commands are repeated. Most commands are not - idempotent. The state of the MG would become unpredictable if, for - example, Add commands were executed several times. - - To guard against such losses, it is recommended that entities follow - the procedures in D.1.1. - -D.2.2 Transaction identifiers and three-way handshake - - For the same reasons, it is possible that transaction replies may be - lost even with a reliable delivery protocol such as TCP. It is - recommended that entities follow the procedures in D.1.2.2. - - - -Groves, et al. Standards Track [Page 155] - -RFC 3525 Gateway Control Protocol June 2003 - - -D.2.3 Computing retransmission timers - - With reliable delivery, the incidence of loss of a transaction - request or reply is expected to be very low. Therefore, only simple - timer mechanisms are required. Exponential back-off algorithms - should not be necessary, although they could be employed where, as in - an MGC, the code to do so is already required, since MGCs must - implement ALF/UDP as well as TCP. - -D.2.4 Provisional responses - - As with UDP, executing some transactions may require a long time. - Entities that can predict that a transaction will require a long - execution time may send a provisional response, "Transaction - Pending". They should send this response if they receive a - repetition of a transaction that is still being executed. - - Entities that receive a Transaction Pending shall switch to a longer - repetition timer for that transaction. - - Entities shall retain Transactions and replies until they are - confirmed. The basic procedure of D.1.4 should be followed, but - simple timer values should be sufficient. There is no need to send - an immediate confirmation upon receipt of a final response. - -D.2.5 Ordering of commands - - TCP provides ordered delivery of transactions. No special procedures - are required. It should be noted that ALF/UDP allows sending entity - to modify its behaviour under congestion, and in particular, could - reorder transactions when congestion is encountered. TCP could not - achieve the same results. - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 156] - -RFC 3525 Gateway Control Protocol June 2003 - - -ANNEX E - Basic packages - - This annex contains definitions of some packages for use with - Recommendation H.248.1. - -E.1 Generic - - PackageID: g (0x0001) - Version: 1 - Extends: None - - Description: - Generic package for commonly encountered items. - -E.1.1 Properties - - None. - -E.1.2 Events - - Cause - - EventID: cause (0x0001) - Generic error event - - EventsDescriptor parameters: None - - ObservedEvents Descriptor Parameters: - - General Cause - ParameterID: Generalcause (0x0001) - - This parameter groups the failures into six groups, which - the MGC may act upon. - - Type: enumeration - - Possible values: - "NR" Normal Release (0x0001) - "UR" Unavailable Resources (0x0002) - "FT" Failure, Temporary (0x0003) - "FP" Failure, Permanent (0x0004) - "IW" Interworking Error (0x0005) - "UN" Unsupported (0x0006) - - Failure Cause - ParameterID: Failurecause (0x0002) - - - - -Groves, et al. Standards Track [Page 157] - -RFC 3525 Gateway Control Protocol June 2003 - - - Possible values: OCTET STRING - - Description: The Failure Cause is the value generated by the - Released equipment, i.e., a released network connection. - The concerned value is defined in the appropriate bearer - control protocol. - - Signal Completion - - EventID: sc (0x0002) - - Indicates the termination of a signal for which the - notifyCompletion parameter was set to enable reporting of a - completion event. For further procedural description, see 7.1.1, - 7.1.17 and 7.2.7. - - EventsDescriptor parameters: None - - ObservedEvents Descriptor parameters: - - Signal Identity - ParameterID: SigID (0x0001) - - This parameter identifies the signal which has terminated. - For a signal that is contained in a signal list, the signal - list identity parameter should also be returned indicating - the appropriate list. - - Type: Binary: octet (string), Text: string - - Possible values: a signal which has terminated. A signal - shall be identified using the pkgdName syntax without - wildcarding. - - Termination Method - ParameterID: Meth (0x0002) - - Indicates the means by which the signal terminated. - - Type: enumeration - - Possible values: - "TO" (0x0001) Signal timed out or otherwise completed on - its own - "EV" (0x0002) Interrupted by event - "SD" (0x0003) Halted by new Signals descriptor - "NC" (0x0004) Not completed, other cause - - - - -Groves, et al. Standards Track [Page 158] - -RFC 3525 Gateway Control Protocol June 2003 - - - Signal List ID - ParameterID: SLID (0x0003) - - Indicates to which signal list a signal belongs. The - SignalList ID is only returned in cases where the signal - resides in a signal list. - - Type: integer - - Possible values: any integer - -E.1.3 Signals - - None. - -E.1.4 Statistics - - None. - -E.2 Base Root Package - - PackageID: root (0x0002) - Version: 1 - Extends: None - - Description: - This package defines Gateway wide properties. - -E.2.1 Properties - - MaxNrOfContexts - PropertyID: maxNumberOfContexts (0x0001) - - The value of this property gives the maximum number of contexts - that can exist at any time. The NULL context is not included in - this number. - - Type: double - - Possible values: 1 and up - - Defined in: TerminationState - - Characteristics: read only - - MaxTerminationsPerContext - PropertyID: maxTerminationsPerContext (0x0002) - - - - -Groves, et al. Standards Track [Page 159] - -RFC 3525 Gateway Control Protocol June 2003 - - - The maximum number of allowed terminations in a context, see 6.1 - - Type: integer - - Possible values: any integer - - Defined in: TerminationState - - Characteristics: read only - - normalMGExecutionTime - PropertyId: normalMGExecutionTime (0x0003) - - Settable by the MGC to indicate the interval within which the MGC - expects a response to any transaction from the MG (exclusive of - network delay) - - Type: integer - - Possible values: any integer, represents milliseconds - - Defined in: TerminationState - - Characteristics: read / write - - normalMGCExecutionTime - PropertyId: normalMGCExecutionTime (0x0004) - - Settable by the MGC to indicate the interval within which the MG - should expects a response to any transaction from the MGC - (exclusive of network delay) - - Type: integer - - Possible values: any integer, represents milliseconds - - Defined in: TerminationState - - Characteristics: read / write - - MGProvisionalResponseTimerValue - PropertyId: MGProvisionalResponseTimerValue (0x0005) - - Indicates the time within which the MGC should expect a Pending - Response from the MG if a Transaction cannot be completed. - - Initially set to normalMGExecutionTime plus network delay, but may - be lowered. - - - -Groves, et al. Standards Track [Page 160] - -RFC 3525 Gateway Control Protocol June 2003 - - - Type: Integer - - Possible Values: any integer, represents milliseconds - - Defined in: TerminationState - - Characteristics: read / write - - MGCProvisionalResponseTimerValue - PropertyId: MGCProvisionalResponseTimerValue (0x0006) - - Indicates the time within which the MG should expect a Pending - Response from the MGC if a Transaction cannot be completed. - Initially set to normalMGCExecutionTime plus network delay, but - may be lowered. - - Type: Integer - - Possible Values: any integer, represents milliseconds - - Defined in: TerminationState - - Characteristics: read / write - -E.2.2 Events - - None. - -E.2.3 Signals - - None. - -E.2.4 Statistics - - None. - -E.2.5 Procedures - - None. - -E.3 Tone Generator Package - - PackageID: tonegen (0x0003) - Version: 1 - Extends: None - - - - - - -Groves, et al. Standards Track [Page 161] - -RFC 3525 Gateway Control Protocol June 2003 - - - Description: - - This package defines signals to generate audio tones. This - package does not specify parameter values. It is intended to be - extendable. Generally, tones are defined as an individual signal - with a parameter, ind, representing "interdigit" time delay, and a - tone id to be used with playtones. A tone id should be kept - consistent with any tone generation for the same tone. MGs are - expected to be provisioned with the characteristics of appropriate - tones for the country in which the MG is located. - - Designed to be extended only. - -E.3.1 Properties - - None. - -E.3.2 Events - - None. - -E.3.3 Signals - - Play tone - SignalID: pt (0x0001) - - Plays audio tone over an audio channel - - Signal Type: Brief - - Duration: Provisioned - - Additional parameters: - - Tone id list - ParameterID: tl (0x0001) - - Type: list of tone ids - - List of tones to be played in sequence. The list SHALL - contain one or more tone ids. - - Inter signal duration - ParameterID: ind (0x0002) - - Type: integer - - Timeout between two consecutive tones in milliseconds - - - -Groves, et al. Standards Track [Page 162] - -RFC 3525 Gateway Control Protocol June 2003 - - - - No tone ids are specified in this package. Packages that extend this - package can add possible values for tone id as well as adding - individual tone signals. - -E.3.4 Statistics - - None. - -E.3.5 Procedures - - None. - -E.4 Tone Detection Package - - PackageID: tonedet (0x0004) - Version: 1 - Extends: None - - This Package defines events for audio tone detection. Tones are - selected by name (tone id). MGs are expected to be provisioned with - the characteristics of appropriate tones for the country in which the - MG is located. - - Designed to be extended only: - This package does not specify parameter values. It is intended to - be extendable. - -E.4.1 Properties - - None. - -E.4.2 Events - - Start tone detected - EventID: std, 0x0001 - - Detects the start of a tone. The characteristics of positive tone - detection are implementation dependent. - - EventsDescriptor parameters: - - Tone id list - ParameterID: tl (0x0001) - - Type: list of tone ids - - - - - -Groves, et al. Standards Track [Page 163] - -RFC 3525 Gateway Control Protocol June 2003 - - - Possible values: The only tone id defined in this package is - "wild card" which is "*" in text encoding and 0x0000 in - binary. Extensions to this package would add possible - values for tone id. If tl is "wild card", any tone id is - detected. - - ObservedEventsDescriptor parameters: - - Tone id - ParameterID: tid (0x0003) - - Type: enumeration - - Possible values: "wildcard" as defined above is the only - value defined in this package. Extensions to this package - would add additional possible values for tone id. - - End tone detected - EventID: etd, 0x0002 - - Detects the end of a tone. - - EventDescriptor parameters: - - Tone id list - ParameterID: tl (0x0001) - - Type: enumeration or list of enumerated types - - Possible values: No possible values are specified in this - package. Extensions to this package would add possible - values for tone id. - - ObservedEventsDescriptor parameters: - - Tone id - ParameterID: tid (0x0003) - - Type: enumeration - - Possible values: "wildcard" as defined above is the only - value defined in this package. Extensions to this - package would add possible values for tone id. - - Duration - ParameterId: dur (0x0002) - - Type: integer, in milliseconds - - - -Groves, et al. Standards Track [Page 164] - -RFC 3525 Gateway Control Protocol June 2003 - - - - This parameter contains the duration of the tone from - first detection until it stopped. - - Long tone detected - EventID: ltd, 0x0003 - - Detects that a tone has been playing for at least a certain amount - of time. - - EventDescriptor parameters: - - Tone id list - ParameterID: tl (0x0001) - - Type: enumeration or list - - Possible values: "wildcard" as defined above is the only - value defined in this package. Extensions to this package - would add possible values for tone id. - - Duration - ParameterID: dur (0x0002) - - Type: integer, duration to test against - - Possible values: any legal integer, expressed in - milliseconds - - ObservedEventsDescriptor parameters: - - Tone id - ParameterID: tid (0x0003) - - Type: Enumeration - - Possible values: No possible values are specified in this - package. Extensions to this package would add possible - values for tone id. - -E.4.3 Signals - - None. - -E.4.4 Statistics - - None. - - - - -Groves, et al. Standards Track [Page 165] - -RFC 3525 Gateway Control Protocol June 2003 - - -E.4.5 Procedures - - None. - -E.5 Basic DTMF Generator Package - - PackageID: dg (0x0005) - Version: 1 - Extends: tonegen version 1 - - This package defines the basic DTMF tones as signals and extends the - allowed values of parameter tl of playtone in tonegen. - -E.5.1 Properties - - None. - -E.5.2 Events - - None. - -E.5.3 Signals - - DTMF character 0 - SignalID: d0 (0x0010) - - Generate DTMF 0 tone. The physical characteristic of DTMF 0 is - defined in the gateway. - - Signal Type: Brief - - Duration: Provisioned - - Additional parameters: - - None. - - Additional values: - - d0 (0x0010) is defined as a tone id for playtone - - The other DTMF characters are specified in exactly the same way. A - table with all signal names and signal IDs is included. Note that - each DTMF character is defined as both a signal and a tone id, thus - extending the basic tone generation package. Also note that DTMF - SignalIds are different from the names used in a digit map. - - - - - -Groves, et al. Standards Track [Page 166] - -RFC 3525 Gateway Control Protocol June 2003 - - - Signal name Signal ID/Tone id - - DTMF character 0 d0 (0x0010) - DTMF character 1 d1 (0x0011) - DTMF character 2 d2 (0x0012) - DTMF character 3 d3 (0x0013) - DTMF character 4 d4 (0x0014) - DTMF character 5 d5 (0x0015) - DTMF character 6 d6 (0x0016) - DTMF character 7 d7 (0x0017) - DTMF character 8 d8 (0x0018) - DTMF character 9 d9 (0x0019) - DTMF character * ds (0x0020) - DTMF character # do (0x0021) - DTMF character A da (0x001a) - DTMF character B db (0x001b) - DTMF character C dc (0x001c) - DTMF character D dd (0x001d) - -E.5.4 Statistics - - None. - -E.5.5 Procedures - - None. - -E.6 DTMF detection Package - - PackageID: dd (0x0006) - Version: 1 - Extends: tonedet version 1 - - This package defines the basic DTMF tones detection. This Package - extends the possible values of tone id in the "start tone detected" - "end tone detected" and "long tone detected" events. - - Additional tone id values are all tone ids described in package dg - (basic DTMF generator package). - - The following table maps DTMF events to digit map symbols as - described in 7.1.14. - - DTMF Event Symbol - - d0 "0" - d1 "1" - d2 "2" - - - -Groves, et al. Standards Track [Page 167] - -RFC 3525 Gateway Control Protocol June 2003 - - - d3 "3" - d4 "4" - d5 "5" - d6 "6" - d7 "7" - d8 "8" - d9 "9" - da "A" or "a" - db "B" or "b" - dc "C" or "c" - dd "D" or "d" - ds "E" or "e" - do "F" or "f" - -E.6.1 Properties - - None. - -E.6.2 Events - - DTMF digits - - EventIds are defined with the same names as the SignalIds defined - in the table found in E.5.3. - - DigitMap Completion Event - EventID: ce, 0x0004 - - Generated when a digit map completes as described in 7.1.14. - - EventsDescriptor parameters: None. - - ObservedEventsDescriptor parameters: - - DigitString - ParameterID: ds (0x0001) - - Type: string of digit map symbols (possibly empty) returned - as a quotedString - - Possible values: a sequence of the characters "0" through - "9", "A" through "F", and the long duration modifier "Z". - - Description: the portion of the current dial string as - described in 7.1.14 which matched part or all of an - alternative event sequence specified in the digit map. - - - - - -Groves, et al. Standards Track [Page 168] - -RFC 3525 Gateway Control Protocol June 2003 - - - Termination Method - ParameterID: Meth (0x0003) - - Type: enumeration - - Possible values: - - "UM" (0x0001) Unambiguous match - - "PM" (0x0002) Partial match, completion by timer expiry - or unmatched event - - "FM" (0x0003) Full match, completion by timer expiry or - unmatched event - - Description: indicates the reason for generation of the - event. See the procedures in 7.1.14. - -E.6.3 Signals - - None. - -E.6.4 Statistics - - None. - -E.6.5 Procedures - - Digit map processing is activated only if an events descriptor is - activated that contains a digit map completion event as defined in - Section E.6.2 and that digit map completion event contains an eventDM - field in the requested actions as defined in Section 7.1.9. Other - parameters such as KeepActive or embedded events of signals - descriptors may also be present in the events descriptor and do not - affect the activation of digit map processing. - -E.7 Call Progress Tones Generator Package - - PackageID: cg, 0x0007 - Version: 1 - Extends: tonegen version 1 - - This package defines the basic call progress tones as signals and - extends the allowed values of the tl parameter of playtone in - tonegen. - - - - - - -Groves, et al. Standards Track [Page 169] - -RFC 3525 Gateway Control Protocol June 2003 - - -E.7.1 Properties - - None. - -E.7.2 Events - - None. - -E.7.3 Signals - - Dial Tone - SignalID: dt (0x0030) - - Generate dial tone. The physical characteristic of dial tone is - available in the gateway. - - Signal Type: TimeOut - - Duration: Provisioned - - Additional parameters: - - None. - - Additional values: - - dt (0x0030) is defined as a tone id for playtone - - The other tones of this package are defined in exactly the same way. - A table with all signal names and signal IDs is included. Note that - each tone is defined as both a signal and a tone id, thus extending - the basic tone generation package. - - Signal Name Signal ID/tone id - - Dial Tone dt (0x0030) - Ringing Tone rt (0x0031) - Busy Tone bt (0x0032) - Congestion Tone ct (0x0033) - Special Information Tone sit(0x0034) - Warning Tone wt (0x0035) - Payphone Recognition Tone prt (0x0036) - Call Waiting Tone cw (0x0037) - Caller Waiting Tone cr (0x0038) - -E.7.4 Statistics - - None. - - - -Groves, et al. Standards Track [Page 170] - -RFC 3525 Gateway Control Protocol June 2003 - - -E.7.5 Procedures - - NOTE - The required set of tone ids corresponds to those defined - in Recommendation E.180/Q.35. See Recommendation E.180/Q.35 for - definition of the meanings of these tones. - - -E.8 Call Progress Tones Detection Package - - PackageID: cd (0x0008) - Version: 1 - Extends: tonedet version 1 - - This package defines the basic call progress detection tones. This - package extends the possible values of tone id in the "start tone - detected", "end tone detected" and "long tone detected" events. - - Additional values - - toneID values are defined for start tone detected, end tone - detected and long tone detected with the same values as those in - package cg (call progress tones generation package). - - The required set of tone ids corresponds to Recommendation - E.180/Q.35. See Recommendation E.180/Q.35 for definition of the - meanings of these tones. - -E.8.1 Properties - - None. - -E.8.2 Events - - Events are defined as in the call progress tones generator package - (cg) for the tones listed in the table of E.7.3. - -E.8.3 Signals - - None. - -E.8.4 Statistics - - None. - -E.8.5 Procedures - - None. - - - - -Groves, et al. Standards Track [Page 171] - -RFC 3525 Gateway Control Protocol June 2003 - - -E.9 Analog Line Supervision Package - - PackageID: al, 0x0009 - Version: 1 - Extends: None - - This package defines events and signals for an analog line. - - E.9.1 Properties - - None. - -E.9.2 Events - - onhook - EventID: on (0x0004) - - Detects handset going on hook. Whenever an events descriptor is - activated that requests monitoring for an on-hook event and the - line is already on-hook, then the MG shall behave according to the - setting of the "strict" parameter. - - EventDescriptor parameters: - - Strict Transition - ParameterID: strict (0x0001) - - Type: enumeration - - Possible values: "exact" (0x00), "state" (0x01), "failWrong" - (0x02) - - "exact" means that only an actual hook state transition to - on-hook is to be recognized; - - "state" means that the event is to be recognized either if - the hook state transition is detected or if the hook state - is already on-hook; - - "failWrong" means that if the hook state is already - on-hook, the command fails and an error is reported. - - ObservedEventsDescriptor parameters: - - Initial State - ParameterID: init (0x0002) - - Type: Boolean - - - -Groves, et al. Standards Track [Page 172] - -RFC 3525 Gateway Control Protocol June 2003 - - - Possible values: - - "True" means that the event was reported because the line - was already on-hook when the events descriptor containing - this event was activated; - - "False" means that the event represents an actual state - transition to on-hook. - - offhook - EventID: of (0x0005) - - Detects handset going off hook. Whenever an events descriptor is - activated that requests monitoring for an off-hook event and the - line is already off-hook, then the MG shall behave according to - the setting of the "strict" parameter. - - EventDescriptor parameters: - - Strict Transition - ParameterID: strict (0x0001) - - Type: enumeration - - Possible values: "exact" (0x00), "state" (0x01), "failWrong" - (0x02) - - "exact" means that only an actual hook state transition - to off-hook is to be recognized; - - "state" means that the event is to be recognized either - if the hook state transition is detected or if the hook - state is already off-hook; - - "failWrong" means that if the hook state is already off- - hook, the command fails and an error is reported. - - ObservedEventsDescriptor parameters - - Initial State - ParameterID: init (0x0002) - - Type: Boolean - - - - - - - - -Groves, et al. Standards Track [Page 173] - -RFC 3525 Gateway Control Protocol June 2003 - - - Possible values: - - "True" means that the event was reported because the line - was already off-hook when the events descriptor - containing this event was activated; - - "False" means that the event represents an actual state - transition to off-hook. - - flashhook - EventID: fl, 0x0006 - - Detects handset flash. A flash occurs when an onhook is followed - by an offhook between a minimum and maximum duration. - - EventDescriptor parameters: - - Minimum duration - ParameterID: mindur (0x0004) - - Type: integer in milliseconds - - Default value is provisioned. - - Maximum duration - ParameterID: maxdur (0x0005) - - Type: integer in milliseconds - - Default value is provisioned. - - ObservedEventsDescriptor parameters: - - None - -E.9.3 Signals - - ring - SignalID: ri, 0x0002 - - Applies ringing on the line - - Signal Type: TimeOut - - Duration: Provisioned - - - - - - -Groves, et al. Standards Track [Page 174] - -RFC 3525 Gateway Control Protocol June 2003 - - - Additional parameters: - - Cadence - ParameterID: cad (0x0006) - - Type: list of integers representing durations of alternating - on and off segments, constituting a complete ringing cycle - starting with an on. Units in milliseconds - - Default is fixed or provisioned. Restricted function MGs - may ignore cadence values they are incapable of generating. - - Frequency - ParameterID: freq (0x0007) - - Type: integer in Hz - - Default is fixed or provisioned. Restricted function MGs - may ignore frequency values they are incapable of - generating. - -E.9.4 Statistics - - None. - -E.9.5 Procedures - - If the MGC sets an EventsDescriptor containing a hook state - transition event (on-hook or off-hook) with the "strict" (0x0001) - parameter set to "failWrong", and the hook state is already what the - transition implies, the execution of the command containing that - EventsDescriptor fails. The MG SHALL include error code 540 - "Unexpected initial hook state" in its reponse. - -E.9.6 Error code - - This package defines a new error code: - - 540 - Unexpected initial hook state - - The procedure for use of this code is given in E.9.5. - -E.10 Basic Continuity Package - - PackageID: ct (0x000a) - Version: 1 - Extends: None - - - - -Groves, et al. Standards Track [Page 175] - -RFC 3525 Gateway Control Protocol June 2003 - - - This package defines events and signals for continuity test. The - continuity test includes provision of either a loopback or - transceiver functionality. - -E.10.1 Properties - - None. - -E.10.2 Events - - Completion - EventID: cmp, 0x0005 - - This event detects test completion of continuity test. - - EventDescriptor parameters - - None. - - ObservedEventsDescriptor parameters - - Result - ParameterID: res (0x0008) - - Type: enumeration - - Possible values: success (0x0001), failure (0x0000) - -E.10.3 Signals - - Continuity test - SignalID: ct (0x0003) - - Initiates sending of continuity test tone on the termination to - which it is applied. - - Signal Type: TimeOut - - Default value is provisioned - - Additional parameters: - - None. - - Respond - SignalID: rsp (0x0004) - - - - - -Groves, et al. Standards Track [Page 176] - -RFC 3525 Gateway Control Protocol June 2003 - - - The signal is used to respond to a continuity test. See E.10.5 - for further explanation. - - Signal Type: On/Off - - Default duration is provisioned - - Additional parameters: - - None. - -E.10.4 Statistics - - None. - -E.10.5 Procedures - - When a MGC wants to initiate a continuity test, it sends a command to - the MG containing: - - - a signals descriptor with the ct signal; and - - - an events descriptor containing the cmp event. - - Upon reception of a command containing the ct signal and cmp event, - the MG initiates the continuity test tone for the specified - Termination. If the return tone is detected and any other required - conditions are satisfied before the signal times out, the cmp event - shall be generated with the value of the result parameter equal to - success. In all other cases, the cmp event shall be generated with - the value of the result parameter equal to failure. - - When a MGC wants the MG to respond to a continuity test, it sends a - command to the MG containing a signals descriptor with the rsp - signal. Upon reception of a command with the rsp signal, the MG - either applies a loopback or (for 2-wire circuits) awaits reception - of a continuity test tone. In the loopback case, any incoming - information shall be reflected back as outgoing information. In the - 2-wire case, any time the appropriate test tone is received, the - appropriate response tone should be sent. The MGC determines when to - remove the rsp signal. - - When a continuity test is performed on a Termination, no echo devices - or codecs shall be active on that Termination. - - Performing voice path assurance as part of continuity testing is - provisioned by bilateral agreement between network operators. - - - - -Groves, et al. Standards Track [Page 177] - -RFC 3525 Gateway Control Protocol June 2003 - - - (Informative Note) Example tones and test procedure details are - given in Q.724 sections 7 and 8, Q.764 section 2.1.8 and Q.1902.4. - -E.11 Network Package - - PackageID: nt (0x000b) - Version: 1 - Extends: None - - This package defines properties of network terminations independent - of network type. - -E.11.1 Properties - - Maximum Jitter Buffer - PropertyID: jit (0x0007) - - This property puts a maximum size on the jitter buffer. - - Type: integer in milliseconds - - Possible values: This property is specified in milliseconds. - - Defined in: LocalControlDescriptor - - Characteristics: read/write - -E.11.2 Events - - network failure - EventID: netfail, 0x0005 - - The termination generates this event upon detection of a failure - due to external or internal network reasons. - - EventDescriptor parameters - - None. - - ObservedEventsDescriptor parameters - - cause - ParameterID: cs (0x0001) - - Type: string - - Possible values: any text string - - - - -Groves, et al. Standards Track [Page 178] - -RFC 3525 Gateway Control Protocol June 2003 - - - This parameter may be included with the failure event to - provide diagnostic information on the reason of failure. - - quality alert - EventID: qualert, 0x0006 - - This property allows the MG to indicate a loss of quality of the - network connection. The MG may do this by measuring packet loss, - interarrival jitter, propagation delay and then indicating this - using a percentage of quality loss. - - EventDescriptor parameters - - Threshold - ParameterId: th (0x0001) - - Type: integer - - Possible values: 0 to 99 - - Description: threshold for percent of quality loss measured, - calculated based on a provisioned method, that could take - into consideration packet loss, jitter, and delay for - example. Event is triggered when calculation exceeds the - threshold. - - ObservedEventsDescriptor parameters - - Threshold - ParameterId: th (0x0001) - - Type: integer - - Possible values: 0 to 99 - - Description: percent of quality loss measured, calculated - based on a provisioned method, that could take into - consideration packet loss, jitter, and delay for example. - -E.11.3 Signals - - None. - - - - - - - - - -Groves, et al. Standards Track [Page 179] - -RFC 3525 Gateway Control Protocol June 2003 - - -E.11.4 Statistics - - Duration - StatisticsID: dur (0x0001) - - Description: provides duration of time the termination has been in - the Context. - - Type: double, in milliseconds - - Octets Sent - StatisticID: os (0x0002) - - Type: double - - Possible values: any 64-bit integer - - Octets Received - StatisticID: or (0x0003) - - Type: double - - Possible values: any 64-bit integer - -E.11.5 Procedures - - None. - -E.12 RTP Package - - PackageID: rtp (0x000c) - Version: 1 - Extends: Network Package version 1 - - This package is used to support packet-based multimedia data transfer - by means of the Real-time Transport Protocol (RTP) [RFC 1889]. - -E.12.1 Properties - - None. - -E.12.2 Events - - Payload Transition - EventID: pltrans, 0x0001 - - This event detects and notifies when there is a transition of the - RTP payload format from one format to another. - - - -Groves, et al. Standards Track [Page 180] - -RFC 3525 Gateway Control Protocol June 2003 - - - EventDescriptor parameters - - None. - - ObservedEventsDescriptor parameters - - ParameterName: rtppayload - ParameterID: rtppltype, 0x01 - - Type: list of enumerated types. - - Possible values: The encoding method shall be specified by - using one or several valid encoding names, as defined in the - RTP AV Profile or registered with IANA. - -E.12.3 Signals - - None. - -E.12.4 Statistics - - Packets Sent - StatisticID: ps (0x0004) - - Type: double - - Possible values: any 64-bit integer - - Packets Received - StatisticID: pr (0x0005) - - Type: double - - Possible values: any 64-bit integer - - Packet Loss - StatisticID: pl (0x0006) - - Describes the current rate of packet loss on an RTP stream, as - defined in IETF RFC 1889. Packet loss is expressed as percentage - value: number of packets lost in the interval between two - reception reports, divided by the number of packets expected - during that interval. - - Type: double - - Possible values: a 32-bit whole number and a 32-bit fraction. - - - - -Groves, et al. Standards Track [Page 181] - -RFC 3525 Gateway Control Protocol June 2003 - - - Jitter - StatisticID: jit (0x0007) - - Requests the current value of the interarrival jitter on an RTP - stream as defined in IETF RFC 1889. Jitter measures the variation - in interarrival time for RTP data packets. - - Delay - StatisticID:delay (0x0008) - - Requests the current value of packet propagation delay expressed - in timestamp units. Same as average latency. - -E.12.5 Procedures - - None. - -E.13 TDM Circuit Package - - PackageID: tdmc (0x000d) - Version: 1 - Extends: Network Package version 1 - - This package may be used by any termination that supports gain and - echo control. It was originally intended for use on TDM circuits - but may be more widely used. - - - New versions or extensions of this package should take non-TDM use - into account. - -E.13.1 Properties - - Echo Cancellation - PropertyID: ec (0x0008) - - Type: boolean - - Possible values: - - "on" (when the echo cancellation is requested) and - - "off" (when it is turned off.) - - The default is provisioned. - - Defined in: LocalControlDescriptor - - - - -Groves, et al. Standards Track [Page 182] - -RFC 3525 Gateway Control Protocol June 2003 - - - Characteristics: read/write - - Gain Control - PropertyID: gain (0x000a) - - Gain control, or usage of of signal level adaptation and - noise level reduction is used to adapt the level of the signal. - However, it is necessary, for example for modem calls, to turn - off this function. - - Type: integer - - Possible values: - - The gain control parameter may either be specified as - "automatic" (0xffffffff), or as an explicit number of decibels - of gain (any other integer value). The default is provisioned - in the MG. - - Defined in: LocalControlDescriptor - - Characteristics: read/write - -E.13.2 Events - - None. - -E.13.3 Signals - - None. - -E.13.4 Statistics - - None. - -E.13.5 Procedures - - None. - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 183] - -RFC 3525 Gateway Control Protocol June 2003 - - -APPENDIX I EXAMPLE CALL FLOWS (INFORMATIVE) - - All H.248.1 implementors must read the normative part of this RFC - carefully before implementing from it. The examples in this appendix - should not be used as stand-alone explanations of how to create - protocol messages. - - The examples in this appendix use SDP for encoding of the Local and - and Remote stream descriptors. SDP is defined in RFC 2327. If there - is is any discrepancy between the SDP in the examples, and RFC 2327, - the the RFC should be consulted for correctness. Audio profiles used - are are those defined in IETF RFC 1890, and others registered with - IANA. For example, G.711 A-law is called PCMA in SDP, and is - assigned profile 0. G.723.1 is called G723 and is profile 4; H.263 is - called H263 and is profile 34. See also - http://www.iana.org/assignments/rtp-parameters. - -A.1 Residential Gateway to Residential Gateway Call - - This example scenario illustrates the use of the elements of the - protocol to set up a Residential Gateway to Residential Gateway call - over an IP-based network. For simplicity, this example assumes that - both Residential Gateways involved in the call are controlled by the - same Media Gateway Controller. - -A.1.1 Programming Residential GW Analog Line Terminations for Idle - Behavior - - The following illustrates the API invocations from the Media Gateway - Controller and Media Gateways to get the Terminations in this - scenario programmed for idle behavior. Both the originating and - terminating Media Gateways have idle AnalogLine Terminations - programmed to look for call initiation events (i.e., -offhook) by - using the Modify Command with the appropriate parameters. The null - Context is used to indicate that the Terminations are not yet - involved in a Context. The ROOT termination is used to indicate the - entire MG instead of a termination within the MG. - - In this example, MG1 has the IP address 124.124.124.222, MG2 is - 125.125.125.111, and the MGC is 123.123.123.4. The default Megaco - port is 55555 for all three. - - 1. An MG registers with an MGC using the ServiceChange command: - - MG1 to MGC: - - MEGACO/1 [124.124.124.222] Transaction = 9998 { - Context = - { - - - -Groves, et al. Standards Track [Page 184] - -RFC 3525 Gateway Control Protocol June 2003 - - - ServiceChange = ROOT {Services { - Method=Restart, - ServiceChangeAddress=55555, Profile=ResGW/1} - } - } } - - 2. The MGC sends a reply: - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Reply = 9998 { - Context = - {ServiceChange = ROOT { - Services {ServiceChangeAddress=55555, Profile=ResGW/1} } } } - - 3. The MGC programs a Termination in the NULL context. The - terminationId is A4444, the streamId is 1, the requestId in the - Events descriptor is 2222. The mId is the identifier of the sender - of this message, in this case, it is the IP address and port - [123.123.123.4]:55555. Mode for this stream is set to SendReceive. - "al" is the analog line supervision package. Local and Remote are - assumed to be provisioned. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 9999 { - Context = - { - Modify = A4444 { - Media { Stream = 1 { - LocalControl { - Mode = SendReceive, - tdmc/gain=2, ; in dB, - tdmc/ec=on - }, - - } - }, - Events = 2222 {al/of(strict=state)} - } - } } - - - The dialplan script could have been loaded into the MG previously. - Its function would be to wait for the OffHook, turn on dialtone and - start collecting DTMF digits. However in this example, we use the - digit map, which is put into place after the offhook is detected - (step 5 below). - - - - - -Groves, et al. Standards Track [Page 185] - -RFC 3525 Gateway Control Protocol June 2003 - - - Note that the embedded EventsDescriptor could have been used to - combine steps 3 and 4 with steps 8 and 9, eliminating steps 6 and 7. - - 4. The MG1 accepts the Modify with this reply: - - MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 - - Reply = 9999 { - Context = - {Modify = A4444} } - - 5. A similar exchange happens between MG2 and the MGC, resulting in - an idle Termination called A5555. - -A.1.2 Collecting Originator Digits and Initiating Termination - - The following builds upon the previously shown conditions. It - illustrates the transactions from the Media Gateway Controller and - originating Media Gateway (MG1) to get the originating Termination - (A4444) through the stages of digit collection required to initiate a - connection to the terminating Media Gateway (MG2). - - 6. MG1 detects an offhook event from User 1 and reports it to the - Media Gateway Controller via the Notify Command. - - MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 Transaction = 10000 { - Context = - { - Notify = A4444 {ObservedEvents =2222 { - 19990729T22000000:al/of(init=false)}} - } } - - 7. And the Notify is acknowledged. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Reply = 10000 { - - Context = - {Notify = A4444} } - - - - - - - - - - -Groves, et al. Standards Track [Page 186] - -RFC 3525 Gateway Control Protocol June 2003 - - - 8. The MGC Modifies the termination to play dial tone, to look for - digits according to Dialplan0 and to look for the on-hook event now. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 10001 { - Context = - { - Modify = A4444 { - Events = 2223 { - al/on(strict=state), dd/ce {DigitMap=Dialplan0} - }, - Signals {cg/dt}, - DigitMap= Dialplan0{ (0| 00|[1- - 7]xxx|8xxxxxxx|Fxxxxxxx|Exx|91xxxxxxxxxx|9011x.)} - } - } } - - 9. And the Modify is acknowledged. - - MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 Reply = 10001 { - Context = - {Modify = A4444} } - - 10. Next, digits are accumulated by MG1 as they are dialed by User - 1. Dialtone is stopped upon detection of the first digit. When an - appropriate match is made of collected digits against the currently - programmed Dialplan for A4444, another Notify is sent to the Media - Gateway Controller. - - MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 Transaction = 10002 { - Context = - { - Notify = A4444 {ObservedEvents =2223 { - 19990729T22010001:dd/ce{ds="916135551212",Meth=UM}}} - } } - - 11. And the Notify is acknowledged. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Reply = 10002 { - Context = - {Notify = A4444} } - - - 12. The controller then analyses the digits and determines that a - connection needs to be made from MG1 to MG2. Both the TDM - - - -Groves, et al. Standards Track [Page 187] - -RFC 3525 Gateway Control Protocol June 2003 - - - termination A4444, and an RTP termination are added to a new context - in MG1. Mode is ReceiveOnly since Remote descriptor values are not - yet specified. Preferred codecs are in the MGC's preferred order of - choice. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 10003 { - Context = $ { - Add = A4444, - Add = $ { - Media { - Stream = 1 { - LocalControl { - Mode = ReceiveOnly, - - nt/jit=40 ; in ms - }, - Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 4 - a=ptime:30 v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 - } - } - } - } - } } - - - NOTE - The MGC states its preferred parameter values as a series - of SDP blocks in Local. The MG fills in the Local Descriptor in - the Reply. - - 13. MG1 acknowledges the new Termination and fills in the Local IP - address and UDP port. It also makes a choice for the codec based on - the MGC preferences in Local. MG1 sets the RTP port to 2222. - - MG1 -> MGC: - - MEGACO/1 [124.124.124.222]:55555 Reply = 10003 { - Context = 2000 { - Add = A4444, - Add=A4445{ - Media { - Stream = 1 { - Local { v=0 o=- 2890844526 2890842807 IN IP4 - 124.124.124.222 s=- t= 0 0 c=IN IP4 124.124.124.222 m=audio 2222 - RTP/AVP 4 a=ptime:30 a=recvonly - } ; RTP profile for G.723.1 is 4 - } - - - -Groves, et al. Standards Track [Page 188] - -RFC 3525 Gateway Control Protocol June 2003 - - - } - } - } } - - 14. The MGC will now associate A5555 with a new Context on MG2, and - establish an RTP Stream (i.e., A5556 will be assigned), SendReceive - connection through to the originating user, User 1. The MGC also - sets ring on A5555. - - MGC to MG2: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 50003 { - Context = $ { - Add = A5555 { Media { - Stream = 1 { - LocalControl {Mode = SendReceive} }}, - Events=1234{al/of(strict=state)}, - Signals {al/ri} - - }, - Add = $ {Media { - Stream = 1 { - LocalControl { - Mode = SendReceive, - nt/jit=40 ; in ms - }, - Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 4 - a=ptime:30 - }, - Remote { v=0 c=IN IP4 124.124.124.222 m=audio 2222 - RTP/AVP 4 a=ptime:30 - } ; RTP profile for G.723.1 is 4 - } - } - } - } } - - 15. This is acknowledged. The stream port number is different from - the control port number. In this case it is 1111 (in the SDP). - - MG2 to MGC: - - MEGACO/1 [125.125.125.111]:55555 Reply = 50003 { - Context = 5000 { - Add = A5555, - Add = A5556{ - Media { - Stream = 1 { - - - -Groves, et al. Standards Track [Page 189] - -RFC 3525 Gateway Control Protocol June 2003 - - - Local { v=0 o=- 7736844526 7736842807 IN IP4 - 125.125.125.111 s=- t= 0 0 c=IN IP4 125.125.125.111 m=audio 1111 - RTP/AVP 4 } - } ; RTP profile for G723.1 is 4 - } - } - - } } - - 16. The above IPAddr and UDPport need to be given to MG1 now. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 10005 { - Context = 2000 { - Modify = A4444 { - Signals {cg/rt} - }, - Modify = A4445 { - Media { - Stream = 1 { - Remote { v=0 o=- 7736844526 7736842807 IN IP4 - 125.125.125.111 s=- t= 0 0 c=IN IP4 125.125.125.111 m=audio 1111 - RTP/AVP 4 - } - } ; RTP profile for G723.1 is 4 - } - } - } } - - - MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 Reply = 10005 { - Context = 2000 {Modify = A4444, Modify = A4445} } - - 17. The two gateways are now connected and User 1 hears the - RingBack. The MG2 now waits until User2 picks up the receiver and - then the two-way call is established. - - - - - - - - - - - - -Groves, et al. Standards Track [Page 190] - -RFC 3525 Gateway Control Protocol June 2003 - - - From MG2 to MGC: - - MEGACO/1 [125.125.125.111]:55555 Transaction = 50005 { - Context = 5000 { - - Notify = A5555 {ObservedEvents =1234 { - 19990729T22020002:al/of(init=false)}} - } } - - From MGC to MG2: - - MEGACO/1 [123.123.123.4]:55555 Reply = 50005 { - Context = - {Notify = A5555} } - - From MGC to MG2: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 50006 { - Context = 5000 { - Modify = A5555 { - Events = 1235 {al/on(strict=state)}, - Signals { } ; to turn off ringing - } - } } - - From MG2 to MGC: - - MEGACO/1 [125.125.125.111]:55555 Reply = 50006 { - Context = 5000 {Modify = A4445} } - - 18. Change mode on MG1 to SendReceive, and stop the ringback. - - MGC to MG1: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 10006 { - Context = 2000 { - Modify = A4445 { - Media { - Stream = 1 { - LocalControl { - Mode=SendReceive - - } - } - } - }, - Modify = A4444 { - Signals { } - } - - - -Groves, et al. Standards Track [Page 191] - -RFC 3525 Gateway Control Protocol June 2003 - - - } } - - from MG1 to MGC: - - MEGACO/1 [124.124.124.222]:55555 Reply = 10006 { - Context = 2000 {Modify = A4445, Modify = A4444}} - - 19. The MGC decides to Audit the RTP termination on MG2. - - MGC -> MG2: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 50007 { - Context = - {AuditValue = A5556{ - Audit{Media, DigitMap, Events, Signals, Packages, Statistics }} - } } - - 20. The MG2 replies. - - MG2 -> MGC: - - MEGACO/1 [125.125.125.111]:55555 Reply = 50007 { - Context = - { AuditValue = A5556 { - Media { - TerminationState { ServiceStates = InService, - Buffer = OFF }, - Stream = 1 { - LocalControl { Mode = SendReceive, - nt/jit=40 }, - Local { v=0 o=- 7736844526 7736842807 IN IP4 - 125.125.125.111 s=- t= 0 0 c=IN IP4 125.125.125.111 m=audio 1111 - RTP/AVP 4 a=ptime:30 - }, - Remote { v=0 o=- 2890844526 2890842807 IN IP4 - 124.124.124.222 s=- t= 0 0 c=IN IP4 124.124.124.222 m=audio 2222 - RTP/AVP 4 a=ptime:30 - } } }, - Events, - Signals, - DigitMap, - Packages {nt-1, rtp-1}, - Statistics { rtp/ps=1200, ; packets sent - nt/os=62300, ; octets sent - rtp/pr=700, ; packets received - nt/or=45100, ; octets received - rtp/pl=0.2, ; % packet loss - rtp/jit=20, - rtp/delay=40 } ; avg latency - } - - - -Groves, et al. Standards Track [Page 192] - -RFC 3525 Gateway Control Protocol June 2003 - - - } } - - 21. When the MGC receives an onhook signal from one of the MGs, it - brings down the call. In this example, the user at MG2 hangs up - first. - - From MG2 to MGC: - - MEGACO/1 [125.125.125.111]:55555 Transaction = 50008 { - Context = 5000 { - Notify = A5555 {ObservedEvents =1235 { - 19990729T24020002:al/on(init=false)} - } - } } - - From MGC to MG2: - - MEGACO/1 [123.123.123.4]:55555 Reply = 50008 { - - Context = - {Notify = A5555} } - - 22. The MGC now sends both MGs a Subtract to take down the call. - Only the subtracts to MG2 are shown here. Each termination has its - own set of statistics that it gathers. An MGC may not need to - request both to be returned. A5555 is a physical termination, and - A5556 is an RTP termination. - - From MGC to MG2: - - MEGACO/1 [123.123.123.4]:55555 Transaction = 50009 { - Context = 5000 { - Subtract = A5555 {Audit{Statistics}}, - Subtract = A5556 {Audit{Statistics}} - } } - - From MG2 to MGC: - - MEGACO/1 [125.125.125.111]:55555 Reply = 50009 { - Context = 5000 { - Subtract = A5555 { - Statistics { - nt/os=45123, ; Octets Sent - nt/dur=40 ; in seconds - } - }, - Subtract = A5556 { - Statistics { - rtp/ps=1245, ; packets sent - - - -Groves, et al. Standards Track [Page 193] - -RFC 3525 Gateway Control Protocol June 2003 - - - nt/os=62345, ; octets sent - rtp/pr=780, ; packets received - nt/or=45123, ; octets received - rtp/pl=10, ; % packets lost - rtp/jit=27, - rtp/delay=48 ; average latency - } - } - } } - - 23. The MGC now sets up both MG1 and MG2 to be ready to detect the - next off-hook event. See step 1. Note that this could be the - default state of a termination in the null context, and if this were - the case, no message need be sent from the MGC to the MG. Once a - termination returns to the null context, it goes back to the default - termination values for that termination. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 194] - -RFC 3525 Gateway Control Protocol June 2003 - - -APPENDIX II Changes From RFC 3015 - - In the following table, "source" indicates when the change was first - approved. It has the following values: - - IG1100: H.248 Implementor's Guide approved in November, 2000 (as TD - Plen-39, Christian Groves, editor). - - IG0601: H.248 Implementor's Guide approved in June, 2001 (as TD - Plen-15, Christian Groves, editor). - - IGDUB: Draft H.248 Implementor's Guide approved at the Q.3 - Rapporteur's meeting held near Dublin, October 2001 (as TD-28, Terry - Anderson, editor). - - GEN0202: added at the Geneva meeting, February 2002, which consented - to H.248 v1 Amendment 1 (as TD Plen-36r1, Marcello Pantaleo, editor). - - ITUPOST: added in post-Geneva editing by the ITU-T. - - TTPOST: added in post-approval editing by the Megaco Chair, Tom - Taylor, who assembled this document for submission. - - Section Source Change - - 1 ITUPOST Reference changed from H.248 to H.248.1. - - 2.1 ITUPOST Reference added for error codes, changed from - H.248 Annex L to H.248.8 (2002). - - 2.1 IG1100 Corrected Q.765 reference to Q.765.5. - - 2.1 GEN0202 Added reference to X.690. - - 2.2 GEN0202 Added reference to H.226. - - 2.2 IGDUB Added informative references to Q.724, Q.764, - and Q.1902.4. - - 4 IG0601 Added expansion of ALF. - - 5 TTPOST Gave priority to IETF conventions (added at - start of document). - - - - - - - - -Groves, et al. Standards Track [Page 195] - -RFC 3525 Gateway Control Protocol June 2003 - - - 6.1.1 IG0601 Added text regarding use of wildcards for - context identifiers. (This information - already appeared in section 8.1.2. The IG - change subsequently disappeared.) - - 6.1.1 IG1100 Added ranking of priority values. - - 6.2 IGDUB Deleted definition of signals. - - 6.2 GEN0202 Expanded text and diagrams describing - multiplexing terminations. - - 6.2 TTPOST Added asterisks to multiplexing diagrams to - indicate centre of context. Added Figure 6a - showing cascading of multiplexes. - - 6.2.2 IG0601 Added text indicating that ALL does not - include ROOT. - - 6.2.3 IG1100 Added text clarifying what must be supported - to claim support of a package. - - 6.2.3 IG1100 Added text indicating what packages a peer can - indicate support for, when some of them are - extensions of others. - - 6.2.4 IG0601 Added text on ability of provisioning to - override default values, and need for MGC to - audit to learn the provisioned defaults. - - 6.2.4 IG0601 Added text indicating effect of omitting - specific properties from Descriptors in - commands modifying a termination. - Contradicted original text saying that omitted - properties retain their prior values (still - true for entirely-omitted Descriptors). - - 6.2.4 GEN0202 Modified above text to restrict it to - read/write properties, allow for default - behaviour in place of default values if so - specified in the property definition. - - 6.2.4 IGDUB Trimmed definition of signals Descriptor in - table and inserted cross-reference to section - 7.1.11. - - 6.2.4 IG1100 Added Topology and Error Descriptors to table. - - - - -Groves, et al. Standards Track [Page 196] - -RFC 3525 Gateway Control Protocol June 2003 - - - 6.2.5 IGDUB Specified error code to return if ROOT used - inappropriately. - - 7.1.1 IG1100 Added qualification to explanation of effect - of missing Audit Descriptor, excepting - Subtract. - - 7.1.3 GEN0202 Changed "inputs" to "bearers" to be consistent - with terminology in 6.2. - - 7.1.4 IG0601 Small change to make clear that more than one - of Local, Remote, and LocalControl can be - included in the default streamId. - - 7.1.7 IG0601 Default value for Mode specified to be - Inactive. - - 7.1.7 GEN0202 Added text requiring processing of media in - any of the reserved formats, where more than - one has been reserved in a given stream. - - 7.1.8 IGDUB Added restriction to at most one m= line per - session description. - - 7.1.9 IG0601 Text added to omit request identifier if the - EventsDescriptor is empty. Further text added - at end to indicate the effects of an empty - EventsDescriptor and an empty - EventBufferDescriptor. - - 7.1.9 IG0601 Fixed typo for destination of a Notify. - - 7.1.9 IG1100 Added note to say event remains active after - it has been notified, so long as it is still - present in the active Events Descriptor. - - 7.1.11 IGDUB Added definition of signals. - - 7.1.11 GEN0202 Modified definition to include example of more - complex signal, and added role of signal in - media preparation for future signals. - - 7.1.11 IGDUB The timeout completion reason was broadened to - include other circumstances where the signal - completed on its own. Text added to indicate - that if default signal type changed to TO, - duration parameter must be provided. - - - - -Groves, et al. Standards Track [Page 197] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7.1.11 GEN0202 Removed reference to BR signal being "so - short" it will stop on its own. Added text - indicating that if the type of a signal is - changed to TO, the Duration parameter must be - supplied. - - 7.1.11 IG1100 Deleted text discussing type of Signals List. - - 7.1.12 GEN0202 Improved wording of introductory paragraph and - added text making content of returned - Descriptor clear. - - 7.1.14.2 GEN0202 Added text indicating that when the start - timer is set to 0, initial digit timing is - disabled and the MG waits indefinitely for - digits. - - 7.1.14.2 GEN0202 Added text pointing out that default digit - timer values should be provisioned, but can be - overridden in the digit map. - - 7.1.14.3 GEN0202 Changed result of long-short digit timer - conflict from undefined to long. - - 7.1.14.6 IG1100 Clarified that the digit map is provided by - the eventDM parameter, which must be present. - - 7.1.14.7 GEN0202 Added text clarifying that events covered by - the digit map completion event have no side- - effects unless separately enabled. - - 7.1.14.8 IG0601 Added requirement that the event specification - include the eventDM parameter. - - 7.1.17 IGDUB Added text to indicate timestamp is optional - and to include observed event parameters in - reported content. - - 7.1.17 GEN0202 Deleted provision that time is expressed in - UTC (since intention was to use format, not - time zone). - - 7.1.18 IGDUB Added text indicating error to return if - topology option not supported. - - - - - - - -Groves, et al. Standards Track [Page 198] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7.1.18 IG1100 Added text clarifying effect of not mentioning - TTPOST a termination in a topology Descriptor, and - default topology for a new termination. (This - text got lost between the Dublin meeting and - the production of H.248 Amendment 1 out of the - Geneva 02/02 meeting. It has been added back - to the present document.) - - 7.1.19 IG1100 New section to describe Error Descriptor. - GEN0202 Slightly edited in Geneva 02/02 meeting. - ITUPOST Reference for error code documentation updated - to H.248.8. - - 7.1.19 IG0601 Added paragraph giving guidance on level at - which errors should be reported. - - 7.2 IG1100 Noted possibility of Error Descriptor in reply - to any command. - - 7.2.1 IG1100 Added EventBufferDescriptor as Add parameter. - - 7.2.1 IG1100 Removed restriction on use of CHOOSE wildcard. - - 7.2.2 IG1100 Added EventBufferDescriptor as Modify - parameter. - - 7.2.2 GEN0202 Added text on side-effects of Modify of a - multiplexing termination. - - 7.2.3 IG1100 Added prohibition against subtracting from the - NULL context. - - 7.2.3 GEN0202 Added text on side-effects of Subtract of a - multiplexing termination. - - 7.2.3 IGDUB Added text clarifying effect of empty - AuditDescriptor in Subtract. - - 7.2.4 IG1100 Added EventBufferDescriptor as Move parameter. - - 7.2.4 GEN0202 Removed misleading statement that Move acts as - subtract from original context. - - 7.2.4 IG1100 Clarified effect of Move on properties of the - moved termination. - - 7.2.4 GEN0202 Added text on side-effects of Move of a - multiplexing termination. - - - -Groves, et al. Standards Track [Page 199] - -RFC 3525 Gateway Control Protocol June 2003 - - - 7.2.5 IG1100 Added examples showing W- wildcard usage. - - 7.2.5 IG1100 Noted that returning a list of all contextIDs - requires that they be returned one per - ActionReply. - - 7.2.5 IG1100 Added table entry (ALL, specific) to determine - context in which termination currently - resides. - - 7.2.6 GEN0202 Added table similar to that in 7.2.5. - - 7.2.7 IG0601 Added TerminationID to API. - - 7.2.7 IGDUB Indicated timestamp was optional in Notify, to - accord with syntax. - - 7.2.7 IG1100 Noted possibility of sending Error Descriptor - in Notify. - - 7.2.8 IG0601 Added text to description of Forced method to - indicate that Forced on ROOT indicates a cold - restart (all context state lost). - - 7.2.8 IGDUB Amplified explanation of Disconnected method - to emphasize return to the previously - controlling MGC. - - 7.2.8 IG0601 Added text for MG use of Failover method when - it detects MGC failure. - - 7.2.8 IG1100 Added notes discouraging use of - ServiceChangeAddress and warning that it could - be either a full address or just a port - number. - - 7.2.8 IG0601 Added text indicating that timestamp does not - necessarily represent absolute time, only - local clock reading. - - 7.2.8 IGDUB Corrected "gateway" to "MGC" in discussion of - returned ServiceChangeMgcId parameter. - - 7.3 IG0601 Removed error code documentation to Annex L - ITUPOST (now H.248.8). - - 8 IG1100 Added requirement that an Action be non-empty. - - - - -Groves, et al. Standards Track [Page 200] - -RFC 3525 Gateway Control Protocol June 2003 - - - 8 GEN0202 Added context properties and context property - audit requests to commands as potential - contents of actions. - - 8.1.2 GEN0202 Added prohibition on using partial contextIDs - with ALL wildcards. - - 8.2.2 IG1100 Added text clarifying when in transaction - processing the requested actions have been - completed and a reply can be sent. - - 8.2.2 IG1100 Added ALL as allowed contextID in - TransactionReply. - - 8.2.2 GEN0202 Provided general reference to section 7.1.19 - for generation of error Descriptors. - - 8.2.2 IG0601 Corrected Actions to Commands when discussing - partially-understood action. - - 8.3 IG0601 Added text specifying that the same MId value - must be used by a given entity throughout the - life of a control association. - - 8.3 IG0601 Added text expanding on independence of - transactions from messages. - - 9 ITUPOST Indicated that additional transports may be - defined in separate Recommendations as well as - annexes to the primary specification. - - 9 IG0601 Gave specific example of "request source - address" for IP. - - 9.1 IG1100 Deleted restriction to one outstanding Notify - command on a termination at one time, since - this is transport-specific. - - 9.1 IG0601 Restored restriction, but noted that it - applied only to transport not guaranteeing - ordered delivery. - - 10.2 IG1100 Corrected length of synthesized address field - from 10 to 20 hex digits and indicated that - calculation should be over entire message, not - just one transaction. - - - - - -Groves, et al. Standards Track [Page 201] - -RFC 3525 Gateway Control Protocol June 2003 - - - 11.2 IG1100 Corrected text in first two paragraphs - describing use of ServiceChangeMgcId - parameter. - - 11.2 IG1100 Corrected "Transaction Accept" to "Transaction - Reply". - - 11.4 IG0601 Noted that support of redundant MGs requires - GEN0202 use of a reliable transport and support in the - MGC. Added more explanation in Geneva. - - 11.5 IG0601 Added text clarifying procedure if MG unable - to establish a control relationship with any - of its eligible MGCs. - - 11.5 IGDUB Added text indicating that when trying to - reestablish contact with the previously - controlling MGC the MG uses the Disconnected - method. - - 11.5 IG1100 Clarified handoff procedure. - - 11.5 GEN0202 Changed text on replies to transactions in - progress during handoff. Replies now - discarded when the service relationship with - the old MGC has ended, rather than sent to the - new MGC. The new MGC could still send replies - to requests sent to the old MGC. - - 12.1.1 GEN0202 Added optional package designation as - "designed to be extended only". - - 12.1.1 IG1100 Made prohibition on overloading of identifiers - in extended packages transitive through all - ancestors of the extended package. - - 12.1.2 IGDUB Clarified the set of types allowed for - properties. - - 12.1.2 GEN0202 Added requirement to specify the base type of - a sub-list. - - 12.1.2 GEN0202 Provided requirements for content of the - "Possible Values" template item, including - specification of default values or behaviour. - - - - - - -Groves, et al. Standards Track [Page 202] - -RFC 3525 Gateway Control Protocol June 2003 - - - 12.1.4 GEN0202 Added requirement to specify the default - signal type, and specify a default duration - for TO signals. Also noted that duration is - meaningless for BR, and that the signal type - might be dependent on the values of other - signal parameters. - - 12.2 GEN0202 Fixed section title (covers only event and - signal parameters, not properties or - statistics). - - 12.2 IG1100 Reserved SPA and EPA prefixes, so they are not - to be used for signal and event parameter - tokens. - - 12.2 IG0601 Expanded list of reserved prefixes. - - 12.2 IGDUB Clarified the set of types allowed for signal - and event parameters. - - 12.2 GEN0202 Added requirement to specify the base type of - a sub-list. - - 12.2 GEN0202 Provided requirements for content of the - "Possible Values" template item, including - specification of default values or behaviour. - - 12.4 IGDUB Corrected to indicate identifiers must start - with alphabetic rather than alphanumeric - character. - - 13.1 IG0601 Changed private range of binary package - identifiers to convenient hex values. - - A GEN0202 Removed versions from X.680 and X.690 - references. - - A.2 IGDUB Added note warning that the syntax alone does - not provide a complete description of the - constraints, but must be supplemented by a - reading of the text and comments. - - A.2 IG0601 Added description of double wrapping of - parameters declared as OCTET STRING. - - - - - - - -Groves, et al. Standards Track [Page 203] - -RFC 3525 Gateway Control Protocol June 2003 - - - A.2 GEN0202 Some editing of double wrapping description to - use ASN.1, BER in their proper places. Added - possibility of encoding strings as UTF8String, - but only if they contain non-ASCII characters. - - A.2 IGDUB Added line in table on double wrapping of true - octet strings. - - A.2 IG1100 Corrected and expanded comments describing - mtpAddress form of MId. Fixed maximum length - of mtpAddress both here and in - ServiceChangeAddress. - - A.2 IG0601 Inserted missing lines in IP4Address - production. - - A.2 IG0601 Modified TransactionResponseAck to allow - acknowledgement of multiple ranges of - transactionIds. - - A.2 IG0601 Corrected numerical value of CHOOSE as a - context identifier. - - A.2 IGDUB Added missing extension marker in - TopologyRequest. - - A.2 IG1100 AuditReply and AuditResult modified to bring - binary functionality into line with text - functionality. - - A.2 IG0601 Removed OPTIONAL tag from terminationID in - NotifyReply. - - A.2 IG0601 Added extraInfo substructure to EventParameter - and SigParameter. - - A.2 IG0601 Modified MediaDescriptor to make it optional - to specify a stream. - - A.2 IG0601 Added OPTIONAL tags to reserveValue and - reserveGroup. - - A.2 IGDUB Added to comments for pkgdName to indicate - applicability to event names, signal names, - and statisticIds as well as property. - - - - - - -Groves, et al. Standards Track [Page 204] - -RFC 3525 Gateway Control Protocol June 2003 - - - A.2 IG0601 RequestID made optional in EventsDescriptor - and SecondEventsDescriptor and comment added - saying it must be present if events are - present. - - A.2 IG1100 Added OPTIONAL tags on RequestActions and - SecondRequestedActions keepActive BOOLEANs. - - A.2 IG1100 Added comment to indicate requestID value to - use in an AuditCapReply. - - A.2 GEN0202 Added comment to DigitMapValue indicating time - units for timers. - - A.2 IG0601 Added comment indicating coding of Value for - GEN0202 ServiceChangeReason. Cleaned up in Geneva to - use ASN.1 and BER in their proper places. - - A.2 IG0601 Inserted missing extension marker in - ServiceChangeParm production. - - A.2 IG0601 Aligned definition of mtpAddress in - ServiceChangeAddress with that in MId. - - A.2 IG0601 Added timestamp to ServiceChangeResParm. - - A.2 IGDUB Changed type of profileName in - ServiceChangeProfile to IA5String. - - A.2 IG0601 Made returned value optional in - statisticsParameter, to support - auditCapability result. - - A.2 GEN0202 Added reference to ISO 8601:1988 for - TimeNotation. - - A.2 IG1100 Value production modified to support the - sublist parameter type. - - A.3 IG1100 Corrected ABNF for digitStringlisT, replacing - "/" with "|". - - A.3 IG1100 Added parentheses to digitMapRange production. - - A.3 IG1100 Replaced more abbreviated syntax for pathName - with fuller definition and constraints copied - from B.2. - - - - -Groves, et al. Standards Track [Page 205] - -RFC 3525 Gateway Control Protocol June 2003 - - - B.2 IGDUB Added note warning that the syntax alone does - not provide a complete description of the - constraints, but must be supplemented by a - reading of the text and comments. - - B.2 IG0601 Added note warning that the interpretation of - symbols is context-dependent. - - B.2 IG1100 Added comment to indicate case insensitivity - of protocol (excepting SDP) and ABNF. - - B.2 IG0601 Expanded upon and capitalized this comment. - - B.2 IG0601 Lengthy note added on the coding of the VALUE - construct. - - B.2 IGDUB Deleted sentence in note suggesting that - packages could add new types for properties, - parameters, or statistics. - - B.2 IG0601 Added note indicating that parsers should - allow for white space preceding the first line - of SDP in Local or Remote. - - B.2 IGDUB Added comments identifying the O- and W- tags. - - B.2 IG1100 Moved wildcard tag up from individual commands - to commandRequestList. - - B.2 GEN0202 Added additional error case to actionReply. - - B.2 IG0601 Modified syntax of auditOther to allow return - of terminationID only. - - B.2 IGDUB Corrected upper limit for V4hex. - - B.2 IG1100 Corrected and expanded comments describing - mtpAddress form of MId. - - B.2 IG0601 Modified comment to mediaParm to make - streamParms and StreamDescriptor mutually - exclusive. - - B.2 GEN0202 Modified comment further to indicate at most - one instance of terminationStateDescriptor. - - B.2 GEN0202 Expanded comment for streamParm to indicate - the restriction on repetition is per item. - - - -Groves, et al. Standards Track [Page 206] - -RFC 3525 Gateway Control Protocol June 2003 - - - B.2 IG0601 Modified "at most once" comments to localParm, - terminationStateParm, and modemType, to allow - multiple instances of propertyParm in the - first two cases and extensionParameter in the - last one. - - B.2 IG0601 Added note before description of Local and - Remote, pointing out that the octet value x00 - is not allowed in octetString. - - B.2 IG0601 Syntax for eventsDescriptor, embedFirst, and - eventBufferDescriptor modified to make - contents beyond token optional. - - B.2 IGDUB Replaced "event" by "item" in comment to - pkgdName because pkgdName applies to - properties, signals, and statistics as well. - - B.2 IG0601 Corrected placement of EQUAL in eventDM - production. - - B.2 IG1100 Added comment and syntax to indicate requestID - value to use in an AuditCapReply. - - B.2 IG1100 Corrected Modem Descriptor to allow package - items as properties. - - B.2 IG0601 Comment to modemType changed to allow multiple - instances of extensionParameter. - - B.2 GEN0202 Comment added to indicate units for Timer. - - B.2 IG1100 Added parentheses to digitMapRange production. - - B.2 IG1100 Added comment to serviceChangeParm, - restricting each parameter to one appearance. - - B.2 IG0601 Added comments making serviceChangeMgcId and - serviceChangeAddress mutually exclusive in - ServiceChangeParm and servChgReplyParm. - - B.2 IGDUB Added comment to serviceChangeParm indicating - that ServiceChangeMethod and - ServiceChangeReason are required. - - B.2 IG0601 Added Timestamp to servChgReplyParm. - - - - - -Groves, et al. Standards Track [Page 207] - -RFC 3525 Gateway Control Protocol June 2003 - - - B.2 IG0601 Added comment indicating coding of Value for - ServiceChangeReason. - - B.2 IG0601 Modified ServiceChangeAddress to use MId - definition for full address. - - B.2 IG1100 Made returned value optional in - statisticsParameter, to support - auditCapability result. - - B.2 IG1100 Changed topologyDescriptor to allow multiple - triples. - - B.2 IG0601 Added comment forbidding use of a double quote - within a quotedString value. - - B.2 IG1100 Reserved prefixes for new tokens added to - signalParameter and eventParameter, to avoid - collision with package names. - - B.2 IG1100 EmbedToken and EmergencyToken changed to - remove clash with EventBufferToken. - - B.3 IG1100 New section describing hexadecimal octet - encoding. - - B.4 IG1100 New section describing hex octet sequence. - - C IG1100 Added permission to use Annex C properties in - LocalControl as well as in Local and Remote. - - C IG0601 Added text making support of all properties of - Annex C optional. - - C IGDUB Added directions to reconcile tabulated - formats with allowed types for properties. - - C.1 IG1100 Corrected Q.765 reference to Q.765.5 for - ACodec. - - C.1 IG1100 Deprecated Echocanc codepoint in favour of - package-defined property. - - C.4 ITUPOST Updated references from Q.2961 to Q.2961.1. - - C.4 IGDUB Added details on format of VPVC. - - C.9 IG1100 Renamed USI to layer1prot. - - - -Groves, et al. Standards Track [Page 208] - -RFC 3525 Gateway Control Protocol June 2003 - - - C.9 IG1100 Deprecated ECHOCI codepoint in favour of - package-defined property. - - C.9 IG1100 Added new USI property. - - C.11 IG1100 Added m= line tag. - - D.1 IG0601 Added explanation of ALF. - - D.1.5 IGDUB Expanded text indicating that when trying to - reestablish contact with the previously - controlling MGC the MG uses the Disconnected - method. - - E.1.2 GEN0202 Added missing EventsDescriptor parameters - lines. - - E.1.2 GEN0202 For the Signal Completion event: - - corrected the description of how it is - enabled - - heavily edited the description of the Signal - Identity observed event parameter and added a - type. - - E.1.2 IGDUB The timeout completion reason for the Signal - Completion event was broadened to include - other circumstances where the signal completed - on its own. - - E.1.2 IG1100 Added signal list ID observed event parameter - to the Signal Completion event. - - E.2.1 IG0601 Added missing read only, read-write - specifications. - - E.2.1 IG0601 Split ProvisionalResponseTimer properties into - one for MG, one for MGC. - - E.3 GEN0202 Added "Designed to be extended only" to - tonegen package description. - - E.4 GEN0202 Added "Designed to be extended only" to - tonedet package description. - - E.4.2 GEN0202 Added type for tone ID observed parameter for - Long Tone Detected event. - - - - - -Groves, et al. Standards Track [Page 209] - -RFC 3525 Gateway Control Protocol June 2003 - - - E.6.2 IG1100 Corrected binary identifier for digit map - completion event to avoid clash with base - package. - - E.6.2 IG1100 Removed procedural text. - - E.6.5 IG1100 Added procedural text indicating where to find - the applicable digit map and indicating the - error to return if the parameter is missing. - - E.6.5 IG0601 Further modified procedural text. - - E.7.3 IG1100 Corrected text identifier for payphone - recognition tone to avoid clash with base - package. - - E.10.5 IGDUB Provided informative references for tones and - procedures for continuity check. - - E.13 GEN0202 Added note that TDM package could also apply - to other transports. - - E.13.1 IG1100 Changed default for echo cancellation from - "on" to provisioned. - - E.13.1 IG0601 Corrected type for gain property. - - Appendix TTPOST Included a number of corrections which were - I not picked up in H.248.1 Amendment 1 but which - do appear in H.248.1 v2. - -Intellectual Property Rights - - The ITU draws attention to the possibility that the practice or - implementation of this RFC may involve the use of a claimed - Intellectual Property Right. The ITU takes no position concerning - the evidence, validity or applicability of claimed Intellectual - Property Rights, whether asserted by ITU members or others outside of - the Recommendation development process. - - As of the date of approval of this RFC, the ITU had received notice - of intellectual property, protected by patents, which may be required - to implement this RFC. However, implementors are cautioned that this - may not represent the latest information and are therefore strongly - urged to consult the TSB patent database. - - - - - - -Groves, et al. Standards Track [Page 210] - -RFC 3525 Gateway Control Protocol June 2003 - - - The IETF has also received notice of intellectual property claims - relating to Megaco/H.248.1. Please consult the IETF IPR - announcements at http://www.ietf.org/ipr.html. - -Acknowledgments - - Megaco/H.248.1 is the result of hard work by many people in both the - IETF and in ITU-T Study Group 16. This section records those who - played a prominent role in ITU-T meetings, on the Megaco list, or - both. - - Megaco/H.248 owes a large initial debt to the MGCP protocol (RFC - 2705), and thus to its authors, Mauricio Arango, Andrew Dugan, Ike - Elliott, Christian Huitema, and Scott Pickett. Flemming Andreasen - does not appear on this list of authors, but was a major contributor - to the development of both MGCP and Megaco/H.248.1. RFC 3435 has an - extensive acknowledgement of many other people who worked on media - gateway control before Megaco got started. - - The authors of the first Megaco RFCs (2805, then 3015) were Fernando - Cuervo, Nancy Greene, Abdallah Rayhan, Christian Huitema, Brian - Rosen, and John Segers. Christian Groves conceived and was editor of - Annex C. The people most active on the Megaco list in the period - leading up to the completion of RFC 2885 were Brian Rosen, Tom - Taylor, Nancy Greene, Christian Huitema, Matt Holdrege, Chip Sharp, - John Segers, Michael Thomas, Henry Sinnreich, and Paul Sijben. The - people who sacrificed sleep and meals to complete the massive amount - of work required in the decisive Study Group 16 meeting of February, - 2000, were Michael Brown, Ranga Dendi, Larry Forni, Glen Freundlich, - Christian Groves, Alf Heidemark, Steve Magnell, Selvam Rengasami, - Rich Rubin, Klaus Sambor, John Segers, Chip Sharp, Tom Taylor, and - Stephen Terrill. - - The most active people on the Megaco list in the period since the - February 2000 have been Tom Taylor, Brian Rosen, Christian Groves, - Madhu Babu Brahmanapally, Troy Cauble, Terry Anderson, Chuong Nguyen, - and Kevin Boyle, but many other people have been regular - contributors. Brian Rosen did tremendous service in putting together - the Megaco interoperability tests. On the Study Group 16 side, the - editorial team for the final revised document in February, 2002 - included Christian Groves, Marcello Pantaleo, Terry Anderson, Peter - Leis, Kevin Boyle, and Tom Taylor. - - Tom Taylor as Megaco Chair managed the day to day operation of the - Megaco list, with Brian Rosen taking an equal share of the burden for - most of the last three years. Glen Freundlich as the Study Group 16 - Rapporteur ran the ITU-T meetings and ensured that all of the work at - hand was completed. Without Glen's determination the Megaco/H.248 - - - -Groves, et al. Standards Track [Page 211] - -RFC 3525 Gateway Control Protocol June 2003 - - - standard would have taken at least half a year longer to produce. - Christian Groves filled in ably as Rapporteur when Glen could no - longer take part. - -Authors' Addresses - - Terry L. Anderson - 24 Hill St - Bernardsville, NJ 07924 - USA - - EMail: tlatla@verizon.net - - - Christian Groves - Ericsson AsiaPacificLab Australia - 37/360 Elizabeth St - Melbourne, Victoria 3000 - Australia - - EMail: Christian.Groves@ericsson.com.au - - - Marcello Pantaleo - Ericsson Eurolab Deuschland - Ericsson Allee 1 - 52134 Herzogenrath, Germany - - EMail: Marcello.Pantaleo@eed.ericsson.se - - - Tom Taylor - Nortel Networks - 1852 Lorraine Ave, - Ottawa, Ontario - Canada K1H 6Z8 - - Phone: +1 613 736 0961 - EMail: taylor@nortelnetworks.com - - - - - - - - - - - - -Groves, et al. Standards Track [Page 212] - -RFC 3525 Gateway Control Protocol June 2003 - - -Full Copyright Statement - - Copyright (C) The Internet Society (2003). All Rights Reserved. - - This document and translations of it may be copied and furnished to - others, and derivative works that comment on or otherwise explain it - or assist in its implementation may be prepared, copied, published - and distributed, in whole or in part, without restriction of any - kind, provided that the above copyright notice and this paragraph are - included on all such copies and derivative works. However, this - document itself may not be modified in any way, such as by removing - the copyright notice or references to the Internet Society or other - Internet organizations, except as needed for the purpose of - developing Internet standards in which case the procedures for - copyrights defined in the Internet Standards process must be - followed, or as required to translate it into languages other than - English. - - The limited permissions granted above are perpetual and will not be - revoked by the Internet Society or its successors or assigns. - - This document and the information contained herein is provided on an - "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Acknowledgement - - Funding for the RFC Editor function is currently provided by the - Internet Society. - - - - - - - - - - - - - - - - - - - -Groves, et al. Standards Track [Page 213] - diff --git a/examples/rfc4511.txt b/examples/rfc4511.txt deleted file mode 100644 index 8041f30..0000000 --- a/examples/rfc4511.txt +++ /dev/null @@ -1,3811 +0,0 @@ - - - - - - -Network Working Group J. Sermersheim, Ed. -Request for Comments: 4511 Novell, Inc. -Obsoletes: 2251, 2830, 3771 June 2006 -Category: Standards Track - - - Lightweight Directory Access Protocol (LDAP): The Protocol - -Status of This Memo - - This document specifies an Internet standards track protocol for the - Internet community, and requests discussion and suggestions for - improvements. Please refer to the current edition of the "Internet - Official Protocol Standards" (STD 1) for the standardization state - and status of this protocol. Distribution of this memo is unlimited. - -Copyright Notice - - Copyright (C) The Internet Society (2006). - -Abstract - - This document describes the protocol elements, along with their - semantics and encodings, of the Lightweight Directory Access Protocol - (LDAP). LDAP provides access to distributed directory services that - act in accordance with X.500 data and service models. These protocol - elements are based on those described in the X.500 Directory Access - Protocol (DAP). - -Table of Contents - - 1. Introduction ....................................................3 - 1.1. Relationship to Other LDAP Specifications ..................3 - 2. Conventions .....................................................3 - 3. Protocol Model ..................................................4 - 3.1. Operation and LDAP Message Layer Relationship ..............5 - 4. Elements of Protocol ............................................5 - 4.1. Common Elements ............................................5 - 4.1.1. Message Envelope ....................................6 - 4.1.2. String Types ........................................7 - 4.1.3. Distinguished Name and Relative Distinguished Name ..8 - 4.1.4. Attribute Descriptions ..............................8 - 4.1.5. Attribute Value .....................................8 - 4.1.6. Attribute Value Assertion ...........................9 - 4.1.7. Attribute and PartialAttribute ......................9 - 4.1.8. Matching Rule Identifier ...........................10 - 4.1.9. Result Message .....................................10 - 4.1.10. Referral ..........................................12 - - - -Sermersheim Standards Track [Page 1] - -RFC 4511 LDAPv3 June 2006 - - - 4.1.11. Controls ..........................................14 - 4.2. Bind Operation ............................................16 - 4.2.1. Processing of the Bind Request .....................17 - 4.2.2. Bind Response ......................................18 - 4.3. Unbind Operation ..........................................18 - 4.4. Unsolicited Notification ..................................19 - 4.4.1. Notice of Disconnection ............................19 - 4.5. Search Operation ..........................................20 - 4.5.1. Search Request .....................................20 - 4.5.2. Search Result ......................................27 - 4.5.3. Continuation References in the Search Result .......28 - 4.6. Modify Operation ..........................................31 - 4.7. Add Operation .............................................33 - 4.8. Delete Operation ..........................................34 - 4.9. Modify DN Operation .......................................34 - 4.10. Compare Operation ........................................36 - 4.11. Abandon Operation ........................................36 - 4.12. Extended Operation .......................................37 - 4.13. IntermediateResponse Message .............................39 - 4.13.1. Usage with LDAP ExtendedRequest and - ExtendedResponse ..................................40 - 4.13.2. Usage with LDAP Request Controls ..................40 - 4.14. StartTLS Operation .......................................40 - 4.14.1. StartTLS Request ..................................40 - 4.14.2. StartTLS Response .................................41 - 4.14.3. Removal of the TLS Layer ..........................41 - 5. Protocol Encoding, Connection, and Transfer ....................42 - 5.1. Protocol Encoding .........................................42 - 5.2. Transmission Control Protocol (TCP) .......................43 - 5.3. Termination of the LDAP session ...........................43 - 6. Security Considerations ........................................43 - 7. Acknowledgements ...............................................45 - 8. Normative References ...........................................46 - 9. Informative References .........................................48 - 10. IANA Considerations ...........................................48 - Appendix A. LDAP Result Codes .....................................49 - A.1. Non-Error Result Codes ....................................49 - A.2. Result Codes ..............................................49 - Appendix B. Complete ASN.1 Definition .............................54 - Appendix C. Changes ...............................................60 - C.1. Changes Made to RFC 2251 ..................................60 - C.2. Changes Made to RFC 2830 ..................................66 - C.3. Changes Made to RFC 3771 ..................................66 - - - - - - - - -Sermersheim Standards Track [Page 2] - -RFC 4511 LDAPv3 June 2006 - - -1. Introduction - - The Directory is "a collection of open systems cooperating to provide - directory services" [X.500]. A directory user, which may be a human - or other entity, accesses the Directory through a client (or - Directory User Agent (DUA)). The client, on behalf of the directory - user, interacts with one or more servers (or Directory System Agents - (DSA)). Clients interact with servers using a directory access - protocol. - - This document details the protocol elements of the Lightweight - Directory Access Protocol (LDAP), along with their semantics. - Following the description of protocol elements, it describes the way - in which the protocol elements are encoded and transferred. - -1.1. Relationship to Other LDAP Specifications - - This document is an integral part of the LDAP Technical Specification - [RFC4510], which obsoletes the previously defined LDAP technical - specification, RFC 3377, in its entirety. - - This document, together with [RFC4510], [RFC4513], and [RFC4512], - obsoletes RFC 2251 in its entirety. Section 3.3 is obsoleted by - [RFC4510]. Sections 4.2.1 (portions) and 4.2.2 are obsoleted by - [RFC4513]. Sections 3.2, 3.4, 4.1.3 (last paragraph), 4.1.4, 4.1.5, - 4.1.5.1, 4.1.9 (last paragraph), 5.1, 6.1, and 6.2 (last paragraph) - are obsoleted by [RFC4512]. The remainder of RFC 2251 is obsoleted - by this document. Appendix C.1 summarizes substantive changes in the - remainder. - - This document obsoletes RFC 2830, Sections 2 and 4. The remainder of - RFC 2830 is obsoleted by [RFC4513]. Appendix C.2 summarizes - substantive changes to the remaining sections. - - This document also obsoletes RFC 3771 in entirety. - -2. Conventions - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", and "MAY" in this document are - to be interpreted as described in [RFC2119]. - - Character names in this document use the notation for code points and - names from the Unicode Standard [Unicode]. For example, the letter - "a" may be represented as either or . - - - - - - -Sermersheim Standards Track [Page 3] - -RFC 4511 LDAPv3 June 2006 - - - Note: a glossary of terms used in Unicode can be found in [Glossary]. - Information on the Unicode character encoding model can be found in - [CharModel]. - - The term "transport connection" refers to the underlying transport - services used to carry the protocol exchange, as well as associations - established by these services. - - The term "TLS layer" refers to Transport Layer Security (TLS) - services used in providing security services, as well as associations - established by these services. - - The term "SASL layer" refers to Simply Authentication and Security - Layer (SASL) services used in providing security services, as well as - associations established by these services. - - The term "LDAP message layer" refers to the LDAP Message Protocol - Data Unit (PDU) services used in providing directory services, as - well as associations established by these services. - - The term "LDAP session" refers to combined services (transport - connection, TLS layer, SASL layer, LDAP message layer) and their - associations. - - See the table in Section 5 for an illustration of these four terms. - -3. Protocol Model - - The general model adopted by this protocol is one of clients - performing protocol operations against servers. In this model, a - client transmits a protocol request describing the operation to be - performed to a server. The server is then responsible for performing - the necessary operation(s) in the Directory. Upon completion of an - operation, the server typically returns a response containing - appropriate data to the requesting client. - - Protocol operations are generally independent of one another. Each - operation is processed as an atomic action, leaving the directory in - a consistent state. - - Although servers are required to return responses whenever such - responses are defined in the protocol, there is no requirement for - synchronous behavior on the part of either clients or servers. - Requests and responses for multiple operations generally may be - exchanged between a client and server in any order. If required, - synchronous behavior may be controlled by client applications. - - - - - -Sermersheim Standards Track [Page 4] - -RFC 4511 LDAPv3 June 2006 - - - The core protocol operations defined in this document can be mapped - to a subset of the X.500 (1993) Directory Abstract Service [X.511]. - However, there is not a one-to-one mapping between LDAP operations - and X.500 Directory Access Protocol (DAP) operations. Server - implementations acting as a gateway to X.500 directories may need to - make multiple DAP requests to service a single LDAP request. - -3.1. Operation and LDAP Message Layer Relationship - - Protocol operations are exchanged at the LDAP message layer. When - the transport connection is closed, any uncompleted operations at the - LDAP message layer are abandoned (when possible) or are completed - without transmission of the response (when abandoning them is not - possible). Also, when the transport connection is closed, the client - MUST NOT assume that any uncompleted update operations have succeeded - or failed. - -4. Elements of Protocol - - The protocol is described using Abstract Syntax Notation One - ([ASN.1]) and is transferred using a subset of ASN.1 Basic Encoding - Rules ([BER]). Section 5 specifies how the protocol elements are - encoded and transferred. - - In order to support future extensions to this protocol, extensibility - is implied where it is allowed per ASN.1 (i.e., sequence, set, - choice, and enumerated types are extensible). In addition, ellipses - (...) have been supplied in ASN.1 types that are explicitly - extensible as discussed in [RFC4520]. Because of the implied - extensibility, clients and servers MUST (unless otherwise specified) - ignore trailing SEQUENCE components whose tags they do not recognize. - - Changes to the protocol other than through the extension mechanisms - described here require a different version number. A client - indicates the version it is using as part of the BindRequest, - described in Section 4.2. If a client has not sent a Bind, the - server MUST assume the client is using version 3 or later. - - Clients may attempt to determine the protocol versions a server - supports by reading the 'supportedLDAPVersion' attribute from the - root DSE (DSA-Specific Entry) [RFC4512]. - -4.1. Common Elements - - This section describes the LDAPMessage envelope Protocol Data Unit - (PDU) format, as well as data type definitions, which are used in the - protocol operations. - - - - -Sermersheim Standards Track [Page 5] - -RFC 4511 LDAPv3 June 2006 - - -4.1.1. Message Envelope - - For the purposes of protocol exchanges, all protocol operations are - encapsulated in a common envelope, the LDAPMessage, which is defined - as follows: - - LDAPMessage ::= SEQUENCE { - messageID MessageID, - protocolOp CHOICE { - bindRequest BindRequest, - bindResponse BindResponse, - unbindRequest UnbindRequest, - searchRequest SearchRequest, - searchResEntry SearchResultEntry, - searchResDone SearchResultDone, - searchResRef SearchResultReference, - modifyRequest ModifyRequest, - modifyResponse ModifyResponse, - addRequest AddRequest, - addResponse AddResponse, - delRequest DelRequest, - delResponse DelResponse, - modDNRequest ModifyDNRequest, - modDNResponse ModifyDNResponse, - compareRequest CompareRequest, - compareResponse CompareResponse, - abandonRequest AbandonRequest, - extendedReq ExtendedRequest, - extendedResp ExtendedResponse, - ..., - intermediateResponse IntermediateResponse }, - controls [0] Controls OPTIONAL } - - MessageID ::= INTEGER (0 .. maxInt) - - maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- - - The ASN.1 type Controls is defined in Section 4.1.11. - - The function of the LDAPMessage is to provide an envelope containing - common fields required in all protocol exchanges. At this time, the - only common fields are the messageID and the controls. - - If the server receives an LDAPMessage from the client in which the - LDAPMessage SEQUENCE tag cannot be recognized, the messageID cannot - be parsed, the tag of the protocolOp is not recognized as a request, - or the encoding structures or lengths of data fields are found to be - incorrect, then the server SHOULD return the Notice of Disconnection - - - -Sermersheim Standards Track [Page 6] - -RFC 4511 LDAPv3 June 2006 - - - described in Section 4.4.1, with the resultCode set to protocolError, - and MUST immediately terminate the LDAP session as described in - Section 5.3. - - In other cases where the client or server cannot parse an LDAP PDU, - it SHOULD abruptly terminate the LDAP session (Section 5.3) where - further communication (including providing notice) would be - pernicious. Otherwise, server implementations MUST return an - appropriate response to the request, with the resultCode set to - protocolError. - -4.1.1.1. MessageID - - All LDAPMessage envelopes encapsulating responses contain the - messageID value of the corresponding request LDAPMessage. - - The messageID of a request MUST have a non-zero value different from - the messageID of any other request in progress in the same LDAP - session. The zero value is reserved for the unsolicited notification - message. - - Typical clients increment a counter for each request. - - A client MUST NOT send a request with the same messageID as an - earlier request in the same LDAP session unless it can be determined - that the server is no longer servicing the earlier request (e.g., - after the final response is received, or a subsequent Bind - completes). Otherwise, the behavior is undefined. For this purpose, - note that Abandon and successfully abandoned operations do not send - responses. - -4.1.2. String Types - - The LDAPString is a notational convenience to indicate that, although - strings of LDAPString type encode as ASN.1 OCTET STRING types, the - [ISO10646] character set (a superset of [Unicode]) is used, encoded - following the UTF-8 [RFC3629] algorithm. Note that Unicode - characters U+0000 through U+007F are the same as ASCII 0 through 127, - respectively, and have the same single octet UTF-8 encoding. Other - Unicode characters have a multiple octet UTF-8 encoding. - - LDAPString ::= OCTET STRING -- UTF-8 encoded, - -- [ISO10646] characters - - The LDAPOID is a notational convenience to indicate that the - permitted value of this string is a (UTF-8 encoded) dotted-decimal - representation of an OBJECT IDENTIFIER. Although an LDAPOID is - - - - -Sermersheim Standards Track [Page 7] - -RFC 4511 LDAPv3 June 2006 - - - encoded as an OCTET STRING, values are limited to the definition of - given in Section 1.4 of [RFC4512]. - - LDAPOID ::= OCTET STRING -- Constrained to - -- [RFC4512] - - For example, - - 1.3.6.1.4.1.1466.1.2.3 - -4.1.3. Distinguished Name and Relative Distinguished Name - - An LDAPDN is defined to be the representation of a Distinguished Name - (DN) after encoding according to the specification in [RFC4514]. - - LDAPDN ::= LDAPString - -- Constrained to [RFC4514] - - A RelativeLDAPDN is defined to be the representation of a Relative - Distinguished Name (RDN) after encoding according to the - specification in [RFC4514]. - - RelativeLDAPDN ::= LDAPString - -- Constrained to [RFC4514] - -4.1.4. Attribute Descriptions - - The definition and encoding rules for attribute descriptions are - defined in Section 2.5 of [RFC4512]. Briefly, an attribute - description is an attribute type and zero or more options. - - AttributeDescription ::= LDAPString - -- Constrained to - -- [RFC4512] - -4.1.5. Attribute Value - - A field of type AttributeValue is an OCTET STRING containing an - encoded attribute value. The attribute value is encoded according to - the LDAP-specific encoding definition of its corresponding syntax. - The LDAP-specific encoding definitions for different syntaxes and - attribute types may be found in other documents and in particular - [RFC4517]. - - AttributeValue ::= OCTET STRING - - - - - - -Sermersheim Standards Track [Page 8] - -RFC 4511 LDAPv3 June 2006 - - - Note that there is no defined limit on the size of this encoding; - thus, protocol values may include multi-megabyte attribute values - (e.g., photographs). - - Attribute values may be defined that have arbitrary and non-printable - syntax. Implementations MUST NOT display or attempt to decode an - attribute value if its syntax is not known. The implementation may - attempt to discover the subschema of the source entry and to retrieve - the descriptions of 'attributeTypes' from it [RFC4512]. - - Clients MUST only send attribute values in a request that are valid - according to the syntax defined for the attributes. - -4.1.6. Attribute Value Assertion - - The AttributeValueAssertion (AVA) type definition is similar to the - one in the X.500 Directory standards. It contains an attribute - description and a matching rule ([RFC4512], Section 4.1.3) assertion - value suitable for that type. Elements of this type are typically - used to assert that the value in assertionValue matches a value of an - attribute. - - AttributeValueAssertion ::= SEQUENCE { - attributeDesc AttributeDescription, - assertionValue AssertionValue } - - AssertionValue ::= OCTET STRING - - The syntax of the AssertionValue depends on the context of the LDAP - operation being performed. For example, the syntax of the EQUALITY - matching rule for an attribute is used when performing a Compare - operation. Often this is the same syntax used for values of the - attribute type, but in some cases the assertion syntax differs from - the value syntax. See objectIdentiferFirstComponentMatch in - [RFC4517] for an example. - -4.1.7. Attribute and PartialAttribute - - Attributes and partial attributes consist of an attribute description - and attribute values. A PartialAttribute allows zero values, while - Attribute requires at least one value. - - PartialAttribute ::= SEQUENCE { - type AttributeDescription, - vals SET OF value AttributeValue } - - - - - - -Sermersheim Standards Track [Page 9] - -RFC 4511 LDAPv3 June 2006 - - - Attribute ::= PartialAttribute(WITH COMPONENTS { - ..., - vals (SIZE(1..MAX))}) - - No two of the attribute values may be equivalent as described by - Section 2.2 of [RFC4512]. The set of attribute values is unordered. - Implementations MUST NOT rely upon the ordering being repeatable. - -4.1.8. Matching Rule Identifier - - Matching rules are defined in Section 4.1.3 of [RFC4512]. A matching - rule is identified in the protocol by the printable representation of - either its or one of its short name descriptors - [RFC4512], e.g., 'caseIgnoreMatch' or '2.5.13.2'. - - MatchingRuleId ::= LDAPString - -4.1.9. Result Message - - The LDAPResult is the construct used in this protocol to return - success or failure indications from servers to clients. To various - requests, servers will return responses containing the elements found - in LDAPResult to indicate the final status of the protocol operation - request. - - LDAPResult ::= SEQUENCE { - resultCode ENUMERATED { - success (0), - operationsError (1), - protocolError (2), - timeLimitExceeded (3), - sizeLimitExceeded (4), - compareFalse (5), - compareTrue (6), - authMethodNotSupported (7), - strongerAuthRequired (8), - -- 9 reserved -- - referral (10), - adminLimitExceeded (11), - unavailableCriticalExtension (12), - confidentialityRequired (13), - saslBindInProgress (14), - noSuchAttribute (16), - undefinedAttributeType (17), - inappropriateMatching (18), - constraintViolation (19), - attributeOrValueExists (20), - invalidAttributeSyntax (21), - - - -Sermersheim Standards Track [Page 10] - -RFC 4511 LDAPv3 June 2006 - - - -- 22-31 unused -- - noSuchObject (32), - aliasProblem (33), - invalidDNSyntax (34), - -- 35 reserved for undefined isLeaf -- - aliasDereferencingProblem (36), - -- 37-47 unused -- - inappropriateAuthentication (48), - invalidCredentials (49), - insufficientAccessRights (50), - busy (51), - unavailable (52), - unwillingToPerform (53), - loopDetect (54), - -- 55-63 unused -- - namingViolation (64), - objectClassViolation (65), - notAllowedOnNonLeaf (66), - notAllowedOnRDN (67), - entryAlreadyExists (68), - objectClassModsProhibited (69), - -- 70 reserved for CLDAP -- - affectsMultipleDSAs (71), - -- 72-79 unused -- - other (80), - ... }, - matchedDN LDAPDN, - diagnosticMessage LDAPString, - referral [3] Referral OPTIONAL } - - The resultCode enumeration is extensible as defined in Section 3.8 of - [RFC4520]. The meanings of the listed result codes are given in - Appendix A. If a server detects multiple errors for an operation, - only one result code is returned. The server should return the - result code that best indicates the nature of the error encountered. - Servers may return substituted result codes to prevent unauthorized - disclosures. - - The diagnosticMessage field of this construct may, at the server's - option, be used to return a string containing a textual, human- - readable diagnostic message (terminal control and page formatting - characters should be avoided). As this diagnostic message is not - standardized, implementations MUST NOT rely on the values returned. - Diagnostic messages typically supplement the resultCode with - additional information. If the server chooses not to return a - textual diagnostic, the diagnosticMessage field MUST be empty. - - - - - -Sermersheim Standards Track [Page 11] - -RFC 4511 LDAPv3 June 2006 - - - For certain result codes (typically, but not restricted to - noSuchObject, aliasProblem, invalidDNSyntax, and - aliasDereferencingProblem), the matchedDN field is set (subject to - access controls) to the name of the last entry (object or alias) used - in finding the target (or base) object. This will be a truncated - form of the provided name or, if an alias was dereferenced while - attempting to locate the entry, of the resulting name. Otherwise, - the matchedDN field is empty. - -4.1.10. Referral - - The referral result code indicates that the contacted server cannot - or will not perform the operation and that one or more other servers - may be able to. Reasons for this include: - - - The target entry of the request is not held locally, but the server - has knowledge of its possible existence elsewhere. - - - The operation is restricted on this server -- perhaps due to a - read-only copy of an entry to be modified. - - The referral field is present in an LDAPResult if the resultCode is - set to referral, and it is absent with all other result codes. It - contains one or more references to one or more servers or services - that may be accessed via LDAP or other protocols. Referrals can be - returned in response to any operation request (except Unbind and - Abandon, which do not have responses). At least one URI MUST be - present in the Referral. - - During a Search operation, after the baseObject is located, and - entries are being evaluated, the referral is not returned. Instead, - continuation references, described in Section 4.5.3, are returned - when other servers would need to be contacted to complete the - operation. - - Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI - - URI ::= LDAPString -- limited to characters permitted in - -- URIs - - If the client wishes to progress the operation, it contacts one of - the supported services found in the referral. If multiple URIs are - present, the client assumes that any supported URI may be used to - progress the operation. - - Clients that follow referrals MUST ensure that they do not loop - between servers. They MUST NOT repeatedly contact the same server - for the same request with the same parameters. Some clients use a - - - -Sermersheim Standards Track [Page 12] - -RFC 4511 LDAPv3 June 2006 - - - counter that is incremented each time referral handling occurs for an - operation, and these kinds of clients MUST be able to handle at least - ten nested referrals while progressing the operation. - - A URI for a server implementing LDAP and accessible via TCP/IP (v4 or - v6) [RFC793][RFC791] is written as an LDAP URL according to - [RFC4516]. - - Referral values that are LDAP URLs follow these rules: - - - If an alias was dereferenced, the part of the LDAP URL MUST be - present, with the new target object name. - - - It is RECOMMENDED that the part be present to avoid ambiguity. - - - If the part is present, the client uses this name in its next - request to progress the operation, and if it is not present the - client uses the same name as in the original request. - - - Some servers (e.g., participating in distributed indexing) may - provide a different filter in a URL of a referral for a Search - operation. - - - If the part of the LDAP URL is present, the client uses - this filter in its next request to progress this Search, and if it - is not present the client uses the same filter as it used for that - Search. - - - For Search, it is RECOMMENDED that the part be present to - avoid ambiguity. - - - If the part is missing, the scope of the original Search is - used by the client to progress the operation. - - - Other aspects of the new request may be the same as or different - from the request that generated the referral. - - Other kinds of URIs may be returned. The syntax and semantics of - such URIs is left to future specifications. Clients may ignore URIs - that they do not support. - - UTF-8 encoded characters appearing in the string representation of a - DN, search filter, or other fields of the referral value may not be - legal for URIs (e.g., spaces) and MUST be escaped using the % method - in [RFC3986]. - - - - - - -Sermersheim Standards Track [Page 13] - -RFC 4511 LDAPv3 June 2006 - - -4.1.11. Controls - - Controls provide a mechanism whereby the semantics and arguments of - existing LDAP operations may be extended. One or more controls may - be attached to a single LDAP message. A control only affects the - semantics of the message it is attached to. - - Controls sent by clients are termed 'request controls', and those - sent by servers are termed 'response controls'. - - Controls ::= SEQUENCE OF control Control - - Control ::= SEQUENCE { - controlType LDAPOID, - criticality BOOLEAN DEFAULT FALSE, - controlValue OCTET STRING OPTIONAL } - - The controlType field is the dotted-decimal representation of an - OBJECT IDENTIFIER that uniquely identifies the control. This - provides unambiguous naming of controls. Often, response control(s) - solicited by a request control share controlType values with the - request control. - - The criticality field only has meaning in controls attached to - request messages (except UnbindRequest). For controls attached to - response messages and the UnbindRequest, the criticality field SHOULD - be FALSE, and MUST be ignored by the receiving protocol peer. A - value of TRUE indicates that it is unacceptable to perform the - operation without applying the semantics of the control. - Specifically, the criticality field is applied as follows: - - - If the server does not recognize the control type, determines that - it is not appropriate for the operation, or is otherwise unwilling - to perform the operation with the control, and if the criticality - field is TRUE, the server MUST NOT perform the operation, and for - operations that have a response message, it MUST return with the - resultCode set to unavailableCriticalExtension. - - - If the server does not recognize the control type, determines that - it is not appropriate for the operation, or is otherwise unwilling - to perform the operation with the control, and if the criticality - field is FALSE, the server MUST ignore the control. - - - Regardless of criticality, if a control is applied to an - operation, it is applied consistently and impartially to the - entire operation. - - - - - -Sermersheim Standards Track [Page 14] - -RFC 4511 LDAPv3 June 2006 - - - The controlValue may contain information associated with the - controlType. Its format is defined by the specification of the - control. Implementations MUST be prepared to handle arbitrary - contents of the controlValue octet string, including zero bytes. It - is absent only if there is no value information that is associated - with a control of its type. When a controlValue is defined in terms - of ASN.1, and BER-encoded according to Section 5.1, it also follows - the extensibility rules in Section 4. - - Servers list the controlType of request controls they recognize in - the 'supportedControl' attribute in the root DSE (Section 5.1 of - [RFC4512]). - - Controls SHOULD NOT be combined unless the semantics of the - combination has been specified. The semantics of control - combinations, if specified, are generally found in the control - specification most recently published. When a combination of - controls is encountered whose semantics are invalid, not specified - (or not known), the message is considered not well-formed; thus, the - operation fails with protocolError. Controls with a criticality of - FALSE may be ignored in order to arrive at a valid combination. - Additionally, unless order-dependent semantics are given in a - specification, the order of a combination of controls in the SEQUENCE - is ignored. Where the order is to be ignored but cannot be ignored - by the server, the message is considered not well-formed, and the - operation fails with protocolError. Again, controls with a - criticality of FALSE may be ignored in order to arrive at a valid - combination. - - This document does not specify any controls. Controls may be - specified in other documents. Documents detailing control extensions - are to provide for each control: - - - the OBJECT IDENTIFIER assigned to the control, - - - direction as to what value the sender should provide for the - criticality field (note: the semantics of the criticality field are - defined above should not be altered by the control's - specification), - - - whether the controlValue field is present, and if so, the format of - its contents, - - - the semantics of the control, and - - - optionally, semantics regarding the combination of the control with - other controls. - - - - -Sermersheim Standards Track [Page 15] - -RFC 4511 LDAPv3 June 2006 - - -4.2. Bind Operation - - The function of the Bind operation is to allow authentication - information to be exchanged between the client and server. The Bind - operation should be thought of as the "authenticate" operation. - Operational, authentication, and security-related semantics of this - operation are given in [RFC4513]. - - The Bind request is defined as follows: - - BindRequest ::= [APPLICATION 0] SEQUENCE { - version INTEGER (1 .. 127), - name LDAPDN, - authentication AuthenticationChoice } - - AuthenticationChoice ::= CHOICE { - simple [0] OCTET STRING, - -- 1 and 2 reserved - sasl [3] SaslCredentials, - ... } - - SaslCredentials ::= SEQUENCE { - mechanism LDAPString, - credentials OCTET STRING OPTIONAL } - - Fields of the BindRequest are: - - - version: A version number indicating the version of the protocol to - be used at the LDAP message layer. This document describes version - 3 of the protocol. There is no version negotiation. The client - sets this field to the version it desires. If the server does not - support the specified version, it MUST respond with a BindResponse - where the resultCode is set to protocolError. - - - name: If not empty, the name of the Directory object that the - client wishes to bind as. This field may take on a null value (a - zero-length string) for the purposes of anonymous binds ([RFC4513], - Section 5.1) or when using SASL [RFC4422] authentication - ([RFC4513], Section 5.2). Where the server attempts to locate the - named object, it SHALL NOT perform alias dereferencing. - - - authentication: Information used in authentication. This type is - extensible as defined in Section 3.7 of [RFC4520]. Servers that do - not support a choice supplied by a client return a BindResponse - with the resultCode set to authMethodNotSupported. - - - - - - -Sermersheim Standards Track [Page 16] - -RFC 4511 LDAPv3 June 2006 - - - Textual passwords (consisting of a character sequence with a known - character set and encoding) transferred to the server using the - simple AuthenticationChoice SHALL be transferred as UTF-8 [RFC3629] - encoded [Unicode]. Prior to transfer, clients SHOULD prepare text - passwords as "query" strings by applying the SASLprep [RFC4013] - profile of the stringprep [RFC3454] algorithm. Passwords - consisting of other data (such as random octets) MUST NOT be - altered. The determination of whether a password is textual is a - local client matter. - -4.2.1. Processing of the Bind Request - - Before processing a BindRequest, all uncompleted operations MUST - either complete or be abandoned. The server may either wait for the - uncompleted operations to complete, or abandon them. The server then - proceeds to authenticate the client in either a single-step or - multi-step Bind process. Each step requires the server to return a - BindResponse to indicate the status of authentication. - - After sending a BindRequest, clients MUST NOT send further LDAP PDUs - until receiving the BindResponse. Similarly, servers SHOULD NOT - process or respond to requests received while processing a - BindRequest. - - If the client did not bind before sending a request and receives an - operationsError to that request, it may then send a BindRequest. If - this also fails or the client chooses not to bind on the existing - LDAP session, it may terminate the LDAP session, re-establish it, and - begin again by first sending a BindRequest. This will aid in - interoperating with servers implementing other versions of LDAP. - - Clients may send multiple Bind requests to change the authentication - and/or security associations or to complete a multi-stage Bind - process. Authentication from earlier binds is subsequently ignored. - - For some SASL authentication mechanisms, it may be necessary for the - client to invoke the BindRequest multiple times ([RFC4513], Section - 5.2). Clients MUST NOT invoke operations between two Bind requests - made as part of a multi-stage Bind. - - A client may abort a SASL bind negotiation by sending a BindRequest - with a different value in the mechanism field of SaslCredentials, or - an AuthenticationChoice other than sasl. - - - - - - - - -Sermersheim Standards Track [Page 17] - -RFC 4511 LDAPv3 June 2006 - - - If the client sends a BindRequest with the sasl mechanism field as an - empty string, the server MUST return a BindResponse with the - resultCode set to authMethodNotSupported. This will allow the client - to abort a negotiation if it wishes to try again with the same SASL - mechanism. - -4.2.2. Bind Response - - The Bind response is defined as follows. - - BindResponse ::= [APPLICATION 1] SEQUENCE { - COMPONENTS OF LDAPResult, - serverSaslCreds [7] OCTET STRING OPTIONAL } - - BindResponse consists simply of an indication from the server of the - status of the client's request for authentication. - - A successful Bind operation is indicated by a BindResponse with a - resultCode set to success. Otherwise, an appropriate result code is - set in the BindResponse. For BindResponse, the protocolError result - code may be used to indicate that the version number supplied by the - client is unsupported. - - If the client receives a BindResponse where the resultCode is set to - protocolError, it is to assume that the server does not support this - version of LDAP. While the client may be able proceed with another - version of this protocol (which may or may not require closing and - re-establishing the transport connection), how to proceed with - another version of this protocol is beyond the scope of this - document. Clients that are unable or unwilling to proceed SHOULD - terminate the LDAP session. - - The serverSaslCreds field is used as part of a SASL-defined bind - mechanism to allow the client to authenticate the server to which it - is communicating, or to perform "challenge-response" authentication. - If the client bound with the simple choice, or the SASL mechanism - does not require the server to return information to the client, then - this field SHALL NOT be included in the BindResponse. - -4.3. Unbind Operation - - The function of the Unbind operation is to terminate an LDAP session. - The Unbind operation is not the antithesis of the Bind operation as - the name implies. The naming of these operations are historical. - The Unbind operation should be thought of as the "quit" operation. - - - - - - -Sermersheim Standards Track [Page 18] - -RFC 4511 LDAPv3 June 2006 - - - The Unbind operation is defined as follows: - - UnbindRequest ::= [APPLICATION 2] NULL - - The client, upon transmission of the UnbindRequest, and the server, - upon receipt of the UnbindRequest, are to gracefully terminate the - LDAP session as described in Section 5.3. Uncompleted operations are - handled as specified in Section 3.1. - -4.4. Unsolicited Notification - - An unsolicited notification is an LDAPMessage sent from the server to - the client that is not in response to any LDAPMessage received by the - server. It is used to signal an extraordinary condition in the - server or in the LDAP session between the client and the server. The - notification is of an advisory nature, and the server will not expect - any response to be returned from the client. - - The unsolicited notification is structured as an LDAPMessage in which - the messageID is zero and protocolOp is set to the extendedResp - choice using the ExtendedResponse type (See Section 4.12). The - responseName field of the ExtendedResponse always contains an LDAPOID - that is unique for this notification. - - One unsolicited notification (Notice of Disconnection) is defined in - this document. The specification of an unsolicited notification - consists of: - - - the OBJECT IDENTIFIER assigned to the notification (to be specified - in the responseName, - - - the format of the contents of the responseValue (if any), - - - the circumstances which will cause the notification to be sent, and - - - the semantics of the message. - -4.4.1. Notice of Disconnection - - This notification may be used by the server to advise the client that - the server is about to terminate the LDAP session on its own - initiative. This notification is intended to assist clients in - distinguishing between an exceptional server condition and a - transient network failure. Note that this notification is not a - response to an Unbind requested by the client. Uncompleted - operations are handled as specified in Section 3.1. - - - - - -Sermersheim Standards Track [Page 19] - -RFC 4511 LDAPv3 June 2006 - - - The responseName is 1.3.6.1.4.1.1466.20036, the responseValue field - is absent, and the resultCode is used to indicate the reason for the - disconnection. When the strongerAuthRequired resultCode is returned - with this message, it indicates that the server has detected that an - established security association between the client and server has - unexpectedly failed or been compromised. - - Upon transmission of the Notice of Disconnection, the server - gracefully terminates the LDAP session as described in Section 5.3. - -4.5. Search Operation - - The Search operation is used to request a server to return, subject - to access controls and other restrictions, a set of entries matching - a complex search criterion. This can be used to read attributes from - a single entry, from entries immediately subordinate to a particular - entry, or from a whole subtree of entries. - -4.5.1. Search Request - - The Search request is defined as follows: - - SearchRequest ::= [APPLICATION 3] SEQUENCE { - baseObject LDAPDN, - scope ENUMERATED { - baseObject (0), - singleLevel (1), - wholeSubtree (2), - ... }, - derefAliases ENUMERATED { - neverDerefAliases (0), - derefInSearching (1), - derefFindingBaseObj (2), - derefAlways (3) }, - sizeLimit INTEGER (0 .. maxInt), - timeLimit INTEGER (0 .. maxInt), - typesOnly BOOLEAN, - filter Filter, - attributes AttributeSelection } - - AttributeSelection ::= SEQUENCE OF selector LDAPString - -- The LDAPString is constrained to - -- in Section 4.5.1.8 - - Filter ::= CHOICE { - and [0] SET SIZE (1..MAX) OF filter Filter, - or [1] SET SIZE (1..MAX) OF filter Filter, - not [2] Filter, - - - -Sermersheim Standards Track [Page 20] - -RFC 4511 LDAPv3 June 2006 - - - equalityMatch [3] AttributeValueAssertion, - substrings [4] SubstringFilter, - greaterOrEqual [5] AttributeValueAssertion, - lessOrEqual [6] AttributeValueAssertion, - present [7] AttributeDescription, - approxMatch [8] AttributeValueAssertion, - extensibleMatch [9] MatchingRuleAssertion, - ... } - - SubstringFilter ::= SEQUENCE { - type AttributeDescription, - substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE { - initial [0] AssertionValue, -- can occur at most once - any [1] AssertionValue, - final [2] AssertionValue } -- can occur at most once - } - - MatchingRuleAssertion ::= SEQUENCE { - matchingRule [1] MatchingRuleId OPTIONAL, - type [2] AttributeDescription OPTIONAL, - matchValue [3] AssertionValue, - dnAttributes [4] BOOLEAN DEFAULT FALSE } - - Note that an X.500 "list"-like operation can be emulated by the - client requesting a singleLevel Search operation with a filter - checking for the presence of the 'objectClass' attribute, and that an - X.500 "read"-like operation can be emulated by a baseObject Search - operation with the same filter. A server that provides a gateway to - X.500 is not required to use the Read or List operations, although it - may choose to do so, and if it does, it must provide the same - semantics as the X.500 Search operation. - -4.5.1.1. SearchRequest.baseObject - - The name of the base object entry (or possibly the root) relative to - which the Search is to be performed. - -4.5.1.2. SearchRequest.scope - - Specifies the scope of the Search to be performed. The semantics (as - described in [X.511]) of the defined values of this field are: - - baseObject: The scope is constrained to the entry named by - baseObject. - - singleLevel: The scope is constrained to the immediate - subordinates of the entry named by baseObject. - - - - -Sermersheim Standards Track [Page 21] - -RFC 4511 LDAPv3 June 2006 - - - wholeSubtree: The scope is constrained to the entry named by - baseObject and to all its subordinates. - -4.5.1.3. SearchRequest.derefAliases - - An indicator as to whether or not alias entries (as defined in - [RFC4512]) are to be dereferenced during stages of the Search - operation. - - The act of dereferencing an alias includes recursively dereferencing - aliases that refer to aliases. - - Servers MUST detect looping while dereferencing aliases in order to - prevent denial-of-service attacks of this nature. - - The semantics of the defined values of this field are: - - neverDerefAliases: Do not dereference aliases in searching or in - locating the base object of the Search. - - derefInSearching: While searching subordinates of the base object, - dereference any alias within the search scope. Dereferenced - objects become the vertices of further search scopes where the - Search operation is also applied. If the search scope is - wholeSubtree, the Search continues in the subtree(s) of any - dereferenced object. If the search scope is singleLevel, the - search is applied to any dereferenced objects and is not applied - to their subordinates. Servers SHOULD eliminate duplicate entries - that arise due to alias dereferencing while searching. - - derefFindingBaseObj: Dereference aliases in locating the base - object of the Search, but not when searching subordinates of the - base object. - - derefAlways: Dereference aliases both in searching and in locating - the base object of the Search. - -4.5.1.4. SearchRequest.sizeLimit - - A size limit that restricts the maximum number of entries to be - returned as a result of the Search. A value of zero in this field - indicates that no client-requested size limit restrictions are in - effect for the Search. Servers may also enforce a maximum number of - entries to return. - - - - - - - -Sermersheim Standards Track [Page 22] - -RFC 4511 LDAPv3 June 2006 - - -4.5.1.5. SearchRequest.timeLimit - - A time limit that restricts the maximum time (in seconds) allowed for - a Search. A value of zero in this field indicates that no client- - requested time limit restrictions are in effect for the Search. - Servers may also enforce a maximum time limit for the Search. - -4.5.1.6. SearchRequest.typesOnly - - An indicator as to whether Search results are to contain both - attribute descriptions and values, or just attribute descriptions. - Setting this field to TRUE causes only attribute descriptions (and - not values) to be returned. Setting this field to FALSE causes both - attribute descriptions and values to be returned. - -4.5.1.7. SearchRequest.filter - - A filter that defines the conditions that must be fulfilled in order - for the Search to match a given entry. - - The 'and', 'or', and 'not' choices can be used to form combinations - of filters. At least one filter element MUST be present in an 'and' - or 'or' choice. The others match against individual attribute values - of entries in the scope of the Search. (Implementor's note: the - 'not' filter is an example of a tagged choice in an implicitly-tagged - module. In BER this is treated as if the tag were explicit.) - - A server MUST evaluate filters according to the three-valued logic of - [X.511] (1993), Clause 7.8.1. In summary, a filter is evaluated to - "TRUE", "FALSE", or "Undefined". If the filter evaluates to TRUE for - a particular entry, then the attributes of that entry are returned as - part of the Search result (subject to any applicable access control - restrictions). If the filter evaluates to FALSE or Undefined, then - the entry is ignored for the Search. - - A filter of the "and" choice is TRUE if all the filters in the SET OF - evaluate to TRUE, FALSE if at least one filter is FALSE, and - Undefined otherwise. A filter of the "or" choice is FALSE if all the - filters in the SET OF evaluate to FALSE, TRUE if at least one filter - is TRUE, and Undefined otherwise. A filter of the 'not' choice is - TRUE if the filter being negated is FALSE, FALSE if it is TRUE, and - Undefined if it is Undefined. - - A filter item evaluates to Undefined when the server would not be - able to determine whether the assertion value matches an entry. - Examples include: - - - - - -Sermersheim Standards Track [Page 23] - -RFC 4511 LDAPv3 June 2006 - - - - An attribute description in an equalityMatch, substrings, - greaterOrEqual, lessOrEqual, approxMatch, or extensibleMatch filter - is not recognized by the server. - - - The attribute type does not define the appropriate matching rule. - - - A MatchingRuleId in the extensibleMatch is not recognized by the - server or is not valid for the attribute type. - - - The type of filtering requested is not implemented. - - - The assertion value is invalid. - - For example, if a server did not recognize the attribute type - shoeSize, the filters (shoeSize=*), (shoeSize=12), (shoeSize>=12), - and (shoeSize<=12) would each evaluate to Undefined. - - Servers MUST NOT return errors if attribute descriptions or matching - rule ids are not recognized, assertion values are invalid, or the - assertion syntax is not supported. More details of filter processing - are given in Clause 7.8 of [X.511]. - -4.5.1.7.1. SearchRequest.filter.equalityMatch - - The matching rule for an equalityMatch filter is defined by the - EQUALITY matching rule for the attribute type or subtype. The filter - is TRUE when the EQUALITY rule returns TRUE as applied to the - attribute or subtype and the asserted value. - -4.5.1.7.2. SearchRequest.filter.substrings - - There SHALL be at most one 'initial' and at most one 'final' in the - 'substrings' of a SubstringFilter. If 'initial' is present, it SHALL - be the first element of 'substrings'. If 'final' is present, it - SHALL be the last element of 'substrings'. - - The matching rule for an AssertionValue in a substrings filter item - is defined by the SUBSTR matching rule for the attribute type or - subtype. The filter is TRUE when the SUBSTR rule returns TRUE as - applied to the attribute or subtype and the asserted value. - - Note that the AssertionValue in a substrings filter item conforms to - the assertion syntax of the EQUALITY matching rule for the attribute - type rather than to the assertion syntax of the SUBSTR matching rule - for the attribute type. Conceptually, the entire SubstringFilter is - converted into an assertion value of the substrings matching rule - prior to applying the rule. - - - - -Sermersheim Standards Track [Page 24] - -RFC 4511 LDAPv3 June 2006 - - -4.5.1.7.3. SearchRequest.filter.greaterOrEqual - - The matching rule for a greaterOrEqual filter is defined by the - ORDERING matching rule for the attribute type or subtype. The filter - is TRUE when the ORDERING rule returns FALSE as applied to the - attribute or subtype and the asserted value. - -4.5.1.7.4. SearchRequest.filter.lessOrEqual - - The matching rules for a lessOrEqual filter are defined by the - ORDERING and EQUALITY matching rules for the attribute type or - subtype. The filter is TRUE when either the ORDERING or EQUALITY - rule returns TRUE as applied to the attribute or subtype and the - asserted value. - -4.5.1.7.5. SearchRequest.filter.present - - A present filter is TRUE when there is an attribute or subtype of the - specified attribute description present in an entry, FALSE when no - attribute or subtype of the specified attribute description is - present in an entry, and Undefined otherwise. - -4.5.1.7.6. SearchRequest.filter.approxMatch - - An approxMatch filter is TRUE when there is a value of the attribute - type or subtype for which some locally-defined approximate matching - algorithm (e.g., spelling variations, phonetic match, etc.) returns - TRUE. If a value matches for equality, it also satisfies an - approximate match. If approximate matching is not supported for the - attribute, this filter item should be treated as an equalityMatch. - -4.5.1.7.7. SearchRequest.filter.extensibleMatch - - The fields of the extensibleMatch filter item are evaluated as - follows: - - - If the matchingRule field is absent, the type field MUST be - present, and an equality match is performed for that type. - - - If the type field is absent and the matchingRule is present, the - matchValue is compared against all attributes in an entry that - support that matchingRule. - - - If the type field is present and the matchingRule is present, the - matchValue is compared against the specified attribute type and its - subtypes. - - - - - -Sermersheim Standards Track [Page 25] - -RFC 4511 LDAPv3 June 2006 - - - - If the dnAttributes field is set to TRUE, the match is additionally - applied against all the AttributeValueAssertions in an entry's - distinguished name, and it evaluates to TRUE if there is at least - one attribute or subtype in the distinguished name for which the - filter item evaluates to TRUE. The dnAttributes field is present - to alleviate the need for multiple versions of generic matching - rules (such as word matching), where one applies to entries and - another applies to entries and DN attributes as well. - - The matchingRule used for evaluation determines the syntax for the - assertion value. Once the matchingRule and attribute(s) have been - determined, the filter item evaluates to TRUE if it matches at least - one attribute type or subtype in the entry, FALSE if it does not - match any attribute type or subtype in the entry, and Undefined if - the matchingRule is not recognized, the matchingRule is unsuitable - for use with the specified type, or the assertionValue is invalid. - -4.5.1.8. SearchRequest.attributes - - A selection list of the attributes to be returned from each entry - that matches the search filter. Attributes that are subtypes of - listed attributes are implicitly included. LDAPString values of this - field are constrained to the following Augmented Backus-Naur Form - (ABNF) [RFC4234]: - - attributeSelector = attributedescription / selectorspecial - - selectorspecial = noattrs / alluserattrs - - noattrs = %x31.2E.31 ; "1.1" - - alluserattrs = %x2A ; asterisk ("*") - - The production is defined in Section 2.5 of - [RFC4512]. - - There are three special cases that may appear in the attributes - selection list: - - 1. An empty list with no attributes requests the return of all - user attributes. - - 2. A list containing "*" (with zero or more attribute - descriptions) requests the return of all user attributes in - addition to other listed (operational) attributes. - - - - - - -Sermersheim Standards Track [Page 26] - -RFC 4511 LDAPv3 June 2006 - - - 3. A list containing only the OID "1.1" indicates that no - attributes are to be returned. If "1.1" is provided with other - attributeSelector values, the "1.1" attributeSelector is - ignored. This OID was chosen because it does not (and can not) - correspond to any attribute in use. - - Client implementors should note that even if all user attributes are - requested, some attributes and/or attribute values of the entry may - not be included in Search results due to access controls or other - restrictions. Furthermore, servers will not return operational - attributes, such as objectClasses or attributeTypes, unless they are - listed by name. Operational attributes are described in [RFC4512]. - - Attributes are returned at most once in an entry. If an attribute - description is named more than once in the list, the subsequent names - are ignored. If an attribute description in the list is not - recognized, it is ignored by the server. - -4.5.2. Search Result - - The results of the Search operation are returned as zero or more - SearchResultEntry and/or SearchResultReference messages, followed by - a single SearchResultDone message. - - SearchResultEntry ::= [APPLICATION 4] SEQUENCE { - objectName LDAPDN, - attributes PartialAttributeList } - - PartialAttributeList ::= SEQUENCE OF - partialAttribute PartialAttribute - - SearchResultReference ::= [APPLICATION 19] SEQUENCE - SIZE (1..MAX) OF uri URI - - SearchResultDone ::= [APPLICATION 5] LDAPResult - - Each SearchResultEntry represents an entry found during the Search. - Each SearchResultReference represents an area not yet explored during - the Search. The SearchResultEntry and SearchResultReference messages - may come in any order. Following all the SearchResultReference and - SearchResultEntry responses, the server returns a SearchResultDone - response, which contains an indication of success or details any - errors that have occurred. - - Each entry returned in a SearchResultEntry will contain all - appropriate attributes as specified in the attributes field of the - Search Request, subject to access control and other administrative - policy. Note that the PartialAttributeList may hold zero elements. - - - -Sermersheim Standards Track [Page 27] - -RFC 4511 LDAPv3 June 2006 - - - This may happen when none of the attributes of an entry were - requested or could be returned. Note also that the partialAttribute - vals set may hold zero elements. This may happen when typesOnly is - requested, access controls prevent the return of values, or other - reasons. - - Some attributes may be constructed by the server and appear in a - SearchResultEntry attribute list, although they are not stored - attributes of an entry. Clients SHOULD NOT assume that all - attributes can be modified, even if this is permitted by access - control. - - If the server's schema defines short names [RFC4512] for an attribute - type, then the server SHOULD use one of those names in attribute - descriptions for that attribute type (in preference to using the - [RFC4512] format of the attribute type's object - identifier). The server SHOULD NOT use the short name if that name - is known by the server to be ambiguous, or if it is otherwise likely - to cause interoperability problems. - -4.5.3. Continuation References in the Search Result - - If the server was able to locate the entry referred to by the - baseObject but was unable or unwilling to search one or more non- - local entries, the server may return one or more - SearchResultReference messages, each containing a reference to - another set of servers for continuing the operation. A server MUST - NOT return any SearchResultReference messages if it has not located - the baseObject and thus has not searched any entries. In this case, - it would return a SearchResultDone containing either a referral or - noSuchObject result code (depending on the server's knowledge of the - entry named in the baseObject). - - If a server holds a copy or partial copy of the subordinate naming - context (Section 5 of [RFC4512]), it may use the search filter to - determine whether or not to return a SearchResultReference response. - Otherwise, SearchResultReference responses are always returned when - in scope. - - The SearchResultReference is of the same data type as the Referral. - - If the client wishes to progress the Search, it issues a new Search - operation for each SearchResultReference that is returned. If - multiple URIs are present, the client assumes that any supported URI - may be used to progress the operation. - - - - - - -Sermersheim Standards Track [Page 28] - -RFC 4511 LDAPv3 June 2006 - - - Clients that follow search continuation references MUST ensure that - they do not loop between servers. They MUST NOT repeatedly contact - the same server for the same request with the same parameters. Some - clients use a counter that is incremented each time search result - reference handling occurs for an operation, and these kinds of - clients MUST be able to handle at least ten nested referrals while - progressing the operation. - - Note that the Abandon operation described in Section 4.11 applies - only to a particular operation sent at the LDAP message layer between - a client and server. The client must individually abandon subsequent - Search operations it wishes to. - - A URI for a server implementing LDAP and accessible via TCP/IP (v4 or - v6) [RFC793][RFC791] is written as an LDAP URL according to - [RFC4516]. - - SearchResultReference values that are LDAP URLs follow these rules: - - - The part of the LDAP URL MUST be present, with the new target - object name. The client uses this name when following the - reference. - - - Some servers (e.g., participating in distributed indexing) may - provide a different filter in the LDAP URL. - - - If the part of the LDAP URL is present, the client uses - this filter in its next request to progress this Search, and if it - is not present the client uses the same filter as it used for that - Search. - - - If the originating search scope was singleLevel, the part - of the LDAP URL will be "base". - - - It is RECOMMENDED that the part be present to avoid - ambiguity. In the absence of a part, the scope of the - original Search request is assumed. - - - Other aspects of the new Search request may be the same as or - different from the Search request that generated the - SearchResultReference. - - - The name of an unexplored subtree in a SearchResultReference need - not be subordinate to the base object. - - Other kinds of URIs may be returned. The syntax and semantics of - such URIs is left to future specifications. Clients may ignore URIs - that they do not support. - - - -Sermersheim Standards Track [Page 29] - -RFC 4511 LDAPv3 June 2006 - - - UTF-8-encoded characters appearing in the string representation of a - DN, search filter, or other fields of the referral value may not be - legal for URIs (e.g., spaces) and MUST be escaped using the % method - in [RFC3986]. - -4.5.3.1. Examples - - For example, suppose the contacted server (hosta) holds the entry - and the entry . It - knows that both LDAP servers (hostb) and (hostc) hold - (one is the master and the other server - a shadow), and that LDAP-capable server (hostd) holds the subtree - . If a wholeSubtree Search of - is requested to the contacted server, it may - return the following: - - SearchResultEntry for DC=Example,DC=NET - SearchResultEntry for CN=Manager,DC=Example,DC=NET - SearchResultReference { - ldap://hostb/OU=People,DC=Example,DC=NET??sub - ldap://hostc/OU=People,DC=Example,DC=NET??sub } - SearchResultReference { - ldap://hostd/OU=Roles,DC=Example,DC=NET??sub } - SearchResultDone (success) - - Client implementors should note that when following a - SearchResultReference, additional SearchResultReference may be - generated. Continuing the example, if the client contacted the - server (hostb) and issued the Search request for the subtree - , the server might respond as follows: - - SearchResultEntry for OU=People,DC=Example,DC=NET - SearchResultReference { - ldap://hoste/OU=Managers,OU=People,DC=Example,DC=NET??sub } - SearchResultReference { - ldap://hostf/OU=Consultants,OU=People,DC=Example,DC=NET??sub } - SearchResultDone (success) - - Similarly, if a singleLevel Search of is - requested to the contacted server, it may return the following: - - SearchResultEntry for CN=Manager,DC=Example,DC=NET - SearchResultReference { - ldap://hostb/OU=People,DC=Example,DC=NET??base - ldap://hostc/OU=People,DC=Example,DC=NET??base } - SearchResultReference { - ldap://hostd/OU=Roles,DC=Example,DC=NET??base } - SearchResultDone (success) - - - -Sermersheim Standards Track [Page 30] - -RFC 4511 LDAPv3 June 2006 - - - If the contacted server does not hold the base object for the Search, - but has knowledge of its possible location, then it may return a - referral to the client. In this case, if the client requests a - subtree Search of to hosta, the server returns a - SearchResultDone containing a referral. - - SearchResultDone (referral) { - ldap://hostg/DC=Example,DC=ORG??sub } - -4.6. Modify Operation - - The Modify operation allows a client to request that a modification - of an entry be performed on its behalf by a server. The Modify - Request is defined as follows: - - ModifyRequest ::= [APPLICATION 6] SEQUENCE { - object LDAPDN, - changes SEQUENCE OF change SEQUENCE { - operation ENUMERATED { - add (0), - delete (1), - replace (2), - ... }, - modification PartialAttribute } } - - Fields of the Modify Request are: - - - object: The value of this field contains the name of the entry to - be modified. The server SHALL NOT perform any alias dereferencing - in determining the object to be modified. - - - changes: A list of modifications to be performed on the entry. The - entire list of modifications MUST be performed in the order they - are listed as a single atomic operation. While individual - modifications may violate certain aspects of the directory schema - (such as the object class definition and Directory Information Tree - (DIT) content rule), the resulting entry after the entire list of - modifications is performed MUST conform to the requirements of the - directory model and controlling schema [RFC4512]. - - - operation: Used to specify the type of modification being - performed. Each operation type acts on the following - modification. The values of this field have the following - semantics, respectively: - - add: add values listed to the modification attribute, - creating the attribute if necessary. - - - - -Sermersheim Standards Track [Page 31] - -RFC 4511 LDAPv3 June 2006 - - - delete: delete values listed from the modification attribute. - If no values are listed, or if all current values of the - attribute are listed, the entire attribute is removed. - - replace: replace all existing values of the modification - attribute with the new values listed, creating the attribute - if it did not already exist. A replace with no value will - delete the entire attribute if it exists, and it is ignored - if the attribute does not exist. - - - modification: A PartialAttribute (which may have an empty SET - of vals) used to hold the attribute type or attribute type and - values being modified. - - Upon receipt of a Modify Request, the server attempts to perform the - necessary modifications to the DIT and returns the result in a Modify - Response, defined as follows: - - ModifyResponse ::= [APPLICATION 7] LDAPResult - - The server will return to the client a single Modify Response - indicating either the successful completion of the DIT modification, - or the reason that the modification failed. Due to the requirement - for atomicity in applying the list of modifications in the Modify - Request, the client may expect that no modifications of the DIT have - been performed if the Modify Response received indicates any sort of - error, and that all requested modifications have been performed if - the Modify Response indicates successful completion of the Modify - operation. Whether or not the modification was applied cannot be - determined by the client if the Modify Response was not received - (e.g., the LDAP session was terminated or the Modify operation was - abandoned). - - Servers MUST ensure that entries conform to user and system schema - rules or other data model constraints. The Modify operation cannot - be used to remove from an entry any of its distinguished values, - i.e., those values which form the entry's relative distinguished - name. An attempt to do so will result in the server returning the - notAllowedOnRDN result code. The Modify DN operation described in - Section 4.9 is used to rename an entry. - - For attribute types that specify no equality matching, the rules in - Section 2.5.1 of [RFC4512] are followed. - - Note that due to the simplifications made in LDAP, there is not a - direct mapping of the changes in an LDAP ModifyRequest onto the - changes of a DAP ModifyEntry operation, and different implementations - - - - -Sermersheim Standards Track [Page 32] - -RFC 4511 LDAPv3 June 2006 - - - of LDAP-DAP gateways may use different means of representing the - change. If successful, the final effect of the operations on the - entry MUST be identical. - -4.7. Add Operation - - The Add operation allows a client to request the addition of an entry - into the Directory. The Add Request is defined as follows: - - AddRequest ::= [APPLICATION 8] SEQUENCE { - entry LDAPDN, - attributes AttributeList } - - AttributeList ::= SEQUENCE OF attribute Attribute - - Fields of the Add Request are: - - - entry: the name of the entry to be added. The server SHALL NOT - dereference any aliases in locating the entry to be added. - - - attributes: the list of attributes that, along with those from the - RDN, make up the content of the entry being added. Clients MAY or - MAY NOT include the RDN attribute(s) in this list. Clients MUST - NOT supply NO-USER-MODIFICATION attributes such as the - createTimestamp or creatorsName attributes, since the server - maintains these automatically. - - Servers MUST ensure that entries conform to user and system schema - rules or other data model constraints. For attribute types that - specify no equality matching, the rules in Section 2.5.1 of [RFC4512] - are followed (this applies to the naming attribute in addition to any - multi-valued attributes being added). - - The entry named in the entry field of the AddRequest MUST NOT exist - for the AddRequest to succeed. The immediate superior (parent) of an - object or alias entry to be added MUST exist. For example, if the - client attempted to add , the - entry did not exist, and the entry did - exist, then the server would return the noSuchObject result code with - the matchedDN field containing . - - Upon receipt of an Add Request, a server will attempt to add the - requested entry. The result of the Add attempt will be returned to - the client in the Add Response, defined as follows: - - AddResponse ::= [APPLICATION 9] LDAPResult - - - - - -Sermersheim Standards Track [Page 33] - -RFC 4511 LDAPv3 June 2006 - - - A response of success indicates that the new entry has been added to - the Directory. - -4.8. Delete Operation - - The Delete operation allows a client to request the removal of an - entry from the Directory. The Delete Request is defined as follows: - - DelRequest ::= [APPLICATION 10] LDAPDN - - The Delete Request consists of the name of the entry to be deleted. - The server SHALL NOT dereference aliases while resolving the name of - the target entry to be removed. - - Only leaf entries (those with no subordinate entries) can be deleted - with this operation. - - Upon receipt of a Delete Request, a server will attempt to perform - the entry removal requested and return the result in the Delete - Response defined as follows: - - DelResponse ::= [APPLICATION 11] LDAPResult - -4.9. Modify DN Operation - - The Modify DN operation allows a client to change the Relative - Distinguished Name (RDN) of an entry in the Directory and/or to move - a subtree of entries to a new location in the Directory. The Modify - DN Request is defined as follows: - - ModifyDNRequest ::= [APPLICATION 12] SEQUENCE { - entry LDAPDN, - newrdn RelativeLDAPDN, - deleteoldrdn BOOLEAN, - newSuperior [0] LDAPDN OPTIONAL } - - Fields of the Modify DN Request are: - - - entry: the name of the entry to be changed. This entry may or may - not have subordinate entries. - - - newrdn: the new RDN of the entry. The value of the old RDN is - supplied when moving the entry to a new superior without changing - its RDN. Attribute values of the new RDN not matching any - attribute value of the entry are added to the entry, and an - appropriate error is returned if this fails. - - - - - -Sermersheim Standards Track [Page 34] - -RFC 4511 LDAPv3 June 2006 - - - - deleteoldrdn: a boolean field that controls whether the old RDN - attribute values are to be retained as attributes of the entry or - deleted from the entry. - - - newSuperior: if present, this is the name of an existing object - entry that becomes the immediate superior (parent) of the - existing entry. - - The server SHALL NOT dereference any aliases in locating the objects - named in entry or newSuperior. - - Upon receipt of a ModifyDNRequest, a server will attempt to perform - the name change and return the result in the Modify DN Response, - defined as follows: - - ModifyDNResponse ::= [APPLICATION 13] LDAPResult - - For example, if the entry named in the entry field was , the newrdn field was , and the - newSuperior field was absent, then this operation would attempt to - rename the entry as . If there was - already an entry with that name, the operation would fail with the - entryAlreadyExists result code. - - Servers MUST ensure that entries conform to user and system schema - rules or other data model constraints. For attribute types that - specify no equality matching, the rules in Section 2.5.1 of [RFC4512] - are followed (this pertains to newrdn and deleteoldrdn). - - The object named in newSuperior MUST exist. For example, if the - client attempted to add , the - entry did not exist, and the entry did - exist, then the server would return the noSuchObject result code with - the matchedDN field containing . - - If the deleteoldrdn field is TRUE, the attribute values forming the - old RDN (but not the new RDN) are deleted from the entry. If the - deleteoldrdn field is FALSE, the attribute values forming the old RDN - will be retained as non-distinguished attribute values of the entry. - - Note that X.500 restricts the ModifyDN operation to affect only - entries that are contained within a single server. If the LDAP - server is mapped onto DAP, then this restriction will apply, and the - affectsMultipleDSAs result code will be returned if this error - occurred. In general, clients MUST NOT expect to be able to perform - arbitrary movements of entries and subtrees between servers or - between naming contexts. - - - - -Sermersheim Standards Track [Page 35] - -RFC 4511 LDAPv3 June 2006 - - -4.10. Compare Operation - - The Compare operation allows a client to compare an assertion value - with the values of a particular attribute in a particular entry in - the Directory. The Compare Request is defined as follows: - - CompareRequest ::= [APPLICATION 14] SEQUENCE { - entry LDAPDN, - ava AttributeValueAssertion } - - Fields of the Compare Request are: - - - entry: the name of the entry to be compared. The server SHALL NOT - dereference any aliases in locating the entry to be compared. - - - ava: holds the attribute value assertion to be compared. - - Upon receipt of a Compare Request, a server will attempt to perform - the requested comparison and return the result in the Compare - Response, defined as follows: - - CompareResponse ::= [APPLICATION 15] LDAPResult - - The resultCode is set to compareTrue, compareFalse, or an appropriate - error. compareTrue indicates that the assertion value in the ava - field matches a value of the attribute or subtype according to the - attribute's EQUALITY matching rule. compareFalse indicates that the - assertion value in the ava field and the values of the attribute or - subtype did not match. Other result codes indicate either that the - result of the comparison was Undefined (Section 4.5.1.7), or that - some error occurred. - - Note that some directory systems may establish access controls that - permit the values of certain attributes (such as userPassword) to be - compared but not interrogated by other means. - -4.11. Abandon Operation - - The function of the Abandon operation is to allow a client to request - that the server abandon an uncompleted operation. The Abandon - Request is defined as follows: - - AbandonRequest ::= [APPLICATION 16] MessageID - - The MessageID is that of an operation that was requested earlier at - this LDAP message layer. The Abandon request itself has its own - MessageID. This is distinct from the MessageID of the earlier - operation being abandoned. - - - -Sermersheim Standards Track [Page 36] - -RFC 4511 LDAPv3 June 2006 - - - There is no response defined in the Abandon operation. Upon receipt - of an AbandonRequest, the server MAY abandon the operation identified - by the MessageID. Since the client cannot tell the difference - between a successfully abandoned operation and an uncompleted - operation, the application of the Abandon operation is limited to - uses where the client does not require an indication of its outcome. - - Abandon, Bind, Unbind, and StartTLS operations cannot be abandoned. - - In the event that a server receives an Abandon Request on a Search - operation in the midst of transmitting responses to the Search, that - server MUST cease transmitting entry responses to the abandoned - request immediately, and it MUST NOT send the SearchResultDone. Of - course, the server MUST ensure that only properly encoded LDAPMessage - PDUs are transmitted. - - The ability to abandon other (particularly update) operations is at - the discretion of the server. - - Clients should not send Abandon requests for the same operation - multiple times, and they MUST also be prepared to receive results - from operations they have abandoned (since these might have been in - transit when the Abandon was requested or might not be able to be - abandoned). - - Servers MUST discard Abandon requests for messageIDs they do not - recognize, for operations that cannot be abandoned, and for - operations that have already been abandoned. - -4.12. Extended Operation - - The Extended operation allows additional operations to be defined for - services not already available in the protocol; for example, to Add - operations to install transport layer security (see Section 4.14). - - The Extended operation allows clients to make requests and receive - responses with predefined syntaxes and semantics. These may be - defined in RFCs or be private to particular implementations. - - Each Extended operation consists of an Extended request and an - Extended response. - - ExtendedRequest ::= [APPLICATION 23] SEQUENCE { - requestName [0] LDAPOID, - requestValue [1] OCTET STRING OPTIONAL } - - - - - - -Sermersheim Standards Track [Page 37] - -RFC 4511 LDAPv3 June 2006 - - - The requestName is a dotted-decimal representation of the unique - OBJECT IDENTIFIER corresponding to the request. The requestValue is - information in a form defined by that request, encapsulated inside an - OCTET STRING. - - The server will respond to this with an LDAPMessage containing an - ExtendedResponse. - - ExtendedResponse ::= [APPLICATION 24] SEQUENCE { - COMPONENTS OF LDAPResult, - responseName [10] LDAPOID OPTIONAL, - responseValue [11] OCTET STRING OPTIONAL } - - The responseName field, when present, contains an LDAPOID that is - unique for this extended operation or response. This field is - optional (even when the extension specification defines an LDAPOID - for use in this field). The field will be absent whenever the server - is unable or unwilling to determine the appropriate LDAPOID to - return, for instance, when the requestName cannot be parsed or its - value is not recognized. - - Where the requestName is not recognized, the server returns - protocolError. (The server may return protocolError in other cases.) - - The requestValue and responseValue fields contain information - associated with the operation. The format of these fields is defined - by the specification of the Extended operation. Implementations MUST - be prepared to handle arbitrary contents of these fields, including - zero bytes. Values that are defined in terms of ASN.1 and BER- - encoded according to Section 5.1 also follow the extensibility rules - in Section 4. - - Servers list the requestName of Extended Requests they recognize in - the 'supportedExtension' attribute in the root DSE (Section 5.1 of - [RFC4512]). - - Extended operations may be specified in other documents. The - specification of an Extended operation consists of: - - - the OBJECT IDENTIFIER assigned to the requestName, - - - the OBJECT IDENTIFIER (if any) assigned to the responseName (note - that the same OBJECT IDENTIFIER may be used for both the - requestName and responseName), - - - - - - - -Sermersheim Standards Track [Page 38] - -RFC 4511 LDAPv3 June 2006 - - - - the format of the contents of the requestValue and responseValue - (if any), and - - - the semantics of the operation. - -4.13. IntermediateResponse Message - - While the Search operation provides a mechanism to return multiple - response messages for a single Search request, other operations, by - nature, do not provide for multiple response messages. - - The IntermediateResponse message provides a general mechanism for - defining single-request/multiple-response operations in LDAP. This - message is intended to be used in conjunction with the Extended - operation to define new single-request/multiple-response operations - or in conjunction with a control when extending existing LDAP - operations in a way that requires them to return Intermediate - response information. - - It is intended that the definitions and descriptions of Extended - operations and controls that make use of the IntermediateResponse - message will define the circumstances when an IntermediateResponse - message can be sent by a server and the associated meaning of an - IntermediateResponse message sent in a particular circumstance. - - IntermediateResponse ::= [APPLICATION 25] SEQUENCE { - responseName [0] LDAPOID OPTIONAL, - responseValue [1] OCTET STRING OPTIONAL } - - IntermediateResponse messages SHALL NOT be returned to the client - unless the client issues a request that specifically solicits their - return. This document defines two forms of solicitation: Extended - operation and request control. IntermediateResponse messages are - specified in documents describing the manner in which they are - solicited (i.e., in the Extended operation or request control - specification that uses them). These specifications include: - - - the OBJECT IDENTIFIER (if any) assigned to the responseName, - - - the format of the contents of the responseValue (if any), and - - - the semantics associated with the IntermediateResponse message. - - Extensions that allow the return of multiple types of - IntermediateResponse messages SHALL identify those types using unique - responseName values (note that one of these may specify no value). - - - - - -Sermersheim Standards Track [Page 39] - -RFC 4511 LDAPv3 June 2006 - - - Sections 4.13.1 and 4.13.2 describe additional requirements on the - inclusion of responseName and responseValue in IntermediateResponse - messages. - -4.13.1. Usage with LDAP ExtendedRequest and ExtendedResponse - - A single-request/multiple-response operation may be defined using a - single ExtendedRequest message to solicit zero or more - IntermediateResponse messages of one or more kinds, followed by an - ExtendedResponse message. - -4.13.2. Usage with LDAP Request Controls - - A control's semantics may include the return of zero or more - IntermediateResponse messages prior to returning the final result - code for the operation. One or more kinds of IntermediateResponse - messages may be sent in response to a request control. - - All IntermediateResponse messages associated with request controls - SHALL include a responseName. This requirement ensures that the - client can correctly identify the source of IntermediateResponse - messages when: - - - two or more controls using IntermediateResponse messages are - included in a request for any LDAP operation or - - - one or more controls using IntermediateResponse messages are - included in a request with an LDAP Extended operation that uses - IntermediateResponse messages. - -4.14. StartTLS Operation - - The Start Transport Layer Security (StartTLS) operation's purpose is - to initiate installation of a TLS layer. The StartTLS operation is - defined using the Extended operation mechanism described in Section - 4.12. - -4.14.1. StartTLS Request - - A client requests TLS establishment by transmitting a StartTLS - request message to the server. The StartTLS request is defined in - terms of an ExtendedRequest. The requestName is - "1.3.6.1.4.1.1466.20037", and the requestValue field is always - absent. - - - - - - - -Sermersheim Standards Track [Page 40] - -RFC 4511 LDAPv3 June 2006 - - - The client MUST NOT send any LDAP PDUs at this LDAP message layer - following this request until it receives a StartTLS Extended response - and, in the case of a successful response, completes TLS - negotiations. - - Detected sequencing problems (particularly those detailed in Section - 3.1.1 of [RFC4513]) result in the resultCode being set to - operationsError. - - If the server does not support TLS (whether by design or by current - configuration), it returns with the resultCode set to protocolError - as described in Section 4.12. - -4.14.2. StartTLS Response - - When a StartTLS request is received, servers supporting the operation - MUST return a StartTLS response message to the requestor. The - responseName is "1.3.6.1.4.1.1466.20037" when provided (see Section - 4.12). The responseValue is always absent. - - If the server is willing and able to negotiate TLS, it returns the - StartTLS response with the resultCode set to success. Upon client - receipt of a successful StartTLS response, protocol peers may - commence with TLS negotiation as discussed in Section 3 of [RFC4513]. - - If the server is otherwise unwilling or unable to perform this - operation, the server is to return an appropriate result code - indicating the nature of the problem. For example, if the TLS - subsystem is not presently available, the server may indicate this by - returning with the resultCode set to unavailable. In cases where a - non-success result code is returned, the LDAP session is left without - a TLS layer. - -4.14.3. Removal of the TLS Layer - - Either the client or server MAY remove the TLS layer and leave the - LDAP message layer intact by sending and receiving a TLS closure - alert. - - The initiating protocol peer sends the TLS closure alert and MUST - wait until it receives a TLS closure alert from the other peer before - sending further LDAP PDUs. - - When a protocol peer receives the initial TLS closure alert, it may - choose to allow the LDAP message layer to remain intact. In this - case, it MUST immediately transmit a TLS closure alert. Following - this, it MAY send and receive LDAP PDUs. - - - - -Sermersheim Standards Track [Page 41] - -RFC 4511 LDAPv3 June 2006 - - - Protocol peers MAY terminate the LDAP session after sending or - receiving a TLS closure alert. - -5. Protocol Encoding, Connection, and Transfer - - This protocol is designed to run over connection-oriented, reliable - transports, where the data stream is divided into octets (8-bit - units), with each octet and each bit being significant. - - One underlying service, LDAP over TCP, is defined in Section 5.2. - This service is generally applicable to applications providing or - consuming X.500-based directory services on the Internet. This - specification was generally written with the TCP mapping in mind. - Specifications detailing other mappings may encounter various - obstacles. - - Implementations of LDAP over TCP MUST implement the mapping as - described in Section 5.2. - - This table illustrates the relationship among the different layers - involved in an exchange between two protocol peers: - - +----------------------+ - | LDAP message layer | - +----------------------+ > LDAP PDUs - +----------------------+ < data - | SASL layer | - +----------------------+ > SASL-protected data - +----------------------+ < data - | TLS layer | - Application +----------------------+ > TLS-protected data - ------------+----------------------+ < data - Transport | transport connection | - +----------------------+ - -5.1. Protocol Encoding - - The protocol elements of LDAP SHALL be encoded for exchange using the - Basic Encoding Rules [BER] of [ASN.1] with the following - restrictions: - - - Only the definite form of length encoding is used. - - - OCTET STRING values are encoded in the primitive form only. - - - If the value of a BOOLEAN type is true, the encoding of the value - octet is set to hex "FF". - - - - -Sermersheim Standards Track [Page 42] - -RFC 4511 LDAPv3 June 2006 - - - - If a value of a type is its default value, it is absent. Only some - BOOLEAN and INTEGER types have default values in this protocol - definition. - - These restrictions are meant to ease the overhead of encoding and - decoding certain elements in BER. - - These restrictions do not apply to ASN.1 types encapsulated inside of - OCTET STRING values, such as attribute values, unless otherwise - stated. - -5.2. Transmission Control Protocol (TCP) - - The encoded LDAPMessage PDUs are mapped directly onto the TCP - [RFC793] bytestream using the BER-based encoding described in Section - 5.1. It is recommended that server implementations running over the - TCP provide a protocol listener on the Internet Assigned Numbers - Authority (IANA)-assigned LDAP port, 389 [PortReg]. Servers may - instead provide a listener on a different port number. Clients MUST - support contacting servers on any valid TCP port. - -5.3. Termination of the LDAP session - - Termination of the LDAP session is typically initiated by the client - sending an UnbindRequest (Section 4.3), or by the server sending a - Notice of Disconnection (Section 4.4.1). In these cases, each - protocol peer gracefully terminates the LDAP session by ceasing - exchanges at the LDAP message layer, tearing down any SASL layer, - tearing down any TLS layer, and closing the transport connection. - - A protocol peer may determine that the continuation of any - communication would be pernicious, and in this case, it may abruptly - terminate the session by ceasing communication and closing the - transport connection. - - In either case, when the LDAP session is terminated, uncompleted - operations are handled as specified in Section 3.1. - -6. Security Considerations - - This version of the protocol provides facilities for simple - authentication using a cleartext password, as well as any SASL - [RFC4422] mechanism. Installing SASL and/or TLS layers can provide - integrity and other data security services. - - It is also permitted that the server can return its credentials to - the client, if it chooses to do so. - - - - -Sermersheim Standards Track [Page 43] - -RFC 4511 LDAPv3 June 2006 - - - Use of cleartext password is strongly discouraged where the - underlying transport service cannot guarantee confidentiality and may - result in disclosure of the password to unauthorized parties. - - Servers are encouraged to prevent directory modifications by clients - that have authenticated anonymously [RFC4513]. - - Security considerations for authentication methods, SASL mechanisms, - and TLS are described in [RFC4513]. - - Note that SASL authentication exchanges do not provide data - confidentiality or integrity protection for the version or name - fields of the BindRequest or the resultCode, diagnosticMessage, or - referral fields of the BindResponse, nor for any information - contained in controls attached to Bind requests or responses. Thus, - information contained in these fields SHOULD NOT be relied on unless - it is otherwise protected (such as by establishing protections at the - transport layer). - - Implementors should note that various security factors (including - authentication and authorization information and data security - services) may change during the course of the LDAP session or even - during the performance of a particular operation. For instance, - credentials could expire, authorization identities or access controls - could change, or the underlying security layer(s) could be replaced - or terminated. Implementations should be robust in the handling of - changing security factors. - - In some cases, it may be appropriate to continue the operation even - in light of security factor changes. For instance, it may be - appropriate to continue an Abandon operation regardless of the - change, or to continue an operation when the change upgraded (or - maintained) the security factor. In other cases, it may be - appropriate to fail or alter the processing of the operation. For - instance, if confidential protections were removed, it would be - appropriate either to fail a request to return sensitive data or, - minimally, to exclude the return of sensitive data. - - Implementations that cache attributes and entries obtained via LDAP - MUST ensure that access controls are maintained if that information - is to be provided to multiple clients, since servers may have access - control policies that prevent the return of entries or attributes in - Search results except to particular authenticated clients. For - example, caches could serve result information only to the client - whose request caused it to be in the cache. - - - - - - -Sermersheim Standards Track [Page 44] - -RFC 4511 LDAPv3 June 2006 - - - Servers may return referrals or Search result references that - redirect clients to peer servers. It is possible for a rogue - application to inject such referrals into the data stream in an - attempt to redirect a client to a rogue server. Clients are advised - to be aware of this and possibly reject referrals when - confidentiality measures are not in place. Clients are advised to - reject referrals from the StartTLS operation. - - The matchedDN and diagnosticMessage fields, as well as some - resultCode values (e.g., attributeOrValueExists and - entryAlreadyExists), could disclose the presence or absence of - specific data in the directory that is subject to access and other - administrative controls. Server implementations should restrict - access to protected information equally under both normal and error - conditions. - - Protocol peers MUST be prepared to handle invalid and arbitrary- - length protocol encodings. Invalid protocol encodings include: BER - encoding exceptions, format string and UTF-8 encoding exceptions, - overflow exceptions, integer value exceptions, and binary mode on/off - flag exceptions. The LDAPv3 PROTOS [PROTOS-LDAP] test suite provides - excellent examples of these exceptions and test cases used to - discover flaws. - - In the event that a protocol peer senses an attack that in its nature - could cause damage due to further communication at any layer in the - LDAP session, the protocol peer should abruptly terminate the LDAP - session as described in Section 5.3. - -7. Acknowledgements - - This document is based on RFC 2251 by Mark Wahl, Tim Howes, and Steve - Kille. RFC 2251 was a product of the IETF ASID Working Group. - - It is also based on RFC 2830 by Jeff Hodges, RL "Bob" Morgan, and - Mark Wahl. RFC 2830 was a product of the IETF LDAPEXT Working Group. - - It is also based on RFC 3771 by Roger Harrison and Kurt Zeilenga. - RFC 3771 was an individual submission to the IETF. - - This document is a product of the IETF LDAPBIS Working Group. - Significant contributors of technical review and content include Kurt - Zeilenga, Steven Legg, and Hallvard Furuseth. - - - - - - - - -Sermersheim Standards Track [Page 45] - -RFC 4511 LDAPv3 June 2006 - - -8. Normative References - - [ASN.1] ITU-T Recommendation X.680 (07/2002) | ISO/IEC 8824- - 1:2002 "Information Technology - Abstract Syntax - Notation One (ASN.1): Specification of basic notation". - - [BER] ITU-T Rec. X.690 (07/2002) | ISO/IEC 8825-1:2002, - "Information technology - ASN.1 encoding rules: - Specification of Basic Encoding Rules (BER), Canonical - Encoding Rules (CER) and Distinguished Encoding Rules - (DER)", 2002. - - [ISO10646] Universal Multiple-Octet Coded Character Set (UCS) - - Architecture and Basic Multilingual Plane, ISO/IEC - 10646-1 : 1993. - - [RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, - September 1981. - - [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC - 793, September 1981. - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC3454] Hoffman P. and M. Blanchet, "Preparation of - Internationalized Strings ('stringprep')", RFC 3454, - December 2002. - - [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO - 10646", STD 63, RFC 3629, November 2003. - - [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, - "Uniform Resource Identifier (URI): Generic Syntax", - STD 66, RFC 3986, January 2005. - - [RFC4013] Zeilenga, K., "SASLprep: Stringprep Profile for User - Names and Passwords", RFC 4013, February 2005. - - [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax - Specifications: ABNF", RFC 4234, October 2005. - - [RFC4346] Dierks, T. and E. Rescorla, "The TLS Protocol Version - 1.1", RFC 4346, March 2006. - - [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple - Authentication and Security Layer (SASL)", RFC 4422, - June 2006. - - - -Sermersheim Standards Track [Page 46] - -RFC 4511 LDAPv3 June 2006 - - - [RFC4510] Zeilenga, K., Ed., "Lightweight Directory Access - Protocol (LDAP): Technical Specification Road Map", RFC - 4510, June 2006. - - [RFC4512] Zeilenga, K., Lightweight Directory Access Protocol - (LDAP): Directory Information Models", RFC 4512, June - 2006. - - [RFC4513] Harrison, R., Ed., "Lightweight Directory Access - Protocol (LDAP): Authentication Methods and Security - Mechanisms", RFC 4513, June 2006. - - [RFC4514] Zeilenga, K., Ed., "Lightweight Directory Access - Protocol (LDAP): String Representation of Distinguished - Names", RFC 4514, June 2006. - - [RFC4516] Smith, M., Ed. and T. Howes, "Lightweight Directory - Access Protocol (LDAP): Uniform Resource Locator", RFC - 4516, June 2006. - - [RFC4517] Legg, S., Ed., "Lightweight Directory Access Protocol - (LDAP): Syntaxes and Matching Rules", RFC 4517, June - 2006. - - [RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority - (IANA) Considerations for the Lightweight Directory - Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006. - - [Unicode] The Unicode Consortium, "The Unicode Standard, Version - 3.2.0" is defined by "The Unicode Standard, Version - 3.0" (Reading, MA, Addison-Wesley, 2000. ISBN 0-201- - 61633-5), as amended by the "Unicode Standard Annex - #27: Unicode 3.1" - (http://www.unicode.org/reports/tr27/) and by the - "Unicode Standard Annex #28: Unicode 3.2" - (http://www.unicode.org/reports/tr28/). - - [X.500] ITU-T Rec. X.500, "The Directory: Overview of Concepts, - Models and Service", 1993. - - [X.511] ITU-T Rec. X.511, "The Directory: Abstract Service - Definition", 1993. - - - - - - - - - -Sermersheim Standards Track [Page 47] - -RFC 4511 LDAPv3 June 2006 - - -9. Informative References - - [CharModel] Whistler, K. and M. Davis, "Unicode Technical Report - #17, Character Encoding Model", UTR17, - , August - 2000. - - [Glossary] The Unicode Consortium, "Unicode Glossary", - . - - [PortReg] IANA, "Port Numbers", - . - - [PROTOS-LDAP] University of Oulu, "PROTOS Test-Suite: c06-ldapv3" - . - -10. IANA Considerations - - The Internet Assigned Numbers Authority (IANA) has updated the LDAP - result code registry to indicate that this document provides the - definitive technical specification for result codes 0-36, 48-54, 64- - 70, 80-90. It is also noted that one resultCode value - (strongAuthRequired) has been renamed (to strongerAuthRequired). - - The IANA has also updated the LDAP Protocol Mechanism registry to - indicate that this document and [RFC4513] provides the definitive - technical specification for the StartTLS (1.3.6.1.4.1.1466.20037) - Extended operation. - - IANA has assigned LDAP Object Identifier 18 [RFC4520] to identify the - ASN.1 module defined in this document. - - Subject: Request for LDAP Object Identifier Registration - Person & email address to contact for further information: - Jim Sermersheim - Specification: RFC 4511 - Author/Change Controller: IESG - Comments: - Identifies the LDAP ASN.1 module - - - - - - - - - - - -Sermersheim Standards Track [Page 48] - -RFC 4511 LDAPv3 June 2006 - - -Appendix A. LDAP Result Codes - - This normative appendix details additional considerations regarding - LDAP result codes and provides a brief, general description of each - LDAP result code enumerated in Section 4.1.9. - - Additional result codes MAY be defined for use with extensions - [RFC4520]. Client implementations SHALL treat any result code that - they do not recognize as an unknown error condition. - - The descriptions provided here do not fully account for result code - substitutions used to prevent unauthorized disclosures (such as - substitution of noSuchObject for insufficientAccessRights, or - invalidCredentials for insufficientAccessRights). - -A.1. Non-Error Result Codes - - These result codes (called "non-error" result codes) do not indicate - an error condition: - - success (0), - compareFalse (5), - compareTrue (6), - referral (10), and - saslBindInProgress (14). - - The success, compareTrue, and compareFalse result codes indicate - successful completion (and, hence, are referred to as "successful" - result codes). - - The referral and saslBindInProgress result codes indicate the client - needs to take additional action to complete the operation. - -A.2. Result Codes - - Existing LDAP result codes are described as follows: - - success (0) - Indicates the successful completion of an operation. Note: - this code is not used with the Compare operation. See - compareFalse (5) and compareTrue (6). - - - - - - - - - - -Sermersheim Standards Track [Page 49] - -RFC 4511 LDAPv3 June 2006 - - - operationsError (1) - Indicates that the operation is not properly sequenced with - relation to other operations (of same or different type). - - For example, this code is returned if the client attempts to - StartTLS [RFC4346] while there are other uncompleted operations - or if a TLS layer was already installed. - - protocolError (2) - Indicates the server received data that is not well-formed. - - For Bind operation only, this code is also used to indicate - that the server does not support the requested protocol - version. - - For Extended operations only, this code is also used to - indicate that the server does not support (by design or - configuration) the Extended operation associated with the - requestName. - - For request operations specifying multiple controls, this may - be used to indicate that the server cannot ignore the order - of the controls as specified, or that the combination of the - specified controls is invalid or unspecified. - - timeLimitExceeded (3) - Indicates that the time limit specified by the client was - exceeded before the operation could be completed. - - sizeLimitExceeded (4) - Indicates that the size limit specified by the client was - exceeded before the operation could be completed. - - compareFalse (5) - Indicates that the Compare operation has successfully - completed and the assertion has evaluated to FALSE or - Undefined. - - compareTrue (6) - Indicates that the Compare operation has successfully - completed and the assertion has evaluated to TRUE. - - authMethodNotSupported (7) - Indicates that the authentication method or mechanism is not - supported. - - - - - - -Sermersheim Standards Track [Page 50] - -RFC 4511 LDAPv3 June 2006 - - - strongerAuthRequired (8) - Indicates the server requires strong(er) authentication in - order to complete the operation. - - When used with the Notice of Disconnection operation, this - code indicates that the server has detected that an - established security association between the client and - server has unexpectedly failed or been compromised. - - referral (10) - Indicates that a referral needs to be chased to complete the - operation (see Section 4.1.10). - - adminLimitExceeded (11) - Indicates that an administrative limit has been exceeded. - - unavailableCriticalExtension (12) - Indicates a critical control is unrecognized (see Section - 4.1.11). - - confidentialityRequired (13) - Indicates that data confidentiality protections are required. - - saslBindInProgress (14) - Indicates the server requires the client to send a new bind - request, with the same SASL mechanism, to continue the - authentication process (see Section 4.2). - - noSuchAttribute (16) - Indicates that the named entry does not contain the specified - attribute or attribute value. - - undefinedAttributeType (17) - Indicates that a request field contains an unrecognized - attribute description. - - inappropriateMatching (18) - Indicates that an attempt was made (e.g., in an assertion) to - use a matching rule not defined for the attribute type - concerned. - - constraintViolation (19) - Indicates that the client supplied an attribute value that - does not conform to the constraints placed upon it by the - data model. - - For example, this code is returned when multiple values are - supplied to an attribute that has a SINGLE-VALUE constraint. - - - -Sermersheim Standards Track [Page 51] - -RFC 4511 LDAPv3 June 2006 - - - attributeOrValueExists (20) - Indicates that the client supplied an attribute or value to - be added to an entry, but the attribute or value already - exists. - - invalidAttributeSyntax (21) - Indicates that a purported attribute value does not conform - to the syntax of the attribute. - - noSuchObject (32) - Indicates that the object does not exist in the DIT. - - aliasProblem (33) - Indicates that an alias problem has occurred. For example, - the code may used to indicate an alias has been dereferenced - that names no object. - - invalidDNSyntax (34) - Indicates that an LDAPDN or RelativeLDAPDN field (e.g., search - base, target entry, ModifyDN newrdn, etc.) of a request does - not conform to the required syntax or contains attribute - values that do not conform to the syntax of the attribute's - type. - - aliasDereferencingProblem (36) - Indicates that a problem occurred while dereferencing an - alias. Typically, an alias was encountered in a situation - where it was not allowed or where access was denied. - - inappropriateAuthentication (48) - Indicates the server requires the client that had attempted - to bind anonymously or without supplying credentials to - provide some form of credentials. - - invalidCredentials (49) - Indicates that the provided credentials (e.g., the user's name - and password) are invalid. - - insufficientAccessRights (50) - Indicates that the client does not have sufficient access - rights to perform the operation. - - busy (51) - Indicates that the server is too busy to service the - operation. - - - - - - -Sermersheim Standards Track [Page 52] - -RFC 4511 LDAPv3 June 2006 - - - unavailable (52) - Indicates that the server is shutting down or a subsystem - necessary to complete the operation is offline. - - unwillingToPerform (53) - Indicates that the server is unwilling to perform the - operation. - - loopDetect (54) - Indicates that the server has detected an internal loop (e.g., - while dereferencing aliases or chaining an operation). - - namingViolation (64) - Indicates that the entry's name violates naming restrictions. - - objectClassViolation (65) - Indicates that the entry violates object class restrictions. - - notAllowedOnNonLeaf (66) - Indicates that the operation is inappropriately acting upon a - non-leaf entry. - - notAllowedOnRDN (67) - Indicates that the operation is inappropriately attempting to - remove a value that forms the entry's relative distinguished - name. - - entryAlreadyExists (68) - Indicates that the request cannot be fulfilled (added, moved, - or renamed) as the target entry already exists. - - objectClassModsProhibited (69) - Indicates that an attempt to modify the object class(es) of - an entry's 'objectClass' attribute is prohibited. - - For example, this code is returned when a client attempts to - modify the structural object class of an entry. - - affectsMultipleDSAs (71) - Indicates that the operation cannot be performed as it would - affect multiple servers (DSAs). - - other (80) - Indicates the server has encountered an internal error. - - - - - - - -Sermersheim Standards Track [Page 53] - -RFC 4511 LDAPv3 June 2006 - - -Appendix B. Complete ASN.1 Definition - - This appendix is normative. - - Lightweight-Directory-Access-Protocol-V3 {1 3 6 1 1 18} - -- Copyright (C) The Internet Society (2006). This version of - -- this ASN.1 module is part of RFC 4511; see the RFC itself - -- for full legal notices. - DEFINITIONS - IMPLICIT TAGS - EXTENSIBILITY IMPLIED ::= - - BEGIN - - LDAPMessage ::= SEQUENCE { - messageID MessageID, - protocolOp CHOICE { - bindRequest BindRequest, - bindResponse BindResponse, - unbindRequest UnbindRequest, - searchRequest SearchRequest, - searchResEntry SearchResultEntry, - searchResDone SearchResultDone, - searchResRef SearchResultReference, - modifyRequest ModifyRequest, - modifyResponse ModifyResponse, - addRequest AddRequest, - addResponse AddResponse, - delRequest DelRequest, - delResponse DelResponse, - modDNRequest ModifyDNRequest, - modDNResponse ModifyDNResponse, - compareRequest CompareRequest, - compareResponse CompareResponse, - abandonRequest AbandonRequest, - extendedReq ExtendedRequest, - extendedResp ExtendedResponse, - ..., - intermediateResponse IntermediateResponse }, - controls [0] Controls OPTIONAL } - - MessageID ::= INTEGER (0 .. maxInt) - - maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- - - LDAPString ::= OCTET STRING -- UTF-8 encoded, - -- [ISO10646] characters - - - - -Sermersheim Standards Track [Page 54] - -RFC 4511 LDAPv3 June 2006 - - - LDAPOID ::= OCTET STRING -- Constrained to - -- [RFC4512] - - LDAPDN ::= LDAPString -- Constrained to - -- [RFC4514] - - RelativeLDAPDN ::= LDAPString -- Constrained to - -- [RFC4514] - - AttributeDescription ::= LDAPString - -- Constrained to - -- [RFC4512] - - AttributeValue ::= OCTET STRING - - AttributeValueAssertion ::= SEQUENCE { - attributeDesc AttributeDescription, - assertionValue AssertionValue } - - AssertionValue ::= OCTET STRING - - PartialAttribute ::= SEQUENCE { - type AttributeDescription, - vals SET OF value AttributeValue } - - Attribute ::= PartialAttribute(WITH COMPONENTS { - ..., - vals (SIZE(1..MAX))}) - - MatchingRuleId ::= LDAPString - - LDAPResult ::= SEQUENCE { - resultCode ENUMERATED { - success (0), - operationsError (1), - protocolError (2), - timeLimitExceeded (3), - sizeLimitExceeded (4), - compareFalse (5), - compareTrue (6), - authMethodNotSupported (7), - strongerAuthRequired (8), - -- 9 reserved -- - referral (10), - adminLimitExceeded (11), - unavailableCriticalExtension (12), - confidentialityRequired (13), - saslBindInProgress (14), - - - -Sermersheim Standards Track [Page 55] - -RFC 4511 LDAPv3 June 2006 - - - noSuchAttribute (16), - undefinedAttributeType (17), - inappropriateMatching (18), - constraintViolation (19), - attributeOrValueExists (20), - invalidAttributeSyntax (21), - -- 22-31 unused -- - noSuchObject (32), - aliasProblem (33), - invalidDNSyntax (34), - -- 35 reserved for undefined isLeaf -- - aliasDereferencingProblem (36), - -- 37-47 unused -- - inappropriateAuthentication (48), - invalidCredentials (49), - insufficientAccessRights (50), - busy (51), - unavailable (52), - unwillingToPerform (53), - loopDetect (54), - -- 55-63 unused -- - namingViolation (64), - objectClassViolation (65), - notAllowedOnNonLeaf (66), - notAllowedOnRDN (67), - entryAlreadyExists (68), - objectClassModsProhibited (69), - -- 70 reserved for CLDAP -- - affectsMultipleDSAs (71), - -- 72-79 unused -- - other (80), - ... }, - matchedDN LDAPDN, - diagnosticMessage LDAPString, - referral [3] Referral OPTIONAL } - - Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI - - URI ::= LDAPString -- limited to characters permitted in - -- URIs - - Controls ::= SEQUENCE OF control Control - - Control ::= SEQUENCE { - controlType LDAPOID, - criticality BOOLEAN DEFAULT FALSE, - controlValue OCTET STRING OPTIONAL } - - - - -Sermersheim Standards Track [Page 56] - -RFC 4511 LDAPv3 June 2006 - - - BindRequest ::= [APPLICATION 0] SEQUENCE { - version INTEGER (1 .. 127), - name LDAPDN, - authentication AuthenticationChoice } - - AuthenticationChoice ::= CHOICE { - simple [0] OCTET STRING, - -- 1 and 2 reserved - sasl [3] SaslCredentials, - ... } - - SaslCredentials ::= SEQUENCE { - mechanism LDAPString, - credentials OCTET STRING OPTIONAL } - - BindResponse ::= [APPLICATION 1] SEQUENCE { - COMPONENTS OF LDAPResult, - serverSaslCreds [7] OCTET STRING OPTIONAL } - - UnbindRequest ::= [APPLICATION 2] NULL - - SearchRequest ::= [APPLICATION 3] SEQUENCE { - baseObject LDAPDN, - scope ENUMERATED { - baseObject (0), - singleLevel (1), - wholeSubtree (2), - ... }, - derefAliases ENUMERATED { - neverDerefAliases (0), - derefInSearching (1), - derefFindingBaseObj (2), - derefAlways (3) }, - sizeLimit INTEGER (0 .. maxInt), - timeLimit INTEGER (0 .. maxInt), - typesOnly BOOLEAN, - filter Filter, - attributes AttributeSelection } - - AttributeSelection ::= SEQUENCE OF selector LDAPString - -- The LDAPString is constrained to - -- in Section 4.5.1.8 - - Filter ::= CHOICE { - and [0] SET SIZE (1..MAX) OF filter Filter, - or [1] SET SIZE (1..MAX) OF filter Filter, - not [2] Filter, - equalityMatch [3] AttributeValueAssertion, - - - -Sermersheim Standards Track [Page 57] - -RFC 4511 LDAPv3 June 2006 - - - substrings [4] SubstringFilter, - greaterOrEqual [5] AttributeValueAssertion, - lessOrEqual [6] AttributeValueAssertion, - present [7] AttributeDescription, - approxMatch [8] AttributeValueAssertion, - extensibleMatch [9] MatchingRuleAssertion, - ... } - - SubstringFilter ::= SEQUENCE { - type AttributeDescription, - substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE { - initial [0] AssertionValue, -- can occur at most once - any [1] AssertionValue, - final [2] AssertionValue } -- can occur at most once - } - - MatchingRuleAssertion ::= SEQUENCE { - matchingRule [1] MatchingRuleId OPTIONAL, - type [2] AttributeDescription OPTIONAL, - matchValue [3] AssertionValue, - dnAttributes [4] BOOLEAN DEFAULT FALSE } - - SearchResultEntry ::= [APPLICATION 4] SEQUENCE { - objectName LDAPDN, - attributes PartialAttributeList } - - PartialAttributeList ::= SEQUENCE OF - partialAttribute PartialAttribute - - SearchResultReference ::= [APPLICATION 19] SEQUENCE - SIZE (1..MAX) OF uri URI - - SearchResultDone ::= [APPLICATION 5] LDAPResult - - ModifyRequest ::= [APPLICATION 6] SEQUENCE { - object LDAPDN, - changes SEQUENCE OF change SEQUENCE { - operation ENUMERATED { - add (0), - delete (1), - replace (2), - ... }, - modification PartialAttribute } } - - ModifyResponse ::= [APPLICATION 7] LDAPResult - - - - - - -Sermersheim Standards Track [Page 58] - -RFC 4511 LDAPv3 June 2006 - - - AddRequest ::= [APPLICATION 8] SEQUENCE { - entry LDAPDN, - attributes AttributeList } - - AttributeList ::= SEQUENCE OF attribute Attribute - - AddResponse ::= [APPLICATION 9] LDAPResult - - DelRequest ::= [APPLICATION 10] LDAPDN - - DelResponse ::= [APPLICATION 11] LDAPResult - - ModifyDNRequest ::= [APPLICATION 12] SEQUENCE { - entry LDAPDN, - newrdn RelativeLDAPDN, - deleteoldrdn BOOLEAN, - newSuperior [0] LDAPDN OPTIONAL } - - ModifyDNResponse ::= [APPLICATION 13] LDAPResult - - CompareRequest ::= [APPLICATION 14] SEQUENCE { - entry LDAPDN, - ava AttributeValueAssertion } - - CompareResponse ::= [APPLICATION 15] LDAPResult - - AbandonRequest ::= [APPLICATION 16] MessageID - - ExtendedRequest ::= [APPLICATION 23] SEQUENCE { - requestName [0] LDAPOID, - requestValue [1] OCTET STRING OPTIONAL } - - ExtendedResponse ::= [APPLICATION 24] SEQUENCE { - COMPONENTS OF LDAPResult, - responseName [10] LDAPOID OPTIONAL, - responseValue [11] OCTET STRING OPTIONAL } - - IntermediateResponse ::= [APPLICATION 25] SEQUENCE { - responseName [0] LDAPOID OPTIONAL, - responseValue [1] OCTET STRING OPTIONAL } - - END - - - - - - - - - -Sermersheim Standards Track [Page 59] - -RFC 4511 LDAPv3 June 2006 - - -Appendix C. Changes - - This appendix is non-normative. - - This appendix summarizes substantive changes made to RFC 2251, RFC - 2830, and RFC 3771. - -C.1. Changes Made to RFC 2251 - - This section summarizes the substantive changes made to Sections 1, - 2, 3.1, and 4, and the remainder of RFC 2251. Readers should - consult [RFC4512] and [RFC4513] for summaries of changes to other - sections. - -C.1.1. Section 1 (Status of this Memo) - - - Removed IESG note. Post publication of RFC 2251, mandatory LDAP - authentication mechanisms have been standardized which are - sufficient to remove this note. See [RFC4513] for authentication - mechanisms. - -C.1.2. Section 3.1 (Protocol Model) and others - - - Removed notes giving history between LDAP v1, v2, and v3. Instead, - added sufficient language so that this document can stand on its - own. - -C.1.3. Section 4 (Elements of Protocol) - - - Clarified where the extensibility features of ASN.1 apply to the - protocol. This change affected various ASN.1 types by the - inclusion of ellipses (...) to certain elements. - - Removed the requirement that servers that implement version 3 or - later MUST provide the 'supportedLDAPVersion' attribute. This - statement provided no interoperability advantages. - -C.1.4. Section 4.1.1 (Message Envelope) - - - There was a mandatory requirement for the server to return a - Notice of Disconnection and drop the transport connection when a - PDU is malformed in a certain way. This has been updated such that - the server SHOULD return the Notice of Disconnection, and it MUST - terminate the LDAP Session. - -C.1.5. Section 4.1.1.1 (Message ID) - - - Required that the messageID of requests MUST be non-zero as the - zero is reserved for Notice of Disconnection. - - - -Sermersheim Standards Track [Page 60] - -RFC 4511 LDAPv3 June 2006 - - - - Specified when it is and isn't appropriate to return an already - used messageID. RFC 2251 accidentally imposed synchronous server - behavior in its wording of this. - -C.1.6. Section 4.1.2 (String Types) - - - Stated that LDAPOID is constrained to from [RFC4512]. - -C.1.7. Section 4.1.5.1 (Binary Option) and others - - - Removed the Binary Option from the specification. There are - numerous interoperability problems associated with this method of - alternate attribute type encoding. Work to specify a suitable - replacement is ongoing. - -C.1.8. Section 4.1.8 (Attribute) - - - Combined the definitions of PartialAttribute and Attribute here, - and defined Attribute in terms of PartialAttribute. - -C.1.9. Section 4.1.10 (Result Message) - - - Renamed "errorMessage" to "diagnosticMessage" as it is allowed to - be sent for non-error results. - - Moved some language into Appendix A, and referred the reader there. - - Allowed matchedDN to be present for other result codes than those - listed in RFC 2251. - - Renamed the code "strongAuthRequired" to "strongerAuthRequired" to - clarify that this code may often be returned to indicate that a - stronger authentication is needed to perform a given operation. - -C.1.10. Section 4.1.11 (Referral) - - - Defined referrals in terms of URIs rather than URLs. - - Removed the requirement that all referral URIs MUST be equally - capable of progressing the operation. The statement was ambiguous - and provided no instructions on how to carry it out. - - Added the requirement that clients MUST NOT loop between servers. - - Clarified the instructions for using LDAPURLs in referrals, and in - doing so added a recommendation that the scope part be present. - - Removed imperatives which required clients to use URLs in specific - ways to progress an operation. These did nothing for - interoperability. - - - - - - - - -Sermersheim Standards Track [Page 61] - -RFC 4511 LDAPv3 June 2006 - - -C.1.11. Section 4.1.12 (Controls) - - - Specified how control values defined in terms of ASN.1 are to be - encoded. - - Noted that the criticality field is only applied to request - messages (except UnbindRequest), and must be ignored when present - on response messages and UnbindRequest. - - Specified that non-critical controls may be ignored at the - server's discretion. There was confusion in the original wording - which led some to believe that recognized controls may not be - ignored as long as they were associated with a proper request. - - Added language regarding combinations of controls and the ordering - of controls on a message. - - Specified that when the semantics of the combination of controls - is undefined or unknown, it results in a protocolError. - - Changed "The server MUST be prepared" to "Implementations MUST be - prepared" in paragraph 8 to reflect that both client and server - implementations must be able to handle this (as both parse - controls). - -C.1.12. Section 4.2 (Bind Operation) - - - Mandated that servers return protocolError when the version is not - supported. - - Disambiguated behavior when the simple authentication is used, the - name is empty, and the password is non-empty. - - Required servers to not dereference aliases for Bind. This was - added for consistency with other operations and to help ensure - data consistency. - - Required that textual passwords be transferred as UTF-8 encoded - Unicode, and added recommendations on string preparation. This was - to help ensure interoperability of passwords being sent from - different clients. - -C.1.13. Section 4.2.1 (Sequencing of the Bind Request) - - - This section was largely reorganized for readability, and language - was added to clarify the authentication state of failed and - abandoned Bind operations. - - Removed: "If a SASL transfer encryption or integrity mechanism has - been negotiated, that mechanism does not support the changing of - credentials from one identity to another, then the client MUST - instead establish a new connection." - If there are dependencies between multiple negotiations of a - particular SASL mechanism, the technical specification for that - SASL mechanism details how applications are to deal with them. - LDAP should not require any special handling. - - Dropped MUST imperative in paragraph 3 to align with [RFC2119]. - - - -Sermersheim Standards Track [Page 62] - -RFC 4511 LDAPv3 June 2006 - - - - Mandated that clients not send non-Bind operations while a Bind is - in progress, and suggested that servers not process them if they - are received. This is needed to ensure proper sequencing of the - Bind in relationship to other operations. - -C.1.14. Section 4.2.3 (Bind Response) - - - Moved most error-related text to Appendix A, and added text - regarding certain errors used in conjunction with the Bind - operation. - - Prohibited the server from specifying serverSaslCreds when not - appropriate. - -C.1.15. Section 4.3 (Unbind Operation) - - - Specified that both peers are to cease transmission and terminate - the LDAP session for the Unbind operation. - -C.1.16. Section 4.4 (Unsolicited Notification) - - - Added instructions for future specifications of Unsolicited - Notifications. - -C.1.17. Section 4.5.1 (Search Request) - - - SearchRequest attributes is now defined as an AttributeSelection - type rather than AttributeDescriptionList, and an ABNF is - provided. - - SearchRequest attributes may contain duplicate attribute - descriptions. This was previously prohibited. Now servers are - instructed to ignore subsequent names when they are duplicated. - This was relaxed in order to allow different short names and also - OIDs to be requested for an attribute. - - The present search filter now evaluates to Undefined when the - specified attribute is not known to the server. It used to - evaluate to FALSE, which caused behavior inconsistent with what - most would expect, especially when the 'not' operator was used. - - The Filter choice SubstringFilter substrings type is now defined - with a lower bound of 1. - - The SubstringFilter substrings 'initial, 'any', and 'final' types - are now AssertionValue rather than LDAPString. Also, added - imperatives stating that 'initial' (if present) must be listed - first, and 'final' (if present) must be listed last. - - Disambiguated the semantics of the derefAliases choices. There was - question as to whether derefInSearching applied to the base object - in a wholeSubtree Search. - - Added instructions for equalityMatch, substrings, greaterOrEqual, - lessOrEqual, and approxMatch. - - - -Sermersheim Standards Track [Page 63] - -RFC 4511 LDAPv3 June 2006 - - - -C.1.18. Section 4.5.2 (Search Result) - - - Recommended that servers not use attribute short names when it - knows they are ambiguous or may cause interoperability problems. - - Removed all mention of ExtendedResponse due to lack of - implementation. - -C.1.19. Section 4.5.3 (Continuation References in the Search Result) - - - Made changes similar to those made to Section 4.1.11. - -C.1.20. Section 4.5.3.1 (Example) - - - Fixed examples to adhere to changes made to Section 4.5.3. - -C.1.21. Section 4.6 (Modify Operation) - - - Replaced AttributeTypeAndValues with Attribute as they are - equivalent. - - Specified the types of modification changes that might - temporarily violate schema. Some readers were under the impression - that any temporary schema violation was allowed. - -C.1.22. Section 4.7 (Add Operation) - - - Aligned Add operation with X.511 in that the attributes of the RDN - are used in conjunction with the listed attributes to create the - entry. Previously, Add required that the distinguished values be - present in the listed attributes. - - Removed requirement that the objectClass attribute MUST be - specified as some DSE types do not require this attribute. - Instead, generic wording was added, requiring the added entry to - adhere to the data model. - - Removed recommendation regarding placement of objects. This is - covered in the data model document. - -C.1.23. Section 4.9 (Modify DN Operation) - - - Required servers to not dereference aliases for Modify DN. This - was added for consistency with other operations and to help ensure - data consistency. - - Allow Modify DN to fail when moving between naming contexts. - - Specified what happens when the attributes of the newrdn are not - present on the entry. - - - - - - -Sermersheim Standards Track [Page 64] - -RFC 4511 LDAPv3 June 2006 - - -C.1.24. Section 4.10 (Compare Operation) - - - Specified that compareFalse means that the Compare took place and - the result is false. There was confusion that led people to - believe that an Undefined match resulted in compareFalse. - - Required servers to not dereference aliases for Compare. This was - added for consistency with other operations and to help ensure - data consistency. - -C.1.25. Section 4.11 (Abandon Operation) - - - Explained that since Abandon returns no response, clients should - not use it if they need to know the outcome. - - Specified that Abandon and Unbind cannot be abandoned. - -C.1.26. Section 4.12 (Extended Operation) - - - Specified how values of Extended operations defined in terms of - ASN.1 are to be encoded. - - Added instructions on what Extended operation specifications - consist of. - - Added a recommendation that servers advertise supported Extended - operations. - -C.1.27. Section 5.2 (Transfer Protocols) - - - Moved referral-specific instructions into referral-related - sections. - -C.1.28. Section 7 (Security Considerations) - - - Reworded notes regarding SASL not protecting certain aspects of - the LDAP Bind messages. - - Noted that Servers are encouraged to prevent directory - modifications by clients that have authenticated anonymously - [RFC4513]. - - Added a note regarding the possibility of changes to security - factors (authentication, authorization, and data confidentiality). - - Warned against following referrals that may have been injected in - the data stream. - - Noted that servers should protect information equally, whether in - an error condition or not, and mentioned matchedDN, - diagnosticMessage, and resultCodes specifically. - - Added a note regarding malformed and long encodings. - - - - - - - -Sermersheim Standards Track [Page 65] - -RFC 4511 LDAPv3 June 2006 - - -C.1.29. Appendix A (Complete ASN.1 Definition) - - - Added "EXTENSIBILITY IMPLIED" to ASN.1 definition. - - Removed AttributeType. It is not used. - -C.2. Changes Made to RFC 2830 - - This section summarizes the substantive changes made to Sections of - RFC 2830. Readers should consult [RFC4513] for summaries of changes - to other sections. - -C.2.1. Section 2.3 (Response other than "success") - - - Removed wording indicating that referrals can be returned from - StartTLS. - - Removed requirement that only a narrow set of result codes can be - returned. Some result codes are required in certain scenarios, but - any other may be returned if appropriate. - - Removed requirement that the ExtendedResponse.responseName MUST be - present. There are circumstances where this is impossible, and - requiring this is at odds with language in Section 4.12. - -C.2.1. Section 4 (Closing a TLS Connection) - - - Reworded most of this section to align with definitions of the - LDAP protocol layers. - - Removed instructions on abrupt closure as this is covered in other - areas of the document (specifically, Section 5.3) - -C.3. Changes Made to RFC 3771 - - - Rewrote to fit into this document. In general, semantics were - preserved. Supporting and background language seen as redundant - due to its presence in this document was omitted. - - - Specified that Intermediate responses to a request may be of - different types, and one of the response types may be specified to - have no response value. - - - - - - - - - - - - - -Sermersheim Standards Track [Page 66] - -RFC 4511 LDAPv3 June 2006 - - -Editor's Address - - Jim Sermersheim - Novell, Inc. - 1800 South Novell Place - Provo, Utah 84606, USA - - Phone: +1 801 861-3088 - EMail: jimse@novell.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sermersheim Standards Track [Page 67] - -RFC 4511 LDAPv3 June 2006 - - -Full Copyright Statement - - Copyright (C) The Internet Society (2006). - - This document is subject to the rights, licenses and restrictions - contained in BCP 78, and except as set forth therein, the authors - retain all their rights. - - This document and the information contained herein are provided on an - "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS - OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET - ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE - INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Intellectual Property - - The IETF takes no position regarding the validity or scope of any - Intellectual Property Rights or other rights that might be claimed to - pertain to the implementation or use of the technology described in - this document or the extent to which any license under such rights - might or might not be available; nor does it represent that it has - made any independent effort to identify any such rights. Information - on the procedures with respect to rights in RFC documents can be - found in BCP 78 and BCP 79. - - Copies of IPR disclosures made to the IETF Secretariat and any - assurances of licenses to be made available, or the result of an - attempt made to obtain a general license or permission for the use of - such proprietary rights by implementers or users of this - specification can be obtained from the IETF on-line IPR repository at - http://www.ietf.org/ipr. - - The IETF invites any interested party to bring to its attention any - copyrights, patents or patent applications, or other proprietary - rights that may cover technology that may be required to implement - this standard. Please address the information to the IETF at - ietf-ipr@ietf.org. - -Acknowledgement - - Funding for the RFC Editor function is provided by the IETF - Administrative Support Activity (IASA). - - - - - - - -Sermersheim Standards Track [Page 68] - diff --git a/examples/sample.makefile.regen b/examples/sample.makefile.regen deleted file mode 100644 index 53c709b..0000000 --- a/examples/sample.makefile.regen +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/sh -# -# This script attempts to compile the given ASN.1 specification by first -# building the specialized Makefile. -# -# The information which is necessary for this script is passed from the -# Makefile which is going to be replaced with an updated Makefile. -# - -if test -z "$ASN_PDU" \ - -o -z "$ASN_MODULES" \ - -o -z "$ASN_PROGRAM" \ -; then - cat <<-NOTE - ASN_CMDOPTS="$ASN_CMDOPTS" - ASN_MODULES="$ASN_MODULES" - ASN_PDU="$ASN_PDU" - ASN_PROGRAM="$ASN_PROGRAM" - ASN_PDU, ASN_MODULES, and ASN_PROGRAM are mandatory. -NOTE - exit 1 -fi - -EFFECTIVE_CMDOPTS="-pdu=${ASN_PDU} ${ASN_CMDOPTS} ${ASN_MODULES}" - -if test -x ../../asn1c/asn1c ; then - echo "Compiling ${ASN_MODULES} using local compiler" - ../../asn1c/asn1c -S ../../skeletons ${EFFECTIVE_CMDOPTS} || exit $? -else - echo "Compiling ${ASN_MODULES} using system compiler" - asn1c ${EFFECTIVE_CMDOPTS} || exit $? -fi - -if test ! -f converter-example.mk ; then - echo "converter-example.mk is missing" - exit 1 -fi - -EXTRA_CFLAGS="-DJUNKTEST -D_DEFAULT_SOURCE" -test -f config.h && EXTRA_CFLAGS="-DHAVE_CONFIG_H ${EXTRA_CFLAGS}" -test -n "$TITLE" && EXTRA_CFLAGS="-DASN_CONVERTER_TITLE=\"$TITLE\" ${EXTRA_CFLAGS}" - -{ - echo "ASN_PROGRAM = ${ASN_PROGRAM}" - echo "CFLAGS += ${EXTRA_CFLAGS}" - echo "begin: ${ASN_PDU}.c maybe-wip-pause all" - echo - echo "-include converter-example.mk" - echo - echo "${ASN_PDU}.c: $0 ${ASN_MODULES}" - echo " make regen-makefile" - echo " @touch ${ASN_PDU}.c" - echo " make" - echo - echo "regen-makefile:" - test -n "$TITLE" && echo " TITLE=\"$TITLE\" \\" - echo " ASN_CMDOPTS=\"${ASN_CMDOPTS}\" \\" - echo " ASN_MODULES=\"${ASN_MODULES}\" \\" - echo " ASN_PDU=${ASN_PDU} \\" - echo " ASN_PROGRAM=${ASN_PROGRAM} \\" - echo " $0" - echo - echo 'check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per check-aper' - echo ' @echo ================' - echo ' @echo All tests passed' - echo ' @echo ================' - echo - echo 'check-ber:' - echo " @if test -f sample-${ASN_PDU}-1.[db]er ; then \\" - echo " for f in sample-*-*.[db]er; do \\" - echo ' pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \' - echo ' diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \' - echo ' rm -f ./.tmp.[12].$$$$; \' - echo ' echo "Test junking $$f (please wait)..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \' - echo ' done; done; fi' - echo - echo 'check-xer:' - echo " @if test -f sample-${ASN_PDU}-1.xer ; then \\" - echo " for f in sample-*-*.xer; do \\" - echo ' pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \' - echo ' diff $$f ./.tmp.2.$$$$ || exit 4; \' - echo ' rm -f ./.tmp.[12].$$$$; \' - echo ' echo "Test junking $$f (please wait)..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \' - echo ' done; done; fi' - echo - echo 'check-oer:' - echo " @if test -f sample-${ASN_PDU}-1.*oer ; then \\" - echo " for f in sample-*-*.*oer; do \\" - echo ' pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \' - echo ' diff $$f ./.tmp.2.$$$$ || exit 4; \' - echo ' rm -f ./.tmp.[12].$$$$; \' - echo ' echo "Test junking $$f (please wait) ($$b) ..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \' - echo ' done; done; fi' - echo - echo 'check-per:' - echo " @if test -f sample-${ASN_PDU}-1-nopad.per ; then \\" - echo " for f in sample-*-[1-9]-nopad.per; do \\" - echo ' pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \' - echo ' diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \' - echo ' rm -f ./.tmp.[123].$$$$; \' - echo ' echo "Test junking $$f (please wait)..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \' - echo ' done; done; fi' - echo " @if test -f sample-${ASN_PDU}-1.per ; then \\" - echo " for f in sample-*-[1-9].per; do \\" - echo ' pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \' - echo ' diff $$f ./.tmp.1.$$$$ || exit 6; \' - echo ' rm -f ./.tmp.[12].$$$$; \' - echo ' echo "Test junking $$f (please wait)..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \' - echo ' done; done; fi' - echo - echo 'check-aper:' - echo " @files=\$\$(find . -type f -regex '^.*\/sample-.*-[0-9]+.aper\$\$' | sort -V); \\" - echo ' if [ -n "$$files" ]; then \' - echo ' for f in $$files; do \' - echo ' pdu=`echo $$f | sed -E -e "s/.*sample-([A-Za-z0-9-]+)-[0-9]+.*/\\1/"`; \' - echo ' for b in 1 17 33 980 8192; do \' - echo ' echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -iaper -oxer $$f > ./.tmp.1.$$$$ || exit 3; \' - echo ' ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oaper ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \' - echo ' diff $$f ./.tmp.2.$$$$ || exit 6; \' - echo ' rm -f ./.tmp.[12].$$$$; \' - echo ' echo "Test junking $$f (please wait)..."; \' - echo ' ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iaper -onull $$f || exit 7; \' - echo ' ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iaper -onull $$f || exit 8; \' - echo ' done; done; fi' - echo - echo "maybe-wip-pause:" - echo " @if [ -f WIP ]; then cat WIP; sleep 2; fi" - echo - echo "distclean: clean" - echo ' rm -f $(ASN_MODULE_SRCS)' - echo ' rm -f $(ASN_MODULE_HDRS)' - echo ' rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS)' - echo " rm -f converter-example.mk" -} > Makefile - -echo -echo "Makefile generation finished" diff --git a/examples/sample.source.1609.2/Makefile b/examples/sample.source.1609.2/Makefile deleted file mode 100644 index f961604..0000000 --- a/examples/sample.source.1609.2/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -ASN_PROGRAM = 1609-2-dump -CFLAGS += -DASN_CONVERTER_TITLE="IEEE 1609.2-2016 decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: Certificate.c maybe-wip-pause all - --include converter-example.mk - -Certificate.c: ../sample.makefile.regen ../IEEE-1609.2-2016.asn1 - make regen-makefile - @touch Certificate.c - make - -regen-makefile: - TITLE="IEEE 1609.2-2016 decoder" \ - ASN_CMDOPTS="-pdu=auto -pdu=Ieee1609Dot2Data -fcompound-names" \ - ASN_MODULES="../IEEE-1609.2-2016.asn1" \ - ASN_PDU=Certificate \ - ASN_PROGRAM=1609-2-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-Certificate-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-Certificate-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-Certificate-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-Certificate-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-Certificate-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.1609.2/README b/examples/sample.source.1609.2/README deleted file mode 100644 index 1886808..0000000 --- a/examples/sample.source.1609.2/README +++ /dev/null @@ -1,46 +0,0 @@ - -GENERAL INFORMATION -=================== - -The IEEE 1609.2-2016 "Wireless Access in Vehicular Environments -- -Security Services for Applications and Management Messages" messages decoder. -Invoking `make` will compile the ASN.1 specifications from the -../IEEE-1609.2-2016.asn1 file. - -THERE IS NO IEEE-1609.2-2016.asn1 FILE THERE YET! - -OBTAINING THE IEEE 1609.2-2016 SPECIFICATION -============================================ - -Download the standard containing the ASN.1 module files from -https://standards.ieee.org/findstds/standard/1609.2-2016.html - -You should extract the ASN.1 modules from there and save it -into a single ../IEEE-1609.2-2016.asn1 file. This file should start with -the following line - - IEEE1609dot2BaseTypes {iso(1) identified-organization(3) ieee(111) - -or - - IEEE1609dot2 {iso(1) identified-organization(3) ieee(111) - -(both of these modules should be present in the file; order is unimportant) -and end with the "END" token. -Be careful not to copy any non-ASN.1 preambles from that .DOC file. - -After obtaining the IEEE-1609.2-2016.asn1, type `make` in the directory -containing this README file. - -1609-2-dump USAGE -================= - -The 1609-2-dump utility may be used to dump the contents of the -OER-encoded Certificate file: - - ./1609-2-dump 1609cert.oer # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./1609-2-dump -h - diff --git a/examples/sample.source.1609.2/config.h b/examples/sample.source.1609.2/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.1609.2/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.1609.2/sample-Certificate-1.coer b/examples/sample.source.1609.2/sample-Certificate-1.coer deleted file mode 100644 index 3d5c5aaa042302ab4dfd0ccbb38d030144f3fe80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmV;z06qVJ0|0=pBPJNWUT;-cff#mWXlY|?Wi51Nb963ccwudDY-KKEZ*5+0TL1z9 z3XdFy01ATv0)PMvfB+%^0e}G`fCGa70RaM_fdK-*V1NMvfB_?cfC2#kfdT)(fPjJs z!@zK`K)^r{fHMaT1p&?s3J3-PdjRk-(gW%Qz6k?>fC#b!0R#dH4FL=R1;F?Vu|@(p wG>sQPTpEN?QPc(!045jDPHQCze*^UbtqgB35?OR`4Kbz<(eDxj4o!kFtLOwdIRF3v diff --git a/examples/sample.source.1609.2/sample-Certificate-1.xer b/examples/sample.source.1609.2/sample-Certificate-1.xer deleted file mode 100644 index 3bbed36..0000000 --- a/examples/sample.source.1609.2/sample-Certificate-1.xer +++ /dev/null @@ -1,95 +0,0 @@ - - 3 - - - AF 23 26 18 BE 5E 6F 55 - - - - vehicle-test.example.com - - 5E 6F 5B - 2 - - 17469212 - - 10 - - - - - 12 - - 34 - - - - - - 35 - - 83 00 01 - - - - - - - - - 2 - 0 - - 11000000 - - - - - - - 35 - - - - - - 256 - - - - - - - 1 - -1 - - 11000000 - - - - - - - - 08 C3 C0 70 B0 40 C0 40 10 80 33 07 0D 05 01 CE - 0C 0A 08 06 01 7B 00 F0 30 D2 03 EA 04 BE 09 03 - - - - - - - - - - 08 B2 03 01 04 02 0A 0D 01 0C 01 05 C0 F8 0B B1 - 46 02 39 34 8D 17 40 5C 1A 84 51 51 D4 06 12 00 - - - - 26 17 CF 4E 6B 25 09 7F 03 F5 02 AD 0C 6F 2F 12 - 59 74 70 0D 31 A6 0F D1 EF 12 04 0E 4D 82 31 AB - - - - diff --git a/examples/sample.source.1609.2/sample-Certificate-2.coer b/examples/sample.source.1609.2/sample-Certificate-2.coer deleted file mode 100644 index 3664469bb21726cb3d8156bf92e771053aad0e61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmZQzW^9=7m_v63UkYPD6UT(|B3ZW6j0ti1(G1Lt7F&v27+jkfnHv~*8W@xs7%UhW s8yMRg7#f?H1$uw)t|~7tC@ZNqwF{fc%Fo2a%)-pgmywc}nw|I%0A7e0xBvhE diff --git a/examples/sample.source.1609.2/sample-Certificate-2.xer b/examples/sample.source.1609.2/sample-Certificate-2.xer deleted file mode 100644 index 6afaab9..0000000 --- a/examples/sample.source.1609.2/sample-Certificate-2.xer +++ /dev/null @@ -1,46 +0,0 @@ - - 3 - - - 90 E3 08 2D A8 0E 64 01 - - - - 90 77 72 1D 06 CB 01 60 - - 5E 6F 5B - 3 - - 20493427 - - 69 - - - - - 12 - - 34 - - 56 - - - - - - 135 - - - - - - - - - 03 10 8D FB BB 7A 77 77 70 76 74 7F 35 3E 56 99 - 05 0F 02 02 03 04 03 0B 0E 68 64 6E 65 6B 61 E1 - - - - - diff --git a/examples/sample.source.1609.2/sample-Ieee1609Dot2Data-1.coer b/examples/sample.source.1609.2/sample-Ieee1609Dot2Data-1.coer deleted file mode 100644 index 49907a7f35cb7d8440fdf8d87546aa209ca4985d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmZQ>WN=_^5MW^8=PUhnfPv$$dI9$&85Rdd1qKH8Jl!d6C5?=X49tuTx5~2l)cY^l z1~fD8wU>q2Ll%u3m*?V z2hTeu7Cv@HW(F1}PA(?41vZR)T%1fiyetf?4BcGsESN>RK9w7@ure@n^D%HTvGD@{ DIG`z% diff --git a/examples/sample.source.J2735/Makefile b/examples/sample.source.J2735/Makefile deleted file mode 100644 index 0f4ec9b..0000000 --- a/examples/sample.source.J2735/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -ASN_PROGRAM = j2735-dump -CFLAGS += -DASN_CONVERTER_TITLE="J2735 DSRC decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: MessageFrame.c maybe-wip-pause all - --include converter-example.mk - -MessageFrame.c: ../sample.makefile.regen ../J2735_201603.asn1 - make regen-makefile - @touch MessageFrame.c - make - -regen-makefile: - TITLE="J2735 DSRC decoder" \ - ASN_CMDOPTS="-fcompound-names -pdu=auto" \ - ASN_MODULES="../J2735_201603.asn1" \ - ASN_PDU=MessageFrame \ - ASN_PROGRAM=j2735-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-MessageFrame-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-MessageFrame-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-MessageFrame-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-MessageFrame-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-MessageFrame-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.J2735/README b/examples/sample.source.J2735/README deleted file mode 100644 index 1e0697f..0000000 --- a/examples/sample.source.J2735/README +++ /dev/null @@ -1,40 +0,0 @@ - -GENERAL INFORMATION -=================== - -The SAE J2735-201603 Dedicated Short Range Communications (DSRC) -Message Set Dictionary decoder. -Invoking `make` will compile the ASN.1 specifications from the -../J2735_201603.asn1 file. - -THERE IS NO J2735_201603.asn1 FILE THERE YET! - -OBTAINING THE J2735 SPECIFICATION -================================= - -Go to http://standards.sae.org/j2735_201603/ and download the files. - -You should extract the ASN.1 module from there and save it -as the ../J2735_201603.asn1 file. This file should start with -the following line - - DSRC DEFINITIONS AUTOMATIC TAGS ::= - -and end with the "END" token. -Be careful not to copy any non-ASN.1 preambles from that .DOC file. - -After obtaining the J2735_201603.asn1, type `make` in the directory -containing this README file. - -j2735-dump USAGE -================ - -The j2735-dump utility may be used to dump the contents of the -UPER-encoded DSRC message record file: - - ./j2735-dump j2735file.per # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./j2735-dump -h - diff --git a/examples/sample.source.J2735/config.h b/examples/sample.source.J2735/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.J2735/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.J2735/sample-MessageFrame-1.der b/examples/sample.source.J2735/sample-MessageFrame-1.der deleted file mode 100644 index fbb27e641fa817d382d4b7b44202a0183179c74c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmXqL+|# zZvn=K|~YN51@KR1K|c{#{d5tK|~W1 z``2cWg^So5nCkxn^&2!!2RnMAL1Q1t(UFZT{}~t_5guP@e$+NtS3^ diff --git a/examples/sample.source.J2735/sample-MessageFrame-1.per b/examples/sample.source.J2735/sample-MessageFrame-1.per deleted file mode 100644 index f9b69e3e96984fc16f8fd0278afdee9220ad9aac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmZP&u?=GY0?T - 20 - - - - 88 - 00 00 00 00 - 59000 - 511041141 - -1341224725 - 188 - - 255 - 255 - 65535 - - - 0 - 15290 - 127 - - 2001 - 2001 - -127 - 0 - - - - 10000 - - - - - - - - - 0 - 0 - - - - - 0 - - - - - - -131072 - -131072 - -2048 - 1 - - - 131071 - 131071 - 2037 - 65535 - - - - - 32767 - 0 - - - - - - - - - - 20 - - - - 89 - FF 00 00 01 - 59000 - 511041141 - -1341224725 - 188 - - 255 - 255 - 65535 - - - 0 - 15290 - 127 - - 2001 - 2001 - -127 - 0 - - - - 10000 - - - - - - - - - 0 - 0 - - - - - 0 - - - - - - 0 - 0 - 0 - 1 - - - - - 0 - 0 - - - - - - - - diff --git a/examples/sample.source.LDAP3/Makefile b/examples/sample.source.LDAP3/Makefile deleted file mode 100644 index 96238fe..0000000 --- a/examples/sample.source.LDAP3/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -ASN_PROGRAM = ldap3dump -CFLAGS += -DASN_CONVERTER_TITLE="Lightweight Directory Access Protocol V3 decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: LDAPMessage.c maybe-wip-pause all - --include converter-example.mk - -LDAPMessage.c: ../sample.makefile.regen ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1 - make regen-makefile - @touch LDAPMessage.c - make - -regen-makefile: - TITLE="Lightweight Directory Access Protocol V3 decoder" \ - ASN_CMDOPTS="-fcompound-names" \ - ASN_MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \ - ASN_PDU=LDAPMessage \ - ASN_PROGRAM=ldap3dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-LDAPMessage-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-LDAPMessage-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-LDAPMessage-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-LDAPMessage-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-LDAPMessage-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.LDAP3/README b/examples/sample.source.LDAP3/README deleted file mode 100644 index c1b08b8..0000000 --- a/examples/sample.source.LDAP3/README +++ /dev/null @@ -1,21 +0,0 @@ - -GENERAL INFORMATION -=================== - -The LDAPv3 (Lightweight Directory Access Protocol) PDU decoder. -Invoking `make` will compile the ASN.1 specifications from the rfc4511.txt -in the above directory. - -This LDAP decoder has been successfully tested against the PROTOS c06-ldapv3 -security test suite: -http://www.ee.oulu.fi/research/ouspg/protos/testing/c06/ldapv3/index.html - -ldap3dump USAGE -============== - - ./ldap3dump LDAPMessage.ber # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./ldap3dump -h - diff --git a/examples/sample.source.LDAP3/config.h b/examples/sample.source.LDAP3/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.LDAP3/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.LDAP3/sample-LDAPMessage-1.ber b/examples/sample.source.LDAP3/sample-LDAPMessage-1.ber deleted file mode 100644 index 78b2ab5..0000000 --- a/examples/sample.source.LDAP3/sample-LDAPMessage-1.ber +++ /dev/null @@ -1 +0,0 @@ -0 ` uid=a,dc=com€password \ No newline at end of file diff --git a/examples/sample.source.LTE-RRC/Makefile b/examples/sample.source.LTE-RRC/Makefile deleted file mode 100644 index c61b6b5..0000000 --- a/examples/sample.source.LTE-RRC/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -ASN_PROGRAM = rrc-dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: DL-DCCH-Message.c maybe-wip-pause all - --include converter-example.mk - -DL-DCCH-Message.c: ../sample.makefile.regen ../lte-rrc-14.4.0.asn1 - make regen-makefile - @touch DL-DCCH-Message.c - make - -regen-makefile: - ASN_CMDOPTS="-pdu=auto -fcompound-names -no-gen-OER" \ - ASN_MODULES="../lte-rrc-14.4.0.asn1" \ - ASN_PDU=DL-DCCH-Message \ - ASN_PROGRAM=rrc-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-DL-DCCH-Message-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-DL-DCCH-Message-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-DL-DCCH-Message-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-DL-DCCH-Message-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-DL-DCCH-Message-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.LTE-RRC/README b/examples/sample.source.LTE-RRC/README deleted file mode 100644 index 5c73304..0000000 --- a/examples/sample.source.LTE-RRC/README +++ /dev/null @@ -1,38 +0,0 @@ - -GENERAL INFORMATION -=================== - -The 3GPP TS 36.331 version 14.2.1 Radio Resource Control (RRC) Unaligned PER decoder. -Invoking `make` will compile the ASN.1 specifications from the -../lte-rrc-14.2.1.asn1 file. - -Currently only Makefile and binary sample in this directory. - -OBTAINING THE LTE-RRC SPECIFICATION -=================================== - -To obtain this LTE-RRC ASN.1 specification or other version, you should go to - http://www.3gpp.org/ftp/Specs/html-info/36331.htm -and download any version of LTE-RRC specification you like. - -A .ZIP file with a Microsoft Word .DOC files will download shortly. - -You should extract the ASN.1 modules from that .DOC file. -Be careful not to copy any preambles, chapter titles and other non-ASN.1 text. - -lte-rrc-dump USAGE -================== - -The lte-rrc-dump utility may be used to dump the contents of a Unaligned PER-encoded -LTE-RRC protocol data unit. Since LTE-RRC specification contains multiple PDUs, -a PDU must be selected manually using -p command line option: - - ./lte-rrc-dump -iper -p DL-DCCH-Message message.per - ./lte-rrc-dump -iper -p PCCH-Message message.per - -The list of recognized PDUs may be obtained using `-p list`. - -The full list of recognized command line options may be obtained with - - > ./lte-rrc-dump -h - diff --git a/examples/sample.source.LTE-RRC/config.h b/examples/sample.source.LTE-RRC/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.LTE-RRC/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.LTE-RRC/sample-BCCH-BCH-Message-1.per b/examples/sample.source.LTE-RRC/sample-BCCH-BCH-Message-1.per deleted file mode 100644 index 03f57907cb810eab402948f34b87741557e66213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3 KcmZ2c!vFvR^8qCQ diff --git a/examples/sample.source.MEGACO/Makefile b/examples/sample.source.MEGACO/Makefile deleted file mode 100644 index 069ba99..0000000 --- a/examples/sample.source.MEGACO/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -ASN_PROGRAM = megaco-dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: MegacoMessage.c maybe-wip-pause all - --include converter-example.mk - -MegacoMessage.c: ../sample.makefile.regen ../rfc3525-MEDIA-GATEWAY-CONTROL.asn1 - make regen-makefile - @touch MegacoMessage.c - make - -regen-makefile: - ASN_CMDOPTS="-fcompound-names" \ - ASN_MODULES="../rfc3525-MEDIA-GATEWAY-CONTROL.asn1" \ - ASN_PDU=MegacoMessage \ - ASN_PROGRAM=megaco-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-MegacoMessage-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-MegacoMessage-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-MegacoMessage-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-MegacoMessage-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-MegacoMessage-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.MEGACO/README b/examples/sample.source.MEGACO/README deleted file mode 100644 index 7f829ed..0000000 --- a/examples/sample.source.MEGACO/README +++ /dev/null @@ -1,17 +0,0 @@ - -GENERAL INFORMATION -=================== - -The MEGACO (Media Gateway Control Protocol) PDU decoder. -Invoking `make` will compile the ASN.1 specifications from the rfc3525.txt -in the above directory. - -megaco-dump USAGE -================= - - ./megaco-dump MegacoMessage.ber # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./megaco-dump -h - diff --git a/examples/sample.source.MEGACO/config.h b/examples/sample.source.MEGACO/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.MEGACO/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.MHEG5/Makefile b/examples/sample.source.MHEG5/Makefile deleted file mode 100644 index 6229c1d..0000000 --- a/examples/sample.source.MHEG5/Makefile +++ /dev/null @@ -1,553 +0,0 @@ -ASN_MODULE_SRCS= \ - InterchangedObject.c \ - RootClass.c \ - GroupClass.c \ - StandardIdentifier.c \ - GroupItem.c \ - ApplicationClass.c \ - DefaultAttribute.c \ - FontBody.c \ - SceneClass.c \ - SceneCoordinateSystem.c \ - AspectRatio.c \ - NextScene.c \ - IngredientClass.c \ - ContentBody.c \ - ReferencedContent.c \ - LinkClass.c \ - LinkCondition.c \ - EventType.c \ - EventData.c \ - ProgramClass.c \ - ResidentProgramClass.c \ - RemoteProgramClass.c \ - InterchangedProgramClass.c \ - PaletteClass.c \ - FontClass.c \ - CursorShapeClass.c \ - VariableClass.c \ - OriginalValue.c \ - BooleanVariableClass.c \ - IntegerVariableClass.c \ - OctetStringVariableClass.c \ - ObjectRefVariableClass.c \ - ContentRefVariableClass.c \ - PresentableClass.c \ - TokenManagerClass.c \ - Movement.c \ - TokenGroupClass.c \ - TokenGroupItem.c \ - ActionSlot.c \ - ListGroupClass.c \ - VisibleClass.c \ - OriginalBoxSize.c \ - BitmapClass.c \ - LineArtClass.c \ - RectangleClass.c \ - DynamicLineArtClass.c \ - TextClass.c \ - Justification.c \ - LineOrientation.c \ - StartCorner.c \ - StreamClass.c \ - StreamComponent.c \ - Storage.c \ - AudioClass.c \ - VideoClass.c \ - Termination.c \ - RTGraphicsClass.c \ - InteractibleClass.c \ - SliderClass.c \ - Orientation.c \ - SliderStyle.c \ - EntryFieldClass.c \ - InputType.c \ - HyperTextClass.c \ - ButtonClass.c \ - HotspotClass.c \ - PushButtonClass.c \ - SwitchButtonClass.c \ - ButtonStyle.c \ - ActionClass.c \ - ElementaryAction.c \ - Add.c \ - AddItem.c \ - Append.c \ - Call.c \ - CallActionSlot.c \ - Clone.c \ - CloseConnection.c \ - DelItem.c \ - DeselectItem.c \ - Divide.c \ - DrawArc.c \ - DrawLine.c \ - DrawOval.c \ - DrawPolygon.c \ - DrawPolyline.c \ - DrawRectangle.c \ - DrawSector.c \ - Fork.c \ - GetAvailabilityStatus.c \ - GetBoxSize.c \ - GetCellItem.c \ - GetCursorPosition.c \ - GetEngineSupport.c \ - GetEntryPoint.c \ - GetFillColour.c \ - GetFirstItem.c \ - GetHighlightStatus.c \ - GetInteractionStatus.c \ - GetItemStatus.c \ - GetLabel.c \ - GetLastAnchorFired.c \ - GetLineColour.c \ - GetLineStyle.c \ - GetLineWidth.c \ - GetListItem.c \ - GetListSize.c \ - GetOverwriteMode.c \ - GetPortion.c \ - GetPosition.c \ - GetRunningStatus.c \ - GetSelectionStatus.c \ - GetSliderValue.c \ - GetTextContent.c \ - GetTextData.c \ - GetTokenPosition.c \ - GetVolume.c \ - Modulo.c \ - Move.c \ - MoveTo.c \ - Multiply.c \ - OpenConnection.c \ - PutBefore.c \ - PutBehind.c \ - ReadPersistent.c \ - ScaleBitmap.c \ - ScaleVideo.c \ - ScrollItems.c \ - SelectItem.c \ - SendEvent.c \ - SetBoxSize.c \ - SetCachePriority.c \ - SetCounterEndPosition.c \ - SetCounterPosition.c \ - SetCounterTrigger.c \ - SetCursorPosition.c \ - SetCursorShape.c \ - SetData.c \ - SetEntryPoint.c \ - SetFillColour.c \ - SetFirstItem.c \ - SetFontRef.c \ - SetHighlightStatus.c \ - SetInteractionStatus.c \ - SetLabel.c \ - SetLineColour.c \ - SetLineStyle.c \ - SetLineWidth.c \ - SetOverwriteMode.c \ - SetPaletteRef.c \ - SetPortion.c \ - SetPosition.c \ - SetSliderValue.c \ - SetSpeed.c \ - SetTimer.c \ - NewTimer.c \ - SetTransparency.c \ - SetVariable.c \ - SetVolume.c \ - Step.c \ - StorePersistent.c \ - Subtract.c \ - TestVariable.c \ - ToggleItem.c \ - TransitionTo.c \ - ConnectionTagOrNull.c \ - ComparisonValue.c \ - EmulatedEventData.c \ - NewColour.c \ - NewContent.c \ - NewFont.c \ - NewReferencedContent.c \ - NewContentSize.c \ - NewVariableValue.c \ - Parameter.c \ - Point.c \ - Rational.c \ - ObjectReference.c \ - ExternalReference.c \ - IndirectReference.c \ - ContentReference.c \ - GenericObjectReference.c \ - GenericContentReference.c \ - GenericInteger.c \ - GenericBoolean.c \ - GenericOctetString.c \ - Colour.c \ - XYPosition.c - -ASN_MODULE_HDRS= \ - InterchangedObject.h \ - RootClass.h \ - GroupClass.h \ - StandardIdentifier.h \ - GroupItem.h \ - ApplicationClass.h \ - DefaultAttribute.h \ - FontBody.h \ - SceneClass.h \ - SceneCoordinateSystem.h \ - AspectRatio.h \ - NextScene.h \ - IngredientClass.h \ - ContentBody.h \ - ReferencedContent.h \ - LinkClass.h \ - LinkCondition.h \ - EventType.h \ - EventData.h \ - ProgramClass.h \ - ResidentProgramClass.h \ - RemoteProgramClass.h \ - InterchangedProgramClass.h \ - PaletteClass.h \ - FontClass.h \ - CursorShapeClass.h \ - VariableClass.h \ - OriginalValue.h \ - BooleanVariableClass.h \ - IntegerVariableClass.h \ - OctetStringVariableClass.h \ - ObjectRefVariableClass.h \ - ContentRefVariableClass.h \ - PresentableClass.h \ - TokenManagerClass.h \ - Movement.h \ - TokenGroupClass.h \ - TokenGroupItem.h \ - ActionSlot.h \ - ListGroupClass.h \ - VisibleClass.h \ - OriginalBoxSize.h \ - BitmapClass.h \ - LineArtClass.h \ - RectangleClass.h \ - DynamicLineArtClass.h \ - TextClass.h \ - Justification.h \ - LineOrientation.h \ - StartCorner.h \ - StreamClass.h \ - StreamComponent.h \ - Storage.h \ - AudioClass.h \ - VideoClass.h \ - Termination.h \ - RTGraphicsClass.h \ - InteractibleClass.h \ - SliderClass.h \ - Orientation.h \ - SliderStyle.h \ - EntryFieldClass.h \ - InputType.h \ - HyperTextClass.h \ - ButtonClass.h \ - HotspotClass.h \ - PushButtonClass.h \ - SwitchButtonClass.h \ - ButtonStyle.h \ - ActionClass.h \ - ElementaryAction.h \ - Add.h \ - AddItem.h \ - Append.h \ - Call.h \ - CallActionSlot.h \ - Clone.h \ - CloseConnection.h \ - DelItem.h \ - DeselectItem.h \ - Divide.h \ - DrawArc.h \ - DrawLine.h \ - DrawOval.h \ - DrawPolygon.h \ - DrawPolyline.h \ - DrawRectangle.h \ - DrawSector.h \ - Fork.h \ - GetAvailabilityStatus.h \ - GetBoxSize.h \ - GetCellItem.h \ - GetCursorPosition.h \ - GetEngineSupport.h \ - GetEntryPoint.h \ - GetFillColour.h \ - GetFirstItem.h \ - GetHighlightStatus.h \ - GetInteractionStatus.h \ - GetItemStatus.h \ - GetLabel.h \ - GetLastAnchorFired.h \ - GetLineColour.h \ - GetLineStyle.h \ - GetLineWidth.h \ - GetListItem.h \ - GetListSize.h \ - GetOverwriteMode.h \ - GetPortion.h \ - GetPosition.h \ - GetRunningStatus.h \ - GetSelectionStatus.h \ - GetSliderValue.h \ - GetTextContent.h \ - GetTextData.h \ - GetTokenPosition.h \ - GetVolume.h \ - Modulo.h \ - Move.h \ - MoveTo.h \ - Multiply.h \ - OpenConnection.h \ - PutBefore.h \ - PutBehind.h \ - ReadPersistent.h \ - ScaleBitmap.h \ - ScaleVideo.h \ - ScrollItems.h \ - SelectItem.h \ - SendEvent.h \ - SetBoxSize.h \ - SetCachePriority.h \ - SetCounterEndPosition.h \ - SetCounterPosition.h \ - SetCounterTrigger.h \ - SetCursorPosition.h \ - SetCursorShape.h \ - SetData.h \ - SetEntryPoint.h \ - SetFillColour.h \ - SetFirstItem.h \ - SetFontRef.h \ - SetHighlightStatus.h \ - SetInteractionStatus.h \ - SetLabel.h \ - SetLineColour.h \ - SetLineStyle.h \ - SetLineWidth.h \ - SetOverwriteMode.h \ - SetPaletteRef.h \ - SetPortion.h \ - SetPosition.h \ - SetSliderValue.h \ - SetSpeed.h \ - SetTimer.h \ - NewTimer.h \ - SetTransparency.h \ - SetVariable.h \ - SetVolume.h \ - Step.h \ - StorePersistent.h \ - Subtract.h \ - TestVariable.h \ - ToggleItem.h \ - TransitionTo.h \ - ConnectionTagOrNull.h \ - ComparisonValue.h \ - EmulatedEventData.h \ - NewColour.h \ - NewContent.h \ - NewFont.h \ - NewReferencedContent.h \ - NewContentSize.h \ - NewVariableValue.h \ - Parameter.h \ - Point.h \ - Rational.h \ - ObjectReference.h \ - ExternalReference.h \ - IndirectReference.h \ - ContentReference.h \ - GenericObjectReference.h \ - GenericContentReference.h \ - GenericInteger.h \ - GenericBoolean.h \ - GenericOctetString.h \ - Colour.h \ - XYPosition.h - -ASN_MODULE_HDRS+=BOOLEAN.h -ASN_MODULE_SRCS+=BOOLEAN.c -ASN_MODULE_HDRS+=INTEGER.h -ASN_MODULE_HDRS+=NativeEnumerated.h -ASN_MODULE_SRCS+=INTEGER.c -ASN_MODULE_HDRS+=NULL.h -ASN_MODULE_SRCS+=NULL.c -ASN_MODULE_SRCS+=NativeEnumerated.c -ASN_MODULE_HDRS+=NativeInteger.h -ASN_MODULE_SRCS+=NativeInteger.c -ASN_MODULE_HDRS+=asn_SEQUENCE_OF.h -ASN_MODULE_SRCS+=asn_SEQUENCE_OF.c -ASN_MODULE_HDRS+=asn_SET_OF.h -ASN_MODULE_SRCS+=asn_SET_OF.c -ASN_MODULE_HDRS+=constr_CHOICE.h -ASN_MODULE_SRCS+=constr_CHOICE.c -ASN_MODULE_HDRS+=constr_SEQUENCE.h -ASN_MODULE_SRCS+=constr_SEQUENCE.c -ASN_MODULE_HDRS+=constr_SEQUENCE_OF.h -ASN_MODULE_SRCS+=constr_SEQUENCE_OF.c -ASN_MODULE_HDRS+=constr_SET_OF.h -ASN_MODULE_HDRS+=constr_SET.h -ASN_MODULE_SRCS+=constr_SET.c -ASN_MODULE_SRCS+=constr_SET_OF.c -ASN_MODULE_HDRS+=asn_application.h -ASN_MODULE_HDRS+=asn_system.h -ASN_MODULE_HDRS+=asn_codecs.h -ASN_MODULE_HDRS+=asn_internal.h -ASN_MODULE_HDRS+=OCTET_STRING.h -ASN_MODULE_SRCS+=OCTET_STRING.c -ASN_MODULE_HDRS+=BIT_STRING.h -ASN_MODULE_SRCS+=BIT_STRING.c -ASN_MODULE_SRCS+=asn_codecs_prim.c -ASN_MODULE_HDRS+=asn_codecs_prim.h -ASN_MODULE_HDRS+=ber_tlv_length.h -ASN_MODULE_SRCS+=ber_tlv_length.c -ASN_MODULE_HDRS+=ber_tlv_tag.h -ASN_MODULE_SRCS+=ber_tlv_tag.c -ASN_MODULE_HDRS+=ber_decoder.h -ASN_MODULE_SRCS+=ber_decoder.c -ASN_MODULE_HDRS+=der_encoder.h -ASN_MODULE_SRCS+=der_encoder.c -ASN_MODULE_HDRS+=constr_TYPE.h -ASN_MODULE_SRCS+=constr_TYPE.c -ASN_MODULE_HDRS+=constraints.h -ASN_MODULE_SRCS+=constraints.c -ASN_MODULE_HDRS+=xer_support.h -ASN_MODULE_SRCS+=xer_support.c -ASN_MODULE_HDRS+=xer_decoder.h -ASN_MODULE_SRCS+=xer_decoder.c -ASN_MODULE_HDRS+=xer_encoder.h -ASN_MODULE_SRCS+=xer_encoder.c -ASN_MODULE_HDRS+=per_support.h -ASN_MODULE_SRCS+=per_support.c -ASN_MODULE_HDRS+=per_decoder.h -ASN_MODULE_SRCS+=per_decoder.c -ASN_MODULE_HDRS+=per_encoder.h -ASN_MODULE_SRCS+=per_encoder.c -ASN_MODULE_HDRS+=per_opentype.h -ASN_MODULE_SRCS+=per_opentype.c -ASN_CONVERTER_SOURCES+=converter-sample.c - - -lib_LTLIBRARIES=libsomething.la -libsomething_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS) - -# This file may be used as an input for make(3) -# Remove the lines below to convert it into a pure .am file -TARGET = mheg5dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=InterchangedObject -I. -OBJS=${ASN_MODULE_SRCS:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o} - -all: InterchangedObject.c $(TARGET) - -$(TARGET): ${OBJS} - $(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS) - -.SUFFIXES: -.SUFFIXES: .c .o - -.c.o: - $(CC) $(CFLAGS) -o $@ -c $< - -clean: - rm -f $(TARGET) - rm -f $(OBJS) - -regen: regenerate-from-asn1-source - -regenerate-from-asn1-source: - ../../asn1c/asn1c -S ../../skeletons -pdu=InterchangedObject -fcompound-names ../ISO13522-MHEG-5.asn - - -InterchangedObject.c: ../sample.makefile.regen ../ISO13522-MHEG-5.asn - make regen-makefile - @touch InterchangedObject.c - make - -regen-makefile: - ASN_CMDOPTS="-fcompound-names" \ - ASN_MODULES="../ISO13522-MHEG-5.asn" \ - ASN_PDU=InterchangedObject \ - ASN_PROGRAM=mheg5dump \ - CFLAGS="" \ - ../sample.makefile.regen - -check: ${TARGET} check-ber check-xer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-InterchangedObject-1.[db]er ; then \ - for f in sample-InterchangedObject-*.[db]er; do \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-InterchangedObject-1.xer ; then \ - for f in sample-InterchangedObject-*.xer; do \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into DER and back ($$b)..."; \ - ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-InterchangedObject-1-nopad.per ; then \ - for f in sample-InterchangedObject-[1-9]-nopad.per; do \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-InterchangedObject-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into DER into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS) - rm -f Makefile.am.sample diff --git a/examples/sample.source.MHEG5/README b/examples/sample.source.MHEG5/README deleted file mode 100644 index 91127ee..0000000 --- a/examples/sample.source.MHEG5/README +++ /dev/null @@ -1,35 +0,0 @@ - -GENERAL INFORMATION -=================== - -The ISO MHEG-5 (Multimedia Hypermedia Experts Group, -Multimedia Presentations) decoder. - -Invoking `make` will first attempt compile the ASN.1 specifications from the -../ISO13522-MHEG-5.asn file. THERE IS NO ISO13522-MHEG-5.asn FILE THERE YET! - -OBTAINING THE MHEG-5 SPECIFICATION -================================== - -Due to licensing restrictions, asn1c can not include the MHEG-5 ASN.1 module -in its distribution. - -To obtain the MHEG-5 ASN.1 specification, you should go to - http://www.itu.int/ITU-T/asn1/database/itu-t/t/t172 -and select the latest "Text" version of the corresponding ASN.1 module. - -After obtaining the ISO13522-MHEG-5.asn, type `make` in the directory -containing this README file. - -mheg5dump USAGE -=============== - -The mheg5dump utility may be used to dump the contents of the BER-encoded -MHEG-5 data record file: - - ./mheg5dump mhegscene.ber # Print MHEG-5 stream as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - ./mheg5dump -h - diff --git a/examples/sample.source.MHEG5/config.h b/examples/sample.source.MHEG5/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.MHEG5/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.MHEG5/sample-InterchangedObject-1.xer b/examples/sample.source.MHEG5/sample-InterchangedObject-1.xer deleted file mode 100644 index cd79a92..0000000 --- a/examples/sample.source.MHEG5/sample-InterchangedObject-1.xer +++ /dev/null @@ -1,97 +0,0 @@ - - - - - smth - 0 - - - - - - 14 - - - ldskfjlsfd - - - - - - 22 - - - 3 - - - - - - 39 - - - - - - - - - 42 - - - 0 - - - - - - 45 - - - xxx - - - - - 113 - - - - - - a - 5 - - - - - - - - 103 - - - - - - 31 - - - - - - - - - - - - - - 3 - - 100 - 100 - - - diff --git a/examples/sample.source.PKIX1/Makefile b/examples/sample.source.PKIX1/Makefile deleted file mode 100644 index 7a39bf3..0000000 --- a/examples/sample.source.PKIX1/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -ASN_PROGRAM = x509dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: Certificate.c maybe-wip-pause all - --include converter-example.mk - -Certificate.c: ../sample.makefile.regen ../rfc3280-*.asn1 - make regen-makefile - @touch Certificate.c - make - -regen-makefile: - ASN_CMDOPTS="-fcompound-names -fwide-types" \ - ASN_MODULES="../rfc3280-*.asn1" \ - ASN_PDU=Certificate \ - ASN_PROGRAM=x509dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-Certificate-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-Certificate-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-Certificate-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-Certificate-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-Certificate-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.PKIX1/README b/examples/sample.source.PKIX1/README deleted file mode 100644 index de8e12f..0000000 --- a/examples/sample.source.PKIX1/README +++ /dev/null @@ -1,29 +0,0 @@ - -GENERAL INFORMATION -=================== - -The X.509 (PKIX1) certificate decoder. Invoking `make` will compile the ASN.1 -specifications from the rfc3280.txt in the above directory. - -x509dump USAGE -============== - -To use the x509dump, you'll have to prepare an X.509 certificate -in DER encoding. The typical X.509 certificate will have a PEM format -(DER encoded data wrapped in base64, wrapped in PEM "BEGIN" and "END" sections). -The openssl x509 utility may be used to convert between PEM and DER. - - EXAMPLE: Convert 'certificate.pem' into 'certificate.der': - - openssl x509 -inform PEM -in certificate.pem \ - -outform DER -out certificate.der - -After convertsion, the x509dump utility may be used to dump the contents -of the DER-encoded X.509 certificate: - - ./x509dump certificate.der # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./x509dump -h - diff --git a/examples/sample.source.PKIX1/config.h b/examples/sample.source.PKIX1/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.PKIX1/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.PKIX1/sample-Certificate-1.der b/examples/sample.source.PKIX1/sample-Certificate-1.der deleted file mode 100644 index e82877d1b464fe79a0c3b3aca04ba7058e8b487c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1128 zcmXqLVo5P*V)j|U%*4pVB;c}-r#pZ_WsBftGXw7f#^naQY@Awc9&O)w85vnw84Ma1 z8*&?PvN4CUun9AT2E#ZUKu(CExPd50hFzF1I5DS0!6z|0Rlzy4q|#8%Kn5hiB`g|} zk*W|H>>3mj6dD|&;Fnrbo?n!0sAwP$lIIqd$S5f(u+rBrFE7_CElw>eDJm^4(M!(H zHPklH1Sw$_RtgRA(*+sfmRVF>q6;-b!LgtqCo?&*Br`v+*g#I4*V59!+`!V%!o!&Sj4ykRk~d#8V3q5iu+_CI%sHMDn5R#lkg+?1(OrV(knQ1(E5Gh2$7g3e{nC9PWy zB-RIV{KycU*l>F3)pyobUs_n=5+axPm=wL+QE~L5wUAeSU8?%dC80-m<~uJrDyuW| zK+uv3AJNSYGdQxHk1=kjs{WcSqhx>j{r?pgth~!a=UuvZOz-jSaA~7OJMv$&Ewe9J z{j^}xY8N?&fZuZ#Cq2o@TX5puqXws6FZExXGh*ql>D?}~*wjY!?!3e6rY~h;W@KPo z+&IyovCn`Tm^ftlSy+In_?Q7dh$GC%_@9N`$btm;Sj1RFezl#v{b1M2im%=) zu8H3NaQR`Dh>d|iNLrr7!@$kJWr5QIhc-KCGE6SYK~0AGSQ8&|+S3E-L5?+GrUAwp zBg2xj&ol zaFR9N`+95jl*5NtF3`PyQBz*_U%&nC6|P$K7xO|@9_?oOZD_ym#hy0~+CLbtgjqZ} z<I5a{#VpjZd>|C>};{2{f<=i^H+kUKCH=` z@6XD^+_=0&^GMX*l<=ap*5}P7md!Y}mTk)&j>RljHJ41AC6w;fli)h{qw=f`40AHJ z&Iq{tzE5vb>P8Pc#eJd%TD)6%7H8Y9s}KJwKdt6|{@o@6om6QDud^9Di{2ELy$R`) QZ{=ak`nAkrjr@@o04N=tZU6uP diff --git a/examples/sample.source.RRC/Makefile b/examples/sample.source.RRC/Makefile deleted file mode 100644 index dc0af95..0000000 --- a/examples/sample.source.RRC/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -ASN_PROGRAM = rrc-dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: DL-DCCH-Message.c maybe-wip-pause all - --include converter-example.mk - -DL-DCCH-Message.c: ../sample.makefile.regen ../rrc-7.1.0.asn1 - make regen-makefile - @touch DL-DCCH-Message.c - make - -regen-makefile: - ASN_CMDOPTS="-pdu=auto -fcompound-names -no-gen-OER" \ - ASN_MODULES="../rrc-7.1.0.asn1" \ - ASN_PDU=DL-DCCH-Message \ - ASN_PROGRAM=rrc-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-DL-DCCH-Message-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-DL-DCCH-Message-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-DL-DCCH-Message-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-DL-DCCH-Message-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-DL-DCCH-Message-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.RRC/README b/examples/sample.source.RRC/README deleted file mode 100644 index 6c81a36..0000000 --- a/examples/sample.source.RRC/README +++ /dev/null @@ -1,36 +0,0 @@ - -GENERAL INFORMATION -=================== - -The 3GPP TS 25.331 version 7.1.0 RRC (Radio Resource Control) PER decoder. -Invoking `make` will compile the ASN.1 specifications from the -../rrc-7.1.0.asn1 file. - -OBTAINING THE RRC SPECIFICATION -================================ - -To obtain a different version of RRC ASN.1 specification, you should go to - http://www.3gpp.org/ftp/Specs/html-info/25331.htm -and download any version of RRC specification you like. - -A .ZIP file with a Microsoft Word .DOC files will download shortly. - -You should extract the ASN.1 modules from the chapter 11 of that .DOC file. -Be careful not to copy any preambles, chapter titles and other non-ASN.1 text. - -rrc-dump USAGE -============== - -The rrc-dump utility may be used to dump the contents of a PER-encoded -RRC protocol data unit. Since RRC specification contains multiple PDUs, -a PDU must be selected manually using -p command line option: - - ./rrc-dump -p DL-DCCH-Message message.per - ./rrc-dump -p PCCH-Message message.per - -The list of recognized PDUs may be obtained using `-p list`. - -The full list of recognized command line options may be obtained with - - > ./rrc-dump -h - diff --git a/examples/sample.source.RRC/config.h b/examples/sample.source.RRC/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.RRC/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.RRC/sample-BCCH-BCH-Message-2.per b/examples/sample.source.RRC/sample-BCCH-BCH-Message-2.per deleted file mode 100644 index 0d6babcd4500ade5f03f6436acdc42ef13b8128c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 ccmZS3W2g@c1%k-PX<17{l~zZsn#!O608ZcsiU0rr diff --git a/examples/sample.source.RRC/sample-DL-CCCH-Message-2-nopad.per b/examples/sample.source.RRC/sample-DL-CCCH-Message-2-nopad.per deleted file mode 100644 index ac8e881b4414e8206409f3a5432f560b3f238916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107 zcmV-x0F?hQ_a;M~J)%eu-Ap(!>XgZY14+~3g!t+(02Et&9m5gq^$a^*Sv NfKZ_f5Q2gj6gZgkF3SJ_ diff --git a/examples/sample.source.RRC/sample-DL-DCCH-Message-1-nopad.per b/examples/sample.source.RRC/sample-DL-DCCH-Message-1-nopad.per deleted file mode 100644 index 584e85be7de0ad0c0e00e72eb17eefea9e6c65da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmWe_U|>jaNMO)kz`y_i5F`R+ diff --git a/examples/sample.source.RRC/sample-DL-DCCH-Message-1.per b/examples/sample.source.RRC/sample-DL-DCCH-Message-1.per deleted file mode 100644 index 2ae327a3267067d41705ec950daf6d7190ab5bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 UcmWe_U|?W4&~Shu-T}w}02+@2H2?qr diff --git a/examples/sample.source.S1AP/Makefile b/examples/sample.source.S1AP/Makefile deleted file mode 100644 index 8a3bcd2..0000000 --- a/examples/sample.source.S1AP/Makefile +++ /dev/null @@ -1,122 +0,0 @@ -ASN_PROGRAM = s1ap-dump -CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -begin: S1AP-PDU.c maybe-wip-pause all - --include converter-example.mk - -S1AP-PDU.c: ../sample.makefile.regen ../s1ap-14.4.0.asn1 - make regen-makefile - @touch S1AP-PDU.c - make - -regen-makefile: - ASN_CMDOPTS="-pdu=all -fcompound-names -findirect-choice -fno-include-deps -flink-skeletons -gen-PER" \ - ASN_MODULES="../s1ap-14.4.0.asn1" \ - ASN_PDU=S1AP-PDU \ - ASN_PROGRAM=s1ap-dump \ - ../sample.makefile.regen - -check: ${ASN_PROGRAM} check-ber check-xer check-oer check-per check-aper - @echo ================ - @echo All tests passed - @echo ================ - -check-ber: - @if test -f sample-S1AP-PDU-1.[db]er ; then \ - for f in sample-*-*.[db]er; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-S1AP-PDU-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-S1AP-PDU-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-S1AP-PDU-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-S1AP-PDU-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -check-aper: - @files=$$(find . -type f -regex '^.*\/sample-.*-[0-9]+.aper$$' | sort -V); \ - if [ -n "$$files" ]; then \ - for f in $$files; do \ - pdu=`echo $$f | sed -E -e "s/.*sample-([A-Za-z0-9-]+)-[0-9]+.*/\\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iaper -oxer $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oaper ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - diff $$f ./.tmp.2.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iaper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iaper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.S1AP/README b/examples/sample.source.S1AP/README deleted file mode 100644 index 26fc6ad..0000000 --- a/examples/sample.source.S1AP/README +++ /dev/null @@ -1,35 +0,0 @@ - -GENERAL INFORMATION -=================== - -The 3GPP TS 36.413 version 14.4.0 S1 Application Protocol (S1AP) APER decoder. -Invoking `make` will compile the ASN.1 specifications from the -../s1ap-14.4.0.asn1 file. - -OBTAINING THE S1AP SPECIFICATION -================================ - -To obtain a different version of S1AP ASN.1 specification, you should go to - http://www.3gpp.org/ftp/Specs/html-info/36413.htm -and download any version of S1AP specification you like. - -A .ZIP file with a Microsoft Word .DOC files will download shortly. - -You should extract the ASN.1 modules from the chapter 9 of that .DOC file. -Be careful not to copy any preambles, chapter titles and other non-ASN.1 text. - -s1ap-dump USAGE -=============== - -The s1ap-dump utility may be used to dump the contents of a APER-encoded -S1AP protocol data unit. Since S1AP specification contains multiple PDUs, -a PDU must be selected manually using -p command line option: - - ./s1ap-dump -iaper -p S1AP-PDU message.per - -The list of recognized PDUs may be obtained using `-p list`. - -The full list of recognized command line options may be obtained with - - > ./s1ap-dump -h - diff --git a/examples/sample.source.S1AP/config.h b/examples/sample.source.S1AP/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.S1AP/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-0.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-0.aper deleted file mode 100644 index 5b7d37877e515b007dc651ad46b5f8dc0c31de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8LZ%&4Iyzft`Ve&jG~kbYN5f08rBfjsO4v diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-1.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-1.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-10.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-10.aper deleted file mode 100644 index 2ecf8c59c2d14d95529bd1953973b0255060216e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmZP&b7+{uz`)GFz`%Ndk%3_@0|x^W10#c%LqlsrGYbm?Gs~OE26hGxg~sODescCd z{(t;`{D1#H`#<#`|3CiU|6l%3{SP4H_<#Aof9-!&DI{?6N%~DyJ#px71JKL|_Rs&v zCjc21{xAPuz5!$~2^cenM=VPaVbM<&-qFCT&tZ6Qsfp31$oDfQuru)7os(>+z{eoD N*yvc2gA9Wa0{~Y{J^}y$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-100.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-100.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-101.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-101.aper deleted file mode 100644 index 579396e27487c5e24f07fa62ad41be3ff6794cf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJaj;-uU}NB5V0K{FVUS{AWjQW5HITs>D8}$nz`&9r#eoCFVsGEUz|iKv=)jNw LlyVR<39A4A2m=aH diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-102.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-102.aper deleted file mode 100644 index a0de0e6f733f49d2b5cd2517b0150efe5cccc5d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 jcmZSJc939TU}j)oU}9io;9y{OVAo-gVqjrr_u~Wr5lI1O diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-103.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-103.aper deleted file mode 100644 index fb2ce845d212e03afdf945c3a57fa49be7a20e25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21 ccmZP&XAopyU}8vSU}a!*VAo+_a$r;d01TS}Y5)KL diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-104.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-104.aper deleted file mode 100644 index bdc9e74e7be18756126a3a2dae63c8768e18dc20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 bcmY!oXAoduU}9i!U}9io;Ba7eVAlZv3daFU diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-105.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-105.aper deleted file mode 100644 index de8d7d1281903be93d5a748afa41ee2025b01be5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmZSJacF2{U|?n7U|@D&*JY4mhzMtQEaKo45D+j5nO4mDAmM<6AcHy+=LN%y>Iw}F ziUN!b3<8a83_#EfCK-4c7?>FtxPZb8F_n-*4Y&d?6HgttPc_nI1~T?M~?;` diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-109.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-109.aper deleted file mode 100644 index 620cc178de4e8f3dae07c4fff6d5fcf46d1b46ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55 zcmZSJbueaNU}a!nU;;u824)9#T?Q!zP7e1~>!+M&V2@)+ao}KJ_$a{MzJr0m*?|qj HHn0Q$$At-k diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-11.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-11.aper deleted file mode 100644 index d44ae2411dab511a29d952d511bac65f5d4457e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRdz%ZAA!-0u`k-^wOo`J#0L5gdBJp%*lzXk?m0941o2mr=v B1{(kX diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-110.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-110.aper deleted file mode 100644 index 90ff3c31f3112929ae26bd38dd580a0fdfdf326b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34 ncmZSJc93IWU}j)oU;;u824)9#T?Q!zE>88F9t$%@CeE7xBnShK diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-111.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-111.aper deleted file mode 100644 index 533764bfa8201918d7a827a9f69425efbcbbc7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 zcmZSJb+Bh(U}a!nU;;u824)9#T?Q!zQ4#ecOI2<#GI8G0;N-~6D@iTNOD$nYao}KJ T_$a{MzJr0m*?|qjHn0Q$W$z7A diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-112.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-112.aper deleted file mode 100644 index 13499a3acb5cc81941ff379e435c860d8e49fb5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmZSJWN7%sz`(}9z`z8A91P43?79q23|ta+4GatkAc8@HpXnMwtl?N#O}o8$)>>YQNX~GAwP)oAR{LyM`m70YEfQl2`@9y01#l&)n#Cd zWBd2--8*Jxb&rMyMFA!T27yL44j^a-k}NC?yeuFNm;&;c1r!)P57mLS6N eV2%KzY663yVy}tOCW|DXvR?6NJPsTTf(!u4ksj0l diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-114.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-114.aper deleted file mode 100644 index abedd8315f03430f0e39a24921307bcff6b5b3b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55 zcmY%3WH4r6U}j)&U}9im;Ba7eVAo|Zc93UaFmjOMnqSYr!1}L&0U0ndGH`ML0GU+< AKL7v# diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-115.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-115.aper deleted file mode 100644 index c21c3d88abbf736ce712c326700675634ec380e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJb+BMyU}a!nU;;u824)9#T?Q!zK3??%?!6XF?9L3#K@5i&QXDuK7(NQHx9?zJ LaCTq=u?;K%$Dj!l diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-116.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-116.aper deleted file mode 100644 index 7aca83b1402594d35838c9485186110606012e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61 zcmZSJcCch%U}j)oU;;u824)9#T?Q!zRTcHXUxiJ~?1|3&0t|i(sSFhiB@C_%0SwOW OjRpoxiA>3!j0^zi=?PH) diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-117.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-117.aper deleted file mode 100644 index 45253348dba4fc9997628c25916f898564af1aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJaj;-uU}NB5V0K{FV~}ECWjW4rE1kg^D8}$nz`&9r#eoCFVsGEUz|iKv=)jNw LlydmY@WKHA7xW9L diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-118.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-118.aper deleted file mode 100644 index 4ecc701b9ec62b94cedd30275bdd8bbd23399bff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 hcmZSJc939TU}j)oU;>gH49pJfdJIwwEX?eFoB$Df0c!vN diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-119.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-119.aper deleted file mode 100644 index e9dcf5b18f2fc0677ac16ce2e03ec9be4e20ca5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21 ccmZP&XAopyU}8vSU}a!-VAo?{a$r;d01UYSZU6uP diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-12.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-12.aper deleted file mode 100644 index f0bfbde96f014f705322cb4126a32f2c259dbaf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZSJb+BS!U}XT}1B?s|a~U`om>3utq!{>k)eknmp321T%)lJPaEKwrfrEkJqkur= Ot`7{(4s0NH^a21e;tb;e diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-120.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-120.aper deleted file mode 100644 index 2cf44f9ab1e3cb3fa59a4ffd091a178e6302dc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 bcmY!oXAoduU}9i!U}9iq;Ba7eVAlfx3fTcq diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-121.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-121.aper deleted file mode 100644 index 5b7d37877e515b007dc651ad46b5f8dc0c31de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8LZ%&4Iyzft`Ve&jG~kbYN5f08rBfjsO4v diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-122.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-122.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-123.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-123.aper deleted file mode 100644 index a819799e6ed7e0d3aa7a0d4795b0449ba09fcd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmZSJafo1GU}fN7U}9iokYX^<7q3~cxr2$_k%@y-KtRAKq-`S0gM3utq!@$*#cQ}v&1Gf}=E#~jov*q7LM20r0|x`c SM*)G#T^|^n9oRtZ=mh|J0}loO diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-126.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-126.aper deleted file mode 100644 index a159c8fd708dfcf9c4f9f4d6e8aca2333e2b8182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 ucmZSJc2HqpU}j)oU}9il-~f`03{nh&0_H!Bw_asnk7Z3utq!>6k+_U@RQyAFe7*ZTK7#KbZ2vqL+z~Jn_ J24Y7q0088e3hw{_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-128.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-128.aper deleted file mode 100644 index 6ef6efb71ff1aa2d74895421181d068cf2e28a60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33 mcmZSJc93OYU}j)oU}9il-~f`03{nhSoa&W~$_k83iZ=lmA_9v5 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-129.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-129.aper deleted file mode 100644 index 5b76f60bf15492f244dbc00f6b2bf4652d9e4ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZSJb!g~iU|?kc;scBf409Pc7?>Cs8Kf8z6Vzka(jyp|6mMy8a%AR}q!#6+mZ*C* z98wkqDijqsFiTAh83VGkwJ< S00w9GMgs$;#0klsj0^x3xeAB? diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-130.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-130.aper deleted file mode 100644 index 109e68285992ff96874a19d6e9552e03ccc8f51f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmZSJWN3_HU|?rpU|?ckVc-Cgj0{c;ToQH-3=9b%fpHkrCSem+z{eoD*yvc2gA9Wa0|3xgW}g56 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-131.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-131.aper deleted file mode 100644 index 2ecf8c59c2d14d95529bd1953973b0255060216e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmZP&b7+{uz`)GFz`%Ndk%3_@0|x^W10#c%LqlsrGYbm?Gs~OE26hGxg~sODescCd z{(t;`{D1#H`#<#`|3CiU|6l%3{SP4H_<#Aof9-!&DI{?6N%~DyJ#px71JKL|_Rs&v zCjc21{xAPuz5!$~2^cenM=VPaVbM<&-qFCT&tZ6Qsfp31$oDfQuru)7os(>+z{eoD N*yvc2gA9Wa0{~Y{J^}y$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-132.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-132.aper deleted file mode 100644 index 000b0e581d50a00bd149b02935ca9c5ea68c6436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 ucmY%3WH4f2U}j)&U}9io-~f}x4)P2PMh;S3^XnNHSpPLJAOl7qhY3utq!{>k)eknmp321T%)lJPaEKwrfrEkJqkur= Ot`7{(4s0NH^a21e;tb;e diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-134.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-134.aper deleted file mode 100644 index 05e532f48489473aded5b461d2a2ab5fc7495423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJcCcVzU}j)oU}9il-~f`03{niLD(YPfnv0p)6P@`582lJg87de`7+e_w7@XZ3 N4GfqPg_1oP834AY2nGNE diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-135.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-135.aper deleted file mode 100644 index 6ffd4ecb5c75718c51660242d9aa262dc1568b9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmZSJbx2`gU}a!nU}9io-~f|S4AxfaHI28naxt-95Y!Oj$jmEAEy_zRVa`i8V#x(E w)TJ646a^R=7z7&GfLa-v!6XAO0|OTWLy7|jL+DpV2FVKo49*U0Ahv)K0J^CY1^@s6 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-136.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-136.aper deleted file mode 100644 index 2bf4d95380a559dc670a38d690ca810ac375f758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmZQzWhiA}U}j)oU}9il-~f`03<3;E3=Dz{u{;cH68sGZRxq#urFs3-O9bb|uq3e_ zWMmWK$jmEAEy_zRVa`i8V#x(ESQ&M7893rt{{4$}R#$3hP!wQdU=V0z;{bwYAj!hQ Mz{>*SfGHLh0E4a*qW}N^ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-137.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-137.aper deleted file mode 100644 index 0f365fce37b0bf7d3c31e6973a50ce1e7cd877b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 ucmY#jWiVo3U}j)&U}9io-~f{{4)P2P>JCyo^XnNHSpPLJAOl7qhY0|JCj^xM diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-138.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-138.aper deleted file mode 100644 index 23ee7b9f9801b3fda5ea39ecdb5759b5bb7623e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58 zcmZSJbueRKU}XT}0}Tv}>d(LKcHmB8IK+_Rz`+pum61X6f&hcF K0~?4fpacL7vI{W) diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-139.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-139.aper deleted file mode 100644 index b4f05c4a69ce64a66240bc94dc1a94ef7dd341c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmZQzWoTH)z`)GFz`(@7!oUF}85sl^8hRNR1Q{CI`5GAc1sE9^6gDt8Kq&r(11lKV zfXex^)FYBFa5yCp WB%#ENEDBXSUzi11)ZuU{SS)F{InYh0(d=y|{V*JY>F2MRA;eZ1pgCdjS z1;LBzQVk7?0*nj{0*!18K+p^(8F(2OxEO*$zcLCa#c(kgGCw_FCk*7RS|!LF9<<{68Gt5y6fm%4NO9m`0P10oydc2P=D=tG E0Cs328UO$Q diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-140.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-140.aper deleted file mode 100644 index 89601dfda1e00c8ab06377eb2236f5027d88d96a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55 zcmZSJbueaNU}a!nU}9io-~f|S3|yS*>|OCD%tZ{x7*ZTK7#KbZ%uQbvz~Jn_24ZWc F0|2H#2@U`N diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-141.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-141.aper deleted file mode 100644 index 9e4ae368a5f5382ba6de6de9b5f2c8ae1ba29399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 ucmY#jWiVo3U}j)&U}9io-~f{{4)P2P>JCzT^XnNHSpPLJAOl7qhZz8ZTm+Z^ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-142.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-142.aper deleted file mode 100644 index 73273205afbfc22822e635f66aa4fe18eaa1ff4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmZSJbuedOU}XT}0}Tv}91I)`Obm<+QViT&>PAjB!7NN{m)ICm95@(4zcMmNUJzh# Kc3=as1(X2QbO{y! diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-143.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-143.aper deleted file mode 100644 index 7eb8856ad711afbb2a1b2c28d0d881cfb5f3108c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmZQzXE0}AU}a!nU}9il-~f`03{DJO5_Sy?3<)5DLD7MofkD}UiN}FK%7L3pz2@{@ K5w;|@vnl|L+y}b= diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-144.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-144.aper deleted file mode 100644 index e04fdaf063f53bab98dca3ebd1f9267a46bf4a48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29 gcmY#jXOLuIU}j)&U}9io-~f}Z4r~kz{0@vf02W07xc~qF diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-145.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-145.aper deleted file mode 100644 index afcfefb99d948d34d1463c5632f62f9827371e08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55 zcmZSJbueaNU}a!nU}9io-~f|S3|yS*KAT?eWldr@$B^Q{!4UeDkwNl;0E4pw8;C8S F1OUj63Aq3O diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-146.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-146.aper deleted file mode 100644 index 6afa38014c8a1b744272d14ffff7d7892809020a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmZSJbx2`gU}a!nU}9io-~f|S4Axfa0`|9laWQdT5Y!OjD99^GEy_zRVa`i8V#x(E w)TJ646a^R=7z7&GfLa-v!6XAO0|OTWLy7|jL+DpV2FVKo49*U0Ahv)K0GzH8r~m)} diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-147.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-147.aper deleted file mode 100644 index 3344993f7b6f2bfcd7836d9d24374c9604c943f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34 ocmZSJc93IWU}j)oU}9il-~f`03{ni-TA04JyfPXGV_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-148.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-148.aper deleted file mode 100644 index 5b7d37877e515b007dc651ad46b5f8dc0c31de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8LZ%&4Iyzft`Ve&jG~kbYN5f08rBfjsO4v diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-149.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-149.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-15.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-15.aper deleted file mode 100644 index 378eee8058a8c7f3358b8d9021276816e5bb1154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 qcmZSJc2HnoU}j)oU_HRdz%Y-2gMkSMr5Lz4)!78Yl317&Zvp^01_S~C diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-150.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-150.aper deleted file mode 100644 index a819799e6ed7e0d3aa7a0d4795b0449ba09fcd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmZSJafo1GU}fN7U}9iokYX^<7q3~cxr2$_k%@y-KtRAKq-`S0gM3utq!@$*#cQ}v&1Gf}=E#~jov*q7LM20r0|x`c SM*)G#T^|^n9oRtZ=mh|J0}loO diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-153.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-153.aper deleted file mode 100644 index 5133104d2adf43b1d0bb28ff7d209c4627644304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 ucmZSJc2HqpU}j)oU}9ip-~f`03{nh&0_H!Bw_asnk7Z3utq!>6k+_U@RQyAFe7*ZTK7#KbZ2vqL+z~Jn_ J24Y7q0088e3hw{_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-155.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-155.aper deleted file mode 100644 index 07c422db9e262874bf3a9cabf542165d864d0e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33 mcmZSJc93OYU}j)oU}9ip-~f`03{nhSoa&W~$_k83iZ=lmHv)_R diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-156.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-156.aper deleted file mode 100644 index 5b76f60bf15492f244dbc00f6b2bf4652d9e4ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZSJb!g~iU|?kc;scBf409Pc7?>Cs8Kf8z6Vzka(jyp|6mMy8a%AR}q!#6+mZ*C* z98wkqDijqsFiTAh83V(ZnYuiFKAXYI zp`o>*8E7gq%bUmsb_NcG#^%|6a`r#|fBb*^fB!%GKlLB~KmOnUU;a=14+z{eoD N*yvc2gA9Wa0{~Y{J^}y$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-159.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-159.aper deleted file mode 100644 index d44ae2411dab511a29d952d511bac65f5d4457e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRdz%ZAA!-0u`k-^wOo`J#0L5gdBJp%*lzXk?m0941o2mr=v B1{(kX diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-16.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-16.aper deleted file mode 100644 index d9d56c7a57b77bb30f66ac83156d62e6e11a1b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 jcmZP&a*$wPU}j)oU_HRdz%ZAAgMo>Gk%7s9iKzhqB18hB diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-160.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-160.aper deleted file mode 100644 index f0bfbde96f014f705322cb4126a32f2c259dbaf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZSJb+BS!U}XT}1B?s|a~U`om>3utq!{>k)eknmp321T%)lJPaEKwrfrEkJqkur= Ot`7{(4s0NH^a21e;tb;e diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-161.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-161.aper deleted file mode 100644 index 7729538c6547935c8554f3f8f68ec83fcffb0d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJcCcVzU}j)oU}9ip-~f`03{niLD(cRUwEi-)Cpz;BF!(W~GE^{>Ft{=VFgUw6 O8W=Do8YO!&G5`SACkY(@ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-162.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-162.aper deleted file mode 100644 index 9b7a727e1353897103607d2fad7aa8f436aaa5c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmZQzWoVenz`)GFz`(@7%D@3685sl^8X6fG1Q}|08W{Nn7#SE8HZV9qDE@{6D;U^- zs)gg#@2o$4ge8gLC@U+Yj)RVapNaybuz{ce*NKj#|3Ki#!1(`vK=eF8CQd3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-167.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-167.aper deleted file mode 100644 index bc2235bc86afde36c48dd50117ca00c3a9d5357a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8LZ%Er7v+ft`Ve&jG~kbYN5f08!%wo&W#< diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-168.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-168.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-169.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-169.aper deleted file mode 100644 index 679e04c037f9052c2867174edcb520d5469480ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmZSJamZj`U}fN7U}9iokYaGKXLl^(;1m!LFbZiCV0w_ipvc62LGYrwR6~QJ03!o~ zKqDIi5Hy2H23`gRE`}H`h6#eq{u0YR#sU>MGXSMN3K&>2q&RSZSS*Rb4Ge7#j0OO5 CQ4%r$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-17.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-17.aper deleted file mode 100644 index 6b59b2df58bf95f19e2acfaa856dc4568fdb8f5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23 ecmZP&XAov!U}8vSVCP|EV3^Cm$iU>lr~m*EN&%$+ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-170.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-170.aper deleted file mode 100644 index 83cabf9b9e38533317bc0b6cec56642906ea1c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmZSJcCcn(U}j)oU_HRdz<7&+gMo>GkwJ<fy=;3E;+$I(ZNT^(ZGn`Qo!Wy Tj4gRv8W?t+TjT9iG-o0JGBOU| diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-171.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-171.aper deleted file mode 100644 index d92ef87ad657079e2a07778276fe0c87a8c2c7ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJb+BMyU}XT}1B?uew-`7Wm>3utq!@U(*@HQJ9?E@G+1TpJkmA6>!0=IkB{8^x M!P$Wg#ExD703Ch|4*&oF diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-172.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-172.aper deleted file mode 100644 index 6aa4c3636db97b3bd079fb7645d204c0a92a661d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 vcmZSJc2HqpU}j)oU_HRdz<7&+gMo>GkwJ=qkJr5H{)%V@_E<&+rUwZCVKD}Z diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-173.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-173.aper deleted file mode 100644 index 79fd8486f696df38960bcad25550796691258d4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}XT}1B?uew-`7Wm>3utq!>6k+%Io<&&GkwJ=qi&H%_spupl6Z=g7MY9E1 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-175.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-175.aper deleted file mode 100644 index 23ab2562bd4c04aa381ddebae350ab603b4d4875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69 zcmZSJb#P>0U}XT}1B?uew-`7Wm>3utq!>g+)Mu%bonT~Qzoo&+k(pPLT9lVs!jR&? V!NBlQfF&`wfx+2<4aAOK005cQ4we7_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-176.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-176.aper deleted file mode 100644 index ce33a73237efb932db4edf4eb295f280c72aa70f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmZSJWN0|az`(}9z`%Ndk%93R0|x^W10#bI1DAwd0|P?>h+vRls9<0)VJLQGU}xoT zIIse&UNl9W*KCFr6T1_WCz}GpM*#y%2KylPgN*E)9GQ6~sYQ9IC9I6Px(r-#EdTz+ zI;$%+G$;x%F)#=;vT*=GGmvCqVc=x}aljM{O91ybpg{~wj1L%2Hb;7&q}{b?*|?hacp?+j1UN*0ILof(C%05GdAaR2}S diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-177.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-177.aper deleted file mode 100644 index 0ff342644ce43299d95d8f74b8fefb264a619ff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 zcmZP&b1-0FU}j)oU_HRdz<7&+gMo>Gk-^JBN|Ip*Bco4bL&F>f?hkoKE-*S6=m3=g F0RYxV35Wmy diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-178.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-178.aper deleted file mode 100644 index 89985437e04b2de02b80f36b89ab6776b326f52b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRdz<7&+!-0u`k-^wOo`J#0L5gdBJp%*lzXk?mzzF0p0szpL B23Y_A diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-179.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-179.aper deleted file mode 100644 index 7b82c20c46aba2f765469e5d57c3265f99997cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZSJb+BS!U}XT}1B?uew-`7Wm>3utq!{>k)%8rmzB92qGcX4+9AZdu;9y|*D8P~! O+`!=Mzy@MRF8}}yN(&JH diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-18.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-18.aper deleted file mode 100644 index 4d3cae2d101b80f64946940ab449738534e054e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 dcmY!oXAojwU}9i!U_HRdz%ZAA!-0u`5dar&0y+Qy diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-180.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-180.aper deleted file mode 100644 index cea222695a0d88312975353ca5cf5f7f320d3fbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmZSJcCcn(U}j)oU_HRdz<7&+gMo>GkwJ<=^CGU_Wk_n+qKP diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-184.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-184.aper deleted file mode 100644 index 8048c91db7e2339759c7aec80b9421a11ed98fa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmZQzW(ZeSCC(MvP6b=9Y diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-186.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-186.aper deleted file mode 100644 index 5ca797eaf670c6c12f97dd289b1c7b26aaf0d1d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmZQzW+-A{U}NB5U;;uh23tl3aRw=_`SlD8tp6GqkO3o*1D55%CCkJR!N7Wek%93R hLy7|j1H(rF2A0GC24@F05Zl0#A=`mff`NyD0RXx|4ZQ#W diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-187.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-187.aper deleted file mode 100644 index 080db5c11bfebdc8ac7491007a98dc6e51f75dd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmV-B0L1?w0{}Mw00RI3Kn1`700G(n2tWb=0strgAsC{b(_=YNM;AyLlJ|c{sjrht Rdv-ef>^bfA2NYr3YUqI)69xbP diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-188.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-188.aper deleted file mode 100644 index 57e8726e9e4aa49925ef871934e418dce0dd2025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8RrVufX8Iz|O$K=K$h%Ixs2#06AF%LjV8( diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-189.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-189.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-19.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-19.aper deleted file mode 100644 index 09a0b4b644a4d46fdbf470384d37e8095088e681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZSJb!g~iU|?kc;scBf4D%Q`7?^-iiXkyU{bcf1X+|c+TN<1knRz9tMR}Rt_p zltqCGMFkGbQd2|5KyfCJxUKE2m?EDe(@njexdpqf;Al`30IC;gWCPm4&3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-192.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-192.aper deleted file mode 100644 index 92db4345ddc4b19b334a95f96d4afcccca4c0123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmZSJacF2}U|?h5U|?e4VUS`7@E3R4s^ZDY?#RUbjp3sJ0}~@71M>@}2MG*{Oe_}! zFRDv5G$;x%GB5}|gPFR|=nEF;4M24|q@U~z^N Z2M!R6L0(}2Lz@Gm0fRRKJ6M2;5dfPQ88rX^ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-193.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-193.aper deleted file mode 100644 index 267e67961df8742e731bf15506d9ed9eec425171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30 lcmZSJc93FVU}j)oU_HRZz;J|tgMo>Ghe3*gg_%8+5dbJB0*C+r diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-194.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-194.aper deleted file mode 100644 index 625028819e5ea7d873605d666f0518f72863c9d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 zcmZSJb+BV#U}XT}156AIM;JI5m>75%q!@$*#SheN{mRB3#=$8dAYc^I7RZp|z`?-q SQGh{SVF81)0~?5KUGhe3)#RfRo>L5$m7%~CK S+e-_B28K+_N422~J<|abGz`4} diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-196.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-196.aper deleted file mode 100644 index ca04723242d73fe66945487260ad8f100dbd12df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 zcmZSJb+BV#U}XT}156AIM;JI5m>75%q!@$*#qa%}TEosB%<*`qsxiB1!DNOM2Mz{? Sj{*$x3JVyV9oRr@14{shkPVLj diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-197.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-197.aper deleted file mode 100644 index 0287fec306af563b228d4370ab9a27b3976e7527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 vcmZSJc2HqpU}j)oU_HRZz;J|tgMo>Ghe3*gkJsGx(@|{(_E<&+rUwZCU3CUV diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-198.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-198.aper deleted file mode 100644 index 9c6d59e9c2814d4a58eba9f94ad7365baafe0bbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}XT}156AIM;JI5m>75%q!>6k+$U)0{$yZ}V@Pq}U|{$tz#y-%fWg^; J4a7FE1OVQt30(jH diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-199.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-199.aper deleted file mode 100644 index 1b63c7229d1e2f9cdc683769011bf4d9c8e06143..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 rcmZSJc2HnoU}j)oU_HRZz;J|tgMo>Ghe3*gi&Nb|V6_n=6U$8iKH~&o diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-2.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-2.aper deleted file mode 100644 index a819799e6ed7e0d3aa7a0d4795b0449ba09fcd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmZSJafo1GU}fN7U}9iokYX^<7q3~cxr2$_k%@y-KtRAKq-`S0gMDK$iOgEFca%AR}q!#6+mhdtI6@mbht}X*p z9NWKt@7^&pt7|qKQf2{4u{0s$|Nj5-f9ih#8OQ(2|NU$Kt4bk(lTXrb zs_KbDe;a^SJ+OcNKRyA-u<(ER|MCqWgGs=cIXq%nf(VO#s_>2mUVRS3gG)_}HbuUl aF@c?d=kA0U}XT}156AIM;JI5m>75%q!>g+)crNM|1&bN+|uCW$jmEAEy_zRVMuY{ VU|{$tz#y-%fWg^;4a7FE1OR>k4I%&l diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-201.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-201.aper deleted file mode 100644 index 0c7fea49380206e7f6e38261af62047db6ada53c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmZSJWN0|az`(}9z`%NdiGkq=0|x^W0}q1}1D6C(R0Bf-h+vRls9<0)VJLQGU}xiR zIIse&UNS{}zj15;6T1_WCz}GpM*#y%2KykEgN*E)9GQ6~sYQ9IC9I6Px(wWLEdTz+ zI;$%+G$;xH?GR{W;{bwYAj!hQz{>*SfGHN10Pb%Ghr!E1N|Ip*Bco4b1A_zu_lLYA7Z@1~bb!i$ F006*j2sr=% diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-203.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-203.aper deleted file mode 100644 index 8ad62612d9eb1fcd141e5b0b71c4cb8de13aa5aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRZz;J|t!-0u`hr!rEo`J#0L5gdBJp%*lzXk?mzzF0p0szj5 B22KC~ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-204.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-204.aper deleted file mode 100644 index c6dfd40b36aa76e73f918b91e77af230831d9c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZSJb+BS!U}XT}156AIM;JI5m>75%q!{>k)w4qE!kE~d8JL3@4l$%Sa4;}@6kw27 OSis=yzy@L)SONh1JPE!4 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-205.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-205.aper deleted file mode 100644 index c26656e6e764ce45e8ddee2ede17bbcaba07ab98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmZSJcCcn(U}j)oU_HRZz;J|tgMo>Ghe3)#RYhIH`_B|+_C#lX0R}&YRE7$M5(Za> S00w9GMgs$;#H3_TMg{;LOA3|% diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-206.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-206.aper deleted file mode 100644 index fe6cffd8cd0d9fb5b876a0ff0a2bd4b6a0f487ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmZQzWoTH&z`)GFz`%NdiGkq=0|x^W0}q1$Lqk6UgCIjgCr<+-y8yofg98%gZ#b}m zfeolfI!nEJUhPMgB!;7`tc-0y5UHZTC~P1oz;&V{=|2!SGBE!C9}qoHkO^7T;c!YI WNJ5DjSrn>vzAy{2sKen@uv!3K*Ej|M diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-207.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-207.aper deleted file mode 100644 index d17878527e672935b580a802113285f8c8188308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY#jWiVx6U}j)&U_HRZz;J|t!-0u`he5_co`FH#L5gR7Jp%*lzXk?mzzF0p0RYL7 B1}gvn diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-208.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-208.aper deleted file mode 100644 index a41917e628a07126c4bccf4a0f7850caedd41981..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58 zcmZSJbueRKU}XT}156AIM;JI5m>75%q!_q3)gK?PV_;5VIL46Tz`?-qQGh{SVF81) K0~?5KUDK#K3TbfrEjGfro(+2pO0hn3xn8SQvO27(NOxFt8W^DFaJ} z42Fga4d)yhR`Uyp9G$_y*ub!#?Ts&k05j78pfL;#qAM6g*owG5FnfGt5WZl2v_)is z_0bMa2iZr51Xvt|KMAQ!5D=DK#K3Trfe{E9m>igx6d0TsxFmR@8W<8l1cNDqF(ZRC1232S zffWpFKn;=%>})^*Sss{xv;!l%0KWr+0}^J)U}(6|aL%D&HNSw!(HRVk4GjC)-uN;I zFf$zhn!&&zx`IK3t%&Obv&TmU;S1JBTSO*UAMN0DkbQJWfW<-hlaR^;0ioKp4gFV{ zXIRK^{0*>dZio*sZ|h#g$kUR)A-vr&>6%`Xywj(Lkv|kK%wgbs)U|K{qi#oo+JyuL zhXxL|gdzqz$Dn{KNdgLuEhfqbO&OF#uHE0TU_&a?5ulG*7#hoet#&I{4mMfvB3;q0 z!NC9+0)7rmt_&d34d}#=0t_rx5L#Yg0Rw{)LpB4e1OpFHNP|I9AU0Q2Bgg*hxzP9R aVlR)~)aDaRmG-j!kif`0@51C2ZMFcgV_=W~ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-211.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-211.aper deleted file mode 100644 index c306972c9b33409aabd371b93be567d4a9ff8a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmY#jWN3K7z`(-5;J|u-iGkrL1BU|>0|$eUgF7RGh=Y8^!VmReX$D6A1}KXg&JqPH zIS5n21ef4}v&0yx85-IeS{ND{xqmX;Snt5Fz<5GkO!@S0OItojGgo78udocwD zMg|u~dqpKrhK9-SFF9L^oYh*eKt%tOqHpf+rh`+s1vnTOm>3*({|#NY+Hq|||5fH0 z7BU=v11y^xe3>gUb}bNdGIrWyC9$=CLCdLT`-PPSYyJql@MB>4=o)Z=VcLmK1^{0L BMNR+! diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-212.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-212.aper deleted file mode 100644 index e2ad7980f06c1bc574e447d28105ee427a46d702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmY#jU}(6>z`)7?#0Qud7>+P-FfcLjFfalk1CN6-BLkmGharkV5GWMsz|G3Q;0DK#K3TrfrEhwh#7&9fysf1Nr8cdftP{dqW}YgyaJFiuw=+! zXt>>Q)1hHCzktZm84QdK4Ex#M_%aAEGaUdL!@wZAfi0cFMi;oP#7p#xAh)l3P z+QI1{`{DK#K3Tjfe{E9m>igx6d0TsxFmR@8W<8l1cNDqF(ZRC1232S zffWpFKn;=%>})^*Sss{xv;!l%0KWr+0}^J)U}(7AaMPh-HNSw!(HRVk4GjC)-uN;I zFf$zhn!&&zx`IK3t%&Ob^NWuR!WXQMwunryKH9h0Cn1#y0z$QG8~U#@ z&#;i;_#0r^+z=mN-qyW}k*6hpLwLJm(lxy%d8bbgBY!Afn8U#NsB7T@M%|8vfQx$= z92z*-5{ei&N`wNgBnc=qwwNd%G-Xf{xpsfUf(@xmM}R(NVQ4J>wc4#*IoM>ui*!Yk z1_uLR2>3ZLxiWxAH=q+g3NXkkECkamRzSWfRA>PMgAzkF1FH-JA5c_-K~chMfB6;D he|`3Ic{)ERHF?`^)G|-rRe1gX6Sb)gn;y>71^}nlW=sG8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-222.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-222.aper deleted file mode 100644 index f602b775cac3a929a0248b9d8744b607397bdbe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmY#jWN7qcU|?Zja9};a#K3Tjfy04`ftNwZpfsY*vON(jAX*8kq4)Y7(+EfLt8@&Lqj9?Plg-o9T*lEPY7?2ckf`B*LY7y zVF{3M@M3r`roh0+;KFFHsN~7eF!}u@XG@W@S_>A4=zmi5&HdeUa0<5o2Ll5WgTwB> zq3c#Vu5IYQ$~?nDhU0I5Wpjfsb4A9k1!7LdPJ65*w)QV*In`{xu(DvyAAuKs3@jgA M11>O3JJHDi01{MC1^@s6 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-223.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-223.aper deleted file mode 100644 index fa0bd1c437d519058a6648dd73a096231e640c50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmY#jU}(6>z`)7?#0Qud7>+Vt1I2bcB@HvQ9Ec|d_1p^yUjUs;ol%)ig zI0%zahD)e0R5LWRHMB4^G;;rBxUt@WVS(|4@CJGJ4u*M+_jDAN00{>#hWBC$Kr37r z?G=?g85$0ulXBioUtOn+{Il7T{n2y2WAl-_Uid9oIJWUuB+QA;a-E xz_Pi)m$@Qi*8(voW2Ze<5?lKhw47?TUszeN=8wP&KL(bMt^pSqrk&_y001SyMpOU* diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-224.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-224.aper deleted file mode 100644 index 487494d55bb117f8b127182995d649ff8445bffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 ucmZROa8PGpU}j)oU_HRZz;Kj-gMkT%qZkB%LXi&KtPBh*fGh?_1_l6J7X%&v diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-225.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-225.aper deleted file mode 100644 index 84271600739d25ba210874aaf1b331df40edb9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 wcmZRObWmqtU}j)oU_HRZz;KL#gMo>Gmm!Kl5GWMsz|G3QumZ?paAaTr09?xiB>(^b diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-226.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-226.aper deleted file mode 100644 index eb4aea6aa5bdc627b49a5e8a7a304a325e54b9f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 xcmZQza?oI4U}0cjU_HRZz;KL#gMo>Gmm$T0gMs0r0E4{30tROXHW1su5&(4|29f{( diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-227.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-227.aper deleted file mode 100644 index aa71556c5a2ab6cb6e2a67fe1646f7fc9ad2d7f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 fcmZP&XAogvU}8vSVCP|CU^vRa!NBCe#NYq`6RZLE diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-228.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-228.aper deleted file mode 100644 index a132ebd3299108af0943c9e8fd1b65a3d750c1d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 ccmY!oXAojwU}9i!U_AgNk1}vLFfnid02r78Y5)KL diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-229.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-229.aper deleted file mode 100644 index 9dab468d5595ab7453a38327239ecfab991d2293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmZQzU}%(NU|?flU|>DK#K3TjfrEjGftP_12pO0hn3xn8Sb$uHj{*z~ECxWzz>*<@ zq2XD>6NiS?`~o6JXD~1}Fzjc0NmFIXRK5t(3p zw1d+@_R%2$76;)^LMjskglg9|^j~G3VIjluH^8#FAwIyot$P(CPfPxW@OH=5i1QZ%uOq36rGAM~$yT4(< zhE%2_KtHfBG?xEb?N+WFY_i}*x}sf!g8|Stehy5o3?R}C=tQ7*Sge3bfwa8B0tN;X Ms1Q)f6d|ev06g(dS^xk5 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-23.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-23.aper deleted file mode 100644 index 1c704359ec6240f35dae7f00da7b1e6c9409b728..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmZSJaqwVZU}NB5U;;uZ1~E}_?IotSS=e1UxxX=d6kuRtWMW``#^4N81LSI_Go(0h WfLL?WR|PP%IWQV9BmkuxK#Bm=@eVow diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-230.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-230.aper deleted file mode 100644 index 45339ddca501b5d4e1b0786b206a275670e93f3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmZQzWN0j9VBlb2U|>DK#K3Tzfe{E9m>igx6d0TsxFmR@8W<8l1cNDqF(ZRC1232S zffWpFKn;=%>})^*Sss{xv;!l%0KWr+0}^J)U}$*O@Wi2EHNSw!(HRVk4GjC)-uN;I zFf$zhn!&&zx`IK3t%&Obv&TmU;S1JBTSO*UAMN0DkbQJWfW<-hlaR^;0ioKp4gFV{ zXIRK^{0*>dZio*sZ|h#g$kUR)A-vr&>6%`Xywj(Lkv|kK%wgbs)U|K{qi#n-K%ftU zLjwm}LJ@QKA{0JL*u6951J diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-231.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-231.aper deleted file mode 100644 index fa7b07ec5f14dfca6117228bed6ed0c62116bcb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmY#jWN7qcU|?Zja9};a#K3Tzfy04`fs;YVpfsY*vON(jAX*8kq4)Y7(+EfLt8@&Lqj9?Plg-o9T*lEPY7?2ckf`B*LY7y zVF{3M@M3r`roh0+;KFFHsN~7eF!}u@XG@W@S_>A4=zmi5&HdeUa0<5o2Ll5WgTwB> zq3c#Vu5IYQ$~?nDhU0I5Wpjfsb4A9k1!7LdPJ65*w)QV*In`{xu(DvyAAuKs3@jgA M11>O3JJHDi01mQH0{{R3 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-232.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-232.aper deleted file mode 100644 index 9359f783aa01ca56a8fe784643e791ba7666632f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmY#jU}(6>z`)7?#0Qud7>+S;FfcLjGB5%m1CN6-BLkm8U}j)oU_HRZz;KL#gMo>Gmx0NFiBSOn9AN?} diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-234.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-234.aper deleted file mode 100644 index bf5b8e93580e9d29f3a489ada4247c7428b82851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 ccmY#jVGv?qU}9i!U_AgNk1=pKFfs4~02dVkT>t<8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-235.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-235.aper deleted file mode 100644 index e7591cc699ea1601031a4bcccce2e1ba248078c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 fcmZP&XAogvU}8vSVCP|CU^vde$-v~m#Lxf$6a@l0 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-236.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-236.aper deleted file mode 100644 index c58443ba989ebcdb5c32c6770480fa807c79727a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 ccmY!oXAojwU}9i!U_AgNk27#MFfnid02rnMYybcN diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-24.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-24.aper deleted file mode 100644 index 5a32454e06f4e607747530634c41e723bfd28d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23 dcmZP&XAov!U}8vSVCP|EV3-GFGC44+000nN0jmH2 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-25.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-25.aper deleted file mode 100644 index 2ca637ddeffc75f51c9a42e8fe5a826669127ddd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 dcmY!oXAojwU}9i!U_HRdz%Y-2!-0u`2>=&&0z3c! diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-26.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-26.aper deleted file mode 100644 index 857b21f574a53b54216a232aea6e1da2a516b419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmZSJacG#$z`)AD!NA18%pk>3TqNFOXY-$(-I0m=8^cEd1|~)Z1_n;n2MGrp7#S3q zSS|=&RF`UKP!s@)3pBC;B^jE*Bm*x40~bS3=vPJor5G*-L*}Ok?1X{5RjUM8HDq!@$*#jihB=?-TPGkwJ<L4kwELPEkiNKHgchdn`-SKy;` T=b{z&8W`5{oUadkv56M|1v3pg diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-30.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-30.aper deleted file mode 100644 index 5547ba194d59e8768052e2f1a1576e32e4d7c00e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23 ecmZP&XAov!U}8vSVCP|EV3^Oq%)sQpr~m*EW&x=H diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-31.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-31.aper deleted file mode 100644 index 133b33cce659aeaa979f1c3d4c7b01c0b373c6f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 dcmY!oXAojwU}9i!U_HRdz%ZYI!-0u`82}f50zLo$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-32.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-32.aper deleted file mode 100644 index 25931269904b8eaeee3904d65909a0b315fce7d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8QiXe1XA%ft`Ve&jG~kbYN5f07@zaIsgCw diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-33.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-33.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-34.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-34.aper deleted file mode 100644 index dc7507d7739b47f54c543724e31d21ff3d3b5d5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmZSJamZj`U}fN7U}BJGkYaGKXLl^(;1m!LFbZi)VtSCkpvYu%LGYrwR6~QJ03!o~ zKqDIi5Hy2H23`gRE`}H`h6#eq{u0YR#sU>MGXSMN3K&>2q&RSZSPaU}7Z}k*UuZZb0 PZeTcMmuIz1Dxn1cVki+H diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-36.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-36.aper deleted file mode 100644 index b1da6a2da898a5f873cf03293241eb54f007e8f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}a!nU}9io-~f{H3{ng{-0Z;|h9^@#lnGaqF{C(fFfe=+U{H3xz~Jn_ J24Wjn0szo73E}_% diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-37.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-37.aper deleted file mode 100644 index 959269e7d14e5c49a75f953012eb93eeb3e6b939..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37 rcmZSJc2HzsU}j)oU}9io-~f{H3{nhyyylB9eX3$$k7Z3utq!@$*#cQ}v&1Gf}=E#~jov*q7LM20r0|x`c SM*)G#T^|^n9oRtZ=mh|J0}loO diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-40.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-40.aper deleted file mode 100644 index a43205865cf0c56bef3d1484a8e0a6beb0128dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 zcmZSJb+BV#U}a!nU}9io-~f{H3{niDBI*HA+`)`YHn%i5IWqG~Qj79ZOBhldI2af{ R3NR=;Utn-{U<0uYECC}<3%~#X diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-41.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-41.aper deleted file mode 100644 index 4352ea810d27eeb1e330675e81611af6a4e05561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmZSJWN0|Sz`(}9z`(@7$iM+4j1cL-a6$66_L#ZnRrviV&ffZoI z%xUU}4)AYdVs~QlWK&@HC}3d8;230ckdc#fziQ02dD-J0GQGU A1poj5 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-43.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-43.aper deleted file mode 100644 index 74a4b1224d2a50f959a75ef7aecaa44cac11dadf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 wcmY%3WH4f2U}j)&U}9io-~f{H48{)f3=BpNQe5-v85mgqH83CpMj(d~0EGkwJ<tBhXMO<&KZaC>3WgE}SB3xvXZJ<} M1Exg7WKTv00Pp7s)Bpeg diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-52.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-52.aper deleted file mode 100644 index 7e959f8bed1eb324e5f99e3c3fd24573071f9f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmZSJaR_2yU}fN7U}8{YkYdo%6yLKe{YVqLBO?c=fB*v!7_ff$0HXPrY%U01RA+Bs k;9_9lWjM&-%)rLL@KM0Pk|D)`1H_t}zAAvB&4JMX0DfQ)-T(jq diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-53.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-53.aper deleted file mode 100644 index e5b40a26e32012ec6da99dbad25e27f98c21caeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJcCcVzU}j)oU;>gHKvI!Gia}L{J%~YO(%rl}*UDa0M{+MxIN0tdP++_I_Wh?5 O7-bju^qD?*vK9bgsS=0) diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-54.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-54.aper deleted file mode 100644 index 024f8611362bb7ad37aece9d4e5162d424217fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65 zcmZSJb+Bb%U}a!nU}9iq-~f_}3{ngt!t61k27HMre0P2)#HvmdQGO>sk0Hf@gMs0r Q0E6TP0S0FWHZYqJ05vZQ#{d8T diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-55.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-55.aper deleted file mode 100644 index 64708da17213eb9d2c80d45584dc35de00cb70e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJcCcVzU}j)oU;>gHKvI!Gia}L{J%}M(@4_?zbH=M@-IZ!hcJK5Mc$$9g&c~}0 O7+)`MeJ_#w`Y`}UZxY-9 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-56.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-56.aper deleted file mode 100644 index 0813e21590b1404745fb9235b98bc8a02c9febcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49 zcmZSJbgHKvI!Gih-GlJp=#@IROs< diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-58.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-58.aper deleted file mode 100644 index 2666443770ec6a4406cc1ec475bb9115258d4f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 bcmZP&XAoduU}8vSU}0cpP-I|oU{nAA35fw1 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-59.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-59.aper deleted file mode 100644 index 6a7afec2c9ad20408125baf0e3d9e9f712722d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19 YcmY!oXW(aGU}9i!U}9iq-~f_}00|KQ`2YX_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-6.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-6.aper deleted file mode 100644 index 492929db083ad913d20274fe7ae6c17f71ce6f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}XT}1B?s|a~U`om>3utq!>6k+_U@RQyAFe7*ZTK7#KbZ2vqL+z~Jn_ J24Y7q0088e3hw{_ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-60.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-60.aper deleted file mode 100644 index 5b7d37877e515b007dc651ad46b5f8dc0c31de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8LZ%&4Iyzft`Ve&jG~kbYN5f08rBfjsO4v diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-61.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-61.aper deleted file mode 100644 index 0dbd6bf05c4396e7706023427f35c887a2b1de02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27 hcmY!oWDsXyU}DH*;AUW8_$UA*m>3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-62.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-62.aper deleted file mode 100644 index 87aae67a267d04411eb054ffafeb900db50bd810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 zcmZSJaqwYaU}fN7U;;uZ1{Gy?$3hNH0RaJ{kg`hF4<8tSfRBmsg5X7U_67zn1_oY+ egAC3LYzzz^1q>`1QXDuytdMUG0t{^qj0OPftqz$0 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-63.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-63.aper deleted file mode 100644 index c6ae3122c2edde7edc8f3560b034b6fb857a518a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmZSJcCcn(U}j)oU_HRZz;J?rgMkSMr5IFI*n=3H6xb|f7!*T&T|70sq}cQXo;sga Rt(R|LQ2g>!H%KeG9RLuN42=K) diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-64.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-64.aper deleted file mode 100644 index 07698dcd3dd3c8cd00cab4dc1fc361a53ae552d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJb+BMyU}XT}156AICm1*wn1E1&9|c0bIS4Q~ KJFtP++UWo!WDFtz diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-65.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-65.aper deleted file mode 100644 index b4d49fe78b973004a907756e8c93e3856b22838c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 ucmZSJc2HqpU}j)oU_HRZz;J?rgMkSMr5N~l%@>zR2{W+AGBPlI_y7P^xdsOS diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-66.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-66.aper deleted file mode 100644 index 63236b1fe4915830816099062fe5528968c1a39c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}XT}156AICm1*wn1E10U}XT}156AICm1*wn1E1f96=9Q!t<)xM|q&RRe UFnkmU`Q{+N;OxK#Vr!=Z0KN_nTL1t6 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-69.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-69.aper deleted file mode 100644 index 63e8e8c69494ccdd0ddf9b4accae33e6da61099e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmZSJWN6sIz`(}9z`%NdiGkq+0|x^W5IQk%N!T?oFeHEo1__3A1_l#`Bv%Gb1^$Ku zD8+Vm!#m$;pwKSCU$kms-NgsH@As636!M-@A9r z%Cxe2+G~d_B3)XMF daJl5*t$_HXpo>3Q|IbOExFf)dStsxRasb(=FZlof diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-7.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-7.aper deleted file mode 100644 index a0c24e500c7f75c1e6581390a2526c97bc05bce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 rcmZSJc2HnoU}j)oU_HRdz%ZAAgMo>GkwJ=qi&MRlQCWeJN%1BCIf4W0 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-70.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-70.aper deleted file mode 100644 index b966b71a39e4b3f58d39558218f9bb3b4d946e52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 zcmZP&bFgP%U}j)oU_HRZz;J?rgMkSMy&N<(7!4SiY;HC%>|x;lkay$)qvH-8pfU#b TD=Z9r9~u-G7`1@fIv5xLi4hF$ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-71.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-71.aper deleted file mode 100644 index f29c7f74f93578e4c50356edb0351294a7c4ac63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRZz;J?r!-0u`iNV-Go`J#0L5gdBJp%*lzXk?mzzF0p0szg) B21oz^ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-72.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-72.aper deleted file mode 100644 index f74a04f761489b5e322ceab48c72fd6166d28764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmZSJb+BS!U}XT}156AICm1*wn1E1N@}omkZ1Q diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-78.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-78.aper deleted file mode 100644 index a74b179b18c7a6c2255f99d442227f893818b131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmZSJWN4Vkz`)MHz`%NdiGkrH0|x^W0}F!_1DAwd0|P?>h+vRl5N2R7Vc=tB;8fsm zIIx0&4WynSn}Jn^fe*;^WKdvQk}^HvhD~080n6Qf1>=kVg>JqP^?SBPc$s;HY>DPP x1}_Iq4Mqb-CYzfL40{;(Kja;`!05O`2dJBY{R#^M--iYT21YGr28Ip>1^`*sA$$M; diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-79.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-79.aper deleted file mode 100644 index c9b10bbc6125aec1c9c461838a60cc9c8726ca2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 zcmZP&bFgP%U}j)oU_HRZz;K*_gMo>Gg~7`~Q-jffk;&#}1H&E${ttOaE-*Uo&;crA VV86n`!1tj+fq_vAsI7y60RV|P4DSE{ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-8.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-8.aper deleted file mode 100644 index 5b76f60bf15492f244dbc00f6b2bf4652d9e4ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZSJb!g~iU|?kc;scBf409Pc7?>Cs8Kf8z6Vzka(jyp|6mMy8a%AR}q!#6+mZ*C* z98wkqDijqsFiTAh83V`RWPJDaDZ4L-y8%O+8h`S7!rU| K4o?`Sz5@X7R2>um diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-82.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-82.aper deleted file mode 100644 index 425b01e4781002cdb8a2df0e9485cbe93c6534e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmZSJWN28yz`)MHz`%NdiGkr10|x^WgBgPp1DAwd0|P?>h+vRl&|+XPVNi8t;8fsm zIIx0&4WwR--IF28GlWfn;iG_oWjK=pL!@U4BO^mL1FH-JA5euSg96i%l<5gKZ1MsO zSnl>K7+?G^bn}g<-?KHs%gifeOEl*(csXclFd8s2+1zYk*u%j8A@9fqM#mjGK-~=N VS6CSMJ~SvWFlsR~Fmy05001%4CZYfU diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-83.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-83.aper deleted file mode 100644 index 73ca1a7ab17fe30b85dcbc17003c7d50511461ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmY%3WH4o5U}j)&U_HRZz;KFz!-0vxjKSDJo`J#0L5gdBJp%*lzXk?mzzF0p0sz%* B27Ukl diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-84.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-84.aper deleted file mode 100644 index 517ea74a90d8184f8726b9bc3d6fe5556b62dc31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmZSJamZz0U}NB5U}8{XkYcd55}&Sn><0(C2P5}4hK~XaOpG@fmd}e|{qW&{149r{ z#K1B}fF+zsfx(dZX`;#mL1yEKMX`*`7akmBa0VI#R>6?szyV@~d~*3ut!W|g@0{|dB16lw8 diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-9.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-9.aper deleted file mode 100644 index 6c32ba0556634bf7b62fff86b75d63ea503f9164..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmZSJWN5gh+vRlXy{^KFkxtDab@6C z;BPpv0<43vRQ<{P!z-BBotQk?6c|1V7+5j{1SuY5*SfGHN10Pb%5#bC(%^nu9)LFVv?WwAhY&I~{m9|a678B!cLKr9By4FU{p H4vYo>dsGqQ diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-91.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-91.aper deleted file mode 100644 index c3a2688d2143fe75edb45994b0067c5244f1856c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZSJcCcVzU}j)oU}9io-~f|S45}*ZK@78R|DG(i&o`(+)L@E*QCgvZWago?sXrz# N>N-9($)E064*)n24~GB% diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-92.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-92.aper deleted file mode 100644 index 143305ff175e954f9bf9d95bdf36dadc719f12d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZSJbueXMU}a!nU}9io-~f|S3_RTI!5lX>cidgGO5Thi#esu?;iCY9>3yt5 zK#Lie82>OZrbT+DFfuY^GqB1q@BuY=GAM+82-@?+Z{M`1Y%c{5ZOU6Y+p18%cy{Fl Nxu*RAt?u`x0RS2HHxvK> diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-96.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-96.aper deleted file mode 100644 index 0ca6b13cc67b5fba025bc38a5f3f4fcbe163fb11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55 zcmZSJbueaNU}a!nU}9io-~f|S3|yS*nU42PFtI13GNd?gFfe=+U{H3xz~Jn_24Wjn F0syfw2;2Yw diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-97.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-97.aper deleted file mode 100644 index 970245c69589ccbcef2c42c28304798f8fac23f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ZcmZP&XAoduU}8vSU}0bcLM8`B1po-S0QLX? diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-98.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-98.aper deleted file mode 100644 index 0e801b4f56a4f712b372160689c497b293de338e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19 YcmY!oXW(aGU}9i!U}9io-~f{H00{vA^#A|> diff --git a/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-99.aper b/examples/sample.source.S1AP/nextepc/sample-S1AP-PDU-99.aper deleted file mode 100644 index f09a57a684ea4450e6180bbc46c3335b979c943d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ocmZP&WRPcIU}msp;9y|*D8Nur&A{Nmz|O$K=K$h%Ixs2#07jVv_W%F@ diff --git a/examples/sample.source.S1AP/sample-DownlinkNASTransport-1.aper b/examples/sample.source.S1AP/sample-DownlinkNASTransport-1.aper deleted file mode 100644 index 8dba884785ab4b52c3e99cad842b9c42dd364633..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmV-Q0JZ-B00RI300qDS0B~0T2ml0t8%F&A8UQjeCxm#D?*V*Nh_TdC704ah7$O8k gNn?uZXN4r_2c2L6GNqTk2YMoVnBCNUm*$`xJ^Yp#$N&HU diff --git a/examples/sample.source.S1AP/sample-S1AP-PDU-1.aper b/examples/sample.source.S1AP/sample-S1AP-PDU-1.aper deleted file mode 100644 index a82f5b5b1a07e36357437082ce79e0664d57848c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmV-U0I~l73qVQ$00RI300qDS0B~0T2ml0t8%F&A8UQjeCxm#D?*V*Nh_TdC704ah k7$O8kNn?uZXN4r_2c2L6GNqTk2YMoVnBCNUm*$`xJt(FcT>t<8 diff --git a/examples/sample.source.S1AP/sample-S1AP-PDU-10.aper b/examples/sample.source.S1AP/sample-S1AP-PDU-10.aper deleted file mode 100644 index a662583ab88bf2cd6229b4143536d2a9fafab23d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41 qcmZSJV^C#aU}9i$U}8vMh+&Wb($Neo2`LOLU^N4799NH8=^XJ9a4Xqf2Az{<|w zutr4b5KuW|L!)}gua$3@*qxa4*%XYvdNSBD_y;i_WMq|NOGzv$&&*>^&d+7b%}X}0 zG-1n4PBt<&Wl1k6DrRK_8u1~H?ccvm^B5S^r5hR)xtJIkxEk3GtYBn>a+*OLrU345 zK!Y2AE(2O9t`q6$#oYQs+=PW$Uhq>2qdh}51FHlB4^YyRK|$r>I`unt37?zY#h=C8 zjr+gxtfaz8?sW>g)5HHv-df_rpy^;(0dgkL1OdU1fC7#Ok~ G7#RS@+)0H1 diff --git a/examples/sample.source.S1AP/sample-S1AP-PDU-5.aper b/examples/sample.source.S1AP/sample-S1AP-PDU-5.aper deleted file mode 100644 index d2de17b3a92454a22674a97124b35ec6b11f6895..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmZSJbuedOU}a!nU}9io-~f`w3{nhyyz0wXbQ77_of(*e7!EO{IB+l+ef4Bu5MW?% Jc3=auZ2_ ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-DataInterChange-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-DataInterChange-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-DataInterChange-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-DataInterChange-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.TAP3/README b/examples/sample.source.TAP3/README deleted file mode 100644 index e3f9a1f..0000000 --- a/examples/sample.source.TAP3/README +++ /dev/null @@ -1,44 +0,0 @@ - -GENERAL INFORMATION -=================== - -The GSM TAP3 (Transferred Account Procedure, Version 3) decoder. -Invoking `make` will compile the ASN.1 specifications from the -../tap3.asn1 file. - -THERE IS NO tap3.asn1 FILE THERE YET! - -OBTAINING THE TAP3 SPECIFICATION -================================ - -Due to licensing restrictions, asn1c can not include the TAP3 ASN.1 module -in its distribution. - -To obtain the TAP3 ASN.1 specification, you should go to - http://www.gsmworld.com/using/billing/tap3_legal.html -and agree with their licensing terms by clicking the "I ACCEPT" button. - -A .ZIP file with several Microsoft Word .DOC files will download shortly. - -You should extract the TAP-0311 ASN.1 module from one of these .DOC files -and save it as the ../tap3.asn1 file. The ../tap3.asn1 file should start with -the following line - "TAP-0311 DEFINITIONS IMPLICIT TAGS ::=" -and end with the "END" token. -Be careful not to copy any non-ASN.1 preambles from that .DOC file. - -After obtaining the tap3.asn1, type `make` in the directory containing -this README file. - -tap3dump USAGE -============== - -The tap3dump utility may be used to dump the contents of the BER-encoded -TAP3 data record file: - - ./tap3dump tapfile.ber # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./tap3dump -h - diff --git a/examples/sample.source.TAP3/config.h b/examples/sample.source.TAP3/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.TAP3/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.TAP3/sample-DataInterChange-1.ber b/examples/sample.source.TAP3/sample-DataInterChange-1.ber deleted file mode 100644 index a47ce5cb11958875377a059f1015b4831812c6e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmYdnVk}6hjBj*d4R;N4bBS*>V~z0f_HvESWi>W5H!!cykqqE7GB7YTFacsq15*?8 z_{MZrZ3CcKePc2n$!y$m@r|C0%<+x3j9jUT@r~@vuAxEo0Yddz{PCHLjPZ@~jI8k) z%#250$2XQRGN-xLH)aXdH)it1H)epO;kMgo*EgDT#Wz}jM6DPZVLUMyj~gh*#Lx%g zvLyRuDb+VhGSoM6N!2&X0M&rB=`wqjPl<2jVB*~vZ_OmbheOT!1z ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ - done; done; fi - -check-xer: - @if test -f sample-ULP-PDU-1.xer ; then \ - for f in sample-*-*.xer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ - done; done; fi - -check-oer: - @if test -f sample-ULP-PDU-1.*oer ; then \ - for f in sample-*-*.*oer; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - diff $$f ./.tmp.2.$$$$ || exit 4; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait) ($$b) ..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ - done; done; fi - -check-per: - @if test -f sample-ULP-PDU-1-nopad.per ; then \ - for f in sample-*-[1-9]-nopad.per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ - diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ - rm -f ./.tmp.[123].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ - done; done; fi - @if test -f sample-ULP-PDU-1.per ; then \ - for f in sample-*-[1-9].per; do \ - pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \ - for b in 1 17 33 980 8192; do \ - echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${ASN_PROGRAM} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ - diff $$f ./.tmp.1.$$$$ || exit 6; \ - rm -f ./.tmp.[12].$$$$; \ - echo "Test junking $$f (please wait)..."; \ - ./${ASN_PROGRAM} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ - ./${ASN_PROGRAM} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ - done; done; fi - -maybe-wip-pause: - @if [ -f WIP ]; then cat WIP; sleep 2; fi - -distclean: clean - rm -f $(ASN_MODULE_SRCS) - rm -f $(ASN_MODULE_HDRS) - rm -f $(ASN_PROGRAM_SRCS) $(ASN_PROGRAM_HDRS) - rm -f converter-example.mk diff --git a/examples/sample.source.ULP/README b/examples/sample.source.ULP/README deleted file mode 100644 index 0fa919d..0000000 --- a/examples/sample.source.ULP/README +++ /dev/null @@ -1,53 +0,0 @@ - -GENERAL INFORMATION -=================== - -The OMA ULP (UserPlane Location Protocol) decoder. -Invoking `make` will compile the ASN.1 specifications from the -../ulp.asn1 file. - -THERE IS NO ulp.asn1 FILE THERE YET! - -OBTAINING THE ULP SPECIFICATION -=============================== - -Due to unclear stanza of Open Mobile Alliance regarding the extraction of -ASN.1 modules from their documents, and also due to some OMA membership -concerns, asn1c can not include the ULP ASN.1 module in its distribution. - -To obtain the ULP ASN.1 specification, you should go to - http://www.openmobilealliance.org/UseAgreement.html -and agree with their licensing terms by clicking the "I ACCEPT" button. - -Then, go to http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/ -and download the necessary specification file. For example, one of these: - Version 1.0 specifications (Candidate versions): - OMA-TS-ULP-V1_0-20070122-C.zip (V1.0, 2007 January 22) - OMA-TS-ULP-V1_0-20070613-C.zip (V1.0, 2007 June 13) - Version 2.0 specification (Draft version): - OMA-TS-ULP-V2_0-20070625-D.zip (V2.0, 2007 April 25) - -A .ZIP file with several Microsoft Word .DOC files will download shortly. - -You should extract the ASN.1 module from the section 8 of these .DOC files -and save it as the ../ulp.asn1 file. The ../ulp.asn1 file should start with -the following line - "ULP DEFINITIONS IMPLICIT TAGS ::=" -and end with the "END" token. -Be careful not to copy any non-ASN.1 preambles from that .DOC file. - -After obtaining the ulp.asn1, type `make` in the directory containing -this README file. - -ulp-dump USAGE -============== - -The ulp-dump utility may be used to dump the contents of the PER-encoded -ULP message record file: - - ./ulp-dump ulpfile.per # Print as XML (BASIC-XER) - -The full list of recognized command line options may be obtained with - - > ./ulp-dump -h - diff --git a/examples/sample.source.ULP/config.h b/examples/sample.source.ULP/config.h deleted file mode 100644 index 2dda929..0000000 --- a/examples/sample.source.ULP/config.h +++ /dev/null @@ -1,10 +0,0 @@ - -extern int opt_debug; - -#define ASN_DEBUG(fmt, args...) do { \ - if(opt_debug < 2) break; \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) - diff --git a/examples/sample.source.ULP/sample-ULP-PDU-1.per b/examples/sample.source.ULP/sample-ULP-PDU-1.per deleted file mode 100644 index ed388e05916711de95f689bed9ad21085237bf1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29 lcmZROWn^GzU~p_ziTsp31}hx@003Iy2y*}c diff --git a/examples/sample.source.ULP/sample-ULP-PDU-1.xer b/examples/sample.source.ULP/sample-ULP-PDU-1.xer deleted file mode 100644 index e2b0d78..0000000 --- a/examples/sample.source.ULP/sample-ULP-PDU-1.xer +++ /dev/null @@ -1,53 +0,0 @@ - - 29 - - 1 - 0 - 0 - - - - 1 - - 61 01 08 34 06 04 00 F0 - - - - - - - - - - - - - - - - - - - - - - - - - - 310 - 41 - 2021 - 12044 - - - - - - 4 - 15 - 7 - - - - diff --git a/examples/sample.source.ULP/sample-ULP-PDU-2.per b/examples/sample.source.ULP/sample-ULP-PDU-2.per deleted file mode 100644 index 4612edac26dcd77f7180a2534e2f1e34be0c0d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 NcmZRO;9>xR0{{W60OJ4v diff --git a/libasn1common/.deps/asn1_buffer.Plo b/libasn1common/.deps/asn1_buffer.Plo deleted file mode 100644 index ce1f6cd..0000000 --- a/libasn1common/.deps/asn1_buffer.Plo +++ /dev/null @@ -1,127 +0,0 @@ -asn1_buffer.lo: asn1_buffer.c /usr/include/stdc-predef.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.h \ - /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h /usr/include/string.h \ - /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/assert.h \ - ../config.h asn1_buffer.h - -/usr/include/stdc-predef.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/string.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/assert.h: - -../config.h: - -asn1_buffer.h: diff --git a/libasn1common/.deps/asn1_namespace.Plo b/libasn1common/.deps/asn1_namespace.Plo deleted file mode 100644 index 4ee83c6..0000000 --- a/libasn1common/.deps/asn1_namespace.Plo +++ /dev/null @@ -1,144 +0,0 @@ -asn1_namespace.lo: asn1_namespace.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1_ref.h asn1_buffer.h asn1_namespace.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1_ref.h: - -asn1_buffer.h: - -asn1_namespace.h: diff --git a/libasn1common/.deps/asn1_ref.Plo b/libasn1common/.deps/asn1_ref.Plo deleted file mode 100644 index 03595be..0000000 --- a/libasn1common/.deps/asn1_ref.Plo +++ /dev/null @@ -1,139 +0,0 @@ -asn1_ref.lo: asn1_ref.c /usr/include/stdc-predef.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1_ref.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1_ref.h: diff --git a/libasn1common/.deps/genhash.Plo b/libasn1common/.deps/genhash.Plo deleted file mode 100644 index 5c7f8b9..0000000 --- a/libasn1common/.deps/genhash.Plo +++ /dev/null @@ -1,115 +0,0 @@ -genhash.lo: genhash.c /usr/include/stdc-predef.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - genhash.h - -/usr/include/stdc-predef.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -genhash.h: diff --git a/libasn1common/Makefile b/libasn1common/Makefile deleted file mode 100644 index d996e40..0000000 --- a/libasn1common/Makefile +++ /dev/null @@ -1,722 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# libasn1common/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = libasn1common -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1common_la_LIBADD = -am_libasn1common_la_OBJECTS = asn1_ref.lo asn1_buffer.lo \ - asn1_namespace.lo genhash.lo -libasn1common_la_OBJECTS = $(am_libasn1common_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1common_la_SOURCES) -DIST_SOURCES = $(libasn1common_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/libasn1common -abs_srcdir = /home/nokia/mouse07410/asn1c/libasn1common -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -noinst_LTLIBRARIES = libasn1common.la -libasn1common_la_SOURCES = \ - asn1_ref.c asn1_ref.h \ - asn1_buffer.c asn1_buffer.h \ - asn1_namespace.c asn1_namespace.h \ - genhash.c genhash.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1common/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1common/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1common.la: $(libasn1common_la_OBJECTS) $(libasn1common_la_DEPENDENCIES) $(EXTRA_libasn1common_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1common_la_OBJECTS) $(libasn1common_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1_buffer.Plo -include ./$(DEPDIR)/asn1_namespace.Plo -include ./$(DEPDIR)/asn1_ref.Plo -include ./$(DEPDIR)/genhash.Plo - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1common/Makefile.am b/libasn1common/Makefile.am deleted file mode 100644 index 78f05fd..0000000 --- a/libasn1common/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -@CODE_COVERAGE_RULES@ - -AM_CFLAGS = @ADD_CFLAGS@ - -noinst_LTLIBRARIES = libasn1common.la - -libasn1common_la_SOURCES = \ - asn1_ref.c asn1_ref.h \ - asn1_buffer.c asn1_buffer.h \ - asn1_namespace.c asn1_namespace.h \ - genhash.c genhash.h - diff --git a/libasn1common/Makefile.in b/libasn1common/Makefile.in deleted file mode 100644 index 379a753..0000000 --- a/libasn1common/Makefile.in +++ /dev/null @@ -1,624 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = libasn1common -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1common_la_LIBADD = -am_libasn1common_la_OBJECTS = asn1_ref.lo asn1_buffer.lo \ - asn1_namespace.lo genhash.lo -libasn1common_la_OBJECTS = $(am_libasn1common_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1common_la_SOURCES) -DIST_SOURCES = $(libasn1common_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -noinst_LTLIBRARIES = libasn1common.la -libasn1common_la_SOURCES = \ - asn1_ref.c asn1_ref.h \ - asn1_buffer.c asn1_buffer.h \ - asn1_namespace.c asn1_namespace.h \ - genhash.c genhash.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1common/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1common/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1common.la: $(libasn1common_la_OBJECTS) $(libasn1common_la_DEPENDENCIES) $(EXTRA_libasn1common_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1common_la_OBJECTS) $(libasn1common_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_buffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_namespace.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_ref.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genhash.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1common/asn1_buffer.c b/libasn1common/asn1_buffer.c deleted file mode 100644 index cd67b81..0000000 --- a/libasn1common/asn1_buffer.c +++ /dev/null @@ -1,171 +0,0 @@ -#define _GNU_SOURCE -#include -#include -#include -#include -#include -#include -#include "config.h" - -#include "asn1_buffer.h" - -#if !defined(HAVE_DECL_VASPRINTF) || (HAVE_DECL_VASPRINTF == 0) -int vasprintf(char **ret, const char *fmt, va_list args); -#endif - -/* - * Create and destroy the buffer. - */ -abuf * -abuf_new() { - abuf *ab = calloc(1, sizeof(abuf)); - assert(ab); - ab->length = 0; - ab->size = 32; - ab->buffer = calloc(1, ab->size); - assert(ab->buffer); - return ab; -} - -void abuf_free(abuf *ab) { - if(ab) { - union { - const char *c_buf; - char *nc_buf; - } const_cast; - const_cast.c_buf = ab->buffer; - free(const_cast.nc_buf); - free(ab); - } -} - -/* - * Erase contents of the buffer (without destroying it). - */ -void -abuf_clear(abuf *ab) { - union { - const char *c_buf; - char *nc_buf; - } const_cast; - if(!ab->buffer) { - ab->size = 32; - ab->buffer = calloc(1, ab->size); - assert(ab->buffer); - } - const_cast.c_buf = ab->buffer; - ab->length = 0; - const_cast.nc_buf[0] = '\0'; -} - -static void -abuf_resize_by(abuf *ab, size_t size) { - union { - const char *c_buf; - char *nc_buf; - } const_cast; - const_cast.c_buf = ab->buffer; - - assert(!ab->buffer || ab->buffer[ab->length] == '\0'); - - size_t new_size = ab->length + size; - char *p = realloc(const_cast.nc_buf, new_size); - assert(p); - if(!ab->buffer) { - assert(ab->length == 0); - *p = '\0'; - } - ab->buffer = p; - assert(ab->buffer[ab->length] == '\0'); - ab->size = new_size; -} - -void abuf_add_bytes(abuf *ab, const char *str, size_t size) { - abuf_resize_by(ab, size + 1); - union { - const char *c_buf; - char *nc_buf; - } const_cast; - const_cast.c_buf = ab->buffer; - memcpy(&const_cast.nc_buf[ab->length], str, size); - ab->length += size; - const_cast.nc_buf[ab->length] = '\0'; -} - -void abuf_str(abuf *ab, const char *str) { - abuf_add_bytes(ab, str, strlen(str)); -} - -void abuf_buf(abuf *ab, const abuf *buf) { - abuf_add_bytes(ab, buf->buffer, buf->length); -} - -int abuf_printf(abuf *ab, const char *fmt, ...) { - va_list ap; - - for(;;) { - union { - const char *c_buf; - char *nc_buf; - } const_cast; - const_cast.c_buf = ab->buffer; - va_start(ap, fmt); - int ret = vsnprintf(&const_cast.nc_buf[ab->length], - ab->size - ab->length, fmt, ap); - va_end(ap); - assert(ret >= 0); - if((size_t)ret < ab->size - ab->length) { - ab->length += ret; - assert(ab->buffer[ab->length] == '\0'); - return ret; - } - const_cast.nc_buf[ab->length] = '\0'; /* Restore order */ - abuf_resize_by(ab, ret + 1); - } -} - -int abuf_vprintf(abuf *ab, const char *fmt, va_list ap) { - int ret; - char *str = 0; - - ret = vasprintf(&str, fmt, ap); - assert(ret >= 0); - assert(str != NULL); - - abuf_add_bytes(ab, str, ret); - - free(str); - - return ret; -} - -#if !defined(HAVE_DECL_VASPRINTF) || (HAVE_DECL_VASPRINTF == 0) -/* Solaris doesn't have vasprintf(3). */ -int -vasprintf(char **ret, const char *fmt, va_list args) { - int actual_length = -1; - va_list copy; - va_copy(copy, args); - - int suggested = vsnprintf(NULL, 0, fmt, args); - if(suggested >= 0) { - *ret = malloc(suggested + 1); - if(*ret) { - int actual_length = vsnprintf(*ret, suggested + 1, fmt, copy); - if(actual_length >= 0) { - assert(actual_length == suggested); - assert((*ret)[actual_length] == '\0'); - } else { - free(*ret); - *ret = 0; - } - } - } else { - *ret = NULL; - assert(suggested >= 0); /* Can't function like this */ - } - va_end(args); - - return actual_length; -} -#endif diff --git a/libasn1common/asn1_buffer.h b/libasn1common/asn1_buffer.h deleted file mode 100644 index f5e459f..0000000 --- a/libasn1common/asn1_buffer.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef ASN1_BUFFER_H -#define ASN1_BUFFER_H - -#include - -/* - * Your typical dynamic character string buffer. - */ -typedef struct { - const char *buffer; - size_t length; - size_t size; -} abuf; - -/* - * Create and destroy the buffer. - */ -abuf *abuf_new(void); -void abuf_free(abuf *); - -/* - * Erase contents of the buffer (without destroying it). - */ -void abuf_clear(abuf *); - -/* - * Add characters to the buffer. - */ -void abuf_str(abuf *, const char *str); -void abuf_buf(abuf *, const abuf *); -void abuf_add_bytes(abuf *, const char *, size_t); -int abuf_printf(abuf *, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); -int abuf_vprintf(abuf *, const char *fmt, va_list); - -#endif /* ASN1_BUFFER_H */ diff --git a/libasn1common/asn1_namespace.c b/libasn1common/asn1_namespace.c deleted file mode 100644 index db01072..0000000 --- a/libasn1common/asn1_namespace.c +++ /dev/null @@ -1,148 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1_ref.h" -#include "asn1_buffer.h" -#include "asn1_namespace.h" - -static void (*_add_standard_namespaces_cb)(asn1_namespace_t *); - -void -asn1_namespace_add_standard_namespaces_callback( - void (*cb)(asn1_namespace_t *)) { - _add_standard_namespaces_cb = cb; -} - -asn1_namespace_t * -asn1_namespace_new() { - asn1_namespace_t *ns = calloc(1, sizeof(*ns)); - - if(_add_standard_namespaces_cb) { - _add_standard_namespaces_cb(ns); - } - - return ns; -} - -void -asn1_namespace_free(asn1_namespace_t *ns) { - if(ns) { - for(size_t i = 0; i < ns->elements_count; i++) { - switch(ns->elements[i].selector) { - case NAM_SPACE: - break; - case NAM_SYMBOL: - free(ns->elements[i].u.symbol.identifier); - break; - } - } - free(ns->elements); - free(ns); - } -} - -asn1_namespace_t * -asn1_namespace_clone(const asn1_namespace_t *old_ns) { - asn1_namespace_t *new_ns = calloc(1, sizeof(*new_ns)); - - for(size_t i = 0; i < old_ns->elements_count; i++) { - switch(old_ns->elements[i].selector) { - case NAM_SPACE: - asn1_namespace_add_module(new_ns, - old_ns->elements[i].u.space.module, - old_ns->elements[i].u.space.stop_search); - break; - case NAM_SYMBOL: - asn1_namespace_add_symbol( - new_ns, old_ns->elements[i].u.symbol.opt_governor, - old_ns->elements[i].u.symbol.identifier, - old_ns->elements[i].u.symbol.resolution); - break; - } - } - - return new_ns; -} - -static size_t -_add_element(asn1_namespace_t *ns) { - size_t idx = ns->elements_count; - - if(ns->elements_count >= ns->elements_size) { - size_t elc = ns->elements_size ? ns->elements_size * 2 : 4; - ns->elements = realloc(ns->elements, sizeof(ns->elements[0]) * elc); - ns->elements_size = elc; - } - - ns->elements_count++; - return idx; -} - -void -asn1_namespace_add_symbol(asn1_namespace_t *ns, - struct asn1p_ref_s *opt_governor, - const char *identifier, - struct asn1p_expr_s *resolved_argument) { - size_t idx = _add_element(ns); - - ns->elements[idx].selector = NAM_SYMBOL; - ns->elements[idx].u.symbol.opt_governor = opt_governor; - ns->elements[idx].u.symbol.identifier = strdup(identifier); - ns->elements[idx].u.symbol.resolution = resolved_argument; -} - -asn1_namespace_t * -asn1_namespace_new_from_module(struct asn1p_module_s *module, int stop_search) { - asn1_namespace_t *ns = asn1_namespace_new(); - asn1_namespace_add_module(ns, module, stop_search); - return ns; -} - -void -asn1_namespace_add_module(asn1_namespace_t *ns, struct asn1p_module_s *module, - int stop_search) { - size_t idx = _add_element(ns); - - ns->elements[idx].selector = NAM_SPACE, - ns->elements[idx].u.space.module = module; - ns->elements[idx].u.space.stop_search = stop_search; -} - -const char * -asn1_namespace_string(const asn1_namespace_t *ns) { - static abuf ab; - - abuf_clear(&ab); - - if(ns) { - abuf_str(&ab, "{"); - for(size_t i = 0; i < ns->elements_count; i++) { - if(i) abuf_str(&ab, ","); - switch(ns->elements[i].selector) { - case NAM_SPACE: - abuf_printf( - &ab, "M:\"%s\"%s", - *(const char *const *)ns->elements[i].u.space.module, - ns->elements[i].u.space.stop_search ? "!" : ""); - break; - case NAM_SYMBOL: - abuf_printf(&ab, "S:\"%s%s%s\"", - ns->elements[i].u.symbol.opt_governor - ? asn1p_ref_string( - ns->elements[i].u.symbol.opt_governor) - : "", - ns->elements[i].u.symbol.opt_governor ? ":" : "", - ns->elements[i].u.symbol.identifier); - break; - } - } - abuf_str(&ab, "}"); - return ab.buffer; - } else { - return ""; - } -} - diff --git a/libasn1common/asn1_namespace.h b/libasn1common/asn1_namespace.h deleted file mode 100644 index 1ae3d7b..0000000 --- a/libasn1common/asn1_namespace.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Structures and prototypes related to parameterization - */ -#ifndef ASN1_NAMESPACE_H -#define ASN1_NAMESPACE_H - -struct asn1p_ref_s; /* Forward declaration */ -struct asn1p_expr_s; /* Forward declaration */ -struct asn1p_module_s; /* Forward declaration */ - -typedef struct asn1_namespace_s { - struct asn1_namespace_element_s { - enum { - NAM_SPACE, /* The whole search space (e.g. Module) */ - NAM_SYMBOL, /* A particular symbol */ - } selector; - union { - struct { - struct asn1p_module_s *module; - int stop_search; /* This module MUST contain the symbol */ - } space; - struct { - struct asn1p_ref_s *opt_governor; /* optional */ - char *identifier; - struct asn1p_expr_s *resolution; - } symbol; - } u; - } *elements; - size_t elements_count; - size_t elements_size; -} asn1_namespace_t; - -/* - * Set callback used to initialize standard namespaces. - */ -void asn1_namespace_add_standard_namespaces_callback( - void (*)(asn1_namespace_t *)); - -asn1_namespace_t *asn1_namespace_new(void); -void asn1_namespace_free(asn1_namespace_t *); - -asn1_namespace_t *asn1_namespace_clone(const asn1_namespace_t *); - -asn1_namespace_t *asn1_namespace_new_from_module(struct asn1p_module_s *mod, int stop_search); - -void asn1_namespace_add_module(asn1_namespace_t *, - struct asn1p_module_s *module, int stop_search); - -void asn1_namespace_add_symbol(asn1_namespace_t *, - struct asn1p_ref_s *opt_governor, - const char *identifier, - struct asn1p_expr_s *resolved_argument); - -/* - * Human-readable namespace layout. - * Returns a reference to a statically allocated string. - */ -const char *asn1_namespace_string(const asn1_namespace_t *); - -/* - * Create a new namespace by cloning (ns1) and adding (ns2) on top. - * Destroys (ns2). - */ -asn1_namespace_t *asn1_namespace_new_ND(const asn1_namespace_t *ns1, - asn1_namespace_t *ns2); - -/* - * Introduce and destroy namespace around the given code. - * This aids memory management around dynamic namespaces. - */ -#define WITH_MODULE_NAMESPACE(mod, ns_var, code) \ - ({ \ - struct asn1_namespace_s *ns_var = \ - asn1_namespace_new_from_module(mod, 1); \ - typeof(code) ret = code; \ - asn1_namespace_free(ns_var); \ - ret; \ - }) - -#endif /* ASN1_NAMESPACE_H */ diff --git a/libasn1common/asn1_ref.c b/libasn1common/asn1_ref.c deleted file mode 100644 index a5ee998..0000000 --- a/libasn1common/asn1_ref.c +++ /dev/null @@ -1,194 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1_ref.h" - -/* - * Construct a new empty reference. - */ -asn1p_ref_t * -asn1p_ref_new(int _lineno, struct asn1p_module_s *mod) { - asn1p_ref_t *ref; - - ref = calloc(1, sizeof *ref); - assert(ref); - asn1p_ref_set_source(ref, mod, _lineno); - - return ref; -} - -void -asn1p_ref_free(asn1p_ref_t *ref) { - if(ref) { - if(ref->components) { - size_t i = ref->comp_count; - while(i--) { - free(ref->components[i].name); - ref->components[i].name = 0; - } - free(ref->components); - ref->components = 0; - } - - free(ref); - } -} - -void -asn1p_ref_set_source(asn1p_ref_t *ref, struct asn1p_module_s *module, - int lineno) { - if(ref) { - ref->module = module; - ref->_lineno = lineno; - } -} - -static enum asn1p_ref_lex_type_e -asn1p_ref_name2lextype(const char *name) { - enum asn1p_ref_lex_type_e lex_type; - int has_lowercase = 0; - - if(*name == '&') { - if(name[1] >= 'A' && name[1] <= 'Z') { - lex_type = RLT_AmpUppercase; - } else { - lex_type = RLT_Amplowercase; - } - } else if(*name >= 'A' && *name <= 'Z') { - const char *p; - - for(p = name; *p; p++) { - if(*p >= 'a' && *p <= 'z') { - has_lowercase = 1; - break; - } - } - - if(has_lowercase) { - lex_type = RLT_Uppercase; - } else { - lex_type = RLT_CAPITALS; - } - } else if(*name == '@') { - if(name[1] == '.') - lex_type = RLT_AtDotlowercase; - else - lex_type = RLT_Atlowercase; - } else { - lex_type = RLT_lowercase; - } - - return lex_type; -} - -int -asn1p_ref_add_component(asn1p_ref_t *ref, const char *name, enum asn1p_ref_lex_type_e lex_type) { - - if(!ref || !name - || (int)lex_type < RLT_UNKNOWN || lex_type >= RLT_MAX) { - errno = EINVAL; - return -1; - } - - if(ref->comp_count == ref->comp_size) { - int newsize = ref->comp_size?(ref->comp_size<<2):4; - void *p = realloc(ref->components, - newsize * sizeof(ref->components[0])); - if(p) { - ref->components = p; - ref->comp_size = newsize; - } else { - return -1; - } - - } - - if(lex_type == RLT_UNKNOWN) { - lex_type = asn1p_ref_name2lextype(name); - } else { - assert(lex_type == asn1p_ref_name2lextype(name)); - } - - ref->components[ref->comp_count].name = strdup(name); - ref->components[ref->comp_count].lex_type = lex_type; - if(ref->components[ref->comp_count].name) { - ref->comp_count++; - return 0; - } else { - return -1; - } -} - -asn1p_ref_t * -asn1p_ref_clone(asn1p_ref_t *ref) { - asn1p_ref_t *newref; - - newref = asn1p_ref_new(ref->_lineno, ref->module); - if(newref) { - for(size_t i = 0; i < ref->comp_count; i++) { - if(asn1p_ref_add_component(newref, - ref->components[i].name, - ref->components[i].lex_type - )) { - asn1p_ref_free(newref); - newref = NULL; - break; - } - } - } - - return newref; -} - -int -asn1p_ref_compare(const asn1p_ref_t *a, const asn1p_ref_t *b) { - if(a->comp_count != b->comp_count) - return -1; - if(a->module != b->module) - return -1; - - for(size_t i = 0; i < a->comp_count; i++) { - if(a->components[i].lex_type != b->components[i].lex_type - || strcmp(a->components[i].name, b->components[i].name) != 0) { - return -1; - } - } - - return 0; -} - -const char * -asn1p_ref_string(const asn1p_ref_t *ref) { - static char static_buf[32]; - static char *buf = static_buf; - static size_t buf_size = sizeof(static_buf); - char *p = buf; - - if(!ref) return ""; - - for(size_t i = 0; i < ref->comp_count; i++) { - size_t space = buf_size - (p - buf); - int ret = - snprintf(p, space, "%s%s", i ? "." : "", ref->components[i].name); - if(ret < 0 || (size_t)ret >= space) { - i--; - char *tmp = malloc(buf_size * 2 + 1); - assert(tmp); - size_t p_offset = p - buf; - memcpy(tmp, buf, (p - buf)); - if(buf != static_buf) free(buf); - buf_size *= 2; - buf = tmp; - p = tmp + p_offset; - } else { - p += ret; - } - } - - *p = '\0'; - return buf; -} - diff --git a/libasn1common/asn1_ref.h b/libasn1common/asn1_ref.h deleted file mode 100644 index dbc8f87..0000000 --- a/libasn1common/asn1_ref.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Generic reference to the yet unknown type defined elsewhere. - */ -#ifndef ASN1_REFERENCE_H -#define ASN1_REFERENCE_H - -struct asn1p_module_s; - -typedef struct asn1p_ref_s { - - /* - * A set of reference name components. - * A reference name consists of several components separated by dots: - * "OBJECT-CLASS.&Algorithm.&id" - */ - struct asn1p_ref_component_s { - enum asn1p_ref_lex_type_e { - RLT_UNKNOWN, /* Invalid? */ - /* - * Object class reference "OCLASS1", - * type reference "Type1", - * value reference "id", - * type field reference "&Type1", - * value field reference "&id", - * "OBJECT-CLASS" - */ - RLT_CAPITALS, - RLT_Uppercase, - RLT_lowercase, - RLT_AmpUppercase, - RLT_Amplowercase, - RLT_Atlowercase, - RLT_AtDotlowercase, - RLT_MAX - } lex_type; /* Inferred lexical type of the identifier */ - char *name; /* An identifier */ - } *components; - - size_t comp_count; /* Number of the components in the reference name. */ - size_t comp_size; /* Number of allocated structures */ - - struct asn1p_module_s *module; /* Defined in module */ - int _lineno; /* Number of line in the file */ -} asn1p_ref_t; - -/* - * Constructor and destructor. - */ -asn1p_ref_t *asn1p_ref_new(int _lineno, struct asn1p_module_s *mod); -void asn1p_ref_free(asn1p_ref_t *); - -asn1p_ref_t *asn1p_ref_clone(asn1p_ref_t *ref); - -void asn1p_ref_set_source(asn1p_ref_t *, struct asn1p_module_s *module, - int lineno); - - -/* - * Lexicographically compare references. - */ -int asn1p_ref_compare(const asn1p_ref_t *, const asn1p_ref_t *); - -/* - * Return a pointer to a statically allocated buffer representing the - * complete reference. - */ -const char *asn1p_ref_string(const asn1p_ref_t *); - -/* - * Add a new reference component to the existing reference structure. - * - * RETURN VALUES: - * 0: All clear. - * -1/EINVAL: Invalid arguments - * -1/ENOMEM: Memory allocation failed - */ -int asn1p_ref_add_component(asn1p_ref_t *, - const char *name, enum asn1p_ref_lex_type_e); - -#endif /* ASN1_REFERENCE_H */ diff --git a/libasn1common/genhash.c b/libasn1common/genhash.c deleted file mode 100644 index 5a6d3e4..0000000 --- a/libasn1common/genhash.c +++ /dev/null @@ -1,812 +0,0 @@ -/* - * Copyright (c) 2002-2005 Lev Walkin . All rights reserved. - * Copyright (c) 2001-2004 Netli, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: genhash.c 447 2005-06-07 06:51:10Z vlm $ - */ -/* - * Implementation of a hash data structure. - * This particular implementation is supposed to be space-efficient - * particularly in the case of tiny number of hash elements. - * It also has an aggressive hash buckets expanding technique, which allows - * to deal with increasing number of elements without a loss of search speed. - * - * Generally, one structure of type genhash_t is allocated per hash set. - * This structure is supposed to hold all information related to the current - * set, and also holds a tiny number of hash elements, when hash hasn't yet - * grown up. When the number of elements reaches some point, part of the - * genhash_t structure is reused to contain the pointers to the actual - * hash buckets and LRU (Least Recently Used) list's head and tail. - * Elements which were held inside genhash_t will be moved to the hash buckets. - * - * Said above effectively means two modes of operation: TINY and NORMAL. - * They can be distinguished by examining the h->numbuckets value, which - * is 0 for TINY and greater for NORMAL mode. - * - * In the TINY mode we use a lower part of the genhash_t structure - * (lower 32 bytes from 64 bytes of genhash_t) to hold up to IH_VALUE (4) - * key/value pairs. - * - * In the NORMAL mode we use the lower part of the genhash_t structure - * to hold a set of pointers, including a pointer to the hash buckets. - * We agressively expand hash buckets size when adding new elements - * to lower the number of key comparisons. - */ - -#include -#include -#include -#include -#include -#include -#include "genhash.h" - -/* 1M entries, 4M RAM */ -#define DEFAULT_MAXIMUM_HASH_BUCKETS_NUMBER (1024 * 1024) -static int maximum_hash_buckets_number = DEFAULT_MAXIMUM_HASH_BUCKETS_NUMBER; - -/* - * A single hash element structure which binds a value to its key. - */ -typedef struct genhash_el_s { - unsigned int key_hash; /* Saved hash of the key */ - void *key; - void *value; - struct genhash_el_s *hash_next; /* Collision list inside the bucket */ - struct genhash_el_s *hash_prev; - struct genhash_el_s *lru_prev; /* Per-hash LRU list */ - struct genhash_el_s *lru_next; -} genhash_el; - -/* - * A hash structure with buckets etc. - */ -struct genhash_s { - int (*keycmpf) (const void *lkey1, const void *rkey2); - unsigned int (*keyhashf) (const void *key); /* hash function */ - void (*keydestroyf) (void *key); /* key destructor */ - void (*valuedestroyf) (void *value); /* value destructor */ - - int numelements; /* Total number of hash elements */ - int numbuckets; /* 0 means "use _TINY" */ - int lru_limit; /* Must be initialized explicitly */ - genhash_iter_t *iters; /* Active iterators */ - - /* 32-byte boundary here */ - - union { -#define IH_VALUES 4 /* Internally held key/value pairs for TINY mode */ - struct _internal_tiny_s { - void *keys[IH_VALUES]; - void *values[IH_VALUES]; - } _TINY; /* 32-byte structure */ - struct _internal_normal_s { - genhash_el *lru_head; /* LRU list head */ - genhash_el *lru_tail; /* LRU list tail */ - genhash_el **buckets; /* Hash buckets */ - /* void *unused; */ - } _NORMAL; - } un; -#define tiny_keys un._TINY.keys -#define tiny_values un._TINY.values -#define lru_head un._NORMAL.lru_head -#define lru_tail un._NORMAL.lru_tail -#define buckets un._NORMAL.buckets -}; - - -static int -_genhash_normal_add(genhash_t *h, genhash_el *el, void *key, void *value); - - -genhash_t * -genhash_new( - int (*keycmpf) (const void *key1, const void *key2), - unsigned int (*keyhashf) (const void *key), - void (*keydestroyf) (void *key), - void (*valuedestroyf) (void *value) -) { - genhash_t *h; - - h = (genhash_t *)malloc(sizeof(genhash_t)); - if (!h) - return NULL; - - memset(h, 0, sizeof(genhash_t)); - - genhash_reinit(h, keycmpf, keyhashf, keydestroyf, valuedestroyf); - - return h; -} - -int -genhash_reinit( - genhash_t *h, - int (*keycmpf) (const void *key1, const void *key2), - unsigned int (*keyhashf) (const void *key), - void (*keydestroyf) (void *key), - void (*valuedestroyf) (void *value) -) { - - assert(keycmpf && keyhashf); - - h->keycmpf = keycmpf; - h->keyhashf = keyhashf; - h->keydestroyf = keydestroyf; - h->valuedestroyf = valuedestroyf; - - return 0; -} - -int -genhash_count(genhash_t *h) { - if(h) { - return h->numelements; - } else { - return 0; - } -} - - -static void -_remove_normal_hash_el(genhash_t *h, genhash_el *el) { - genhash_iter_t *iter; - void *kd_arg; - void *vd_arg; - - /* Remove from the collision list */ - if (el->hash_prev) { - if((el->hash_prev->hash_next = el->hash_next)) - el->hash_next->hash_prev = el->hash_prev; - - } else { - if((h->buckets[el->key_hash % h->numbuckets] = el->hash_next)) - el->hash_next->hash_prev = NULL; - } - - /* Remove from LRU list */ - if(el->lru_prev) { - if((el->lru_prev->lru_next = el->lru_next)) - el->lru_next->lru_prev = el->lru_prev; - else - h->lru_tail = el->lru_prev; - } else { - if(h->lru_head == el) { - if((h->lru_head = el->lru_next) == NULL) - h->lru_tail = NULL; - else - h->lru_head->lru_prev = NULL; - } - } - - /* Remember key and value */ - kd_arg = el->key; - vd_arg = el->value; - - /* Move iterators off the element being deleted */ - for(iter = h->iters; iter; iter = iter->iter_next) { - assert(iter->hash_ptr == h); - if(iter->un.location == el) { - iter->un.location = iter->order_lru_first - ? el->lru_prev : el->lru_next; - } - } - - free(el); - h->numelements--; - - /* Remove key and value */ - if (h->keydestroyf) h->keydestroyf(kd_arg); - if (h->valuedestroyf) h->valuedestroyf(vd_arg); -} - -static inline void -_genhash_normal_el_move2top(genhash_t *h, genhash_el *el) { - - /* Disable sorting if iterators are running */ - if(h->iters) return; - - /* Move to the top of the hash bucket */ - if(el->hash_prev) { - int bucket = el->key_hash % h->numbuckets; - - /* Remove from the current location */ - if((el->hash_prev->hash_next = el->hash_next)) - el->hash_next->hash_prev = el->hash_prev; - - /* Move to the top of the hash bucket */ - if((el->hash_next = h->buckets[bucket])) - el->hash_next->hash_prev = el; - h->buckets[bucket] = el; - el->hash_prev = NULL; - } - - /* Move to the top of LRU list */ - if(h->lru_limit && el->lru_prev) { - - /* Remove from current location */ - if((el->lru_prev->lru_next = el->lru_next)) - el->lru_next->lru_prev = el->lru_prev; - else - h->lru_tail = el->lru_prev; - - /* Append to the head */ - el->lru_prev = NULL; - h->lru_head->lru_prev = el; - el->lru_next = h->lru_head; - h->lru_head = el; - } -} - -static int -_expand_hash(genhash_t *h) { - int newbuckets_count; - genhash_el **newbuckets; - - /* - * Compute a new number of buckets value. - */ - if(h->numbuckets) { - newbuckets_count = h->numbuckets << 2; - /* Too big hash table */ - if(newbuckets_count > maximum_hash_buckets_number) { - if(h->numbuckets < maximum_hash_buckets_number) { - newbuckets_count = maximum_hash_buckets_number; - } else { - /* No need to set errno here. */ - return -1; - } - } - } else { - /* 8 buckets -> 32 bytes of memory */ - newbuckets_count = IH_VALUES << 1; - if(newbuckets_count > maximum_hash_buckets_number) { - if(maximum_hash_buckets_number) { - newbuckets_count = maximum_hash_buckets_number; - } else { - /* Allowed to store only IH_VALUES elements */ - errno = EPERM; - return -1; - } - } - } - - /* - * Allocate a new storage for buckets. - */ - newbuckets = malloc(newbuckets_count * sizeof(*newbuckets)); - if(newbuckets) { - memset(newbuckets, 0, newbuckets_count * sizeof(*newbuckets)); - } else { - return -1; - } - - if(h->numbuckets) { - genhash_el *el; - int bucket; - - /* - * Rehash elements from old h->buckets to newbuckets. - * No need to touch LRU pointers and other stuff - it is okay. - */ - for(el = h->lru_tail; el; el = el->lru_prev) { - bucket = el->key_hash % newbuckets_count; - el->hash_prev = NULL; - if((el->hash_next = newbuckets[bucket])) - el->hash_next->hash_prev = el; - newbuckets[bucket] = el; - } - - free(h->buckets); - h->buckets = newbuckets; - h->numbuckets = newbuckets_count; - } else { - /* - * Moving from inline tiny storage into buckets. - */ - genhash_el *els[IH_VALUES] = { NULL }; - struct _internal_tiny_s tiny_substruct; - int i; - int saved_numelements; - int saved_lru_limit; - genhash_iter_t *iter; - - /* Pre-allocate hash elements (for "undo") */ - for(i = 0; i < h->numelements; i++) { - els[i] = (genhash_el *)malloc(sizeof(genhash_el)); - if(els[i] == NULL) { - for(i = 0; i < h->numelements; i++) - if(els[i]) - free(els[i]); - free(newbuckets); - return -1; - } - } - - /* Save part of the union */ - tiny_substruct = h->un._TINY; - /* Re-initialize this part in NORMAL model */ - memset(&h->un._NORMAL, 0, sizeof(h->un._NORMAL)); - - /* There was no allocated buckets, when in tiny hash mode. */ - h->buckets = newbuckets; - h->numbuckets = newbuckets_count; - - saved_numelements = h->numelements; - saved_lru_limit = h->lru_limit; - h->numelements = 0; - h->lru_limit = 0; /* Disable LRU expiration for a while */ - - for(i = saved_numelements - 1; i >= 0; --i) { - /* - * genhash_normal_add won't fail, if we supply - * an already allocated genhash_el *. - */ - (void)_genhash_normal_add(h, els[i], - tiny_substruct.keys[i], - tiny_substruct.values[i]); - } - - /* Now, scan through iterators and convert them TINY->NORMAL */ - for(iter = h->iters; iter; iter = iter->iter_next) { - assert(iter->hash_ptr == h); - if(iter->un.item_number < 0 - || iter->un.item_number >= saved_numelements) { - iter->un.location = 0; - } else { - iter->un.location = els[iter->un.item_number]; - } - } - - h->lru_limit = saved_lru_limit; - } - - return 0; -} - -/* - * Won't return with error if el is provided. - */ -static int -_genhash_normal_add(genhash_t *h, genhash_el *el, void *key, void *value) { - genhash_el **bucket; - - if(el == NULL) { - el = malloc(sizeof (*el)); - if(el == NULL) { - /* Errno will be set by malloc() */ - return -1; - } - } - - /* Maintain maximum number of entries */ - if(h->lru_limit) { - while(h->numelements >= h->lru_limit) - _remove_normal_hash_el(h, h->lru_tail); - } - - memset(el, 0, sizeof(genhash_el)); - - /* Compute the index of the collision list */ - el->key_hash = h->keyhashf(key); - bucket = &h->buckets[el->key_hash % h->numbuckets]; - - el->key = key; - el->value = value; - - /* - * Add to the collision list - */ - el->hash_prev = NULL; - if((el->hash_next = *bucket)) - (*bucket)->hash_prev = el; - *bucket = el; - - /* - * Add to the LRU list. - */ - if(h->lru_head) { - el->lru_next = h->lru_head; - el->lru_next->lru_prev = el; - h->lru_head = el; - } else { - h->lru_head = el; - h->lru_tail = el; - } - - h->numelements++; - - return 0; -} - - -int -genhash_add(genhash_t *h, void *key, void *value) { - - if(key == NULL) { - errno = EINVAL; - return -1; - } - - if(h->numbuckets == 0) { - - /* We have a tiny internally-held set of elements */ - if(h->numelements < IH_VALUES) { - h->tiny_keys[h->numelements] = key; - h->tiny_values[h->numelements] = value; - h->numelements++; - return 0; - } - - if(_expand_hash(h) == -1) - return -1; - - } else { - - if((h->numelements / h->numbuckets) > 2) - (void)_expand_hash(h); - } - - return _genhash_normal_add(h, NULL, key, value); -} - -int -genhash_addunique(genhash_t *h, void *key, void *value) { - if(genhash_get(h, key)) { - errno = EEXIST; - return -1; - } - return genhash_add(h, key, value); -} - -void * -genhash_get(genhash_t *h, const void *key) { - - if(h->numbuckets) { - - genhash_el *walk; - int bucket = h->keyhashf(key) % h->numbuckets; - - for(walk = h->buckets[bucket]; - walk; walk = walk->hash_next) { - - if (h->keycmpf(walk->key, key) == 0) { - _genhash_normal_el_move2top(h, walk); - return walk->value; - } - } - - } else { - /* TINY mode */ - int i; - - assert(h->numelements <= IH_VALUES); - for(i = 0; i < h->numelements; i++) { - if(h->keycmpf(h->tiny_keys[i], key) == 0) - /* Don't reorder in TINY mode */ - return h->tiny_values[i]; - } - - } - - errno = ESRCH; - return NULL; -} - -int -genhash_del(genhash_t *h, void *key) { - - if(h->numbuckets) { - /* NORMAL mode */ - genhash_el *walk; - int bucket; - - if(h->numelements == 0) { - errno = ESRCH; - return -1; /* not found */ - } - - bucket = h->keyhashf(key) % h->numbuckets; - - for(walk = h->buckets[bucket]; walk; walk = walk->hash_next) - if(h->keycmpf(walk->key, key) == 0) - break; - - if(walk) { - _remove_normal_hash_el(h, walk); - return 0; - } - } else { - /* TINY mode */ - int i; - - /* Look for matching key */ - for(i = 0; i < h->numelements; i++) - if(h->keycmpf(h->tiny_keys[i], key) == 0) - break; - - if(i < h->numelements) { - /* Remember values */ - void *kd_arg = h->tiny_keys[i]; - void *vd_arg = h->tiny_values[i]; - - h->numelements--; - - if(h->iters) { - /* If iterators are involved, we have to - * shift elements to maintain iteration order - * and avoid duplications */ - genhash_iter_t *iter; - memmove(&h->tiny_keys[i], - &h->tiny_keys[i+1], - (h->numelements - i) - * sizeof(h->tiny_keys[0])); - memmove(&h->tiny_values[i], - &h->tiny_values[i+1], - (h->numelements - i) - * sizeof(h->tiny_values[0])); - /* Shift the iterator's indexes */ - for(iter = h->iters; iter; - iter = iter->iter_next) { - int in = iter->un.item_number; - if(iter->order_lru_first) { - if(in > i) - iter->un.item_number--; - } else { - if(in >= i) - iter->un.item_number--; - } - } - } else { - /* Substitute it with the last one */ - /* No harm if overwriting itself */ - h->tiny_keys[i] = h->tiny_keys[h->numelements]; - h->tiny_values[i] = h->tiny_values[h->numelements]; - } - h->tiny_keys[h->numelements] = 0; - h->tiny_values[h->numelements] = 0; - /* Delete for real */ - if(h->keydestroyf) h->keydestroyf(kd_arg); - if(h->valuedestroyf) h->valuedestroyf(vd_arg); - return 0; - } - } - - errno = ESRCH; - return -1; -} - -/* - * Initialize a hash iterator. - */ -int -genhash_iter_init(genhash_iter_t *iter, genhash_t *h, int reverse_order) { - - iter->hash_ptr = h; - iter->iter_prev = 0; /* Add itself to the iterators list */ - iter->iter_next = h->iters; - h->iters = iter; - iter->order_lru_first = reverse_order; - - if(h->numbuckets) { - /* NORMAL mode */ - if(reverse_order) { - /* Least recent first order */ - iter->un.location = h->lru_tail; - } else { - /* Most recent first order */ - iter->un.location = h->lru_head; - } - } else { - /* TINY mode */ - if(reverse_order) { - iter->un.item_number = 0; - } else { - iter->un.item_number = h->numelements - 1; - } - } - - return h->numelements; -} - -int -genhash_iter(genhash_iter_t *iter, void *key_p, void *val_p) { - void **key = key_p; - void **val = val_p; - genhash_t *h = iter->hash_ptr; - - if(h->numbuckets) { - /* NORMAL mode */ - genhash_el *cur_el = iter->un.location; - if(!cur_el) - /* Already finished */ - return 0; - - if(key) *key = cur_el->key; - if(val) *val = cur_el->value; - - /* Move pointer to the next hash element */ - iter->un.location = iter->order_lru_first - ? cur_el->lru_prev : cur_el->lru_next; - } else { - /* TINY mode */ - if(iter->un.item_number < 0 - || iter->un.item_number >= h->numelements - || h->tiny_keys[iter->un.item_number] == 0) - return 0; - - if(key) *key = h->tiny_keys[iter->un.item_number]; - if(val) *val = h->tiny_values[iter->un.item_number]; - - /* Advance to the next element */ - if(iter->order_lru_first) - iter->un.item_number++; - else - iter->un.item_number--; - } - - - return 1; -} - -void -genhash_iter_done(genhash_iter_t *iter) { - assert(iter->hash_ptr->iters); - /* Remove itself from the iterators list */ - if(iter->iter_next) - iter->iter_next->iter_prev = iter->iter_prev; - if(iter->iter_prev) - iter->iter_prev->iter_next = iter->iter_next; - else - iter->hash_ptr->iters = iter->iter_next; /* Shift the head */ - iter->hash_ptr = (void *)0xdeadbeef; -} - -int -genhash_set_lru_limit(genhash_t *h, int value) { - if(h) { - int prev_limit = h->lru_limit; - if(value >= 0) - h->lru_limit = value; - return prev_limit; - } else { - errno = EINVAL; - return -1; - } -} - -int -genhash_set_buckets_limit(int value) { - int prev_limit = maximum_hash_buckets_number; - if(value > 0) { - maximum_hash_buckets_number = value; - } - return prev_limit; -} - -void -genhash_destroy(genhash_t *h) { - if(h) { - assert(h->iters == 0); /* All iterators MUST be _done(). */ - genhash_empty(h, 1, 1); - free(h); - } -} - -void -genhash_empty(genhash_t *h, int freekeys, int freevalues) { - genhash_iter_t *iter; - - if(h == NULL) return; - - /* - * Don't free what could not be freed. - */ - if(h->keydestroyf == NULL) freekeys = 0; - if(h->valuedestroyf == NULL) freevalues = 0; - - if(h->numbuckets == 0) { - while(h->numelements > 0) { - int n = --h->numelements; - void *kd_arg = h->tiny_keys[n]; - void *vd_arg = h->tiny_values[n]; - - if (freekeys) h->keydestroyf(kd_arg); - if (freevalues) h->valuedestroyf(vd_arg); - } - } else { - genhash_el *el, *el_next; - - for(el = h->lru_head; el; el = el_next) { - void *kd_arg = el->key; - void *vd_arg = el->value; - el_next = el->lru_next; - free(el); - - h->numelements --; - - if (freekeys) h->keydestroyf(kd_arg); - if (freevalues) h->valuedestroyf(vd_arg); - } - free(h->buckets); - h->numbuckets = 0; /* Move back to TINY model */ - } - memset(&h->un, 0, sizeof(h->un)); - - /* Invalidate iterators in TINY model */ - for(iter = h->iters; iter; iter = iter->iter_next) { - assert(iter->hash_ptr == h); - iter->un.item_number = -1; - } - - assert(h->numelements == 0); -} - - -/*----- Simple hash and compare functions for common data types ------*/ - -unsigned int -hashf_int (const void *key) { - return (*(const ptrdiff_t *)key ^ (*(const ptrdiff_t *)key >> 16)); -} - -int -cmpf_int (const void *key1, const void *key2) { - return (*(const int *)key1 != *(const int *)key2); -} - -unsigned int -hashf_void (const void *key) { - return ((ptrdiff_t)key ^ ((ptrdiff_t)key >> 16)); -} - -int -cmpf_void (const void *key1, const void *key2) { - return (key1 != key2); -} - - -/* - * Phong's linear congruential hash - */ -#define dcharhash(h, c) ((h) = 0x63c63cd9*(h) + 0x9c39c33d + (c)) - -unsigned int -hashf_string(const void *keyarg) { - register const unsigned char *key; - register unsigned int h; - register unsigned char c; - - key = keyarg; - for (h = 0; (c = *key++);) - dcharhash(h, c); - - return (h); -} - -int -cmpf_string(const void *key1, const void *key2) { - return strcmp((const char *)key1, (const char *)key2); -} - diff --git a/libasn1common/genhash.h b/libasn1common/genhash.h deleted file mode 100644 index 8fff9a6..0000000 --- a/libasn1common/genhash.h +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (c) 2002-2005 Lev Walkin . All rights reserved. - * Copyright (c) 2001-2004 Netli, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: genhash.h 447 2005-06-07 06:51:10Z vlm $ - */ -#ifndef __GENHASH_H__ -#define __GENHASH_H__ - -/* - * General purpose hashing framework. - * Refer to the corresponding .c source file for the detailed description. - * - * WARNING: Generally, functions don't allow NULL's to be passed - * as the genhash_t pointers, if not explicitly stated otherwise. - */ - -typedef struct genhash_s genhash_t; - -/* - * Create a new hash table - * keycmpf : function which returns 0 if keys are equal, else !0 - * keyhashf : function which computes the hash value of a key - * keydestroyf : function for destroying keys, can be NULL for no destructor - * valuedestroyf: function for destroying values, can be NULL for no destructor - */ -genhash_t *genhash_new( - int (*keycmpf) (const void *key1, const void *key2), - unsigned int (*keyhashf) (const void *key), - void (*keydestroyf) (void *key), - void (*valuedestroyf) (void *value)); - -/* - * Re-initialize genhash structure with new callback functions. - * (Rarely ever used). - */ -int genhash_reinit( - genhash_t *hash, - int (*keycmpf) (const void *key1, const void *key2), - unsigned int (*keyhashf) (const void *key), - void (*keydestroyf) (void *key), - void (*valuedestroyf) (void *value)); - -/* - * Initialize the LRU-driven elements count limiting - * and/or set a new Least Recently Used list size limit. - * If a new entry is being added to the hash, the least recently used entry - * (one at the bottom of the LRU list) will be automatically deleted. - * The deletion may be skipped if the hash is very small - * (currently, "small" means no longer than 4 entries). - * This function is immune to NULL argument. - * - * RETURN VALUES: - * The previous LRU limit, or -1/EINVAL when h is NULL. - * EXAMPLE: - * genhash_set_lru_limit(h, 1500); // Maximum 1500 entries in the hash - */ -int genhash_set_lru_limit(genhash_t *h, int new_lru_limit); - -/* - * Set the system-wide (!!!) limit on maximum number of buckets. - * If the value is 0, the hash is allowed to store only 4 elements inline - * (buckets allocation is suppressed). - * If the value is 1, the hash turns out into a linked list. - * The default limit is about 1M buckets. - * RETURN VALUES: - * The previous buckets number limit. - */ -int genhash_set_buckets_limit(int new_max_number_of_buckets); - -/* - * destroys a hash, freeing each key and/or value. - * Keys are always destroyed before values using the destructors - * specified upon hash creation. - * This function is immune to NULL argument. - */ -void genhash_destroy(genhash_t *h); - -/* - * Delete all elements from the hash, retaining the hash structure itself. - * Optionally, it may be told to invoke, or not invoke the corresponding - * key/value destructors. - * This function is immune to NULL argument. - * - * EXAMPLE: - * genhash_empty(h, 1, 1); // Remove all entries, invoking destructors - */ -void genhash_empty(genhash_t *h, int freekeys, int freevalues); - -/* - * Add, returns 0 on success, -1 on failure (ENOMEM). Note, you CAN add - * records with duplicate keys. No guarantees about order preservations. - * - * EXAMPLE: - * char *key_str = strdup("key"); - * char *val_str = strdup("arbitrary value"); - * if(genhash_add(h, key_str, val_str) != 0) { - * free(key_str); - * free(val_str); - * perror("genhash_add failed"); - * exit(EX_SOFTWARE); - * } - */ -int genhash_add(genhash_t *h, void *key, void *value); - -/* - * Add, but only if a mapping is not there already. - * RETURN VALUES: - * 0: Element added successfully. - * -1/EINVAL: Invalid arguments (key == NULL). - * -1/EEXIST: Duplicate entry is found. - * -1/ENOMEM: Memory allocation failed - */ -int genhash_addunique(genhash_t *h, void *key, void *value); - -/* - * Fetch - returns pointer to a value, NULL/ESRCH if not found - */ -void *genhash_get(genhash_t *h, const void *key); - -/* - * Delete - returns 0 on success, -1/ESRCH if not found. - * Keys are always destroyed before values using the destructors - * specified upon hash creation. - */ -int genhash_del(genhash_t *h, void *key); - -/* - * Return the number of elements in a hash. - * This function is immune to NULL argument. - */ -int genhash_count(genhash_t *h); - -/* - * External iterator structure for using with iterator-based walking functions. - * This declaration is NOT INTENDED TO BE USED BY AN APPLICATION DIRECTLY - * The pointer to the already allocated structure must be passed to - * genhash_iter*() functions. - */ -typedef struct genhash_iter_s { - genhash_t *hash_ptr; - union { - int item_number; - void *location; - } un; - int order_lru_first; - struct genhash_iter_s *iter_prev; - struct genhash_iter_s *iter_next; -} genhash_iter_t; - -/* - * Initialize the iterator for walking through the hash. - * The memory block to be used as iterator is provided by the (*iter) pointer. - * This memory must be allocated (possibly, on the stack) by the caller. - * OWNERSHIP: - * The initialized iterator must be disposed of by calling - * genhash_iter_done(). - * ORDER: - * By default, the elements are iterated in the "most recent first" order, - * use reverse_order to change that. For very small number of entries - * (currently, 4) the order may be IGNORED. - * RETURN VALUES: - * number of entries the hash had at the moment. - */ -int genhash_iter_init(genhash_iter_t *iter, - genhash_t *hash_to_use, int reverse_order); - -/* - * Returns the key and value of each element in optional (key) and (value), - * which must be passed as the pointers to pointers (hence these ***'s). - * OWNERSHIP: - * The key and value are pointers to the internally manageed locations. - * RETURN VALUES: - * 0 if no more elements will be returned, otherwise 1. - * EXAMPLE: - * key_type_t *key; // Pointer to key - * value_type_t *val; // Pointer to value - * genhash_iter_t iter; // Iterator structure - * genhash_iter_init(&iter, hash_ptr, 0); // Prepare iterator - * while(genhash_iter(&iter, &key, &val)) // Iterate over hash elements - * print_keyval(key, val); // Use key and value - * genhash_iter_done(&iter); // Done iterations. - */ -int genhash_iter(genhash_iter_t *iter, void */***/key, void */***/val); - -/* - * Dispose of the iterator. - * After this operations, the iterator contents unusable - * and shall not be accesed. (genhash_iter_init() is OK). - */ -void genhash_iter_done(genhash_iter_t *iter); - - -/****************************************************************************/ - -/* - * The following hashing and comparison functions are provided for - * you, or you may supply your own. - */ -unsigned int hashf_int (const void *key); /* Key is an int * */ -int cmpf_int (const void *key1, const void *key2); - -unsigned int hashf_void (const void *key); -int cmpf_void (const void *key1, const void *key2); - -unsigned int hashf_string (const void *key); -int cmpf_string (const void *key1, const void *key2); - -#endif /* __GENHASH_H__ */ diff --git a/libasn1compiler/.deps/asn1c_C.Plo b/libasn1compiler/.deps/asn1c_C.Plo deleted file mode 100644 index 6e3f819..0000000 --- a/libasn1compiler/.deps/asn1c_C.Plo +++ /dev/null @@ -1,278 +0,0 @@ -asn1c_C.lo: asn1c_C.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_C.h asn1c_lang.h asn1c_constraint.h asn1c_out.h asn1c_misc.h \ - asn1c_ioc.h ../libasn1parser/asn1p_class.h asn1c_naming.h \ - ../libasn1print/asn1print.h ../libasn1fix/asn1fix_crange.h \ - ../libasn1fix/asn1fix_export.h ../libasn1fix/asn1fix_tags.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_C.h: - -asn1c_lang.h: - -asn1c_constraint.h: - -asn1c_out.h: - -asn1c_misc.h: - -asn1c_ioc.h: - -../libasn1parser/asn1p_class.h: - -asn1c_naming.h: - -../libasn1print/asn1print.h: - -../libasn1fix/asn1fix_crange.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: diff --git a/libasn1compiler/.deps/asn1c_compat.Plo b/libasn1compiler/.deps/asn1c_compat.Plo deleted file mode 100644 index 49ee6f2..0000000 --- a/libasn1compiler/.deps/asn1c_compat.Plo +++ /dev/null @@ -1,253 +0,0 @@ -asn1c_compat.lo: asn1c_compat.c /usr/include/stdc-predef.h \ - asn1c_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_compat.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_compat.h: diff --git a/libasn1compiler/.deps/asn1c_constraint.Plo b/libasn1compiler/.deps/asn1c_constraint.Plo deleted file mode 100644 index 53c5855..0000000 --- a/libasn1compiler/.deps/asn1c_constraint.Plo +++ /dev/null @@ -1,267 +0,0 @@ -asn1c_constraint.lo: asn1c_constraint.c /usr/include/stdc-predef.h \ - asn1c_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_constraint.h asn1c_misc.h asn1c_out.h asn1c_naming.h \ - ../libasn1fix/asn1fix_crange.h ../libasn1fix/asn1fix_export.h \ - ../libasn1fix/asn1fix_tags.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_constraint.h: - -asn1c_misc.h: - -asn1c_out.h: - -asn1c_naming.h: - -../libasn1fix/asn1fix_crange.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: diff --git a/libasn1compiler/.deps/asn1c_fdeps.Plo b/libasn1compiler/.deps/asn1c_fdeps.Plo deleted file mode 100644 index bf7d32d..0000000 --- a/libasn1compiler/.deps/asn1c_fdeps.Plo +++ /dev/null @@ -1,253 +0,0 @@ -asn1c_fdeps.lo: asn1c_fdeps.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_fdeps.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_fdeps.h: diff --git a/libasn1compiler/.deps/asn1c_ioc.Plo b/libasn1compiler/.deps/asn1c_ioc.Plo deleted file mode 100644 index ba40f5f..0000000 --- a/libasn1compiler/.deps/asn1c_ioc.Plo +++ /dev/null @@ -1,267 +0,0 @@ -asn1c_ioc.lo: asn1c_ioc.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_ioc.h ../libasn1parser/asn1p_class.h asn1c_out.h asn1c_misc.h \ - ../libasn1fix/asn1fix_export.h ../libasn1fix/asn1fix_tags.h \ - ../libasn1print/asn1print.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_ioc.h: - -../libasn1parser/asn1p_class.h: - -asn1c_out.h: - -asn1c_misc.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: - -../libasn1print/asn1print.h: diff --git a/libasn1compiler/.deps/asn1c_lang.Plo b/libasn1compiler/.deps/asn1c_lang.Plo deleted file mode 100644 index cfb0759..0000000 --- a/libasn1compiler/.deps/asn1c_lang.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1c_lang.lo: asn1c_lang.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_C.h asn1c_lang.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_C.h: - -asn1c_lang.h: diff --git a/libasn1compiler/.deps/asn1c_misc.Plo b/libasn1compiler/.deps/asn1c_misc.Plo deleted file mode 100644 index 330e4d0..0000000 --- a/libasn1compiler/.deps/asn1c_misc.Plo +++ /dev/null @@ -1,260 +0,0 @@ -asn1c_misc.lo: asn1c_misc.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_misc.h ../libasn1fix/asn1fix_crange.h \ - ../libasn1fix/asn1fix_export.h ../libasn1fix/asn1fix_tags.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_misc.h: - -../libasn1fix/asn1fix_crange.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: diff --git a/libasn1compiler/.deps/asn1c_naming.Plo b/libasn1compiler/.deps/asn1c_naming.Plo deleted file mode 100644 index ba4c3e1..0000000 --- a/libasn1compiler/.deps/asn1c_naming.Plo +++ /dev/null @@ -1,257 +0,0 @@ -asn1c_naming.lo: asn1c_naming.c /usr/include/stdc-predef.h \ - asn1c_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_naming.h asn1c_misc.h ../libasn1common/genhash.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_naming.h: - -asn1c_misc.h: - -../libasn1common/genhash.h: diff --git a/libasn1compiler/.deps/asn1c_out.Plo b/libasn1compiler/.deps/asn1c_out.Plo deleted file mode 100644 index 0a920d6..0000000 --- a/libasn1compiler/.deps/asn1c_out.Plo +++ /dev/null @@ -1,253 +0,0 @@ -asn1c_out.lo: asn1c_out.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_out.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_out.h: diff --git a/libasn1compiler/.deps/asn1c_save.Plo b/libasn1compiler/.deps/asn1c_save.Plo deleted file mode 100644 index 207fb89..0000000 --- a/libasn1compiler/.deps/asn1c_save.Plo +++ /dev/null @@ -1,264 +0,0 @@ -asn1c_save.lo: asn1c_save.c /usr/include/stdc-predef.h asn1c_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_compat.h asn1c_fdeps.h asn1c_lang.h asn1c_misc.h asn1c_save.h \ - asn1c_out.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_compat.h: - -asn1c_fdeps.h: - -asn1c_lang.h: - -asn1c_misc.h: - -asn1c_save.h: - -asn1c_out.h: diff --git a/libasn1compiler/.deps/asn1compiler.Plo b/libasn1compiler/.deps/asn1compiler.Plo deleted file mode 100644 index e660868..0000000 --- a/libasn1compiler/.deps/asn1compiler.Plo +++ /dev/null @@ -1,264 +0,0 @@ -asn1compiler.lo: asn1compiler.c /usr/include/stdc-predef.h \ - asn1c_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/glob.h \ - /usr/include/fcntl.h /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl2.h asn1compiler.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - asn1c_lang.h asn1c_out.h asn1c_save.h asn1c_ioc.h \ - ../libasn1parser/asn1p_class.h asn1c_naming.h - -/usr/include/stdc-predef.h: - -asn1c_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -/usr/include/glob.h: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl2.h: - -asn1compiler.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -asn1c_lang.h: - -asn1c_out.h: - -asn1c_save.h: - -asn1c_ioc.h: - -../libasn1parser/asn1p_class.h: - -asn1c_naming.h: diff --git a/libasn1compiler/Makefile b/libasn1compiler/Makefile deleted file mode 100644 index ca626d5..0000000 --- a/libasn1compiler/Makefile +++ /dev/null @@ -1,646 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# libasn1compiler/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = libasn1compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1compiler_la_LIBADD = -am_libasn1compiler_la_OBJECTS = asn1compiler.lo asn1c_misc.lo \ - asn1c_out.lo asn1c_lang.lo asn1c_naming.lo asn1c_save.lo \ - asn1c_C.lo asn1c_constraint.lo asn1c_compat.lo asn1c_ioc.lo \ - asn1c_fdeps.lo -libasn1compiler_la_OBJECTS = $(am_libasn1compiler_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1compiler_la_SOURCES) -DIST_SOURCES = $(libasn1compiler_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/libasn1compiler -abs_srcdir = /home/nokia/mouse07410/asn1c/libasn1compiler -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1print \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1compiler.la -libasn1compiler_la_SOURCES = \ - asn1compiler.c asn1compiler.h \ - asn1c_misc.c asn1c_misc.h \ - asn1c_out.c asn1c_out.h \ - asn1c_lang.c asn1c_lang.h \ - asn1c_naming.c asn1c_naming.h \ - asn1c_save.c asn1c_save.h \ - asn1c_C.c asn1c_C.h \ - asn1c_constraint.c asn1c_constraint.h \ - asn1c_compat.c asn1c_compat.h \ - asn1c_ioc.c asn1c_ioc.h \ - asn1c_fdeps.c asn1c_fdeps.h \ - asn1c_internal.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1compiler.la: $(libasn1compiler_la_OBJECTS) $(libasn1compiler_la_DEPENDENCIES) $(EXTRA_libasn1compiler_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1compiler_la_OBJECTS) $(libasn1compiler_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1c_C.Plo -include ./$(DEPDIR)/asn1c_compat.Plo -include ./$(DEPDIR)/asn1c_constraint.Plo -include ./$(DEPDIR)/asn1c_fdeps.Plo -include ./$(DEPDIR)/asn1c_ioc.Plo -include ./$(DEPDIR)/asn1c_lang.Plo -include ./$(DEPDIR)/asn1c_misc.Plo -include ./$(DEPDIR)/asn1c_naming.Plo -include ./$(DEPDIR)/asn1c_out.Plo -include ./$(DEPDIR)/asn1c_save.Plo -include ./$(DEPDIR)/asn1compiler.Plo - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1compiler/Makefile.am b/libasn1compiler/Makefile.am deleted file mode 100644 index 8993de2..0000000 --- a/libasn1compiler/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ - -AM_CFLAGS = @ADD_CFLAGS@ - -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1print \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1compiler.la - -libasn1compiler_la_SOURCES = \ - asn1compiler.c asn1compiler.h \ - asn1c_misc.c asn1c_misc.h \ - asn1c_out.c asn1c_out.h \ - asn1c_lang.c asn1c_lang.h \ - asn1c_naming.c asn1c_naming.h \ - asn1c_save.c asn1c_save.h \ - asn1c_C.c asn1c_C.h \ - asn1c_constraint.c asn1c_constraint.h \ - asn1c_compat.c asn1c_compat.h \ - asn1c_ioc.c asn1c_ioc.h \ - asn1c_fdeps.c asn1c_fdeps.h \ - asn1c_internal.h diff --git a/libasn1compiler/Makefile.in b/libasn1compiler/Makefile.in deleted file mode 100644 index 292c822..0000000 --- a/libasn1compiler/Makefile.in +++ /dev/null @@ -1,646 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = libasn1compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1compiler_la_LIBADD = -am_libasn1compiler_la_OBJECTS = asn1compiler.lo asn1c_misc.lo \ - asn1c_out.lo asn1c_lang.lo asn1c_naming.lo asn1c_save.lo \ - asn1c_C.lo asn1c_constraint.lo asn1c_compat.lo asn1c_ioc.lo \ - asn1c_fdeps.lo -libasn1compiler_la_OBJECTS = $(am_libasn1compiler_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1compiler_la_SOURCES) -DIST_SOURCES = $(libasn1compiler_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1print \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1compiler.la -libasn1compiler_la_SOURCES = \ - asn1compiler.c asn1compiler.h \ - asn1c_misc.c asn1c_misc.h \ - asn1c_out.c asn1c_out.h \ - asn1c_lang.c asn1c_lang.h \ - asn1c_naming.c asn1c_naming.h \ - asn1c_save.c asn1c_save.h \ - asn1c_C.c asn1c_C.h \ - asn1c_constraint.c asn1c_constraint.h \ - asn1c_compat.c asn1c_compat.h \ - asn1c_ioc.c asn1c_ioc.h \ - asn1c_fdeps.c asn1c_fdeps.h \ - asn1c_internal.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1compiler.la: $(libasn1compiler_la_OBJECTS) $(libasn1compiler_la_DEPENDENCIES) $(EXTRA_libasn1compiler_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1compiler_la_OBJECTS) $(libasn1compiler_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_C.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_compat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_constraint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_fdeps.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_ioc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_lang.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_misc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_naming.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_out.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1c_save.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1compiler.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c deleted file mode 100644 index e3e99c2..0000000 --- a/libasn1compiler/asn1c_C.c +++ /dev/null @@ -1,3525 +0,0 @@ -/* - * Don't look into this file. First, because it's a mess, and second, because - * it's a brain of the compiler, and you don't wanna mess with brains do you? ;) - */ -#include "asn1c_internal.h" -#include "asn1c_C.h" -#include "asn1c_constraint.h" -#include "asn1c_out.h" -#include "asn1c_misc.h" -#include "asn1c_ioc.h" -#include "asn1c_naming.h" -#include -#include /* constraint groker from libasn1fix */ -#include /* other exportables from libasn1fix */ -#include - -typedef struct tag2el_s { - struct asn1p_type_tag_s el_tag; - int el_no; - int toff_first; - int toff_last; - asn1p_expr_t *from_expr; -} tag2el_t; - -typedef enum fte { - FTE_ALLTAGS, - FTE_CANONICAL_XER, -} fte_e; -static int _fill_tag2el_map(arg_t *arg, tag2el_t **tag2el, int *count, int el_no, fte_e flags); -static int _add_tag2el_member(arg_t *arg, tag2el_t **tag2el, int *count, int el_no, fte_e flags); - -enum onc_flags { - ONC_noflags = 0x00, - ONC_avoid_keywords = 0x01, - ONC_force_compound_name = 0x02, -}; -static int out_name_chain(arg_t *arg, enum onc_flags); -static int asn1c_lang_C_type_SEQUENCE_def( - arg_t *arg, asn1c_ioc_table_and_objset_t *); -static int asn1c_lang_C_type_SET_def(arg_t *arg); -static int asn1c_lang_C_type_CHOICE_def(arg_t *arg); -static int asn1c_lang_C_type_SEx_OF_def(arg_t *arg, int seq_of); -static int asn1c_lang_C_OpenType(arg_t *arg, asn1c_ioc_table_and_objset_t *opt_ioc, const char *column_name); -static int _print_tag(arg_t *arg, struct asn1p_type_tag_s *tag_p); -static int compute_extensions_start(asn1p_expr_t *expr); -static int expr_break_recursion(arg_t *arg, asn1p_expr_t *expr); -static int expr_as_xmlvaluelist(arg_t *arg, asn1p_expr_t *expr); -static int expr_elements_count(arg_t *arg, asn1p_expr_t *expr); -static int emit_single_member_OER_constraint_value(arg_t *arg, asn1cnst_range_t *range); -static int emit_single_member_OER_constraint_size(arg_t *arg, asn1cnst_range_t *range); -static int emit_single_member_PER_constraint(arg_t *arg, asn1cnst_range_t *range, int juscountvalues, const char *type); -static int emit_member_OER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx); -static int emit_member_PER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx); -static int emit_member_table(arg_t *arg, asn1p_expr_t *expr, - asn1c_ioc_table_and_objset_t *); -static int emit_tag2member_map(arg_t *arg, tag2el_t *tag2el, int tag2el_count, const char *opt_modifier); -static int emit_include_dependencies(arg_t *arg); -static asn1p_expr_t *terminal_structable(arg_t *arg, asn1p_expr_t *expr); -static int expr_defined_recursively(arg_t *arg, asn1p_expr_t *expr); -static int asn1c_recurse(arg_t *arg, asn1p_expr_t *expr, int (*callback)(arg_t *arg, void *key), void *key); -static asn1p_expr_type_e expr_get_type(arg_t *arg, asn1p_expr_t *expr); -static int try_inline_default(arg_t *arg, asn1p_expr_t *expr, int out); -static int *compute_canonical_members_order(arg_t *arg, int el_count); - -enum tvm_compat { - _TVM_SAME = 0, /* tags and all_tags are same */ - _TVM_SUBSET = 1, /* tags are subset of all_tags */ - _TVM_DIFFERENT = 2, /* tags and all_tags are different */ -}; -static enum tvm_compat emit_tags_vectors(arg_t *arg, asn1p_expr_t *expr, int *tc, int *atc); - -enum etd_spec { - ETD_NO_SPECIFICS, - ETD_HAS_SPECIFICS -}; -static int emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_count, int all_tags_count, int elements_count, enum etd_spec); - -#define C99_MODE (!(arg->flags & A1C_NO_C99)) -#define UNNAMED_UNIONS (arg->flags & A1C_UNNAMED_UNIONS) -#define HIDE_INNER_DEFS (arg->embed && !(arg->flags & A1C_ALL_DEFS_GLOBAL)) - -#define PCTX_DEF INDENTED( \ - OUT("\n"); \ - OUT("/* Context for parsing across buffer boundaries */\n"); \ - OUT("asn_struct_ctx_t _asn_ctx;\n")); - - -#define DEPENDENCIES do { \ - emit_include_dependencies(arg); \ - if(expr->expr_type == ASN_CONSTR_SET_OF) \ - GEN_INCLUDE_STD("asn_SET_OF"); \ - if(expr->expr_type == ASN_CONSTR_SEQUENCE_OF) \ - GEN_INCLUDE_STD("asn_SEQUENCE_OF"); \ -} while(0) - -/* MKID_safe() without checking for reserved keywords */ -#define MKID(expr) (asn1c_make_identifier(AMI_USE_PREFIX, expr, 0)) -#define MKID_safe(expr) (asn1c_make_identifier(AMI_CHECK_RESERVED, expr, 0)) - -int -asn1c_lang_C_type_REAL(arg_t *arg) { - return asn1c_lang_C_type_SIMPLE_TYPE(arg); -} - -struct value2enum { - asn1c_integer_t value; - const char *name; - int idx; -}; -static int compar_enumMap_byName(const void *ap, const void *bp) { - const struct value2enum *a = (const struct value2enum *)ap; - const struct value2enum *b = (const struct value2enum *)bp; - return strcmp(a->name, b->name); -} -static int compar_enumMap_byValue(const void *ap, const void *bp) { - const struct value2enum *a = (const struct value2enum *)ap; - const struct value2enum *b = (const struct value2enum *)bp; - if(a->value < b->value) - return -1; - else if(a->value == b->value) - return 0; - return 1; -} - -int -asn1c_lang_C_type_common_INTEGER(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int el_count = expr_elements_count(arg, expr); - struct value2enum *v2e; - int map_extensions = (expr->expr_type == ASN_BASIC_INTEGER); - int eidx; - int saved_target = arg->target->target; - - v2e = calloc(el_count + 1, sizeof(*v2e)); - assert(v2e); - - /* - * For all ENUMERATED types and for those INTEGER types which - * have identifiers, print out an enumeration table. - */ - if(expr->expr_type == ASN_BASIC_ENUMERATED || el_count) { - eidx = 0; - REDIR(OT_DEPS); - OUT("typedef %s {\n", c_name(arg).members_enum); - TQ_FOR(v, &(expr->members), next) { - switch(v->expr_type) { - case A1TC_UNIVERVAL: - OUT("\t"); - OUT("%s", c_member_name(arg, v)); - OUT("\t= %s%s\n", - asn1p_itoa(v->value->value.v_integer), - (eidx+1 < el_count) ? "," : ""); - v2e[eidx].name = v->Identifier; - v2e[eidx].value = v->value->value.v_integer; - eidx++; - break; - case A1TC_EXTENSIBLE: - OUT("\t/*\n"); - OUT("\t * Enumeration is extensible\n"); - OUT("\t */\n"); - if(!map_extensions) - map_extensions = eidx + 1; - break; - default: - free(v2e); - return -1; - } - } - OUT("} %s;\n", c_name(arg).members_name); - assert(eidx == el_count); - } - - /* - * For all ENUMERATED types print out a mapping table - * between identifiers and associated values. - * This is prohibited for INTEGER types by by X.693:8.3.4. - */ - if(expr->expr_type == ASN_BASIC_ENUMERATED) { - - /* - * Generate a enumerationName<->value map for XER codec. - */ - REDIR(OT_STAT_DEFS); - - OUT("static const asn_INTEGER_enum_map_t asn_MAP_%s_value2enum_%d[] = {\n", - MKID(expr), expr->_type_unique_index); - qsort(v2e, el_count, sizeof(v2e[0]), compar_enumMap_byValue); - for(eidx = 0; eidx < el_count; eidx++) { - v2e[eidx].idx = eidx; - OUT("\t{ %s,\t%ld,\t\"%s\" }%s\n", - asn1p_itoa(v2e[eidx].value), - (long)strlen(v2e[eidx].name), v2e[eidx].name, - (eidx + 1 < el_count) ? "," : ""); - } - if(map_extensions) - OUT("\t/* This list is extensible */\n"); - OUT("};\n"); - - OUT("static const unsigned int asn_MAP_%s_enum2value_%d[] = {\n", - MKID(expr), expr->_type_unique_index); - qsort(v2e, el_count, sizeof(v2e[0]), compar_enumMap_byName); - for(eidx = 0; eidx < el_count; eidx++) { - OUT("\t%d%s\t/* %s(%s) */\n", - v2e[eidx].idx, - (eidx + 1 < el_count) ? "," : "", - v2e[eidx].name, asn1p_itoa(v2e[eidx].value)); - } - if(map_extensions) - OUT("\t/* This list is extensible */\n"); - OUT("};\n"); - - if(!(expr->_type_referenced)) OUT("static "); - OUT("const asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENT(+1); - OUT("asn_MAP_%s_value2enum_%d,\t" - "/* \"tag\" => N; sorted by tag */\n", - MKID(expr), - expr->_type_unique_index); - OUT("asn_MAP_%s_enum2value_%d,\t" - "/* N => \"tag\"; sorted by N */\n", - MKID(expr), - expr->_type_unique_index); - OUT("%d,\t/* Number of elements in the maps */\n", - el_count); - if(map_extensions) { - OUT("%d,\t/* Extensions before this member */\n", - map_extensions); - } else { - OUT("0,\t/* Enumeration is not extensible */\n"); - } - if(expr->expr_type == ASN_BASIC_ENUMERATED) - OUT("1,\t/* Strict enumeration */\n"); - else - OUT("0,\n"); - OUT("0,\t/* Native long size */\n"); - OUT("0\n"); - INDENT(-1); - OUT("};\n"); - } - - if(expr->expr_type == ASN_BASIC_INTEGER - && asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN) { - REDIR(OT_STAT_DEFS); - if(!(expr->_type_referenced)) OUT("static "); - OUT("const asn_INTEGER_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENT(+1); - OUT("0,\t"); - OUT("0,\t"); - OUT("0,\t"); - OUT("0,\t"); - OUT("0,\n"); - OUT("0,\t/* Native long size */\n"); - OUT("1\t/* Unsigned representation */\n"); - INDENT(-1); - OUT("};\n"); - } - - REDIR(saved_target); - - free(v2e); - return asn1c_lang_C_type_SIMPLE_TYPE(arg); -} - -int -asn1c_lang_C_type_BIT_STRING(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int el_count = expr_elements_count(arg, expr); - int saved_target = arg->target->target; - - if(el_count) { - int eidx = 0; - REDIR(OT_DEPS); - OUT("typedef %s {\n", c_name(arg).members_enum); - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type != A1TC_UNIVERVAL) { - OUT("/* Unexpected BIT STRING element: %s */\n", - v->Identifier); - continue; - } - eidx++; - OUT("\t"); - OUT("%s", c_member_name(arg, v)); - OUT("\t= %s%s\n", - asn1p_itoa(v->value->value.v_integer), - (eidx < el_count) ? "," : ""); - } - OUT("} %s;\n", c_name(arg).members_name); - assert(eidx == el_count); - } - - REDIR(saved_target); - - return asn1c_lang_C_type_SIMPLE_TYPE(arg); -} - -/* - * Check if it is a true open type. That is, type is taken from - * the Information Object Set driven constraints. - */ -static int -is_open_type(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_objset_t *opt_ioc) { - - (void)arg; - - if(!opt_ioc) { - return 0; - } - - if(expr->meta_type == AMT_TYPEREF - && expr->expr_type == A1TC_REFERENCE - && expr->reference->comp_count == 2 - && expr->reference->components[1].lex_type - == RLT_AmpUppercase) { - DEBUG("%s is a true open type", MKID(expr)); - return 1; - } - - return 0; -} - -int -asn1c_lang_C_type_SEQUENCE(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int comp_mode = 0; /* {root,ext=1,root,root,...} */ - int saved_target = arg->target->target; - asn1c_ioc_table_and_objset_t ioc_tao; - int ext_num = 1; - - DEPENDENCIES; - - ioc_tao = asn1c_get_ioc_table(arg); - if(ioc_tao.ioct) { - if(emit_ioc_table(arg, expr, ioc_tao)) { - return -1; - } - } else if(ioc_tao.fatal_error) { - return -1; - } - - if(arg->embed) { - - /* Use _anonymous_type field to indicate it's called from - * asn1c_lang_C_type_SEx_OF() */ - if (expr->_anonymous_type) { - REDIR(OT_FWD_DEFS); - OUT("typedef "); - } - OUT("%s {\n", c_name(arg).full_name); - } else { - REDIR(OT_TYPE_DECLS); - OUT("typedef %s {\n", c_name(arg).full_name); - } - - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) - if(comp_mode < 3) comp_mode++; - if(comp_mode == 1) - v->marker.flags |= EM_OMITABLE | EM_INDIRECT; - try_inline_default(arg, v, 1); - if(is_open_type(arg, v, ioc_tao.ioct ? &ioc_tao : 0)) { - arg_t tmp_arg = *arg; - tmp_arg.embed++; - INDENT(+1); - tmp_arg.expr = v; - const char *column_name = v->reference->components[1].name; - if(asn1c_lang_C_OpenType(&tmp_arg, &ioc_tao, column_name)) { - return -1; - } - INDENT(-1); - tmp_arg.embed--; - } else { - char ext_name[20]; - - if((v->expr_type == ASN_CONSTR_SEQUENCE) && - (v->marker.flags & EM_OPTIONAL) && - (v->Identifier == NULL)) { - sprintf(ext_name, "ext%d", ext_num++); - v->Identifier = strdup(ext_name); - } - - EMBED_WITH_IOCT(v, ioc_tao); - } - } - - PCTX_DEF; - - if (arg->embed && expr->_anonymous_type) { - OUT("} %s%s;\n", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - - REDIR(saved_target); - - OUT("%s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - } else { - OUT("} %s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - arg->embed ? c_name(arg).as_member : c_name(arg).short_name); - if(!expr->_anonymous_type) OUT(";\n"); - } - - return asn1c_lang_C_type_SEQUENCE_def(arg, ioc_tao.ioct ? &ioc_tao : 0); -} - -static void -emit_tag2member_reference(arg_t *arg, asn1p_expr_t *expr, - unsigned tag2el_count) { - if(tag2el_count) { - if(C99_MODE) OUT(".tag2el = "); - OUT("asn_MAP_%s_tag2el_%d,\n", MKID(expr), expr->_type_unique_index); - if(C99_MODE) OUT(".tag2el_count = "); - OUT("%d,\t/* Count of tags in the map */\n", tag2el_count); - } else { - OUT("0,\t/* No top level tags */\n"); - OUT("0,\t/* No tags in the map */\n"); - } -} - -static int -asn1c_lang_C_type_SEQUENCE_def(arg_t *arg, asn1c_ioc_table_and_objset_t *opt_ioc) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int elements; /* Number of elements */ - int first_extension = -1; - tag2el_t *tag2el = NULL; - int tag2el_count = 0; - int tags_count; - int all_tags_count; - enum tvm_compat tv_mode; - int roms_count; /* Root optional members */ - int aoms_count; /* Additions optional members */ - int saved_target = arg->target->target; - - /* - * Fetch every inner tag from the tag to elements map. - */ - if(_fill_tag2el_map(arg, &tag2el, &tag2el_count, -1, FTE_ALLTAGS)) { - if(tag2el) free(tag2el); - return -1; - } - - GEN_INCLUDE_STD("constr_SEQUENCE"); - if(!arg->embed) - GEN_DECLARE("SEQUENCE", expr); /* asn_DEF_xxx */ - - REDIR(OT_STAT_DEFS); - - /* - * Print out the table according to which parsing is performed. - */ - if(expr_elements_count(arg, expr)) { - int comp_mode = 0; /* {root,ext=1,root,root,...} */ - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n", - c_name(arg).part_name, expr->_type_unique_index); - - elements = 0; - roms_count = 0; - aoms_count = 0; - INDENTED(TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - if((++comp_mode) == 1) - first_extension = elements; - continue; - } - if(v->marker.flags & EM_OMITABLE) - comp_mode == 1 ? ++aoms_count : ++roms_count; - if(emit_member_table(arg, v, opt_ioc) < 0) - return -1; - elements++; - }); - OUT("};\n"); - - if((roms_count + aoms_count) && (arg->flags & (A1C_GEN_OER|A1C_GEN_PER))) { - int elm = 0; - int comma = 0; - comp_mode = 0; - OUT("static const int asn_MAP_%s_oms_%d[] = {", - MKID(expr), - expr->_type_unique_index); - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - ++comp_mode; - continue; - } - if((v->marker.flags & EM_OMITABLE) - && comp_mode != 1) { - if(!comma) comma++; - else OUT(","); - OUT(" %d", elm); - } - ++elm; - } - elm = 0; - comp_mode = 0; - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - ++comp_mode; - continue; - } - if((v->marker.flags & EM_OMITABLE) - && comp_mode == 1) { - if(!comma) comma++; - else OUT(","); - OUT(" %d", elm); - } - ++elm; - } - OUT(" };\n"); - if(roms_count > 65536) { - FATAL("Too many optional elements in %s " - "at line %d!", - arg->expr->Identifier, - arg->expr->_lineno); - return -1; - } - } else { - roms_count = 0; - aoms_count = 0; - } - } else { - elements = 0; - roms_count = 0; - aoms_count = 0; - } - - /* - * Print out asn_DEF__[all_]tags[] vectors. - */ - tv_mode = emit_tags_vectors(arg, expr, &tags_count, &all_tags_count); - - /* - * Tags to elements map. - */ - emit_tag2member_map(arg, tag2el, tag2el_count, 0); - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_SEQUENCE_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENT(+1); - OUT("sizeof(%s),\n", c_name(arg).full_name); - OUT("offsetof(%s, _asn_ctx),\n", c_name(arg).full_name); - emit_tag2member_reference(arg, expr, tag2el_count); - if(roms_count + aoms_count) { - OUT("asn_MAP_%s_oms_%d,\t/* Optional members */\n", - MKID(expr), expr->_type_unique_index); - OUT("%d, %d,\t/* Root/Additions */\n", roms_count, aoms_count); - } else { - OUT("0, 0, 0,\t/* Optional elements (not needed) */\n"); - } - OUT("%d,\t/* First extension addition */\n", first_extension); - INDENT(-1); - OUT("};\n"); - - /* - * Emit asn_DEF_xxx table. - */ - emit_type_DEF(arg, expr, tv_mode, tags_count, all_tags_count, elements, - ETD_HAS_SPECIFICS); - - REDIR(saved_target); - - if(tag2el) free(tag2el); - - return 0; -} /* _SEQUENCE_def() */ - -int -asn1c_lang_C_type_SET(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - long mcount; - const char *id; - int comp_mode = 0; /* {root,ext=1,root,root,...} */ - int saved_target = arg->target->target; - int ext_num = 1; - - DEPENDENCIES; - - REDIR(OT_DEPS); - - OUT("\n"); - OUT("/*\n"); - OUT(" * Method of determining the components presence\n"); - OUT(" */\n"); - mcount = 0; - OUT("typedef %s {\n", c_name(arg).presence_enum); - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) continue; - INDENTED( - OUT("%s,", c_presence_name(arg, v)); - OUT("\t/* Member %s is present */\n", MKID(v)); - ); - mcount++; - } - OUT("} %s;\n", c_name(arg).presence_name); - - REDIR(saved_target); - - if(arg->embed) { - if (expr->_anonymous_type) { - REDIR(OT_FWD_DEFS); - OUT("typedef "); - } - OUT("%s {\n", c_name(arg).full_name); - } else { - REDIR(OT_TYPE_DECLS); - OUT("typedef %s {\n", c_name(arg).full_name); - } - - TQ_FOR(v, &(expr->members), next) { - char ext_name[20]; - - if(v->expr_type == A1TC_EXTENSIBLE) - if(comp_mode < 3) comp_mode++; - if(comp_mode == 1) - v->marker.flags |= EM_OMITABLE | EM_INDIRECT; - try_inline_default(arg, v, 1); - - if((v->expr_type == ASN_CONSTR_SEQUENCE) && - (v->marker.flags & EM_OPTIONAL) && - (v->Identifier == NULL)) { - sprintf(ext_name, "ext%d", ext_num++); - v->Identifier = strdup(ext_name); - } - EMBED(v); - } - - INDENTED( - id = MKID(expr); - OUT("\n"); - OUT("/* Presence bitmask: ASN_SET_ISPRESENT(p%s, %s_PR_x) */\n", - id, id); - OUT("unsigned int _presence_map\n"); - OUT("\t[((%ld+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];\n", mcount); - ); - - PCTX_DEF; - - if (arg->embed && expr->_anonymous_type) { - OUT("} %s%s;\n", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - - REDIR(saved_target); - - OUT("%s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - } else { - OUT("} %s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - arg->embed ? c_name(arg).as_member : c_name(arg).short_name); - if(!expr->_anonymous_type) OUT(";\n"); - } - - return asn1c_lang_C_type_SET_def(arg); -} - -static int -asn1c_lang_C_type_SET_def(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int elements; - tag2el_t *tag2el = NULL; - int tag2el_count = 0; - tag2el_t *tag2el_cxer = NULL; - int tag2el_cxer_count = 0; - int tags_count; - int all_tags_count; - enum tvm_compat tv_mode; - const char *p; - int saved_target = arg->target->target; - - /* - * Fetch every inner tag from the tag to elements map. - */ - if(_fill_tag2el_map(arg, &tag2el, &tag2el_count, -1, FTE_ALLTAGS)) { - if(tag2el) free(tag2el); - return -1; - } - if(_fill_tag2el_map(arg, &tag2el_cxer, &tag2el_cxer_count, -1, FTE_CANONICAL_XER)) { - if(tag2el) free(tag2el); - if(tag2el_cxer) free(tag2el_cxer); - return -1; - } - if(tag2el_cxer_count == tag2el_count - && memcmp(tag2el, tag2el_cxer, tag2el_count) == 0) { - free(tag2el_cxer); - tag2el_cxer = 0; - } - - GEN_INCLUDE_STD("constr_SET"); - if(!arg->embed) - GEN_DECLARE("SET", expr); /* asn_DEF_xxx */ - - REDIR(OT_STAT_DEFS); - - /* - * Print out the table according to which parsing is performed. - */ - if(expr_elements_count(arg, expr)) { - int comp_mode = 0; /* {root,ext=1,root,root,...} */ - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n", - c_name(arg).part_name, expr->_type_unique_index); - - elements = 0; - INDENTED(TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - if(comp_mode < 3) comp_mode++; - } else { - emit_member_table(arg, v, NULL); - elements++; - } - }); - OUT("};\n"); - } else { - elements = 0; - } - - /* - * Print out asn_DEF__[all_]tags[] vectors. - */ - tv_mode = emit_tags_vectors(arg, expr, &tags_count, &all_tags_count); - - /* - * Tags to elements map. - */ - emit_tag2member_map(arg, tag2el, tag2el_count, 0); - if(tag2el_cxer) - emit_tag2member_map(arg, tag2el_cxer, tag2el_cxer_count, "_cxer"); - - /* - * Emit a map of mandatory elements. - */ - OUT("static const uint8_t asn_MAP_%s_mmap_%d", - MKID(expr), expr->_type_unique_index); - p = MKID_safe(expr); - OUT("[(%d + (8 * sizeof(unsigned int)) - 1) / 8]", elements); - OUT(" = {\n"); - INDENTED( - if(elements) { - int el = 0; - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) continue; - if(el) { - if((el % 8) == 0) - OUT(",\n"); - else - OUT(" | "); - } - OUT("(%d << %d)", - (v->marker.flags & EM_OMITABLE) != EM_OMITABLE, - 7 - (el % 8)); - el++; - } - } else { - OUT("0"); - } - ); - OUT("\n"); - OUT("};\n"); - - if(!(expr->_type_referenced)) OUT("static \n"); - OUT("asn_SET_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENTED( - OUT("sizeof(%s),\n", c_name(arg).full_name); - OUT("offsetof(%s, _asn_ctx),\n", c_name(arg).full_name); - OUT("offsetof(%s, _presence_map),\n", c_name(arg).full_name); - emit_tag2member_reference(arg, expr, tag2el_count); - p = MKID(expr); - if(tag2el_cxer) - OUT("asn_MAP_%s_tag2el_cxer_%d,\n", - p, expr->_type_unique_index); - else - OUT("asn_MAP_%s_tag2el_%d,\t/* Same as above */\n", - p, expr->_type_unique_index); - OUT("%d,\t/* Count of tags in the CXER map */\n", - tag2el_cxer_count); - OUT("%d,\t/* Whether extensible */\n", - compute_extensions_start(expr) == -1 ? 0 : 1); - OUT("(const unsigned int *)asn_MAP_%s_mmap_%d\t/* Mandatory elements map */\n", - p, expr->_type_unique_index); - ); - OUT("};\n"); - - /* - * Emit asn_DEF_xxx table. - */ - emit_type_DEF(arg, expr, tv_mode, tags_count, all_tags_count, elements, - ETD_HAS_SPECIFICS); - - REDIR(saved_target); - - if (tag2el) free(tag2el); - if (tag2el_cxer) free(tag2el_cxer); - - return 0; -} /* _SET_def() */ - -int -asn1c_lang_C_type_SEx_OF(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *memb = TQ_FIRST(&expr->members); - int saved_target = arg->target->target; - - DEPENDENCIES; - - if(arg->embed) { - if (expr->_anonymous_type) { - REDIR(OT_FWD_DEFS); - OUT("typedef "); - } - OUT("%s {\n", c_name(arg).full_name); - } else { - OUT("typedef %s {\n", c_name(arg).full_name); - } - - INDENT(+1); - OUT("A_%s_OF(", - (arg->expr->expr_type == ASN_CONSTR_SET_OF) - ? "SET" : "SEQUENCE"); - - /* - * README README - * The implementation of the A_SET_OF() macro is already indirect. - */ - memb->marker.flags |= EM_INDIRECT; - - if(memb->expr_type & ASN_CONSTR_MASK - || ((memb->expr_type == ASN_BASIC_ENUMERATED - || (0 /* -- prohibited by X.693:8.3.4 */ - && memb->expr_type == ASN_BASIC_INTEGER)) - && expr_elements_count(arg, memb))) { - arg_t tmp; - asn1p_expr_t *tmp_memb = memb; - enum asn1p_expr_marker_e flags = memb->marker.flags; - arg->embed++; - tmp = *arg; - tmp.expr = tmp_memb; - tmp_memb->marker.flags &= ~EM_INDIRECT; - tmp_memb->_anonymous_type = 1; - if(tmp_memb->Identifier == 0) { - tmp_memb->Identifier = strdup("Member"); - if(0) - tmp_memb->Identifier = strdup( - asn1c_make_identifier(0, - expr, "Member", 0)); - assert(tmp_memb->Identifier); - } - tmp.default_cb(&tmp, NULL); - tmp_memb->marker.flags = flags; - arg->embed--; - assert(arg->target->target == OT_TYPE_DECLS || - arg->target->target == OT_FWD_DEFS); - } else { - OUT("%s", asn1c_type_name(arg, memb, - (memb->marker.flags & EM_UNRECURSE) - ? TNF_RSAFE : TNF_CTYPE)); - } - /* README README (above) */ - if(0 && (memb->marker.flags & EM_INDIRECT)) - OUT(" *"); - OUT(") list;\n"); - INDENT(-1); - - PCTX_DEF; - - if (arg->embed && expr->_anonymous_type) { - OUT("} %s%s;\n", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - - REDIR(saved_target); - - OUT("%s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - } else { - OUT("} %s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - arg->embed ? c_name(arg).as_member : c_name(arg).short_name); - if(!expr->_anonymous_type) OUT(";\n"); - } - - /* - * SET OF/SEQUENCE OF definition - */ - return asn1c_lang_C_type_SEx_OF_def(arg, - (arg->expr->expr_type == ASN_CONSTR_SEQUENCE_OF)); -} - -static int -asn1c_lang_C_type_SEx_OF_def(arg_t *arg, int seq_of) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int tags_count; - int all_tags_count; - enum tvm_compat tv_mode; - int saved_target = arg->target->target; - - /* - * Print out the table according to which parsing is performed. - */ - if(seq_of) { - GEN_INCLUDE_STD("constr_SEQUENCE_OF"); - } else { - GEN_INCLUDE_STD("constr_SET_OF"); - } - if(!arg->embed) - GEN_DECLARE("SET_OF", expr); /* asn_DEF_xxx */ - - REDIR(OT_STAT_DEFS); - - /* - * Print out the table according to which parsing is performed. - */ - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n", - c_name(arg).part_name, expr->_type_unique_index); - INDENT(+1); - v = TQ_FIRST(&(expr->members)); - if(!v->Identifier) { - v->Identifier = strdup("Member"); - assert(v->Identifier); - } - v->_anonymous_type = 1; - arg->embed++; - emit_member_table(arg, v, NULL); - arg->embed--; - free(v->Identifier); - v->Identifier = (char *)NULL; - INDENT(-1); - OUT("};\n"); - - /* - * Print out asn_DEF__[all_]tags[] vectors. - */ - tv_mode = emit_tags_vectors(arg, expr, &tags_count, &all_tags_count); - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_SET_OF_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENTED( - OUT("sizeof(%s),\n", c_name(arg).full_name); - OUT("offsetof(%s, _asn_ctx),\n", c_name(arg).full_name); - { - int as_xvl = expr_as_xmlvaluelist(arg, v); - OUT("%d,\t/* XER encoding is %s */\n", - as_xvl, - as_xvl ? "XMLValueList" : "XMLDelimitedItemList"); - } - ); - OUT("};\n"); - - /* - * Emit asn_DEF_xxx table. - */ - emit_type_DEF(arg, expr, tv_mode, tags_count, all_tags_count, 1, - ETD_HAS_SPECIFICS); - - REDIR(saved_target); - - return 0; -} /* _SEx_OF_def() */ - -int -asn1c_lang_C_type_CHOICE(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int saved_target = arg->target->target; - - DEPENDENCIES; - - REDIR(OT_DEPS); - - OUT("typedef %s {\n", c_name(arg).presence_enum); - INDENTED( - int skipComma = 1; - OUT("%s", c_presence_name(arg, 0)); - OUT("%s\t/* No components present */\n", !TQ_FIRST(&(expr->members)) ? "" : ","); - TQ_FOR(v, &(expr->members), next) { - if(skipComma) skipComma = 0; - else if (v->expr_type == A1TC_EXTENSIBLE && !TQ_NEXT(v, next)) OUT("\n"); - else OUT(",\n"); - if(v->expr_type == A1TC_EXTENSIBLE) { - OUT("/* Extensions may appear below */\n"); - skipComma = 1; - continue; - } - OUT("%s", c_presence_name(arg, v)); - } - OUT("\n"); - ); - OUT("} %s;\n", c_name(arg).presence_name); - - REDIR(saved_target); - - if(arg->embed) { - if (expr->_anonymous_type) { - REDIR(OT_FWD_DEFS); - OUT("typedef "); - } - OUT("%s {\n", c_name(arg).full_name); - } else { - REDIR(OT_TYPE_DECLS); - OUT("typedef %s {\n", c_name(arg).full_name); - } - - INDENTED( - OUT("%s present;\n", c_name(arg).presence_name); - OUT("union "); - if(UNNAMED_UNIONS == 0) { - out_name_chain(arg, ONC_force_compound_name); - OUT("_u "); - } - OUT("{\n"); - TQ_FOR(v, &(expr->members), next) { - EMBED(v); - } - if(UNNAMED_UNIONS) OUT("};\n"); - else OUT("} choice;\n"); - ); - - PCTX_DEF; - - if (arg->embed && expr->_anonymous_type) { - OUT("} %s%s;\n", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - - REDIR(saved_target); - - OUT("%s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - c_name(arg).base_name); - } else { - OUT("} %s%s", (expr->marker.flags & EM_INDIRECT)?"*":"", - arg->embed ? c_name(arg).as_member : c_name(arg).short_name); - } - if(!expr->_anonymous_type) OUT(";\n"); - - return asn1c_lang_C_type_CHOICE_def(arg); -} - -static ssize_t -find_column_index(arg_t *arg, asn1c_ioc_table_and_objset_t *opt_ioc, const char *column_name) { - (void)arg; - - if(!opt_ioc || !opt_ioc->ioct || !column_name) { - return -1; - } - - if(opt_ioc->ioct->rows == 0) { - return 0; /* No big deal. Just no data */ - } else { - for(size_t clmn = 0; clmn < opt_ioc->ioct->row[0]->columns; clmn++) { - if(strcmp(opt_ioc->ioct->row[0]->column[clmn].field->Identifier, - column_name) == 0) { - return clmn; - } - } - return -1; - } - -} - -static int -asn1c_lang_C_OpenType(arg_t *arg, asn1c_ioc_table_and_objset_t *opt_ioc, - const char *column_name) { - arg_t tmp_arg = *arg; - - ssize_t column_index = find_column_index(arg, opt_ioc, column_name); - if(column_index < 0) { - FATAL("Open type generation attempted for %s, incomplete", column_name); - return -1; - } - - asn1p_expr_t *open_type_choice = - asn1p_expr_new(arg->expr->_lineno, arg->expr->module); - - open_type_choice->Identifier = strdup(arg->expr->Identifier); - open_type_choice->meta_type = AMT_TYPE; - open_type_choice->expr_type = ASN_CONSTR_OPEN_TYPE; - open_type_choice->_type_unique_index = arg->expr->_type_unique_index; - open_type_choice->parent_expr = arg->expr->parent_expr; - - for(size_t row = 0; row < opt_ioc->ioct->rows; row++) { - struct asn1p_ioc_cell_s *cell = - &opt_ioc->ioct->row[row]->column[column_index]; - - if(!cell->value) continue; - - if(asn1p_lookup_child(open_type_choice, cell->value->Identifier)) - continue; - - asn1p_expr_t *m = asn1p_expr_clone(cell->value, 0); - asn1p_expr_add(open_type_choice, m); - } - - tmp_arg.expr = open_type_choice; - GEN_INCLUDE_STD("OPEN_TYPE"); - asn1c_lang_C_type_CHOICE(&tmp_arg); - asn1p_expr_free(tmp_arg.expr); - return 0; -} - -static int -asn1c_lang_C_type_CHOICE_def(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int elements; /* Number of elements */ - tag2el_t *tag2el = NULL; - int tag2el_count = 0; - int tags_count; - int all_tags_count; - enum tvm_compat tv_mode; - int *cmap = 0; - int saved_target = arg->target->target; - - /* - * Fetch every inner tag from the tag to elements map. - */ - if(_fill_tag2el_map(arg, &tag2el, &tag2el_count, -1, FTE_ALLTAGS)) { - if(tag2el) free(tag2el); - return -1; - } - - GEN_INCLUDE_STD("constr_CHOICE"); - if(!arg->embed) - GEN_DECLARE("CHOICE", expr); /* asn_DEF_xxx */ - - REDIR(OT_STAT_DEFS); - - /* - * Print out the table according to which parsing is performed. - */ - if(expr_elements_count(arg, expr)) { - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_TYPE_member_t asn_MBR_%s_%d[] = {\n", - c_name(arg).part_name, expr->_type_unique_index); - - elements = 0; - INDENTED(TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) - continue; - emit_member_table(arg, v, NULL); - elements++; - }); - OUT("};\n"); - } else { - elements = 0; - } - - /* Create a canonical elements map */ - if(elements && (arg->flags & A1C_GEN_PER)) { - cmap = compute_canonical_members_order(arg, elements); - if(cmap) { - OUT("static const unsigned asn_MAP_%s_to_canonical_%d[] = {", - MKID(expr), expr->_type_unique_index); - for(int i = 0; i < elements; i++) { - if(i) OUT(","); - OUT(" %d", cmap[i]); - } - OUT(" };\n"); - OUT("static const unsigned asn_MAP_%s_from_canonical_%d[] = {", - MKID(expr), expr->_type_unique_index); - for(int i = 0; i < elements; i++) { - if(i) OUT(","); - int j; - for(j = 0; j < elements; j++) { - if(cmap[j] == i) { - OUT(" %d", j); - break; - } - } - assert(j < elements); - } - OUT(" };\n"); - free(cmap); - } - } - - if(arg->embed) { - /* - * Our parent structure has already taken this into account. - */ - tv_mode = _TVM_SAME; - tags_count = all_tags_count = 0; - } else { - tv_mode = emit_tags_vectors(arg, expr, - &tags_count, &all_tags_count); - } - - /* - * Tags to elements map. - */ - emit_tag2member_map(arg, tag2el, tag2el_count, 0); - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_CHOICE_specifics_t asn_SPC_%s_specs_%d = {\n", MKID(expr), - expr->_type_unique_index); - INDENTED( - OUT("sizeof(%s),\n", c_name(arg).full_name); - OUT("offsetof(%s, _asn_ctx),\n", c_name(arg).full_name); - OUT("offsetof(%s, present),\n", c_name(arg).full_name); - OUT("sizeof(((%s *)0)->present),\n", c_name(arg).full_name); - emit_tag2member_reference(arg, expr, tag2el_count); - if(cmap) { - if(C99_MODE) OUT(".to_canonical_order = "); - OUT("asn_MAP_%s_to_canonical_%d,\n", MKID(expr), - expr->_type_unique_index); - if(C99_MODE) OUT(".from_canonical_order = "); - OUT("asn_MAP_%s_from_canonical_%d,\n", MKID(expr), - expr->_type_unique_index); - } else { OUT("0, 0,\n"); } - if(C99_MODE) OUT(".first_extension = "); - OUT("%d\t/* Extensions start */\n", compute_extensions_start(expr)); - ); - OUT("};\n"); - - /* - * Emit asn_DEF_xxx table. - */ - emit_type_DEF(arg, expr, tv_mode, tags_count, all_tags_count, elements, - ETD_HAS_SPECIFICS); - - REDIR(saved_target); - - if (tag2el) free(tag2el); - - return 0; -} /* _CHOICE_def() */ - -int -asn1c_lang_C_type_REFERENCE_Value(arg_t *arg) { - arg_t tmp = *arg; - asn1p_expr_t *expr, *ref_type; - int saved_target; - - expr = arg->expr; - ref_type = WITH_MODULE_NAMESPACE( - tmp.expr->module, expr_ns, - asn1f_lookup_symbol_ex(tmp.asn, expr_ns, tmp.expr, - arg->expr->reference)); - if(!ref_type) - return 0; - - if(!ref_type->data) - asn1c_attach_streams(ref_type); - - arg->target = ref_type->data; - saved_target = arg->target->target; - REDIR(OT_FUNC_DECLS); - - if((ref_type->expr_type == ASN_BASIC_INTEGER) || - (ref_type->expr_type == ASN_BASIC_ENUMERATED)) { - OUT("#define %s_", MKID(ref_type)); - OUT("%s\t", c_name(arg).base_name); - OUT("((%s)", asn1c_type_name(arg, expr, TNF_CTYPE)); - OUT("%s)\n", asn1p_itoa(expr->value->value.v_integer)); - } - - REDIR(saved_target); - arg->target = tmp.target; - return 0; -} - -int -asn1c_lang_C_type_REFERENCE(arg_t *arg) { - asn1p_ref_t *ref; - - ref = arg->expr->reference; - if(ref->components[ref->comp_count-1].name[0] == '&') { - asn1p_expr_t *extract; - arg_t tmp; - int ret; - - extract = WITH_MODULE_NAMESPACE( - arg->expr->module, expr_ns, - asn1f_class_access_ex(arg->asn, arg->expr->module, expr_ns, - arg->expr, arg->expr->rhs_pspecs, ref)); - if(extract == NULL) - return -1; - - extract = asn1p_expr_clone(extract, 0); - if(extract) { - free(extract->Identifier); - extract->Identifier = strdup(arg->expr->Identifier); - if(extract->Identifier == NULL) { - asn1p_expr_free(extract); - return -1; - } - } else { - return -1; - } - - tmp = *arg; - tmp.asn = arg->asn; - tmp.expr = extract; - - ret = arg->default_cb(&tmp, NULL); - - asn1p_expr_free(extract); - - return ret; - } - - - return asn1c_lang_C_type_SIMPLE_TYPE(arg); -} - -int -asn1c_lang_C_type_SIMPLE_TYPE(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - int tags_count; - int all_tags_count; - enum tvm_compat tv_mode; - enum etd_spec etd_spec; - const char *p; - int saved_target = arg->target->target; - - if(arg->embed) { - enum tnfmt tnfmt = TNF_CTYPE; - - /* - * If this is an optional compound type, - * refer it using "struct X" convention, - * as it may recursively include the current structure. - */ - if(expr->marker.flags & (EM_INDIRECT | EM_UNRECURSE)) { - if(terminal_structable(arg, expr)) { - tnfmt = TNF_RSAFE; - if(saved_target != OT_FWD_DECLS) { - REDIR(OT_FWD_DECLS); - OUT("%s;\n", - asn1c_type_name(arg, arg->expr, tnfmt)); - } - REDIR(saved_target); - } - } - - OUT("%s", asn1c_type_name(arg, arg->expr, tnfmt)); - - if(!expr->_anonymous_type) { - OUT("%s", (expr->marker.flags&EM_INDIRECT)?"\t*":"\t "); - OUT("%s;", MKID_safe(expr)); - if((expr->marker.flags & (EM_DEFAULT & ~EM_INDIRECT)) - == (EM_DEFAULT & ~EM_INDIRECT)) - OUT("\t/* DEFAULT %s */", - asn1f_printable_value( - expr->marker.default_value)); - else if((expr->marker.flags & EM_OPTIONAL) - == EM_OPTIONAL) - OUT("\t/* OPTIONAL */"); - OUT("\n"); - } - - } else { - GEN_POS_INCLUDE_BASE(OT_INCLUDES, expr); - - REDIR(OT_TYPE_DECLS); - - OUT("typedef %s\t", - asn1c_type_name(arg, arg->expr, TNF_CTYPE)); - OUT("%s%s_t%s", - (expr->marker.flags & EM_INDIRECT)?"*":" ", - MKID(expr), - expr->_anonymous_type ? "":";\n"); - } - - if((expr->expr_type == ASN_BASIC_ENUMERATED) - || (0 /* -- prohibited by X.693:8.3.4 */ - && expr->expr_type == ASN_BASIC_INTEGER - && expr_elements_count(arg, expr)) - || (expr->expr_type == ASN_BASIC_INTEGER - && asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN) - || asn1c_REAL_fits(arg, expr) == RL_FITS_FLOAT32 - ) - etd_spec = ETD_HAS_SPECIFICS; - else - etd_spec = ETD_NO_SPECIFICS; - - /* - * If this type just blindly refers the other type, alias it. - * Type1 ::= Type2 - */ - if(arg->embed && etd_spec == ETD_NO_SPECIFICS) { - REDIR(saved_target); - return 0; - } - - REDIR(OT_CODE); - - /* - * Constraint checking. - */ - if(!(arg->flags & A1C_NO_CONSTRAINTS) && expr->combined_constraints) { - p = MKID(expr); - if(HIDE_INNER_DEFS) OUT("static "); - OUT("int\n"); - OUT("%s", p); - if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index); - OUT("_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,\n"); - INDENT(+1); - OUT("\t\tasn_app_constraint_failed_f *ctfailcb, void *app_key) {"); - OUT("\n"); - DEBUG("expr constraint checking code for %s", p); - if(asn1c_emit_constraint_checking_code(arg) == 1) { - OUT("return td->encoding_constraints.general_constraints" - "(td, sptr, ctfailcb, app_key);\n"); - } - INDENT(-1); - OUT("}\n"); - OUT("\n"); - } - - REDIR(OT_STAT_DEFS); - - /* - * By default, NativeReal is double. We only override this if - * (OER) constraints suggested that we may use float. - */ - if(asn1c_REAL_fits(arg, expr) == RL_FITS_FLOAT32) { - if(!(expr->_type_referenced)) OUT("static "); - OUT("const asn_NativeReal_specifics_t asn_SPC_%s_specs_%d = {\n", - MKID(expr), expr->_type_unique_index); - INDENT(+1); - OUT("4\t/* Use 'float' type. */\n"); - INDENT(-1); - OUT("};\n"); - } - - /* - * Print out asn_DEF__[all_]tags[] vectors. - */ - tv_mode = emit_tags_vectors(arg, expr, &tags_count, &all_tags_count); - DEBUG("emit tag vectors for %s %d, %d, %d", expr->Identifier, - tv_mode, tags_count, all_tags_count); - - emit_type_DEF(arg, expr, tv_mode, tags_count, all_tags_count, - 0, etd_spec); - - REDIR(OT_CODE); - - /* - * Emit suicidal functions. - */ - - /* - * This function replaces certain fields from the definition - * of a type with the corresponding fields from the basic type - * (from which the current type is inherited). - */ - OUT("/*\n"); - OUT(" * This type is implemented using %s,\n", c_name(arg).type.base_name); - OUT(" * so here we adjust the DEF accordingly.\n"); - OUT(" */\n"); - - REDIR(OT_FUNC_DECLS); - - p = MKID(expr); - if(HIDE_INNER_DEFS) { - OUT("/* extern asn_TYPE_descriptor_t asn_DEF_%s_%d;" - "\t// (Use -fall-defs-global to expose) */\n", - p, expr->_type_unique_index); - } else { - OUT("extern asn_TYPE_descriptor_t asn_DEF_%s;\n", p); - if(etd_spec == ETD_HAS_SPECIFICS && expr->_type_referenced) { - if((expr->expr_type == ASN_BASIC_ENUMERATED) - || (expr->expr_type == ASN_BASIC_INTEGER)) { - OUT("extern const asn_INTEGER_specifics_t " - "asn_SPC_%s_specs_%d;\n", - c_name(arg).base_name, expr->_type_unique_index); - } else { - asn1p_expr_t *terminal = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr)); - OUT("extern const asn_%s_specifics_t ", - asn1c_type_name(arg, terminal, TNF_SAFE)); - OUT("asn_SPC_%s_specs_%d;\n", MKID(expr), - expr->_type_unique_index); - } - } - OUT("asn_struct_free_f %s_free;\n", p); - OUT("asn_struct_print_f %s_print;\n", p); - OUT("asn_constr_check_f %s_constraint;\n", p); - OUT("ber_type_decoder_f %s_decode_ber;\n", p); - OUT("der_type_encoder_f %s_encode_der;\n", p); - OUT("xer_type_decoder_f %s_decode_xer;\n", p); - OUT("xer_type_encoder_f %s_encode_xer;\n", p); - if(arg->flags & A1C_GEN_OER) { - OUT("oer_type_decoder_f %s_decode_oer;\n", p); - OUT("oer_type_encoder_f %s_encode_oer;\n", p); - } - if(arg->flags & A1C_GEN_PER) { - OUT("per_type_decoder_f %s_decode_uper;\n", p); - OUT("per_type_encoder_f %s_encode_uper;\n", p); - OUT("per_type_decoder_f %s_decode_aper;\n", p); - OUT("per_type_encoder_f %s_encode_aper;\n", p); - } - } - - REDIR(saved_target); - - return 0; -} - -int -asn1c_lang_C_type_EXTENSIBLE(arg_t *arg) { - - OUT("/*\n"); - OUT(" * This type is extensible,\n"); - OUT(" * possible extensions are below.\n"); - OUT(" */\n"); - - return 0; -} - -static int -compute_extensions_start(asn1p_expr_t *expr) { - asn1p_expr_t *v; - int eidx = 0; - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) - return eidx; - eidx++; - } - return -1; -} - -static int -_print_tag(arg_t *arg, struct asn1p_type_tag_s *tag) { - - OUT("("); - switch(tag->tag_class) { - case TC_UNIVERSAL: OUT("ASN_TAG_CLASS_UNIVERSAL"); break; - case TC_APPLICATION: OUT("ASN_TAG_CLASS_APPLICATION"); break; - case TC_CONTEXT_SPECIFIC: OUT("ASN_TAG_CLASS_CONTEXT"); break; - case TC_PRIVATE: OUT("ASN_TAG_CLASS_PRIVATE"); break; - case TC_NOCLASS: - break; - } - OUT(" | (%s << 2))", asn1p_itoa(tag->tag_value)); - - return 0; -} - - -static int -_tag2el_cmp(const void *ap, const void *bp) { - const tag2el_t *a = ap; - const tag2el_t *b = bp; - const struct asn1p_type_tag_s *ta = &a->el_tag; - const struct asn1p_type_tag_s *tb = &b->el_tag; - - if(ta->tag_class == tb->tag_class) { - if(ta->tag_value == tb->tag_value) { - /* - * Sort by their respective positions. - */ - if(a->el_no < b->el_no) - return -1; - else if(a->el_no > b->el_no) - return 1; - return 0; - } else if(ta->tag_value < tb->tag_value) - return -1; - else - return 1; - } else if(ta->tag_class < tb->tag_class) { - return -1; - } else { - return 1; - } -} - -/* - * For constructed types, number of external tags may be greater than - * number of elements in the type because of CHOICE type. - * T ::= SET { -- Three possible tags: - * a INTEGER, -- One tag is here... - * b Choice1 -- ... and two more tags are there. - * } - * Choice1 ::= CHOICE { - * s1 IA5String, - * s2 ObjectDescriptor - * } - */ -static int -_fill_tag2el_map(arg_t *arg, tag2el_t **tag2el, int *count, int el_no, fte_e flags) { - asn1p_expr_t *expr = arg->expr; - arg_t tmparg = *arg; - asn1p_expr_t *v; - int element = 0; - int original_count = *count; - int sort_until = -1; - - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - /* - * CXER mandates sorting - * only for the root part. - */ - if(flags == FTE_CANONICAL_XER - && sort_until == -1) - sort_until = *count; - continue; - } - - tmparg.expr = v; - - if(_add_tag2el_member(&tmparg, tag2el, count, - (el_no==-1)?element:el_no, flags)) { - return -1; - } - - element++; - } - - - if(flags == FTE_CANONICAL_XER) { - if(sort_until == -1) sort_until = *count; - qsort((*tag2el) + original_count, - sort_until - original_count, - sizeof(**tag2el), _tag2el_cmp); - if(arg->expr->expr_type == ASN_CONSTR_CHOICE - && (sort_until - original_count) >= 1) { - /* Only take in account the root component */ - *count = original_count + 1; - } - } else { - /* - * Sort the map according to canonical order of their - * tags and element numbers. - */ - qsort(*tag2el, *count, sizeof(**tag2el), _tag2el_cmp); - } - - /* - * Initialize .toff_{first|last} members. - */ - if(*count) { - struct asn1p_type_tag_s *cur_tag = 0; - tag2el_t *cur = *tag2el; - tag2el_t *end = cur + *count; - int occur, i; - for(occur = 0; cur < end; cur++) { - if(cur_tag == 0 - || cur_tag->tag_value != cur->el_tag.tag_value - || cur_tag->tag_class != cur->el_tag.tag_class) { - cur_tag = &cur->el_tag; - occur = 0; - } else { - occur++; - } - cur->toff_first = -occur; - for(i = 0; i >= -occur; i--) - cur[i].toff_last = -i; - } - } - - return 0; -} - -static int -_add_tag2el_member(arg_t *arg, tag2el_t **tag2el, int *count, int el_no, fte_e flags) { - struct asn1p_type_tag_s tag; - int ret; - - assert(el_no >= 0); - - ret = WITH_MODULE_NAMESPACE( - arg->expr->module, expr_ns, - asn1f_fetch_outmost_tag(arg->asn, expr_ns, arg->expr->module, arg->expr, - &tag, AFT_IMAGINARY_ANY)); - if(ret == 0) { - tag2el_t *te; - int new_count = (*count) + 1; - void *p; - - if(tag.tag_value == -1) { - /* - * This is an untagged ANY type, - * proceed without adding a tag - */ - return 0; - } - - p = realloc(*tag2el, new_count * sizeof(tag2el_t)); - if(p) *tag2el = p; - else return -1; - - if(0) DEBUG("Found tag for %s: %ld", - arg->expr->Identifier, - (long)tag.tag_value); - - te = &((*tag2el)[*count]); - te->el_tag = tag; - te->el_no = el_no; - te->from_expr = arg->expr; - *count = new_count; - return 0; - } - - DEBUG("Searching tag in complex expression %s:%x at line %d", - arg->expr->Identifier, - arg->expr->expr_type, - arg->expr->_lineno); - - /* - * Iterate over members of CHOICE type. - */ - if(arg->expr->expr_type == ASN_CONSTR_CHOICE) { - return _fill_tag2el_map(arg, tag2el, count, el_no, flags); - } - - if(arg->expr->expr_type == A1TC_REFERENCE) { - arg_t tmp = *arg; - asn1p_expr_t *expr; - expr = WITH_MODULE_NAMESPACE( - tmp.expr->module, expr_ns, - asn1f_lookup_symbol_ex(tmp.asn, expr_ns, tmp.expr, - arg->expr->reference)); - if(expr) { - tmp.expr = expr; - return _add_tag2el_member(&tmp, tag2el, count, el_no, flags); - } else { - FATAL("Cannot dereference %s at line %d", - arg->expr->Identifier, - arg->expr->_lineno); - return -1; - } - } - - DEBUG("No tag for %s at line %d", - arg->expr->Identifier, - arg->expr->_lineno); - - return -1; -} - -static int -emit_tag2member_map(arg_t *arg, tag2el_t *tag2el, int tag2el_count, const char *opt_modifier) { - asn1p_expr_t *expr = arg->expr; - int i; - - if(!tag2el_count) return 0; /* No top level tags */ - - OUT("static const asn_TYPE_tag2member_t asn_MAP_%s_tag2el%s_%d[] = {\n", - MKID(expr), opt_modifier?opt_modifier:"", - expr->_type_unique_index); - for(i = 0; i < tag2el_count; i++) { - OUT(" { "); - _print_tag(arg, &tag2el[i].el_tag); - OUT(", "); - OUT("%d, ", tag2el[i].el_no); - OUT("%d, ", tag2el[i].toff_first); - OUT("%d ", tag2el[i].toff_last); - OUT("}%s /* %s", - (i + 1 < tag2el_count) ? "," : "", - tag2el[i].from_expr->Identifier); - if(arg->flags & A1C_LINE_REFS) - OUT("at %d", tag2el[i].from_expr->_lineno); - OUT(" */\n"); - } - OUT("};\n"); - - return 0; -} - -static enum tvm_compat -emit_tags_vectors(arg_t *arg, asn1p_expr_t *expr, int *tags_count_r, int *all_tags_count_r) { - struct asn1p_type_tag_s *tags = 0; /* Effective tags */ - struct asn1p_type_tag_s *all_tags = 0; /* The full array */ - int tags_count = 0; - int all_tags_count = 0; - enum tvm_compat tv_mode = _TVM_SAME; - int i; - - /* Cleanup before proceeding. */ - *tags_count_r = 0; - *all_tags_count_r = 0; - - /* Fetch a chain of tags */ - tags_count = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_fetch_tags(arg->asn, expr_ns, expr->module, expr, &tags, 0)); - if(tags_count < 0) { - DEBUG("fail to fetch tags for %s", expr->Identifier); - return -1; - } - - /* Fetch a chain of tags */ - all_tags_count = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_fetch_tags(arg->asn, expr_ns, expr->module, expr, &all_tags, - AFT_FULL_COLLECT)); - if(all_tags_count < 0) { - free(tags); - DEBUG("fail to fetch tags chain for %s", expr->Identifier); - return -1; - } - - assert(tags_count <= all_tags_count); - assert((tags_count?0:1) == (all_tags_count?0:1)); - - if(tags_count <= all_tags_count) { - for(i = 0; i < tags_count; i++) { - if(tags[i].tag_value != all_tags[i].tag_value - || tags[i].tag_class != all_tags[i].tag_class) { - tv_mode = _TVM_DIFFERENT; - break; - } - } - if(i == tags_count && tags_count < all_tags_count) - tv_mode = _TVM_SUBSET; - } else { - tv_mode = _TVM_DIFFERENT; - } - -#define EMIT_TAGS_TABLE(name, tags, tags_count) do { \ - OUT("static const ber_tlv_tag_t asn_DEF_%s%s_tags_%d[] = {\n",\ - MKID(expr), name, \ - expr->_type_unique_index); \ - INDENT(+1); \ - /* Print the array of collected tags */ \ - for(i = 0; i < tags_count; i++) { \ - if(i) OUT(",\n"); \ - _print_tag(arg, &tags[i]); \ - } \ - OUT("\n"); \ - INDENT(-1); \ - OUT("};\n"); \ - } while(0) - - if(tags_count) { - if(tv_mode == _TVM_SUBSET) - EMIT_TAGS_TABLE("", all_tags, all_tags_count); - else - EMIT_TAGS_TABLE("", tags, tags_count); - } - - if(all_tags_count) { - if(tv_mode == _TVM_DIFFERENT) - EMIT_TAGS_TABLE("_all", all_tags, all_tags_count); - } - - free(tags); - free(all_tags); - - *tags_count_r = tags_count; - *all_tags_count_r = all_tags_count; - - return tv_mode; -} - -static int -expr_elements_count(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_t *topmost_parent; - asn1p_expr_t *v; - int elements = 0; - - topmost_parent = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr)); - if(!topmost_parent) return 0; - - if(!(topmost_parent->expr_type & ASN_CONSTR_MASK) - && !(topmost_parent->expr_type == ASN_BASIC_INTEGER) - && !(topmost_parent->expr_type == ASN_BASIC_ENUMERATED) - && !(topmost_parent->expr_type == ASN_BASIC_BIT_STRING)) - return 0; - - TQ_FOR(v, &(topmost_parent->members), next) { - if(v->expr_type != A1TC_EXTENSIBLE) - elements++; - } - - return elements; -} - -static asn1p_expr_type_e -expr_get_type(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_t *terminal; - terminal = asn1f_find_terminal_type_ex(arg->asn, arg->ns, expr); - if(terminal) return terminal->expr_type; - return A1TC_INVALID; -} - -static asn1c_integer_t -PER_FROM_alphabet_characters(asn1cnst_range_t *range) { - asn1c_integer_t numchars = 0; - if(range->el_count) { - int i; - for(i = 0; i < range->el_count; i++) - numchars - += PER_FROM_alphabet_characters(range->elements[i]); - } else { - assert(range->left.type == ARE_VALUE); - assert(range->right.type == ARE_VALUE); - numchars = 1 + (range->right.value - range->left.value); - } - return numchars; -} - -static void -emit_single_member_OER_constraint_comment(arg_t *arg, asn1cnst_range_t *range, char *type) { - - /* - * Print some courtesy debug information. - */ - if(range - && (range->left.type == ARE_VALUE || range->right.type == ARE_VALUE)) { - OUT("\t/* "); - if(type) OUT("(%s", type); - OUT("("); - if(range->left.type == ARE_VALUE) - OUT("%s", asn1p_itoa(range->left.value)); - else - OUT("MIN"); - OUT(".."); - if(range->right.type == ARE_VALUE) - OUT("%s", asn1p_itoa(range->right.value)); - else - OUT("MAX"); - if(range->extensible) OUT(",..."); - if(type) OUT(")"); - OUT(") */"); - } -} - -static int -emit_single_member_OER_constraint_value(arg_t *arg, asn1cnst_range_t *range) { - if(!range) { - /* oer_support.h: asn_oer_constraint_s */ - OUT("{ 0, 0 }"); - return 0; - } - - if(range->incompatible || range->not_OER_visible) { - OUT("{ 0, 0 }"); - } else if(expr_get_type(arg, arg->expr) == ASN_BASIC_REAL) { - if(range->narrowing == NARROW_FLOAT32) { - OUT("{ sizeof(float), 0 }"); - } else if(range->narrowing == NARROW_DOUBLE64) { - OUT("{ sizeof(double), 0 }"); - } else { - OUT("{ 0, 0 }"); - } - } else if(range->left.type == ARE_VALUE && range->left.value >= 0 - && range->right.type == ARE_MAX) { - OUT("{ 0, 1 }"); - } else if(range->left.type == ARE_VALUE && - range->right.type == ARE_VALUE) { - asn1c_integer_t lb = range->left.value; - asn1c_integer_t ub = range->right.value; - unsigned width = 0; - unsigned positive = 0; - - - if(lb >= 0) { - /* X.969 08/2015 10.2(a) */ - if(ub <= 255) { - width = 1; - } else if(ub <= 65535) { - width = 2; - } else if((unsigned long long)ub <= 4294967295UL) { - width = 4; - } else if((unsigned long long)ub <= 18446744073709551615ULL) { - width = 8; - } - positive = 1; - } else { - positive = 0; - /* X.969 08/2015 10.2(b) - no lower bound or negative lower bound */ - if(lb >= -128 && ub <= 127) { - width = 1; - } else if(lb >= -32768 && ub <= 32767) { - width = 2; - } else if(lb >= -2147483648L && ub <= 2147483647L) { - width = 4; - } else if(lb >= (-9223372036854775807LL-1) - && ub <= 9223372036854775807LL) { - width = 8; - } - } - OUT("{ %u, %u }", width, positive); - } else { - OUT("{ 0, 0 }"); - } - - return 0; -} - -static int -emit_single_member_OER_constraint_size(arg_t *arg, asn1cnst_range_t *range) { - if(!range) { - /* oer_support.h: asn_oer_constraint_s */ - OUT("-1"); - return 0; - } - - if(range->incompatible || range->not_OER_visible) { - OUT("-1"); - } else { - if(range->left.type == ARE_VALUE && range->right.type == ARE_VALUE - && range->left.value == range->right.value - && range->left.value >= 0) { - OUT("%s", asn1p_itoa(range->left.value)); - } else { - OUT("-1"); - } - } - - return 0; -} - -static int -emit_single_member_PER_constraint(arg_t *arg, asn1cnst_range_t *range, int alphabetsize, const char *type) { - if(!range || range->incompatible || range->not_PER_visible) { - OUT("{ APC_UNCONSTRAINED,\t-1, -1, 0, 0 }"); - return 0; - } - - if(expr_get_type(arg, arg->expr) == ASN_BASIC_REAL) { - /* Unsupported */ - OUT("{ APC_UNCONSTRAINED,\t-1, -1, 0, 0 }"); - return 0; - } - - if(range->left.type == ARE_VALUE) { - if(range->right.type == ARE_VALUE) { - asn1c_integer_t cover = 1; - asn1c_integer_t r = 1 + range->right.value - - range->left.value; - size_t rbits; /* Value range bits */ - ssize_t ebits; /* Value effective range bits */ - - if(range->empty_constraint) - r = 0; - - if(alphabetsize) { - /* X.691: 27.5.2 */ - r = PER_FROM_alphabet_characters(range); - } - - /* Compute real constraint */ - for(rbits = 0; rbits < (8 * sizeof(r)); rbits++) { - if(r <= cover) - break; - cover *= 2; /* Can't do shifting */ - if(cover < 0) { - FATAL("Constraint at line %d too wide " - "for %d-bits integer type", - arg->expr->_lineno, - sizeof(r) * 8); - rbits = sizeof(r); - break; - } - } - - if(alphabetsize) { - ebits = rbits; - } else { - /* X.691, #10.9.4.1 */ - for(ebits = 0; ebits <= 16; ebits++) - if(r <= 1 << ebits) break; - if(ebits == 17 - || range->right.value >= 65536) - ebits = -1; - if(0) { - /* X.691, #10.5.7.1 */ - for(ebits = 0; ebits <= 8; ebits++) - if(r <= 1 << ebits) break; - if(ebits == 9) { - if(r <= 65536) - ebits = 16; - else - ebits = -1; - } - } - } - - OUT("{ APC_CONSTRAINED%s,%s% d, % d, ", - range->extensible - ? " | APC_EXTENSIBLE" : "", - range->extensible ? " " : "\t", (int)rbits, (int)ebits); - - if(alphabetsize) { - asn1c_integer_t lv = range->left.value; - asn1c_integer_t rv = range->right.value; - int gcmt = 0; - if(lv > 0x7fffffff) { lv = 0x7fffffff; gcmt++; } - if(rv > 0x7fffffff) { rv = 0x7fffffff; gcmt++; } - if(gcmt) { - OINTS(lv); OUT(", "); OINTS(rv); OUT(" }"); - goto pcmt; - } - } - } else { - if(range->extensible) { - OUT("{ APC_SEMI_CONSTRAINED | APC_EXTENSIBLE, " - "-1, -1, "); - } else { - OUT("{ APC_SEMI_CONSTRAINED,\t-1, -1, "); - } - } - OINTS(range->left.value); OUT(", "); - OINTS(range->right.value); OUT(" }"); - } else { - OUT("{ APC_UNCONSTRAINED,\t-1, -1, 0, 0 }"); - } - - pcmt: - - /* - * Print some courtesy debug information. - */ - if(range->left.type == ARE_VALUE - || range->right.type == ARE_VALUE) { - OUT("\t/* "); - if(type) OUT("(%s", type); - OUT("("); - if(range->left.type == ARE_VALUE) - OUT("%s", asn1p_itoa(range->left.value)); - else - OUT("MIN"); - OUT(".."); - if(range->right.type == ARE_VALUE) - OUT("%s", asn1p_itoa(range->right.value)); - else - OUT("MAX"); - if(range->extensible) OUT(",..."); - if(type) OUT(")"); - OUT(") */"); - } - - return 0; -} - -static int -emit_member_OER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx) { - int save_target = arg->target->target; - asn1cnst_range_t *range; - asn1p_expr_type_e etype; - - etype = expr_get_type(arg, expr); - - if((arg->flags & A1C_GEN_OER) - && (expr->combined_constraints || etype == ASN_BASIC_ENUMERATED - || etype == ASN_CONSTR_CHOICE)) { - /* Fall through */ - } else { - return 0; - } - - REDIR(OT_CTDEFS); - - OUT("static asn_oer_constraints_t " - "asn_OER_%s_%s_constr_%d CC_NOTUSED = {\n", - pfx, MKID(expr), expr->_type_unique_index); - - INDENT(+1); - - /* .value{.width,.positive} */ - range = asn1constraint_compute_OER_range(expr->Identifier, etype, - expr->combined_constraints, - ACT_EL_RANGE, 0, 0, 0); - if(emit_single_member_OER_constraint_value(arg, range)) { - return -1; - } - emit_single_member_OER_constraint_comment(arg, range, 0); - asn1constraint_range_free(range); - - OUT(",\n"); - - /* .size */ - range = asn1constraint_compute_OER_range(expr->Identifier, etype, - expr->combined_constraints, - ACT_CT_SIZE, 0, 0, 0); - if(emit_single_member_OER_constraint_size(arg, range)) { - return -1; - } - emit_single_member_OER_constraint_comment(arg, range, "SIZE"); - asn1constraint_range_free(range); - - INDENT(-1); - - OUT("};\n"); - - REDIR(save_target); - - return 0; -} - -static int -emit_member_PER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx) { - int save_target = arg->target->target; - asn1cnst_range_t *range; - asn1p_expr_type_e etype; - - etype = expr_get_type(arg, expr); - - if((arg->flags & A1C_GEN_PER) - && (expr->combined_constraints - || etype == ASN_BASIC_ENUMERATED - || etype == ASN_CONSTR_CHOICE - || (etype & ASN_STRING_KM_MASK) - ) - ) { - /* Fall through */ - } else { - return 0; - } - - if(expr->_type_referenced) { - REDIR(OT_FUNC_DECLS); - - OUT("extern asn_per_constraints_t " - "asn_PER_%s_%s_constr_%d;\n", - pfx, MKID(expr), expr->_type_unique_index); - } - - REDIR(OT_CTDEFS); - - if(!(expr->_type_referenced)) OUT("static "); - OUT("asn_per_constraints_t " - "asn_PER_%s_%s_constr_%d CC_NOTUSED = {\n", - pfx, MKID(expr), expr->_type_unique_index); - - INDENT(+1); - - /* - * ENUMERATED and CHOICE are special. - */ - if(etype == ASN_BASIC_ENUMERATED - || etype == ASN_CONSTR_CHOICE) { - asn1cnst_range_t tmprng; - asn1p_expr_t *v; - int extensible = 0; - int eidx = -1; - - expr = asn1f_find_terminal_type_ex(arg->asn, arg->ns, expr); - assert(expr); - - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - extensible++; - break; - } - eidx++; - } - - memset(&tmprng, 0, sizeof (tmprng)); - tmprng.extensible = extensible; - if(eidx < 0) tmprng.empty_constraint = 1; - tmprng.left.type = ARE_VALUE; - tmprng.left.value = 0; - tmprng.right.type = ARE_VALUE; - tmprng.right.value = eidx < 0 ? 0 : eidx; - if(emit_single_member_PER_constraint(arg, &tmprng, 0, 0)) - return -1; - } else if(etype & ASN_STRING_KM_MASK) { - range = asn1constraint_compute_PER_range(expr->Identifier, etype, - expr->combined_constraints, ACT_CT_FROM, - 0, 0, 0); - DEBUG("Emitting FROM constraint for %s", expr->Identifier); - - if((range->left.type == ARE_MIN && range->right.type == ARE_MAX) - || range->not_PER_visible) { - switch(etype) { - case ASN_STRING_BMPString: - range->left.type = ARE_VALUE; - range->left.value = 0; - range->right.type = ARE_VALUE; - range->right.value = 65535; - range->not_PER_visible = 0; - range->extensible = 0; - break; - case ASN_STRING_UniversalString: - OUT("{ APC_CONSTRAINED,\t32, 32," - " 0, 2147483647 }" - " /* special case 1 */\n"); - goto avoid; - default: - break; - } - } - if(emit_single_member_PER_constraint(arg, range, 1, 0)) - return -1; - avoid: - asn1constraint_range_free(range); - } else { - range = asn1constraint_compute_PER_range(expr->Identifier, etype, - expr->combined_constraints, ACT_EL_RANGE, - 0, 0, 0); - if(emit_single_member_PER_constraint(arg, range, 0, 0)) - return -1; - asn1constraint_range_free(range); - } - OUT(",\n"); - - range = asn1constraint_compute_PER_range(expr->Identifier, etype, - expr->combined_constraints, ACT_CT_SIZE, 0, 0, 0); - if(emit_single_member_PER_constraint(arg, range, 0, "SIZE")) - return -1; - asn1constraint_range_free(range); - OUT(",\n"); - - if((etype & ASN_STRING_KM_MASK) && (expr->_mark & TM_PERFROMCT)) { - int old_target = arg->target->target; - REDIR(OT_CODE); - - OUT("static int asn_PER_MAP_%s_%d_v2c(unsigned int value) {\n", - MKID(expr), expr->_type_unique_index); - OUT("\tif(value >= sizeof(permitted_alphabet_table_%d)/" - "sizeof(permitted_alphabet_table_%d[0]))\n", - expr->_type_unique_index, - expr->_type_unique_index); - OUT("\t\treturn -1;\n"); - OUT("\treturn permitted_alphabet_table_%d[value] - 1;\n", - expr->_type_unique_index); - OUT("}\n"); - - OUT("static int asn_PER_MAP_%s_%d_c2v(unsigned int code) {\n", - MKID(expr), expr->_type_unique_index); - OUT("\tif(code >= sizeof(permitted_alphabet_code2value_%d)/" - "sizeof(permitted_alphabet_code2value_%d[0]))\n", - expr->_type_unique_index, - expr->_type_unique_index); - OUT("\t\treturn -1;\n"); - OUT("\treturn permitted_alphabet_code2value_%d[code];\n", - expr->_type_unique_index); - OUT("}\n"); - - REDIR(old_target); - - OUT("asn_PER_MAP_%s_%d_v2c,\t/* Value to PER code map */\n", - MKID(expr), expr->_type_unique_index); - OUT("asn_PER_MAP_%s_%d_c2v\t/* PER code to value map */\n", - MKID(expr), expr->_type_unique_index); - } else if(etype & ASN_STRING_KM_MASK) { - DEBUG("No PER value map necessary for %s", MKID(expr)); - OUT("0, 0\t/* No PER character map necessary */\n"); - } else { - OUT("0, 0\t/* No PER value map */\n"); - } - - INDENT(-1); - - OUT("};\n"); - - REDIR(save_target); - - return 0; -} - -static int -safe_string(const uint8_t *buf, int size) { - const uint8_t *end = buf + size; - for(; buf < end; buf++) { - int ch = *buf; - if((ch < 0x20 || ch > 0x7e) || ch == '"') - return 0; - } - return 1; -} - -static void -emit_default_string_value(arg_t *arg, asn1p_value_t *v) { - - OUT("static const uint8_t defv[] = "); - assert(v->type == ATV_STRING); - - if(safe_string(v->value.string.buf, v->value.string.size)) { - OUT("\"%s\";\n", v->value.string.buf); - } else { - uint8_t *b = v->value.string.buf; - uint8_t *e = v->value.string.size + b; - OUT("{ "); - for(;b < e; b++) - OUT("0x%02x, ", *b); - OUT("0 };\n"); - } -} - -static int -try_inline_default(arg_t *arg, asn1p_expr_t *expr, int out) { - int save_target = arg->target->target; - asn1p_expr_type_e etype = expr_get_type(arg, expr); - int fits_long = 0; - - switch(etype) { - case ASN_BASIC_BOOLEAN: - fits_long = 1; - /* Fall through */ - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(expr->marker.default_value == NULL - || (expr->marker.default_value->type != ATV_INTEGER && - expr->marker.default_value->type != ATV_TRUE && - expr->marker.default_value->type != ATV_FALSE)) - break; - if(!fits_long) - fits_long = asn1c_type_fits_long(arg, expr)!=FL_NOTFIT; - if(fits_long && !expr->marker.default_value->value.v_integer) - expr->marker.flags &= ~EM_INDIRECT; - if(!out) { - if(C99_MODE) OUT(".default_value_cmp = "); - OUT("&asn_DFL_%d_cmp_%s,", - expr->_type_unique_index, - asn1p_itoa(expr->marker.default_value->value.v_integer)); - OUT("\t/* Compare DEFAULT %s */\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - if(C99_MODE) OUT(".default_value_set = "); - OUT("&asn_DFL_%d_set_%s,", - expr->_type_unique_index, - asn1p_itoa(expr->marker.default_value->value.v_integer)); - OUT("\t/* Set DEFAULT %s */\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - return 1; - } - REDIR(OT_STAT_DEFS); - - OUT("static int asn_DFL_%d_cmp_%s(const void *sptr) {\n", - expr->_type_unique_index, - asn1p_itoa(expr->marker.default_value->value.v_integer)); - INDENT(+1); - OUT("const %s *st = sptr;\n", asn1c_type_name(arg, expr, TNF_CTYPE)); - OUT("\n"); - OUT("if(!st) {\n"); - OUT("\treturn -1; /* No value is not a default value */\n"); - OUT("}\n"); - OUT("\n"); - OUT("/* Test default value %s */\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - if(fits_long) { - OUT("return (*st != %s);\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - } else { - OUT("long value;\n"); - OUT("if(asn_INTEGER2long(st, &value))\n"); - OUT("\treturn -1;\n"); - OUT("return (value != %s);\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - } - INDENT(-1); - OUT("}\n"); - - OUT("static int asn_DFL_%d_set_%s(void **sptr) {\n", - expr->_type_unique_index, - asn1p_itoa(expr->marker.default_value->value.v_integer)); - INDENT(+1); - OUT("%s *st = *sptr;\n", asn1c_type_name(arg, expr, TNF_CTYPE)); - OUT("\n"); - OUT("if(!st) {\n"); - OUT("\tst = (*sptr = CALLOC(1, sizeof(*st)));\n"); - OUT("\tif(!st) return -1;\n"); - OUT("}\n"); - OUT("\n"); - OUT("/* Install default value %s */\n", - asn1p_itoa(expr->marker.default_value->value.v_integer)); - if(fits_long) { - OUT("*st = "); - OINT(expr->marker.default_value->value.v_integer); - OUT(";\n"); - OUT("return 0;\n"); - } else { - OUT("return asn_long2INTEGER(st, "); - OINT(expr->marker.default_value->value.v_integer); - OUT(");\n"); - } - INDENT(-1); - OUT("}\n"); - - REDIR(save_target); - return 1; - case ASN_BASIC_NULL: - //expr->marker.flags &= ~EM_INDIRECT; - return 0; - default: - if(etype & ASN_STRING_KM_MASK) { - if(expr->marker.default_value == NULL - || expr->marker.default_value->type != ATV_STRING) - break; - if(!out) { - if(C99_MODE) OUT(".default_value_cmp = "); - OUT("&asn_DFL_%d_cmp,\t/* Compare DEFAULT \"%s\" */\n", - expr->_type_unique_index, - expr->marker.default_value->value.string.buf); - if(C99_MODE) OUT(".default_value_set = "); - OUT("&asn_DFL_%d_set,\t/* Set DEFAULT \"%s\" */\n", - expr->_type_unique_index, - expr->marker.default_value->value.string.buf); - return 1; - } - REDIR(OT_STAT_DEFS); - - OUT("static int asn_DFL_%d_cmp(const void *sptr) {\n", - expr->_type_unique_index); - INDENT(+1); - emit_default_string_value(arg, expr->marker.default_value); - OUT("const %s *st = sptr;\n", asn1c_type_name(arg, expr, TNF_CTYPE)); - OUT("\n"); - OUT("if(!st) {\n"); - OUT("\treturn -1; /* No value is not a default value */\n"); - OUT("}\n"); - OUT("\n"); - OUT("if(st->size == (sizeof(defv) - 1)\n"); - OUT("&& memcmp(st->buf, &defv, sizeof(defv) - 1) == 0)\n"); - OUT("\treturn 0;\n"); - OUT("return 1;\n"); - INDENT(-1); - OUT("}\n"); - - OUT("static int asn_DFL_%d_set(void **sptr) {\n", - expr->_type_unique_index); - INDENT(+1); - emit_default_string_value(arg, expr->marker.default_value); - OUT("%s *st = *sptr;\n", asn1c_type_name(arg, expr, TNF_CTYPE)); - OUT("uint8_t *nstr = MALLOC(sizeof(defv));\n"); - OUT("\n"); - OUT("if(!nstr) return -1;\n"); - OUT("memcpy(nstr, defv, sizeof(defv));\n"); - OUT("\n"); - OUT("if(st) {\n"); - OUT("\tFREEMEM(st->buf);\n"); - OUT("} else {\n"); - OUT("\tst = (*sptr = CALLOC(1, sizeof(*st)));\n"); - OUT("\tif(!st) { FREEMEM(nstr); return -1; }\n"); - OUT("}\n"); - OUT("st->buf = nstr;\n"); - OUT("st->size = sizeof(defv) - 1;\n"); - OUT("\n"); - OUT("return 0;\n"); - INDENT(-1); - OUT("}\n"); - - REDIR(save_target); - return 1; - } - break; - } - return 0; -} - -static int -emit_member_type_selector(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_objset_t *opt_ioc) { - int save_target = arg->target->target; - asn1p_expr_t *parent_expr = arg->expr; - - const asn1p_constraint_t *crc = - asn1p_get_component_relation_constraint(expr->combined_constraints); - if(!crc || crc->el_count <= 1) { - /* Not an Open Type, it seems. */ - OUT("0"); - return 0; - } - - const asn1p_ref_t *objset_ref = - asn1c_get_information_object_set_reference_from_constraint(arg, crc); - - if(!objset_ref) { - FATAL("Constraint %s does not look like it referst to a set type %s", - asn1p_constraint_string(crc), - opt_ioc->objset->Identifier); - return -1; - } - - const char *objset_name; - if(objset_ref->comp_count == 1) { - objset_name = objset_ref->components[0].name; - } else if(objset_ref->comp_count == 2) { - if(strcmp(objset_ref->components[0].name, - opt_ioc->objset->module->ModuleName) - != 0) { - FATAL( - "Composite reference %s (from %s) does not look like it refers " - "to the same module as %s from an object set type %s", - asn1p_ref_string(objset_ref), asn1p_constraint_string(crc), - opt_ioc->objset->module->ModuleName, - opt_ioc->objset->Identifier); - return -1; - } - objset_name = objset_ref->components[1].name; - } else { - FATAL("Reference %s (from %s) does not look like an object set type %s", - asn1p_ref_string(objset_ref), asn1p_constraint_string(crc), - opt_ioc->objset->Identifier); - return -1; - } - if(strcmp(objset_name, opt_ioc->objset->Identifier) != 0) { - FATAL("Object Set references do not match: %s != %s", objset_name, - opt_ioc->objset->Identifier); - return -1; - } - - if(crc->el_count != 2 || crc->elements[1]->type != ACT_EL_VALUE - || crc->elements[1]->value->type != ATV_REFERENCED - || crc->elements[1]->value->value.reference->comp_count != 1) { - FATAL( - "Do not know how to handle complex IoS constraints (%d components " - "of constraint, %d components of reference %s) for %s at line " - "%d", - crc->el_count, - crc->el_count >= 2 && crc->elements[1]->type == ACT_EL_VALUE - && crc->elements[1]->value->type == ATV_REFERENCED - ? (signed)crc->elements[1]->value->value.reference->comp_count - : -1, - crc->el_count >= 2 && crc->elements[1]->type == ACT_EL_VALUE - && crc->elements[1]->value->type == ATV_REFERENCED - ? asn1p_ref_string(crc->elements[1]->value->value.reference) - : "?", - MKID(parent_expr), parent_expr->_lineno); - OUT("0"); - return -1; - } - - const asn1p_ref_t *cref = crc->elements[1]->value->value.reference; - const char *cname = cref->components[0].name; - if(cname[0] == '@' && cname[1] != '.') { - cname += 1; - } else if(cname[0] == '@' && cname[1] == '.' && cname[2] != '.') { - cname += 2; - } else { - FATAL("Complex IoS reference %s can not be processed", - asn1p_ref_string(cref)); - OUT("0"); - return -1; - } - - assert(opt_ioc != NULL); - - asn1p_expr_t *constraining_memb = NULL; - TQ_FOR(constraining_memb, &(parent_expr->members), next) { - if(strcmp(constraining_memb->Identifier, cname) == 0) { - break; - } - } - if(!constraining_memb) { - FATAL("Can not find \"%s\" in %s at line %d", cname, MKID(parent_expr), - parent_expr->_lineno); - return -1; - } - - if(constraining_memb->meta_type != AMT_TYPEREF - || constraining_memb->expr_type != A1TC_REFERENCE - || constraining_memb->reference->comp_count != 2 - || constraining_memb->reference->components[1].lex_type - != RLT_Amplowercase) { - FATAL( - "Does not look like %s is a CLASS field reference (%s) on line " - "%d", - MKID(constraining_memb), - constraining_memb->reference - ? asn1p_ref_string(constraining_memb->reference) - : "", - constraining_memb->_lineno); - return -1; - } - const char *cfield = constraining_memb->reference->components[1].name; - - ssize_t constraining_column = -1; - for(size_t cn = 0; cn < opt_ioc->ioct->rows ? opt_ioc->ioct->row[0]->columns : 0; - cn++) { - if(strcmp(cfield, opt_ioc->ioct->row[0]->column[cn].field->Identifier) - == 0) { - constraining_column = cn; - break; - } - } - if(constraining_column < 0) { - if(opt_ioc->ioct->rows == 0) { - OUT("0"); - return 0; - } else { - FATAL("Can not find referenced object class %s column %s\n", - asn1p_ref_string(objset_ref), cfield); - return -1; - } - } - - if(expr->meta_type != AMT_TYPEREF - || expr->expr_type != A1TC_REFERENCE - || expr->reference->comp_count != 2 - || ((expr->reference->components[1].lex_type - != RLT_AmpUppercase) - && (expr->reference->components[1].lex_type - != RLT_Amplowercase))) { - FATAL( - "Does not look like %s is a CLASS field reference (%s) denoting a type on line " - "%d", - MKID(expr), - expr->reference - ? asn1p_ref_string(expr->reference) - : "", - expr->_lineno); - return -1; - } - const char *for_field = expr->reference->components[1].name; - - ssize_t for_column = -1; - for(size_t cn = 0; cn < (opt_ioc->ioct->rows ? opt_ioc->ioct->row[0]->columns : 0); - cn++) { - if(strcmp(for_field, - opt_ioc->ioct->row[0]->column[cn].field->Identifier) - == 0) { - for_column = cn; - break; - } - } - if(for_column < 0) { - FATAL("Can not find referenced object class column %s\n", for_field); - return -1; - } - - REDIR(OT_CODE); - OUT("static asn_type_selector_result_t\n"); - OUT("select_%s_", c_name(arg).compound_name); - OUT("%s_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {\n", MKID(expr)); - INDENT(+1); - - OUT("asn_type_selector_result_t result = {0, 0};\n"); - OUT("const asn_ioc_set_t *itable = asn_IOS_%s_%d;\n", MKID(opt_ioc->objset), - opt_ioc->objset->_type_unique_index); - OUT("size_t constraining_column = %zu; /* %s */\n", constraining_column, cfield); - OUT("size_t for_column = %zu; /* %s */\n", for_column, for_field); - OUT("size_t row, presence_index = 0;\n"); - - const char *tname = asn1c_type_name(arg, constraining_memb, TNF_SAFE); - if(constraining_memb->marker.flags & EM_INDIRECT) { - OUT("const void *memb_ptr = *(const void **)"); - OUT("((const char *)parent_sptr + offsetof(%s", c_name(arg).full_name); - OUT(", %s));", MKID_safe(constraining_memb)); - OUT("if(!memb_ptr) return result;\n"); - OUT("\n"); - } - - switch(asn1c_type_fits_long(arg, constraining_memb)) { - case FL_NOTFIT: - OUT("const %s_t *constraining_value = (const %s_t *)", tname, tname); - break; - case FL_PRESUMED: - case FL_FITS_SIGNED: - OUT("const long *constraining_value = (const long *)"); - break; - case FL_FITS_UNSIGN: - OUT("const unsigned long *constraining_value = (const unsigned long *)"); - break; - } - if(constraining_memb->marker.flags & EM_INDIRECT) { - OUT("memb_ptr;\n"); - } else { - OUT("((const char *)parent_sptr + offsetof(%s", c_name(arg).full_name); - OUT(", %s));\n", MKID_safe(constraining_memb)); - } - OUT("\n"); - - OUT("for(row=0; row < itable->rows_count; row++) {\n"); - OUT(" const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];\n"); - OUT(" const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];\n"); - OUT("\n"); - OUT(" if(type_cell->cell_kind == aioc__undefined)\n"); - OUT(" continue;\n"); - OUT("\n"); - OUT(" presence_index++;\n"); - OUT(" if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {\n"); - OUT(" result.type_descriptor = type_cell->type_descriptor;\n"); - OUT(" result.presence_index = presence_index;\n"); - OUT(" break;\n"); - OUT(" }\n"); - OUT("}\n"); - - - OUT("\n"); - OUT("return result;\n"); - INDENT(-1); - OUT("}\n"); - OUT("\n"); - - REDIR(save_target); - OUT("select_%s_", c_name(arg).compound_name); - OUT("%s_type", MKID(expr)); - - return 0; -} - -static int -emit_member_table(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_objset_t *opt_ioc) { - int save_target; - arg_t tmp_arg; - struct asn1p_type_tag_s outmost_tag_s; - struct asn1p_type_tag_s *outmost_tag; - int complex_contents; - const char *p; - - if(WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_fetch_outmost_tag(arg->asn, expr_ns, expr->module, expr, - &outmost_tag_s, AFT_IMAGINARY_ANY))) { - outmost_tag = 0; - } else { - outmost_tag = &outmost_tag_s; - } - - OUT("{ "); - - if(is_open_type(arg, expr, opt_ioc)) { - OUT("ATF_OPEN_TYPE | "); - } else if(outmost_tag && outmost_tag->tag_value == -1) { - OUT("ATF_ANY_TYPE | "); - } - OUT("%s, ", - (expr->marker.flags & EM_INDIRECT)?"ATF_POINTER":"ATF_NOFLAGS"); - if((expr->marker.flags & EM_OMITABLE) == EM_OMITABLE) { - asn1p_expr_t *tv; - int opts = 0; - for(tv = expr; - tv && (tv->marker.flags & EM_OMITABLE) == EM_OMITABLE; - tv = TQ_NEXT(tv, next), opts++) { - if(tv->expr_type == A1TC_EXTENSIBLE) - opts--; - } - OUT("%d, ", opts); - } else { - OUT("0, "); - } - if(expr->_anonymous_type) { - assert(arg->expr->expr_type == ASN_CONSTR_SET_OF - || arg->expr->expr_type == ASN_CONSTR_SEQUENCE_OF); - OUT("0,\n"); - } else { - OUT("offsetof(%s, ", c_name(arg).full_name); - if((arg->expr->expr_type == ASN_CONSTR_CHOICE - || arg->expr->expr_type == ASN_CONSTR_OPEN_TYPE) - && (!UNNAMED_UNIONS)) - OUT("choice."); - OUT("%s),\n", MKID_safe(expr)); - } - - INDENT(+1); - if(C99_MODE) OUT(".tag = "); - if(outmost_tag) { - if(outmost_tag->tag_value == -1) - OUT("-1 /* Ambiguous tag (ANY?) */"); - else - _print_tag(arg, outmost_tag); - } else { - OUT("-1 /* Ambiguous tag (CHOICE?) */"); - } - - OUT(",\n"); - if(C99_MODE) OUT(".tag_mode = "); - if((!(expr->expr_type & ASN_CONSTR_MASK) - || expr->expr_type == ASN_CONSTR_CHOICE) - && expr->tag.tag_class) { - if(expr->tag.tag_mode == TM_IMPLICIT) - OUT("-1,\t/* IMPLICIT tag at current level */\n"); - else - OUT("+1,\t/* EXPLICIT tag at current level */\n"); - } else { - OUT("0,\n"); - } - - complex_contents = - is_open_type(arg, expr, opt_ioc) - || (expr->expr_type & ASN_CONSTR_MASK) - || expr->expr_type == ASN_BASIC_ENUMERATED - || (0 /* -- prohibited by X.693:8.3.4 */ - && expr->expr_type == ASN_BASIC_INTEGER - && expr_elements_count(arg, expr)) - || (expr->expr_type == ASN_BASIC_INTEGER - && asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN); - if(C99_MODE) OUT(".type = "); - - OUT("&asn_DEF_"); - if(complex_contents) { - OUT("%s", MKID(expr)); - if(!(arg->flags & A1C_ALL_DEFS_GLOBAL)) - OUT("_%d", expr->_type_unique_index); - } else { - OUT("%s", asn1c_type_name(arg, expr, TNF_SAFE)); - } - OUT(",\n"); - - - if(C99_MODE) OUT(".type_selector = "); - if(opt_ioc) { - if(emit_member_type_selector(arg, expr, opt_ioc) < 0) - return -1; - } else { - OUT("0"); - } - OUT(",\n"); - - OUT("{ "); - if(C99_MODE) OUT(".oer_constraints = "); - if(arg->flags & A1C_GEN_OER) { - if(expr->constraints) { - OUT("&asn_OER_memb_%s_constr_%d", - MKID(expr), - expr->_type_unique_index); - } else { - OUT("0"); - } - } else { - OUT("0"); - } - OUT(", "); - if(C99_MODE) OUT(".per_constraints = "); - if(arg->flags & A1C_GEN_PER) { - if(expr->constraints) { - OUT("&asn_PER_memb_%s_constr_%d", - MKID(expr), - expr->_type_unique_index); - } else { - OUT("0"); - } - } else { - OUT("0"); - } - OUT(", "); - if(C99_MODE) OUT(".general_constraints = "); - if(expr->constraints) { - if(arg->flags & A1C_NO_CONSTRAINTS) { - OUT("0"); - } else { - const char *id = MKID(expr); - if(expr->_anonymous_type - && !strcmp(expr->Identifier, "Member")) - id = asn1c_type_name(arg, expr, TNF_SAFE); - OUT(" memb_%s_constraint_%d", id, - arg->expr->_type_unique_index); - } - } else { - OUT("0"); - } - OUT(" },\n"); - - if(try_inline_default(arg, expr, 0)) { - } else { - OUT("0, 0, /* No default value */\n"); - } - if(C99_MODE) OUT(".name = "); - if(expr->_anonymous_type && !strcmp(expr->Identifier, "Member")) { - OUT("\"\"\n"); - } else { - OUT("\"%s\"\n", expr->Identifier); - } - OUT("},\n"); - INDENT(-1); - - if(!expr->constraints || (arg->flags & A1C_NO_CONSTRAINTS)) - return 0; - - save_target = arg->target->target; - REDIR(OT_CODE); - - if(expr->_anonymous_type && !strcmp(expr->Identifier, "Member")) - p = asn1c_type_name(arg, expr, TNF_SAFE); - else - p = MKID(expr); - OUT("static int\n"); - OUT("memb_%s_constraint_%d(const asn_TYPE_descriptor_t *td, const void *sptr,\n", p, arg->expr->_type_unique_index); - INDENT(+1); - OUT("\t\tasn_app_constraint_failed_f *ctfailcb, void *app_key) {\n"); - tmp_arg = *arg; - tmp_arg.expr = expr; - DEBUG("member constraint checking code for %s", p); - if(asn1c_emit_constraint_checking_code(&tmp_arg) == 1) { - OUT("return td->encoding_constraints.general_constraints" - "(td, sptr, ctfailcb, app_key);\n"); - } - INDENT(-1); - OUT("}\n"); - OUT("\n"); - - if(emit_member_OER_constraints(arg, expr, "memb")) - return -1; - - if(emit_member_PER_constraints(arg, expr, "memb")) - return -1; - - REDIR(save_target); - - return 0; -} - -/* - * Generate "asn_DEF_XXX" type definition. - */ -static int -emit_type_DEF(arg_t *arg, asn1p_expr_t *expr, enum tvm_compat tv_mode, int tags_count, int all_tags_count, int elements_count, enum etd_spec spec) { - asn1p_expr_t *terminal; - int using_type_name = 0; - char *expr_id = strdup(MKID(expr)); - char *p = expr_id; - char *p2 = (char *)0; - - terminal = asn1f_find_terminal_type_ex(arg->asn, arg->ns, expr); - - if(emit_member_OER_constraints(arg, expr, "type")) - return -1; - - if(emit_member_PER_constraints(arg, expr, "type")) - return -1; - - if(HIDE_INNER_DEFS) - OUT("static /* Use -fall-defs-global to expose */\n"); - OUT("asn_TYPE_descriptor_t asn_DEF_%s", p); - if(HIDE_INNER_DEFS || (arg->flags & A1C_ALL_DEFS_GLOBAL)) - OUT("_%d", expr->_type_unique_index); - OUT(" = {\n"); - INDENT(+1); - - if(expr->_anonymous_type) { - p = strdup(ASN_EXPR_TYPE2STR(expr->expr_type)); - OUT("\"%s\",\n", p?p:""); - OUT("\"%s\",\n", - p ? asn1c_make_identifier(AMI_CHECK_RESERVED, - 0, p, 0) : ""); - } else { - OUT("\"%s\",\n", expr->Identifier); - OUT("\"%s\",\n", expr->Identifier); - } - - if(expr->expr_type & ASN_CONSTR_MASK) { - using_type_name = 1; - p = strdup(asn1c_type_name(arg, arg->expr, TNF_SAFE)); - } else { - if (expr->expr_type == A1TC_REFERENCE) { - p2 = strdup(asn1c_type_name(arg, terminal, TNF_SAFE)); - } else { - p2 = strdup(asn1c_type_name(arg, expr, TNF_SAFE)); - } - p = strdup(expr_id); - } - if (!p2) - p2 = strdup(p); - - OUT("&asn_OP_%s,\n", p2); - - if(tags_count) { - OUT("asn_DEF_%s_tags_%d,\n", - expr_id, expr->_type_unique_index); - OUT("sizeof(asn_DEF_%s_tags_%d)\n", - expr_id, expr->_type_unique_index); - OUT("\t/sizeof(asn_DEF_%s_tags_%d[0])", - expr_id, expr->_type_unique_index); - if(tv_mode == _TVM_SUBSET - && tags_count != all_tags_count) - OUT(" - %d", all_tags_count - tags_count); - OUT(", /* %d */\n", tags_count); - } else { - OUT("0,\t/* No effective tags (pointer) */\n"); - OUT("0,\t/* No effective tags (count) */\n"); - } - - if(all_tags_count && tv_mode == _TVM_DIFFERENT) { - OUT("asn_DEF_%s_all_tags_%d,\n", - expr_id, expr->_type_unique_index); - OUT("sizeof(asn_DEF_%s_all_tags_%d)\n", - expr_id, expr->_type_unique_index); - OUT("\t/sizeof(asn_DEF_%s_all_tags_%d[0]), /* %d */\n", - expr_id, expr->_type_unique_index, all_tags_count); - } else if(all_tags_count) { - OUT("asn_DEF_%s_tags_%d,\t/* Same as above */\n", - expr_id, expr->_type_unique_index); - OUT("sizeof(asn_DEF_%s_tags_%d)\n", - expr_id, expr->_type_unique_index); - OUT("\t/sizeof(asn_DEF_%s_tags_%d[0]), /* %d */\n", - expr_id, expr->_type_unique_index, all_tags_count); - } else { - OUT("0,\t/* No tags (pointer) */\n"); - OUT("0,\t/* No tags (count) */\n"); - } - - OUT("{ "); - if(arg->flags & A1C_GEN_OER) { - if(expr->combined_constraints - || expr->expr_type == ASN_BASIC_ENUMERATED - || expr->expr_type == ASN_CONSTR_CHOICE) { - OUT("&asn_OER_type_%s_constr_%d", - expr_id, expr->_type_unique_index); - } else { - OUT("0"); - } - } else { - OUT("0"); - } - OUT(", "); - - if(arg->flags & A1C_GEN_PER) { - if(expr->combined_constraints - || expr->expr_type == ASN_BASIC_ENUMERATED - || expr->expr_type == ASN_CONSTR_CHOICE - || (expr->expr_type & ASN_STRING_KM_MASK)) { - OUT("&asn_PER_type_%s_constr_%d", - expr_id, expr->_type_unique_index); - } else { - OUT("0"); - } - } else { - OUT("0"); - } - OUT(", "); -#define FUNCREF(foo) \ - do { \ - OUT("%s", p); \ - if(HIDE_INNER_DEFS && !using_type_name) \ - OUT("_%d", expr->_type_unique_index); \ - OUT("_" #foo ""); \ - } while(0) - -#define FUNCREF2(foo) \ - do { \ - OUT("%s", p2); \ - OUT("_" #foo); \ - } while(0) - - if (arg->flags & A1C_NO_CONSTRAINTS) { - OUT("0"); - } else { - if (!expr->combined_constraints) - FUNCREF2(constraint); - else - FUNCREF(constraint); - } - OUT(" },\n"); - - free(p); - p = NULL; - free(p2); - p2 = NULL; - free(expr_id); - expr_id = NULL; - - if(elements_count || - ((expr->expr_type == A1TC_REFERENCE) && - (terminal->expr_type & ASN_CONSTR_MASK) && - expr_elements_count(arg, terminal))) { - - if (expr->expr_type == A1TC_REFERENCE) { - OUT("asn_MBR_%s_%d,\n", MKID(terminal), terminal->_type_unique_index); - - if(terminal->expr_type == ASN_CONSTR_SEQUENCE_OF - || terminal->expr_type == ASN_CONSTR_SET_OF) { - OUT("%d,\t/* Single element */\n", - expr_elements_count(arg, terminal)); - assert(expr_elements_count(arg, terminal) == 1); - } else { - OUT("%d,\t/* Elements count */\n", - expr_elements_count(arg, terminal)); - } - } else { - OUT("asn_MBR_%s_%d,\n", c_name(arg).part_name, - expr->_type_unique_index); - - if(expr->expr_type == ASN_CONSTR_SEQUENCE_OF - || expr->expr_type == ASN_CONSTR_SET_OF) { - OUT("%d,\t/* Single element */\n", - elements_count); - assert(elements_count == 1); - } else { - OUT("%d,\t/* Elements count */\n", - elements_count); - } - } - } else { - if(expr_elements_count(arg, expr)) - OUT("0, 0,\t/* Defined elsewhere */\n"); - else - OUT("0, 0,\t/* No members */\n"); - } - - switch(spec) { - case ETD_NO_SPECIFICS: - if ((expr->expr_type == A1TC_REFERENCE) && - ((terminal->expr_type & ASN_CONSTR_MASK) || - (terminal->expr_type == ASN_BASIC_ENUMERATED) || - ((terminal->expr_type == ASN_BASIC_INTEGER) && - (asn1c_type_fits_long(arg, terminal) == FL_FITS_UNSIGN)))) { - OUT("&asn_SPC_%s_specs_%d\t/* Additional specs */\n", - c_expr_name(arg, terminal).part_name, - terminal->_type_unique_index); - } else if ((expr->expr_type == ASN_TYPE_ANY) || - (expr->expr_type == ASN_BASIC_BIT_STRING) || - (expr->expr_type == ASN_STRING_BMPString) || - (expr->expr_type == ASN_BASIC_OCTET_STRING) || - (expr->expr_type == ASN_STRING_UniversalString)) { - OUT("&asn_SPC_%s_specs\t/* Additional specs */\n", - c_name(arg).type.part_name); - } else if ((expr->expr_type == A1TC_REFERENCE) && - ((terminal->expr_type == ASN_TYPE_ANY) || - (terminal->expr_type == ASN_BASIC_BIT_STRING) || - (terminal->expr_type == ASN_STRING_BMPString) || - (terminal->expr_type == ASN_BASIC_OCTET_STRING) || - (terminal->expr_type == ASN_STRING_UniversalString))) { - OUT("&asn_SPC_%s_specs\t/* Additional specs */\n", - c_expr_name(arg, terminal).type.part_name); - } else { - OUT("0\t/* No specifics */\n"); - } - break; - case ETD_HAS_SPECIFICS: - OUT("&asn_SPC_%s_specs_%d\t/* Additional specs */\n", - c_name(arg).part_name, expr->_type_unique_index); - } - INDENT(-1); - OUT("};\n"); - OUT("\n"); - - return 0; -} - -static int -expr_as_xmlvaluelist(arg_t *arg, asn1p_expr_t *expr) { - /* - * X.680, 25.5, Table 5 - */ - switch(expr_get_type(arg, expr)) { - case ASN_BASIC_BOOLEAN: - case ASN_BASIC_ENUMERATED: - case ASN_BASIC_NULL: - return 1; - case ASN_CONSTR_CHOICE: - return 2; - default: - return 0; - } -} - -static int -out_name_chain(arg_t *arg, enum onc_flags onc_flags) { - asn1p_expr_t *expr = arg->expr; - const char *id; - - if((arg->flags & A1C_COMPOUND_NAMES - || onc_flags & ONC_force_compound_name - || (0 && arg->embed /* Not yet */)) - && ((expr->expr_type & ASN_CONSTR_MASK) - || expr->expr_type == ASN_BASIC_ENUMERATED - || ((expr->expr_type == ASN_BASIC_INTEGER - || expr->expr_type == ASN_BASIC_BIT_STRING) - && expr_elements_count(arg, expr)) - ) - && expr->parent_expr) { - - arg_t tmparg = *arg; - - tmparg.expr = expr->parent_expr; - if(0) tmparg.flags &= ~A1C_COMPOUND_NAMES; - - out_name_chain(&tmparg, onc_flags); - - if(expr->parent_expr->Identifier) OUT("__"); /* a separator between id components */ - - /* Fall through */ - } - - if(onc_flags & ONC_avoid_keywords) - id = MKID_safe(expr); - else - id = MKID(expr); - OUT("%s", id); - - return 0; -} - -static int -emit_include_dependencies(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *memb; - - /* Avoid recursive definitions. */ - TQ_FOR(memb, &(expr->members), next) { - expr_break_recursion(arg, memb); - } - - TQ_FOR(memb, &(expr->members), next) { - - if(memb->marker.flags & (EM_INDIRECT | EM_UNRECURSE)) { - if(terminal_structable(arg, memb)) { - int saved_target = arg->target->target; - if(saved_target != OT_FWD_DECLS) { - REDIR(OT_FWD_DECLS); - OUT("%s;\n", - asn1c_type_name(arg, memb, TNF_RSAFE)); - } - REDIR(saved_target); - } - } - - if((!(memb->expr_type & ASN_CONSTR_MASK) - && memb->expr_type > ASN_CONSTR_MASK) - || memb->meta_type == AMT_TYPEREF) { - GEN_POS_INCLUDE_BASE((memb->marker.flags & EM_UNRECURSE) ? - OT_POST_INCLUDE : OT_INCLUDES, memb); - } - } - - return 0; -} - -/* - * Check if it is better to make this type indirectly accessed via - * a pointer. - * This may be the case for the following recursive definition: - * Type ::= CHOICE { member Type }; - */ -static int -expr_break_recursion(arg_t *arg, asn1p_expr_t *expr) { - int ret; - - if(expr->marker.flags & EM_UNRECURSE) - return 1; /* Already broken */ - - /* -findirect-choice compiles members of CHOICE as indirect pointers */ - if((arg->flags & A1C_INDIRECT_CHOICE) - && arg->expr->expr_type == ASN_CONSTR_CHOICE - && (expr_get_type(arg, expr) & ASN_CONSTR_MASK) - ) { - /* Break cross-reference */ - expr->marker.flags |= EM_INDIRECT | EM_UNRECURSE; - return 1; - } - - if((expr->marker.flags & EM_INDIRECT) - || arg->expr->expr_type == ASN_CONSTR_SET_OF - || arg->expr->expr_type == ASN_CONSTR_SEQUENCE_OF) { - if(terminal_structable(arg, expr)) { - expr->marker.flags |= EM_UNRECURSE; - - if(arg->expr->expr_type == ASN_CONSTR_SET_OF - || arg->expr->expr_type == ASN_CONSTR_SEQUENCE_OF) { - /* Don't put EM_INDIRECT even if recursion */ - return 1; - } - - /* Fall through */ - } - } - - /* Look for recursive back-references */ - ret = expr_defined_recursively(arg, expr); - switch(ret) { - case 2: /* Explicitly break the recursion */ - case 1: /* Use safer typing */ - expr->marker.flags |= EM_INDIRECT; - expr->marker.flags |= EM_UNRECURSE; - break; - } - - return 0; -} - -/* - * Check if the type can be represented using simple `struct TYPE`. - */ -static asn1p_expr_t * -terminal_structable(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_t *terminal = - asn1f_find_terminal_type_ex(arg->asn, arg->ns, expr); - if(terminal - && !terminal->parent_expr - && (terminal->expr_type & ASN_CONSTR_MASK)) { - return terminal; - } - return 0; -} - -static int -asn1c_recurse(arg_t *arg, asn1p_expr_t *expr, int (*callback)(arg_t *arg, void *key), void *key) { - arg_t tmp = *arg; - int maxret = 0; - int ret; - - if(expr->_mark & TM_RECURSION) return 0; - expr->_mark |= TM_RECURSION; - - /* Invoke callback for every type going into recursion */ - tmp.expr = expr; - maxret = callback(&tmp, key); - if(maxret <= 1) { - /* - * Recursively invoke myself and the callbacks. - */ - TQ_FOR(tmp.expr, &(expr->members), next) { - ret = asn1c_recurse(&tmp, tmp.expr, callback, key); - if(ret > maxret) - maxret = ret; - if(maxret > 1) break; - } - } - - expr->_mark &= ~TM_RECURSION; - return maxret; -} - -static int -check_is_refer_to(arg_t *arg, void *key) { - asn1p_expr_t *terminal = terminal_structable(arg, arg->expr); - if(terminal == key) { - if(arg->expr->marker.flags & EM_INDIRECT) - return 1; /* This is almost safe indirection */ - return 2; - } else if(terminal) { - /* This might be N-step circular loop. Dive into it. */ - return asn1c_recurse(arg, terminal, check_is_refer_to, key); - } - return 0; -} - -/* - * Check if the possibly inner expression defined recursively. - */ -static int -expr_defined_recursively(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_t *terminal; - asn1p_expr_t *topmost; - - /* If expression is top-level, there's no way it can be recursive. */ - if(expr->parent_expr == 0) return 0; - if(expr->expr_type != A1TC_REFERENCE) - return 0; /* Basic types are never recursive */ - - terminal = terminal_structable(arg, expr); - if(!terminal) return 0; /* Terminal cannot be indirected */ - - /* Search for the parent container for the given expression */ - topmost = expr; - while(topmost->parent_expr) - topmost = topmost->parent_expr; - - /* Look inside the terminal type if it mentions the parent expression */ - return asn1c_recurse(arg, terminal, check_is_refer_to, topmost); -} - -struct canonical_map_element { - int eidx; - asn1p_expr_t *expr; -}; -static int compar_cameo(const void *ap, const void *bp); -static arg_t *cameo_arg; -static int * -compute_canonical_members_order(arg_t *arg, int el_count) { - struct canonical_map_element *cmap; - int *rmap; - asn1p_expr_t *v; - int eidx = 0; - int first_extension = -1; - int nextmax = -1; - int already_sorted = 1; - - cmap = calloc(el_count, sizeof *cmap); - assert(cmap); - - TQ_FOR(v, &(arg->expr->members), next) { - if(v->expr_type != A1TC_EXTENSIBLE) { - cmap[eidx].eidx = eidx; - cmap[eidx].expr = v; - eidx++; - } else if(first_extension == -1) - first_extension = eidx; - } - - cameo_arg = arg; - if(first_extension == -1) { - /* Sort the whole thing */ - qsort(cmap, el_count, sizeof(*cmap), compar_cameo); - } else { - /* Sort root and extensions independently */ - qsort(cmap, first_extension, sizeof(*cmap), compar_cameo); - qsort(cmap + first_extension, el_count - first_extension, - sizeof(*cmap), compar_cameo); - } - - /* move data back to a simpler map */ - rmap = calloc(el_count, sizeof *rmap); - assert(rmap); - for(eidx = 0; eidx < el_count; eidx++) { - rmap[eidx] = cmap[eidx].eidx; - if(rmap[eidx] <= nextmax) - already_sorted = 0; - else - nextmax = rmap[eidx]; - } - free(cmap); - - if(already_sorted) { free(rmap); rmap = 0; } - return rmap; -} -static int compar_cameo(const void *ap, const void *bp) { - const struct canonical_map_element *a = (const void *)ap; - const struct canonical_map_element *b = (const void *)bp; - struct asn1p_type_tag_s atag, btag; - arg_t *arg = cameo_arg; - - if(WITH_MODULE_NAMESPACE(a->expr->module, expr_ns, - asn1f_fetch_outmost_tag( - arg->asn, expr_ns, a->expr->module, a->expr, - &atag, AFT_IMAGINARY_ANY | AFT_CANON_CHOICE))) - return 1; - - if(WITH_MODULE_NAMESPACE( - b->expr->module, expr_ns, - asn1f_fetch_outmost_tag(arg->asn, expr_ns, b->expr->module, b->expr, - &btag, - AFT_IMAGINARY_ANY | AFT_CANON_CHOICE))) { - return -1; - } - - if(atag.tag_class < btag.tag_class) - return -1; - if(atag.tag_class > btag.tag_class) - return 1; - if(atag.tag_value < btag.tag_value) - return -1; - if(atag.tag_value > btag.tag_value) - return 1; - return 0; - -} diff --git a/libasn1compiler/asn1c_C.h b/libasn1compiler/asn1c_C.h deleted file mode 100644 index 26c2940..0000000 --- a/libasn1compiler/asn1c_C.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef ASN1_COMPILER_LANGUAGE_C_H -#define ASN1_COMPILER_LANGUAGE_C_H - -#include "asn1c_lang.h" - -int asn1c_lang_C_type_REFERENCE(arg_t *); -int asn1c_lang_C_type_EXTENSIBLE(arg_t *); - -int asn1c_lang_C_type_SEQUENCE(arg_t *); -int asn1c_lang_C_type_SET(arg_t *); -int asn1c_lang_C_type_SEx_OF(arg_t *); /* SET OF or SEQUENCE OF */ -int asn1c_lang_C_type_CHOICE(arg_t *); - -int asn1c_lang_C_type_common_INTEGER(arg_t *); -int asn1c_lang_C_type_BIT_STRING(arg_t *); -int asn1c_lang_C_type_REAL(arg_t *); -int asn1c_lang_C_type_SIMPLE_TYPE(arg_t *); -int asn1c_lang_C_type_REFERENCE_Value(arg_t *); - -static asn1_language_map_t asn1_lang_C[] __attribute__ ((unused)) = { - { AMT_VALUE, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE_Value }, - - { AMT_TYPE, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE }, - { AMT_TYPEREF, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE }, - { AMT_TYPE, A1TC_EXTENSIBLE, asn1c_lang_C_type_EXTENSIBLE }, - /* - * Constructed types - */ - { AMT_TYPE, ASN_CONSTR_SEQUENCE, asn1c_lang_C_type_SEQUENCE }, - { AMT_TYPE, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEx_OF, }, - { AMT_TYPEREF, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEx_OF }, - { AMT_TYPE, ASN_CONSTR_SET, asn1c_lang_C_type_SET }, - { AMT_TYPE, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SEx_OF }, - { AMT_TYPEREF, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SEx_OF }, - { AMT_TYPE, ASN_CONSTR_CHOICE, asn1c_lang_C_type_CHOICE }, - /* - * ANY type (deprecated) - */ - { AMT_TYPE, ASN_TYPE_ANY, asn1c_lang_C_type_SIMPLE_TYPE }, - /* - * Basic types - */ - { AMT_TYPE, ASN_BASIC_BOOLEAN, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_NULL, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_INTEGER, asn1c_lang_C_type_common_INTEGER }, - { AMT_TYPE, ASN_BASIC_REAL, asn1c_lang_C_type_REAL }, - { AMT_TYPE, ASN_BASIC_ENUMERATED, asn1c_lang_C_type_common_INTEGER }, - { AMT_TYPE, ASN_BASIC_BIT_STRING, asn1c_lang_C_type_BIT_STRING }, - { AMT_TYPE, ASN_BASIC_OCTET_STRING, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_OBJECT_IDENTIFIER,asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_RELATIVE_OID, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_CHARACTER_STRING, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_UTCTime, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_BASIC_GeneralizedTime, asn1c_lang_C_type_SIMPLE_TYPE }, - /* - * String types - */ - { AMT_TYPE, ASN_STRING_BMPString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_GeneralString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_GraphicString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_IA5String, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_ISO646String, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_NumericString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_PrintableString,asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_TeletexString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_T61String, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_UniversalString,asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_UTF8String, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_VideotexString,asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_VisibleString, asn1c_lang_C_type_SIMPLE_TYPE }, - { AMT_TYPE, ASN_STRING_ObjectDescriptor,asn1c_lang_C_type_SIMPLE_TYPE }, - { 0, 0, 0 } -}; - - -#endif /* ASN1_COMPILER_LANGUAGE_C_H */ diff --git a/libasn1compiler/asn1c_compat.c b/libasn1compiler/asn1c_compat.c deleted file mode 100644 index 6c47d02..0000000 --- a/libasn1compiler/asn1c_compat.c +++ /dev/null @@ -1,219 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_compat.h" - -/* Normally file permissions are (DEFFILEMODE & ~umask(2)) */ -#ifndef DEFFILEMODE /* Normally in */ - -#ifdef _WIN32 -#define DEFFILEMODE (S_IREAD|S_IWRITE) -#define REASONABLE_FILE_MODE DEFFILEMODE -#else -#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) -#define REASONABLE_FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH) -#endif -#else /* !DEFFILEMODE */ -#ifdef _WIN32 -#define REASONABLE_FILE_MODE DEFFILEMODE -#else -#define REASONABLE_FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH) -#endif -#endif - -#ifdef _WIN32 -int mkstemp(char *template) { - char *tmpFN = _mktemp(template); - if(tmpFN) - return open(tmpFN, O_CREAT | O_EXCL | O_WRONLY, DEFFILEMODE); - else - return -1; -} -#undef HAVE_MKSTEMPS -#endif - -#ifdef HAVE_MKSTEMPS -#undef mkstemp -#define mkstemp(foo) mkstemps(foo, 0) -#endif - -FILE * -asn1c_open_file(const char *destdir, const char *name, const char *ext, - char **opt_tmpname) { - char fname[PATH_MAX]; - int created = 1; -#ifndef _WIN32 - struct stat sb; -#endif - FILE *fp; - int ret; - int fd; - - /* - * Compute filenames. - */ - ret = snprintf(fname, sizeof(fname), "%s%s%s%s", destdir ? destdir : "", - name, ext, opt_tmpname ? ".XXXXXX" : ""); - assert(ret > 0 && ret < (ssize_t)sizeof(fname)); - - if(opt_tmpname) { - /* - * Create temporary file. - */ - fd = mkstemp(fname); -#ifndef _WIN32 - if(fd != -1) { - /* fchmod() does not respect umask */ - (void)fchmod(fd, REASONABLE_FILE_MODE); - } -#endif - } else { - /* - * Create specified file, or open the old one. - */ - fd = open(fname, O_CREAT | O_EXCL | O_WRONLY, DEFFILEMODE); - if(fd == -1 && errno == EEXIST) { - fd = open(fname, O_WRONLY, DEFFILEMODE); - created = 0; - } - } - if(fd == -1) { - struct stat st; - if(destdir && stat(destdir, &st) == -1) { - fprintf(stderr, "%s: No such directory\n", destdir); - return NULL; - } else { - perror(fname); - return NULL; - } - } - -#ifndef _WIN32 - /* - * Check sanity. - */ - if(fstat(fd, &sb) || !S_ISREG(sb.st_mode)) { - fprintf(stderr, "%s: Not a regular file\n", fname); - if(created) unlink(fname); - close(fd); - return NULL; - } - - if(ftruncate(fd, 0) == -1) { - fprintf(stderr, "%s: ftruncate failed: %s\n", - fname, strerror(errno)); - if(created) unlink(fname); - return NULL; - } -#else - _chsize(fd, 0); -#endif /* _WIN32 */ - - /* - * Convert file descriptor into file pointer. - */ - fp = fdopen(fd, "w"); - if(fp == NULL) { - if(created) unlink(fname); - close(fd); - return NULL; - } - - /* Return the temporary file name */ - if(opt_tmpname) { - *opt_tmpname = strdup(fname); - if(*opt_tmpname) { - /* Successfull */ - } else { - if(created) unlink(fname); - fclose(fp); - return NULL; - } - } - - return fp; -} - -const char * -a1c_basename(const char *path, const char *destdir) { - static char strbuf[PATH_MAX]; - const char *pend; - const char *name; - char *sbuf = strbuf; - - if(destdir) { - strncpy(strbuf, destdir, PATH_MAX - 1); - strbuf[PATH_MAX - 1] = '\0'; - sbuf = strbuf + strlen(strbuf); - } - pend = path + strlen(path); - if(pend == path) { - strcpy(sbuf, "."); - return strbuf; - } - - /* Skip tailing slashes */ - for(pend--; pend > path && *pend == '/'; pend--); - - if(pend == path && *path == '/') { - strcpy(sbuf, "/"); - return strbuf; - } - - for(name = pend; name > path && name[-1] != '/'; name--); - - if((pend - name) >= (int)sizeof(strbuf) - 1) { - errno = ENAMETOOLONG; - return 0; - } - - memcpy(sbuf, name, pend - name + 1); - sbuf[pend - name + 1] = '\0'; - - return strbuf; -} - - -const char * -a1c_dirname(const char *path) { - static char strbuf[PATH_MAX]; - const char *pend; - const char *last = 0; - int in_slash = 0; - - /* One-pass determination of the last char of the pathname */ - for(pend = path; ; pend++) { - switch(*pend) { - case '\0': break; - case '/': - if(!in_slash) { - last = pend; - in_slash = 1; - } - continue; - default: - if(in_slash) in_slash = 0; - continue; - } - break; - } - - if(last <= path) { - strcpy(strbuf, *path == '/' ? "/" : "."); - return strbuf; - } - - if(!last) { - strcpy(strbuf, "/"); - return strbuf; - } - - if((last - path) >= (int)sizeof(strbuf)) { - errno = ENAMETOOLONG; - return 0; - } - - memcpy(strbuf, path, last - path); - strbuf[last - path] = '\0'; - - return strbuf; -} - diff --git a/libasn1compiler/asn1c_compat.h b/libasn1compiler/asn1c_compat.h deleted file mode 100644 index 0248567..0000000 --- a/libasn1compiler/asn1c_compat.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef ASN1C_COMPAT_H -#define ASN1C_COMPAT_H - -/* - * Open the arbitrary file by its base name and extension. - * If opt_tmpname is given, a temporary file will be created and - * its name returned in (*opt_tmpname). - * The (*opt_tmpname) should then be subsequently freed by free(3). - */ -FILE *asn1c_open_file(const char *destdir, const char *base_part, const char *extension, - char **opt_tmpname); - -/* - * Obtain base name and directory name of a path. - * Some systems have them in as dirname(3) and basename(3). - */ -const char *a1c_basename(const char *path, const char* destdir); -const char *a1c_dirname(const char *path); - -#endif /* ASN1C_COMPAT_H */ diff --git a/libasn1compiler/asn1c_constraint.c b/libasn1compiler/asn1c_constraint.c deleted file mode 100644 index 0242321..0000000 --- a/libasn1compiler/asn1c_constraint.c +++ /dev/null @@ -1,765 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_constraint.h" -#include "asn1c_misc.h" -#include "asn1c_out.h" -#include "asn1c_naming.h" - -#include /* constraint groker from libasn1fix */ -#include /* other exportables from libasn1fix */ - -static int asn1c_emit_constraint_tables(arg_t *arg, int got_size); -static int emit_alphabet_check_loop(arg_t *arg, asn1cnst_range_t *range); -static int emit_value_determination_code(arg_t *arg, asn1p_expr_type_e etype, asn1cnst_range_t *r_value); -static int emit_size_determination_code(arg_t *arg, asn1p_expr_type_e etype); -static asn1p_expr_type_e _find_terminal_type(arg_t *arg); -static abuf *emit_range_comparison_code(asn1cnst_range_t *range, - const char *varname, - asn1c_integer_t natural_start, - asn1c_integer_t natural_stop); -static int native_long_sign(arg_t *arg, asn1cnst_range_t *r); /* -1, 0, 1 */ - -static int -ulong_optimization(arg_t *arg, asn1p_expr_type_e etype, asn1cnst_range_t *r_size, - asn1cnst_range_t *r_value) -{ - return (!r_size && r_value - && (etype == ASN_BASIC_INTEGER - || etype == ASN_BASIC_ENUMERATED) - && native_long_sign(arg, r_value) == 0); -} - -int -asn1c_emit_constraint_checking_code(arg_t *arg) { - asn1cnst_range_t *r_size; - asn1cnst_range_t *r_value; - asn1p_expr_t *expr = arg->expr; - asn1p_expr_type_e etype; - asn1p_constraint_t *ct; - int alphabet_table_compiled; - int produce_st = 0; - int ulong_optimize = 0; - int value_unsigned = 0; - int ret = 0; - - ct = expr->combined_constraints; - if(ct == NULL) - return 1; /* No additional constraints defined */ - - etype = _find_terminal_type(arg); - - r_value=asn1constraint_compute_constraint_range(expr->Identifier, etype, ct, ACT_EL_RANGE,0,0,0); - r_size =asn1constraint_compute_constraint_range(expr->Identifier, etype, ct, ACT_CT_SIZE, 0,0,0); - if(r_value) { - if(r_value->incompatible - || r_value->empty_constraint - || (r_value->left.type == ARE_MIN - && r_value->right.type == ARE_MAX) - || (etype == ASN_BASIC_BOOLEAN - && r_value->left.value == 0 - && r_value->right.value == 1) - ) { - asn1constraint_range_free(r_value); - r_value = 0; - } - } - if(r_size) { - if(r_size->incompatible - || r_size->empty_constraint - || (r_size->left.value == 0 /* or .type == MIN */ - && r_size->right.type == ARE_MAX) - ) { - asn1constraint_range_free(r_size); - r_size = 0; - } - } - - /* - * Do we really need an "*st = sptr" pointer? - */ - switch(etype) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(asn1c_type_fits_long(arg, arg->expr) == FL_NOTFIT) - produce_st = 1; - break; - case ASN_BASIC_REAL: - if((arg->flags & A1C_USE_WIDE_TYPES) - && asn1c_REAL_fits(arg, arg->expr) == RL_NOTFIT) - produce_st = 1; - break; - case ASN_BASIC_BIT_STRING: - case ASN_BASIC_OCTET_STRING: - produce_st = 1; - break; - default: - if(etype & ASN_STRING_MASK) - produce_st = 1; - break; - } - if(produce_st) { - const char *tname = asn1c_type_name(arg, arg->expr, TNF_SAFE); - OUT("const %s_t *st = (const %s_t *)sptr;\n", tname, tname); - } - - if(r_size || r_value) { - if(r_size) { - OUT("size_t size;\n"); - } - if(r_value) - switch(etype) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(native_long_sign(arg, r_value) >= 0) { - ulong_optimize = ulong_optimization(arg, etype, r_size, r_value); - if(!ulong_optimize) { - value_unsigned = 1; - OUT("unsigned long value;\n"); - } - } else { - OUT("long value;\n"); - } - break; - case ASN_BASIC_REAL: - OUT("%s value;\n", c_name(arg).type.constrained_c_name); - break; - case ASN_BASIC_BOOLEAN: - OUT("BOOLEAN_t value;\n"); - break; - default: - break; - } - } - - OUT("\n"); - - /* - * Protection against null input. - */ - OUT("if(!sptr) {\n"); - INDENT(+1); - OUT("ASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\"%%s: value not given (%%s:%%d)\",\n"); - OUT("\ttd->name, __FILE__, __LINE__);\n"); - OUT("return -1;\n"); - INDENT(-1); - OUT("}\n"); - OUT("\n"); - - if((r_value) && (!ulong_optimize)) - emit_value_determination_code(arg, etype, r_value); - if(r_size) - emit_size_determination_code(arg, etype); - - INDENT(-1); - REDIR(OT_CTABLES); - /* Emit FROM() tables */ - alphabet_table_compiled = - (asn1c_emit_constraint_tables(arg, r_size?1:0) == 1); - REDIR(OT_CODE); - INDENT(+1); - - /* - * Optimization for unsigned longs. - */ - if(ulong_optimize) { - OUT("\n"); - OUT("/* Constraint check succeeded */\n"); - OUT("return 0;\n"); - goto end; - } - - /* - * Here is an if() {} else {} consrtaint checking code. - */ - int got_something = 0; - int value_unused = 0; - OUT("\n"); - OUT("if("); - INDENT(+1); - if(r_size) { - abuf *ab = emit_range_comparison_code(r_size, "size", 0, -1); - if(ab->length) { - OUT("(%s)", ab->buffer); - got_something++; - } - abuf_free(ab); - } - if(r_value) { - if(got_something) { OUT("\n"); OUT(" && "); } - abuf *ab; - if(etype == ASN_BASIC_BOOLEAN) - ab = emit_range_comparison_code(r_value, "value", 0, 1); - else - ab = emit_range_comparison_code(r_value, "value", - value_unsigned ? 0 : -1, -1); - if(ab->length) { - OUT("(%s)", ab->buffer); - got_something++; - } else { - value_unused = 1; - } - abuf_free(ab); - } - if(alphabet_table_compiled) { - if(got_something) { OUT("\n"); OUT(" && "); } - OUT("!check_permitted_alphabet_%d(%s)", - arg->expr->_type_unique_index, - produce_st ? "st" : "sptr"); - got_something++; - } - if(!got_something) { - OUT("1 /* No applicable constraints whatsoever */"); - OUT(") {\n"); - INDENT(-1); - if(produce_st) { - INDENTED(OUT("(void)st; /* Unused variable */\n")); - } - if(value_unused) { - INDENTED(OUT("(void)value; /* Unused variable */\n")); - } - INDENTED(OUT("/* Nothing is here. See below */\n")); - OUT("}\n"); - OUT("\n"); - ret = 1; - goto end; - } - INDENT(-1); - OUT(") {\n"); - INDENT(+1); - switch(etype) { - case ASN_CONSTR_SEQUENCE_OF: - case ASN_CONSTR_SET_OF: - OUT("/* Perform validation of the inner elements */\n"); - OUT("return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);\n"); - break; - default: - OUT("/* Constraint check succeeded */\n"); - OUT("return 0;\n"); - } - INDENT(-1); - OUT("} else {\n"); - INDENT(+1); - OUT("ASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\"%%s: constraint failed (%%s:%%d)\",\n"); - OUT("\ttd->name, __FILE__, __LINE__);\n"); - OUT("return -1;\n"); - INDENT(-1); - OUT("}\n"); - -end: - if (r_value) asn1constraint_range_free(r_value); - if (r_size) asn1constraint_range_free(r_size); - - return ret; -} - -static int -asn1c_emit_constraint_tables(arg_t *arg, int got_size) { - asn1c_integer_t range_start; - asn1c_integer_t range_stop; - asn1p_expr_type_e etype; - asn1cnst_range_t *range; - asn1p_constraint_t *ct; - int utf8_full_alphabet_check = 0; - int max_table_size = 256; - int table[256]; - int use_table; - - ct = arg->expr->combined_constraints; - if(!ct) return 0; - - etype = _find_terminal_type(arg); - - range = asn1constraint_compute_constraint_range(arg->expr->Identifier, etype, ct, ACT_CT_FROM, 0,0,0); - if(!range) return 0; - - if(range->incompatible - || range->empty_constraint) { - asn1constraint_range_free(range); - return 0; - } - - if(range->left.type == ARE_MIN - && range->right.type == ARE_MAX) { - /* - * The permitted alphabet constraint checker code guarantees - * that either both bounds (left/right) are present, or - * they're absent simultaneously. Thus, this assertion - * legitimately holds true. - */ - assert(range->el_count == 0); - /* The full range is specified. Ignore it. */ - asn1constraint_range_free(range); - return 0; - } - - range_start = range->left.value; - range_stop = range->right.value; - assert(range->left.type == ARE_VALUE); - assert(range->right.type == ARE_VALUE); - assert(range_start <= range_stop); - - range_start = 0; /* Force old behavior */ - - /* - * Check if we need a test table to check the alphabet. - */ - use_table = 1; - if(range->el_count == 0) { - /* - * It's better to have a short if() check - * than waste 1k of table space - */ - use_table = 0; - } - if((range_stop - range_start) > 255) - use_table = 0; - if(etype == ASN_STRING_UTF8String) { - if(range_stop >= 0x80) - use_table = 0; - else - max_table_size = 128; - } - - if(use_table) { - int cardinal = 0; - int i, n = 0; - int untl; - memset(table, 0, sizeof(table)); - for(i = -1; i < range->el_count; i++) { - asn1cnst_range_t *r; - asn1c_integer_t v; - if(i == -1) { - if(range->el_count) continue; - r = range; - } else { - r = range->elements[i]; - } - for(v = r->left.value; v <= r->right.value; v++) { - assert((v - range_start) >= 0); - assert((v - range_start) < max_table_size); - table[v - range_start] = ++n; - } - } - - untl = (range_stop - range_start) + 1; - untl += (untl % 16)?16 - (untl % 16):0; - OUT("static const int permitted_alphabet_table_%d[%d] = {\n", - arg->expr->_type_unique_index, max_table_size); - for(n = 0; n < untl; n++) { - cardinal += table[n] ? 1 : 0; - OUT("%2d,", table[n]); - if(!((n+1) % 16)) { - int c; - if(!n || (n-15) + range_start >= 0x80) { - OUT("\n"); - continue; - } - OUT("\t/* "); - for(c = n - 15; c <= n; c++) { - if(table[c]) { - int a = c + range_start; - if(a > 0x20 && a < 0x80) - OUT("%c", a); - else - OUT("."); - } else { - OUT(" "); - } - } - OUT(" */"); - OUT("\n"); - } - } - OUT("};\n"); - - if((arg->flags & A1C_GEN_PER) - && (etype & ASN_STRING_KM_MASK)) { - int c; - OUT("static const int permitted_alphabet_code2value_%d[%d] = {\n", - arg->expr->_type_unique_index, cardinal); - for(n = c = 0; c < max_table_size; c++) { - if(table[c]) { - OUT("%d,", c); - if(!((++n) % 16)) OUT("\n"); - } - } - OUT("};\n"); - OUT("\n"); - DEBUG("code2value map gen for %s", arg->expr->Identifier); - arg->expr->_mark |= TM_PERFROMCT; - } - - OUT("\n"); - } else if(etype == ASN_STRING_UTF8String) { - /* - * UTF8String type is a special case in many respects. - */ - if(got_size) { - /* - * Size has been already determined. - * The UTF8String length checker also checks - * for the syntax validity, so we don't have - * to repeat this process twice. - */ - asn1constraint_range_free(range); - return 0; - } else { - utf8_full_alphabet_check = 1; - } - } else { - /* - * This permitted alphabet check will be - * expressed using conditional statements - * instead of table lookups. Table would be - * to large or otherwise inappropriate (too sparse?). - */ - } - - OUT("static int check_permitted_alphabet_%d(const void *sptr) {\n", - arg->expr->_type_unique_index); - INDENT(+1); - if(utf8_full_alphabet_check) { - OUT("if(UTF8String_length((const UTF8String_t *)sptr) < 0)\n"); - OUT("\treturn -1; /* Alphabet (sic!) test failed. */\n"); - OUT("\n"); - } else { - if(use_table) { - OUT("const int *table = permitted_alphabet_table_%d;\n", - arg->expr->_type_unique_index); - emit_alphabet_check_loop(arg, 0); - } else { - emit_alphabet_check_loop(arg, range); - } - } - OUT("return 0;\n"); - INDENT(-1); - OUT("}\n"); - OUT("\n"); - - asn1constraint_range_free(range); - - return 1; -} - -static int -emit_alphabet_check_loop(arg_t *arg, asn1cnst_range_t *range) { - asn1c_integer_t natural_stop; - asn1p_expr_t *terminal; - const char *tname; - - terminal = asn1f_find_terminal_type_ex(arg->asn, arg->ns, arg->expr); - if(terminal) { - OUT("/* The underlying type is %s */\n", - ASN_EXPR_TYPE2STR(terminal->expr_type)); - } else { - terminal = arg->expr; - } - tname = asn1c_type_name(arg, terminal, TNF_SAFE); - OUT("const %s_t *st = (const %s_t *)sptr;\n", tname, tname); - - switch(terminal->expr_type) { - case ASN_STRING_UTF8String: - OUT("const uint8_t *ch = st->buf;\n"); - OUT("const uint8_t *end = ch + st->size;\n"); - OUT("\n"); - OUT("for(; ch < end; ch++) {\n"); - INDENT(+1); - OUT("uint8_t cv = *ch;\n"); - if(!range) OUT("if(cv >= 0x80) return -1;\n"); - natural_stop = 0xffffffffUL; - break; - case ASN_STRING_UniversalString: - OUT("const uint8_t *ch = st->buf;\n"); - OUT("const uint8_t *end = ch + st->size;\n"); - OUT("\n"); - OUT("if(st->size %% 4) return -1; /* (size%%4)! */\n"); - OUT("for(; ch < end; ch += 4) {\n"); - INDENT(+1); - OUT("uint32_t cv = (ch[0] << 24)\n"); - OUT("\t\t| (ch[1] << 16)\n"); - OUT("\t\t| (ch[2] << 8)\n"); - OUT("\t\t| ch[3];\n"); - if(!range) OUT("if(cv > 255) return -1;\n"); - natural_stop = 0xffffffffUL; - break; - case ASN_STRING_BMPString: - OUT("const uint8_t *ch = st->buf;\n"); - OUT("const uint8_t *end = ch + st->size;\n"); - OUT("\n"); - OUT("if(st->size %% 2) return -1; /* (size%%2)! */\n"); - OUT("for(; ch < end; ch += 2) {\n"); - INDENT(+1); - OUT("uint16_t cv = (ch[0] << 8)\n"); - OUT("\t\t| ch[1];\n"); - if(!range) OUT("if(cv > 255) return -1;\n"); - natural_stop = 0xffff; - break; - case ASN_BASIC_OCTET_STRING: - default: - OUT("const uint8_t *ch = st->buf;\n"); - OUT("const uint8_t *end = ch + st->size;\n"); - OUT("\n"); - OUT("for(; ch < end; ch++) {\n"); - INDENT(+1); - OUT("uint8_t cv = *ch;\n"); - natural_stop = 0xff; - break; - } - - if(range) { - abuf *ab = emit_range_comparison_code(range, "cv", 0, natural_stop); - if(ab->length) { - OUT("if(!(%s)) return -1;\n", ab->buffer); - } else { - OUT("(void)cv; /* Unused variable */\n"); - } - } else { - OUT("if(!table[cv]) return -1;\n"); - } - - INDENT(-1); - OUT("}\n"); - - return 0; -} - -static void -abuf_oint(abuf *ab, asn1c_integer_t v) { - if(v == (-2147483647L - 1)) { - abuf_printf(ab, "(-2147483647L - 1)"); - } else { - abuf_printf(ab, "%s", asn1p_itoa(v)); - } -} - -static abuf * -emit_range_comparison_code(asn1cnst_range_t *range, const char *varname, - asn1c_integer_t natural_start, - asn1c_integer_t natural_stop) { - abuf *ab = abuf_new(); - - if(range->el_count == 0) { - int ignore_left = - (range->left.type == ARE_MIN) - || (natural_start != -1 && range->left.value <= natural_start); - int ignore_right = - (range->right.type == ARE_MAX) - || (natural_stop != -1 && range->right.value >= natural_stop); - - if(ignore_left && ignore_right) { - /* Empty constraint comparison */ - } else if(ignore_left) { - abuf_printf(ab, "%s <= ", varname); - abuf_oint(ab, range->right.value); - } else if(ignore_right) { - abuf_printf(ab, "%s >= ", varname); - abuf_oint(ab, range->left.value); - } else if(range->left.value == range->right.value) { - abuf_printf(ab, "%s == ", varname); - abuf_oint(ab, range->right.value); - } else { - abuf_printf(ab, "%s >= ", varname); - abuf_oint(ab, range->left.value); - abuf_printf(ab, " && "); - abuf_printf(ab, "%s <= ", varname); - abuf_oint(ab, range->right.value); - } - } else { - for(int i = 0; i < range->el_count; i++) { - asn1cnst_range_t *r = range->elements[i]; - - abuf *rec = emit_range_comparison_code(r, varname, natural_start, - natural_stop); - if(rec->length) { - if(ab->length) { - abuf_str(ab, " || "); - } - abuf_str(ab, "("); - abuf_buf(ab, rec); - abuf_str(ab, ")"); - } else { - /* Ignore this part */ - } - abuf_free(rec); - } - } - - return ab; -} - -static int -emit_size_determination_code(arg_t *arg, asn1p_expr_type_e etype) { - - switch(etype) { - case ASN_BASIC_BIT_STRING: - OUT("if(st->size > 0) {\n"); - OUT("\t/* Size in bits */\n"); - OUT("\tsize = 8 * st->size - (st->bits_unused & 0x07);\n"); - OUT("} else {\n"); - OUT("\tsize = 0;\n"); - OUT("}\n"); - break; - case ASN_STRING_UniversalString: - OUT("size = st->size >> 2;\t/* 4 byte per character */\n"); - break; - case ASN_STRING_BMPString: - OUT("size = st->size >> 1;\t/* 2 byte per character */\n"); - break; - case ASN_STRING_UTF8String: - OUT("size = UTF8String_length(st);\n"); - OUT("if((ssize_t)size < 0) {\n"); - OUT("\tASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\t\"%%s: UTF-8: broken encoding (%%s:%%d)\",\n"); - OUT("\t\ttd->name, __FILE__, __LINE__);\n"); - OUT("\treturn -1;\n"); - OUT("}\n"); - break; - case ASN_CONSTR_SET_OF: - case ASN_CONSTR_SEQUENCE_OF: - OUT("/* Determine the number of elements */\n"); - OUT("size = _A_C%s_FROM_VOID(sptr)->count;\n", - etype==ASN_CONSTR_SET_OF?"SET":"SEQUENCE"); - break; - case ASN_BASIC_OCTET_STRING: - OUT("size = st->size;\n"); - break; - default: - if(etype & ASN_STRING_MASK) { - OUT("size = st->size;\n"); - break; - } else { - const char *type_name = ASN_EXPR_TYPE2STR(etype); - if(!type_name) type_name = arg->expr->Identifier; - WARNING("SizeConstraint is not defined for %s", - type_name); - OUT_NOINDENT("#warning SizeConstraint " - "is not defined for %s!\n", type_name); - OUT("size = st->size;\n"); - } - return -1; - } - - return 0; -} - -static int -emit_value_determination_code(arg_t *arg, asn1p_expr_type_e etype, asn1cnst_range_t *r_value) { - - switch(etype) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(asn1c_type_fits_long(arg, arg->expr) == FL_FITS_UNSIGN) { - OUT("value = *(const unsigned long *)sptr;\n"); - } else if(asn1c_type_fits_long(arg, arg->expr) != FL_NOTFIT) { - OUT("value = *(const long *)sptr;\n"); - } else { - /* - * In some cases we can explore our knowledge of - * underlying INTEGER_t->buf format. - */ - if(r_value->el_count == 0 - && ( - /* Speed-up common case: (0..MAX) */ - (r_value->left.type == ARE_VALUE - && r_value->left.value == 0 - && r_value->right.type == ARE_MAX) - || - /* Speed-up common case: (MIN..-1) */ - (r_value->left.type == ARE_MIN - && r_value->right.type == ARE_VALUE - && r_value->right.value == -1) - )) { - OUT("/* Check if the sign bit is present */\n"); - OUT("value = st->buf ? ((st->buf[0] & 0x80) ? -1 : 1) : 0;\n"); - break; - } - - if(native_long_sign(arg, r_value) >= 0) { - /* Special case for treating unsigned longs */ - OUT("if(asn_INTEGER2ulong(st, &value)) {\n"); - INDENT(+1); - OUT("ASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\"%%s: value too large (%%s:%%d)\",\n"); - OUT("\ttd->name, __FILE__, __LINE__);\n"); - OUT("return -1;\n"); - INDENT(-1); - OUT("}\n"); - } else { - OUT("if(asn_INTEGER2long(st, &value)) {\n"); - INDENT(+1); - OUT("ASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\"%%s: value too large (%%s:%%d)\",\n"); - OUT("\ttd->name, __FILE__, __LINE__);\n"); - OUT("return -1;\n"); - INDENT(-1); - OUT("}\n"); - } - } - break; - case ASN_BASIC_REAL: - if(arg->flags & A1C_USE_WIDE_TYPES) { - OUT("if(asn_REAL2double(st, &value)) {\n"); - INDENT(+1); - OUT("ASN__CTFAIL(app_key, td, sptr,\n"); - OUT("\t\"%%s: value too large (%%s:%%d)\",\n"); - OUT("\ttd->name, __FILE__, __LINE__);\n"); - OUT("return -1;\n"); - INDENT(-1); - OUT("}\n"); - } else { - OUT("value = *(const %s *)sptr;\n", c_name(arg).type.c_name); - } - break; - case ASN_BASIC_BOOLEAN: - OUT("value = (*(const long *)sptr) ? 1 : 0;\n"); - break; - default: - WARNING("%s:%d: Value cannot be determined " - "for constraint check for %s", - arg->expr->module->source_file_name, - arg->expr->_lineno, - arg->expr->Identifier - ); - OUT_NOINDENT( - "#error %s:%d: Value of %s cannot be determined\n", - arg->expr->module->source_file_name, - arg->expr->_lineno, - arg->expr->Identifier - ); - break; - } - - return 0; -} - -static asn1p_expr_type_e -_find_terminal_type(arg_t *arg) { - asn1p_expr_t *expr; - expr = asn1f_find_terminal_type_ex(arg->asn, arg->ns, arg->expr); - if(expr) return expr->expr_type; - return A1TC_INVALID; -} - -static int -native_long_sign(arg_t *arg, asn1cnst_range_t *r) { - if(!(arg->flags & A1C_USE_WIDE_TYPES) && r->left.type == ARE_VALUE - && r->left.value >= 0 && r->left.value <= 2147483647 - && r->right.type == ARE_MAX) { - return 1; - } - if(r->left.type == ARE_VALUE - && r->left.value >= 0 - && r->right.type == ARE_VALUE - && r->right.value > 2147483647 - && r->right.value <= (asn1c_integer_t)(4294967295UL)) { - if(r->el_count == 0 - && r->left.value == 0 - && r->right.value == 4294967295UL) - return 0; - else - return 1; - } else { - return -1; - } -} diff --git a/libasn1compiler/asn1c_constraint.h b/libasn1compiler/asn1c_constraint.h deleted file mode 100644 index 66a7970..0000000 --- a/libasn1compiler/asn1c_constraint.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1C_CONSTRAINT_H -#define ASN1C_CONSTRAINT_H - -int asn1c_emit_constraint_checking_code(arg_t *arg); - -#endif /* ASN1C_CONSTRAINT_H */ diff --git a/libasn1compiler/asn1c_fdeps.c b/libasn1compiler/asn1c_fdeps.c deleted file mode 100644 index 60a52cb..0000000 --- a/libasn1compiler/asn1c_fdeps.c +++ /dev/null @@ -1,251 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_fdeps.h" - -static asn1c_dep_filename *asn1c_dep_filename_new(const char *filename); -static void asn1c_dep_add(asn1c_dep_chain *dlist, const char *filename, - int lineno, int column); -static asn1c_dep_chain *asn1c_dep_chain_new(void); - -static asn1c_dep_chain * -asn1c_dep_chains_add_new(asn1c_dep_chainset *deps, - enum asn1c_dep_section section, int active) { - asn1c_dep_chain *dc = asn1c_dep_chain_new(); - asn1c_tagged_dep_chain *tc = calloc(1, sizeof(*tc)); - tc->chain = dc; - tc->section = section; - tc->activated.active = active; - - deps->chains = realloc(deps->chains, - sizeof(deps->chains[0]) * (deps->chains_count + 1)); - assert(deps->chains); - deps->chains[deps->chains_count] = tc; - deps->chains_count++; - - return dc; -} - -void -asn1c_activate_dependency(asn1c_dep_chainset *deps, const char *data, - const char *by) { - char fname_scratch[PATH_MAX]; - - if(!deps || !data || !*data) { - return; - } - - assert(deps->chains_count); - - const char *fname = data; - if(*data == '#') { - const char *start = data; - const char *end = 0; - - start = strchr(data, '<'); - if(start) { - start++; - end = strchr(start, '>'); - } else if((start = strchr(data, '\"'))) { - start++; - end = strchr(start, '\"'); - } - if(end) { - assert((end-start) + 1 < (ssize_t)sizeof(fname_scratch)); - memcpy(fname_scratch, start, end - start); - fname_scratch[end-start] = '\0'; - fname = fname_scratch; - } else { - return; - } - } - - for(size_t i = 0; i < deps->chains_count; i++) { - asn1c_tagged_dep_chain *ch = deps->chains[i]; - if(!ch->activated.active && ch->chain->deps_count > 0 - && strcmp(ch->chain->deps[0]->filename, fname) == 0) { - ch->activated.by = strdup(by); - ch->activated.active = 1; - - for(size_t j = 0; j < ch->chain->deps_count; j++) { - asn1c_activate_dependency(deps, ch->chain->deps[j]->filename, - by); - } - } - } -} - -asn1c_dep_chainset * -asn1c_read_file_dependencies(arg_t *arg, const char *datadir) { - char buf[4096]; - asn1c_dep_chainset *deps; - FILE *f; - int lineno = 0; - - if(!datadir || strlen(datadir) > sizeof(buf) / 2) { - errno = EINVAL; - return NULL; - } else { - sprintf(buf, "%s/file-dependencies", datadir); - } - - f = fopen(buf, "r"); - if(!f) return NULL; - - deps = calloc(1, sizeof(*deps)); - assert(deps); - enum asn1c_dep_section section = FDEP_COMMON_FILES; - int activate = 0; - - while(fgets(buf, sizeof(buf), f)) { - char *p = strchr(buf, '#'); - if(p) *p = '\0'; /* Remove comments */ - - lineno++; - - asn1c_dep_chain *dc = asn1c_dep_chains_add_new(deps, section, activate); - - for(p = strtok(buf, " \t\r\n"); p; - p = strtok(NULL, " \t\r\n")) { - - /* - * Special "prefix" section. - */ - if(strchr(p, ':')) { - if(strcmp(p, "COMMON-FILES:") == 0) { - section = FDEP_COMMON_FILES; - activate = 1; - } else if(strcmp(p, "CONVERTER:") == 0) { - activate = 1; - section = FDEP_CONVERTER; - } else if((arg->flags & A1C_GEN_OER) - && strcmp(p, "CODEC-OER:") == 0) { - activate = 0; - section = FDEP_CODEC_OER; - } else if((arg->flags & A1C_GEN_PER) - && strcmp(p, "CODEC-PER:") == 0) { - activate = 0; - section = FDEP_CODEC_PER; - } else { - section = FDEP_IGNORE; - activate = 0; - } - break; - } - - asn1c_dep_add(dc, p, lineno, p - buf); - } - } - - fclose(f); - - /* A single filename by itself means that we should include that */ - for(size_t i = 0; i < deps->chains_count; i++) { - asn1c_tagged_dep_chain *ch = deps->chains[i]; - if(!ch->activated.active && ch->chain->deps_count == 1) { - asn1c_activate_dependency(deps, ch->chain->deps[0]->filename, - "implicit"); - } - } - - return deps; -} - -static asn1c_dep_filename * -asn1c_dep_filename_new(const char *filename) { - asn1c_dep_filename *d; - - assert(filename); - - d = calloc(1, sizeof(*d)); - assert(d); - d->filename = strdup(filename); - assert(d->filename); - - return d; -} - -static asn1c_dep_chain * -asn1c_dep_chain_new() { - return calloc(1, sizeof(asn1c_dep_chain)); -} - -static void -asn1c_dep_add(asn1c_dep_chain *dlist, const char *filename, int lineno, int column) { - asn1c_dep_filename *df = asn1c_dep_filename_new(filename); - df->lineno = lineno; - df->column = column; - - dlist->deps = - realloc(dlist->deps, (dlist->deps_count + 1) * sizeof(dlist->deps[0])); - assert(dlist->deps); - dlist->deps[dlist->deps_count] = df; - dlist->deps_count += 1; -} - -static int -asn1c_dep_has_filename(const asn1c_dep_chain *dlist, const char *filename) { - for(size_t i = 0; i < dlist->deps_count; i++) { - if(strcmp(dlist->deps[i]->filename, filename) == 0) { - return 1; - } - } - return 0; -} - -asn1c_dep_chain * -asn1c_deps_flatten(const asn1c_dep_chainset *deps, - enum asn1c_dep_section include_section) { - asn1c_dep_chain *dlist; - - if(!deps) { - errno = EINVAL; - return 0; - } - - dlist = asn1c_dep_chain_new(); - - for(size_t i = 0; i < deps->chains_count; i++) { - asn1c_tagged_dep_chain *tc = deps->chains[i]; - asn1c_dep_chain *dc = tc->chain; - - if(!tc->activated.active) { - continue; - } - if((tc->section & include_section) == 0) { - continue; - } - - for(size_t j = 0; j < dc->deps_count; j++) { - if(!asn1c_dep_has_filename(dlist, dc->deps[j]->filename)) { - asn1c_dep_add(dlist, dc->deps[j]->filename, dc->deps[j]->lineno, - dc->deps[j]->column); - } - } - } - - return dlist; -} - -void -asn1c_dep_chain_free(asn1c_dep_chain *dc) { - if(dc) { - for(size_t i = 0; i < dc->deps_count; i++) { - asn1c_dep_filename *df = dc->deps[i]; - free(df->filename); - free(df); - } - free(dc->deps); - } -} - -void -asn1c_dep_chainset_free(asn1c_dep_chainset *deps) { - if(deps) { - for(size_t i = 0; i < deps->chains_count; i++) { - asn1c_dep_chain_free(deps->chains[i]->chain); - free(deps->chains[i]->activated.by); - free(deps->chains[i]); - } - free(deps->chains); - free(deps); - } -} diff --git a/libasn1compiler/asn1c_fdeps.h b/libasn1compiler/asn1c_fdeps.h deleted file mode 100644 index 7b025ba..0000000 --- a/libasn1compiler/asn1c_fdeps.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef ASN1C_FDEPS_H -#define ASN1C_FDEPS_H - -typedef struct { - char *filename; - int lineno; - int column; -} asn1c_dep_filename; - - -/* - * Format: - * [ ...] - */ -typedef struct { - asn1c_dep_filename **deps; - size_t deps_count; -} asn1c_dep_chain; - -/* - * A single dependency chain, marked with the usage tag and activation tag. - */ -typedef struct { - enum asn1c_dep_section { - FDEP_IGNORE = 0, /* Section is not used */ - FDEP_DEFAULT = (1 << 1), /* Default dependency list */ - FDEP_REFERRED = (1 << 2), /* Dynamic list of dependencies */ - FDEP_CONVERTER = (1 << 3), /* Name of the file with int main() */ - FDEP_COMMON_FILES = (1 << 4), /* Section for mandatory dependencies */ - FDEP_CODEC_OER = (1 << 5), /* Use contents only if -gen-OER */ - FDEP_CODEC_PER = (1 << 6), /* Use contents only if -gen-PER */ - } section; /* Some file refers to it */ - - /* Whether this chain is alive and has to be present in the output */ - struct { - int active; - char *by; - } activated; - - asn1c_dep_chain *chain; -} asn1c_tagged_dep_chain; - -typedef struct { - asn1c_tagged_dep_chain **chains; - size_t chains_count; -} asn1c_dep_chainset; - -asn1c_dep_chainset *asn1c_read_file_dependencies(arg_t *arg, - const char *datadir); - -/* Data may be a filename or an "#include <>" string. */ -void asn1c_activate_dependency(asn1c_dep_chainset *deps, const char *data, - const char *by); - -asn1c_dep_chain *asn1c_deps_flatten(const asn1c_dep_chainset *deps, - enum asn1c_dep_section); - -void asn1c_dep_chain_free(asn1c_dep_chain *); -void asn1c_dep_chainset_free(asn1c_dep_chainset *); - -#endif /* ASN1C_FDEPS_H */ diff --git a/libasn1compiler/asn1c_internal.h b/libasn1compiler/asn1c_internal.h deleted file mode 100644 index 7a07e35..0000000 --- a/libasn1compiler/asn1c_internal.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef ASN1_COMPILER_INTERNAL_H -#define ASN1_COMPILER_INTERNAL_H - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include /* for strlen(3) and memset(3) */ -#include /* for isalnum(3) */ -#include /* for fstat(2) */ -#include /* for PATH_MAX */ -#include -#include -#include - -#ifdef HAVE_SYS_STAT_H -#include /* for fstat(2) */ -#endif - -#ifdef HAVE_UNISTD_H -#include /* for unlink(2) */ -#endif - -#ifndef PATH_MAX -#define PATH_MAX 1024 -#endif - -#ifdef _WIN32 -#include -#include -#include -#define open _open -#define close _close -#define snprintf _snprintf -#define vsnprintf _vsnprintf -#else -#include /* for glob(3) */ -#endif -#include /* for open(2) */ - -#include "asn1compiler.h" -#include "asn1_namespace.h" - -struct asn1c_ioc_table_and_objset_s; - -typedef struct arg_s { - - enum asn1c_flags flags; - - void (*logger_cb)(int _severity, const char *fmt, ...); - - int (*default_cb)(struct arg_s *, const struct asn1c_ioc_table_and_objset_s *opt); - - struct compiler_streams *target; - - asn1p_t *asn; - asn1_namespace_t *ns; - asn1p_expr_t *expr; - - int embed; -} arg_t; - -/* - * Logging. - */ -#define LOG(ll, fmt, args...) do { \ - arg->logger_cb(ll, fmt, ##args); \ - } while(0) -#define DEBUG(fmt, args...) do { \ - if(arg->flags & A1C_DEBUG) \ - LOG(-1, fmt, ##args); \ - } while(0) -#define WARNING(fmt, args...) LOG(0, fmt, ##args); -#define FATAL(fmt, args...) LOG(1, fmt, ##args); - -#endif /* ASN1_COMPILER_INTERNAL_H */ diff --git a/libasn1compiler/asn1c_ioc.c b/libasn1compiler/asn1c_ioc.c deleted file mode 100644 index 005088d..0000000 --- a/libasn1compiler/asn1c_ioc.c +++ /dev/null @@ -1,298 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_ioc.h" -#include "asn1c_out.h" -#include "asn1c_misc.h" -#include -#include - -#define MKID(expr) asn1c_make_identifier(AMI_USE_PREFIX, (expr), 0) - -/* - * Given the table constraint or component relation constraint - * ({ObjectSetName}{...}) returns "ObjectSetName" as a reference. - */ -const asn1p_ref_t * -asn1c_get_information_object_set_reference_from_constraint(arg_t *arg, - const asn1p_constraint_t *ct) { - - if(!ct) return NULL; - assert(ct->type == ACT_CA_CRC); - assert(ct->el_count >= 1); - - DEBUG("Component Relation Constraint: %s", asn1p_constraint_string(ct)); - - assert(ct->elements[0]->type == ACT_EL_VALUE); - - asn1p_value_t *val = ct->elements[0]->value; - if(val->type == ATV_VALUESET && val->value.constraint->type == ACT_EL_TYPE) { - asn1p_value_t *csub = val->value.constraint->containedSubtype; - if(!csub) { - /* Ignore */ - } else if(csub->type == ATV_REFERENCED) { - return csub->value.reference; - } else if(csub->type == ATV_TYPE) { - if(csub->value.v_type->expr_type == A1TC_REFERENCE) { - assert(csub->value.v_type->reference); - return csub->value.v_type->reference; - } - } - } - if(val->type != ATV_REFERENCED) { - FATAL("Set reference: %s", asn1f_printable_value(val)); - assert(val->type == ATV_REFERENCED); - } - - return val->value.reference; -} - -static asn1c_ioc_table_and_objset_t -asn1c_get_ioc_table_from_objset(arg_t *arg, const asn1p_ref_t *objset_ref, asn1p_expr_t *objset) { - asn1c_ioc_table_and_objset_t ioc_tao = { 0, 0, 1 }; - - (void)objset_ref; - - if(objset->ioc_table) { - ioc_tao.ioct = objset->ioc_table; - ioc_tao.objset = objset; - ioc_tao.fatal_error = 0; - } else { - FATAL("Information Object Set %s contains no objects at line %d", - objset->Identifier, objset->_lineno); - } - - return ioc_tao; -} - -asn1c_ioc_table_and_objset_t -asn1c_get_ioc_table(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *memb; - asn1p_expr_t *objset = 0; - const asn1p_ref_t *objset_ref = NULL; - asn1c_ioc_table_and_objset_t safe_ioc_tao = {0, 0, 0}; - asn1c_ioc_table_and_objset_t failed_ioc_tao = { 0, 0, 1 }; - - TQ_FOR(memb, &(expr->members), next) { - const asn1p_constraint_t *cr_ct = - asn1p_get_component_relation_constraint(memb->constraints); - const asn1p_ref_t *tmpref = - asn1c_get_information_object_set_reference_from_constraint(arg, - cr_ct); - if(tmpref) { - if(objset_ref && asn1p_ref_compare(objset_ref, tmpref) != 0) { - FATAL( - "Object set reference on line %d differs from object set " - "reference on line %d", - objset_ref->_lineno, tmpref->_lineno); - return failed_ioc_tao; - } - objset_ref = tmpref; - } - - } - - if(!objset_ref) { - return safe_ioc_tao; - } - - objset = WITH_MODULE_NAMESPACE( - arg->expr->module, expr_ns, - asn1f_lookup_symbol_ex(arg->asn, expr_ns, arg->expr, objset_ref)); - if(!objset) { - FATAL("Cannot found %s", asn1p_ref_string(objset_ref)); - return failed_ioc_tao; - } - - return asn1c_get_ioc_table_from_objset(arg, objset_ref, objset); -} - -static int -emit_ioc_value(arg_t *arg, struct asn1p_ioc_cell_s *cell) { - - if(cell->value && cell->value->meta_type == AMT_VALUE) { - const char *prim_type = NULL; - int primitive_representation = 0; - - asn1p_expr_t *cv_type = - asn1f_find_terminal_type_ex(arg->asn, arg->ns, cell->value); - - switch(cv_type->expr_type) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - switch(asn1c_type_fits_long(arg, cell->value /* sic */)) { - case FL_NOTFIT: - GEN_INCLUDE_STD("INTEGER"); - prim_type = "INTEGER_t"; - break; - case FL_PRESUMED: - case FL_FITS_SIGNED: - primitive_representation = 1; - prim_type = "long"; - break; - case FL_FITS_UNSIGN: - prim_type = "unsigned long"; - primitive_representation = 1; - break; - } - break; - case ASN_BASIC_OBJECT_IDENTIFIER: - prim_type = "OBJECT_IDENTIFIER_t"; - break; - case ASN_BASIC_RELATIVE_OID: - prim_type = "RELATIVE_OID_t"; - break; - default: { - char *p = strdup(MKID(cell->value)); - FATAL("Unsupported type %s for value %s", - asn1c_type_name(arg, cell->value, TNF_UNMODIFIED), p); - free(p); - return -1; - } - } - OUT("static const %s asn_VAL_%d_%s = ", prim_type, - cell->value->_type_unique_index, MKID(cell->value)); - - asn1p_expr_t *expr_value = cell->value; - while(expr_value->value->type == ATV_REFERENCED) { - expr_value = WITH_MODULE_NAMESPACE( - expr_value->module, expr_ns, - asn1f_lookup_symbol_ex(arg->asn, expr_ns, expr_value, - expr_value->value->value.reference)); - if(!expr_value) { - FATAL("Unrecognized value type for %s", MKID(cell->value)); - return -1; - } - } - - if(!primitive_representation) OUT("{ "); - - switch(expr_value->value->type) { - case ATV_INTEGER: - if(primitive_representation) { - OUT("%s", asn1p_itoa(expr_value->value->value.v_integer)); - break; - } else { - asn1c_integer_t v = expr_value->value->value.v_integer; - if(v >= 0) { - if(v <= 127) { - OUT("\"\\x%02x\", 1", (int)v); - break; - } else if(v <= 32767) { - OUT("\"\\x%02x\\x%02x\", 2", (int)(v >> 8), (int)(v & 0xff)); - break; - } - } - FATAL("Unsupported value %s range for type %s", - asn1f_printable_value(expr_value->value), - MKID(cell->value)); - return -1; - } - case ATV_UNPARSED: - OUT("\"not supported\", 0 };\n"); - FATAL("Inappropriate value %s for type %s", - asn1f_printable_value(expr_value->value), MKID(cell->value)); - return 0; /* TEMPORARY FIXME FIXME */ - default: - FATAL("Inappropriate value %s for type %s", - asn1f_printable_value(expr_value->value), MKID(cell->value)); - return -1; - } - - if(primitive_representation) { - OUT(";\n"); - } else { - OUT(" };"); - OUT(" /* %s */\n", asn1f_printable_value(expr_value->value)); - } - } - - return 0; -} - -static int -emit_ioc_cell(arg_t *arg, struct asn1p_ioc_cell_s *cell) { - OUT("{ \"%s\", ", cell->field->Identifier); - - if(!cell->value) { - /* Ignore */ - } else if(cell->value->meta_type == AMT_VALUE) { - GEN_INCLUDE(asn1c_type_name(arg, cell->value, TNF_INCLUDE)); - OUT("aioc__value, "); - OUT("&asn_DEF_%s, ", asn1c_type_name(arg, cell->value, TNF_SAFE)); - OUT("&asn_VAL_%d_%s", cell->value->_type_unique_index, - MKID(cell->value)); - - } else if(cell->value->meta_type == AMT_TYPEREF) { - GEN_INCLUDE(asn1c_type_name(arg, cell->value, TNF_INCLUDE)); - OUT("aioc__type, &asn_DEF_%s", MKID(cell->value)); - } else if(cell->value->meta_type == AMT_TYPE) { - GEN_INCLUDE(asn1c_type_name(arg, cell->value, TNF_INCLUDE)); - OUT("aioc__type, &asn_DEF_%s", asn1c_type_name(arg, cell->value, TNF_SAFE)); - } else { - return -1; - } - - OUT(" }"); - - return 0; -} - -/* - * Refer to skeletons/asn_ioc.h - */ -int -emit_ioc_table(arg_t *arg, asn1p_expr_t *context, asn1c_ioc_table_and_objset_t ioc_tao) { - size_t columns = 0; - - (void)context; - GEN_INCLUDE_STD("asn_ioc"); - - REDIR(OT_IOC_TABLES); - - /* Emit values that are used in the Information Object Set table first */ - for(size_t rn = 0; rn < ioc_tao.ioct->rows; rn++) { - asn1p_ioc_row_t *row = ioc_tao.ioct->row[rn]; - for(size_t cn = 0; cn < row->columns; cn++) { - if(emit_ioc_value(arg, &row->column[cn])) { - return -1; - } - } - } - - if(ioc_tao.ioct->rows == 0) - return 0; - - /* Emit the Information Object Set */ - OUT("static const asn_ioc_cell_t asn_IOS_%s_%d_rows[] = {\n", - MKID(ioc_tao.objset), ioc_tao.objset->_type_unique_index); - INDENT(+1); - - for(size_t rn = 0; rn < ioc_tao.ioct->rows; rn++) { - asn1p_ioc_row_t *row = ioc_tao.ioct->row[rn]; - columns = columns ? columns : row->columns; - if(columns != row->columns) { - FATAL("Information Object Set %s row column mismatch on line %d", - ioc_tao.objset->Identifier, ioc_tao.objset->_lineno); - return -1; - } - for(size_t cn = 0; cn < row->columns; cn++) { - if(rn || cn) OUT(",\n"); - emit_ioc_cell(arg, &row->column[cn]); - } - } - OUT("\n"); - - INDENT(-1); - OUT("};\n"); - - OUT("static const asn_ioc_set_t asn_IOS_%s_%d[] = {\n", - MKID(ioc_tao.objset), ioc_tao.objset->_type_unique_index); - INDENT(+1); - OUT("{ %zu, %zu, asn_IOS_%s_%d_rows }\n", ioc_tao.ioct->rows, columns, - MKID(ioc_tao.objset), ioc_tao.objset->_type_unique_index); - INDENT(-1); - OUT("};\n"); - - return 0; -} - diff --git a/libasn1compiler/asn1c_ioc.h b/libasn1compiler/asn1c_ioc.h deleted file mode 100644 index d1a4b4c..0000000 --- a/libasn1compiler/asn1c_ioc.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef ASN1_IOC_H -#define ASN1_IOC_H - -#include "asn1compiler.h" -#include "asn1p_class.h" - -typedef struct asn1c_ioc_table_and_objset_s { - asn1p_ioc_table_t *ioct; - asn1p_expr_t *objset; - int fatal_error; /* if ioct == NULL then specifies error or 0. */ -} asn1c_ioc_table_and_objset_t; - -asn1c_ioc_table_and_objset_t asn1c_get_ioc_table(arg_t *arg); - -int emit_ioc_table(arg_t *arg, asn1p_expr_t *context, - asn1c_ioc_table_and_objset_t); - -const asn1p_ref_t *asn1c_get_information_object_set_reference_from_constraint( - arg_t *arg, const asn1p_constraint_t *ct); - - -#endif /* ASN1_IOC_H */ diff --git a/libasn1compiler/asn1c_lang.c b/libasn1compiler/asn1c_lang.c deleted file mode 100644 index fa07540..0000000 --- a/libasn1compiler/asn1c_lang.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_C.h" - -asn1_language_map_t asn1_lang_map[AMT_EXPR_META_MAX][ASN_EXPR_TYPE_MAX]; - -int -asn1c_with_language(asn1c_target_language_e lang) { - asn1_language_map_t *lptr; - int lsize; - if(lang != ASN1C_LANGUAGE_C) { - errno = EINVAL; - return -1; - } - - lptr = asn1_lang_C; - lsize = sizeof(asn1_lang_C)/sizeof(asn1_lang_C[0]); - - memset(asn1_lang_map, 0, sizeof(asn1_lang_map)); - - for(; lsize && lptr->expr_match; lsize--, lptr++) { - assert(lptr->meta_match > 0); - assert(lptr->meta_match < AMT_EXPR_META_MAX); - assert(lptr->expr_match > 0); - assert(lptr->expr_match < ASN_EXPR_TYPE_MAX); - - asn1_lang_map[lptr->meta_match][lptr->expr_match] - = *lptr; - } - - return 0; -} - diff --git a/libasn1compiler/asn1c_lang.h b/libasn1compiler/asn1c_lang.h deleted file mode 100644 index 8c9a6ea..0000000 --- a/libasn1compiler/asn1c_lang.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef ASN1_COMPILER_LANGUAGE_H -#define ASN1_COMPILER_LANGUAGE_H - -struct arg_s; - -typedef struct asn1_language_map_s { - asn1p_expr_meta_e meta_match; /* meta_type */ - asn1p_expr_type_e expr_match; /* expr_type */ - /* - * A callback that would create a language-specific type declaration. - */ - int (*type_cb)(struct arg_s *arg); -} asn1_language_map_t; - - -extern asn1_language_map_t asn1_lang_map[AMT_EXPR_META_MAX][ASN_EXPR_TYPE_MAX]; - - -typedef enum asn1c_target_language { - ASN1C_LANGUAGE_C, -} asn1c_target_language_e; - -/* - * Initialize the compiler to generate specified target language. - */ -int asn1c_with_language(asn1c_target_language_e lang); - -#endif /* ASN1_COMPILER_LANGUAGE_H */ diff --git a/libasn1compiler/asn1c_misc.c b/libasn1compiler/asn1c_misc.c deleted file mode 100644 index efadd28..0000000 --- a/libasn1compiler/asn1c_misc.c +++ /dev/null @@ -1,529 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_misc.h" - -#include /* constraint groker from libasn1fix */ -#include /* other exportable stuff from libasn1fix */ - -/* - * Checks that the given string is not a reserved C/C++ keyword [1],[2]. - * _* keywords not included, since asn1 identifiers cannot begin with hyphen [3] - * [1] ISO/IEC 9899:2011 (C11), 6.4.1 - * [2] ISO/IEC 14882:2014 (C++14), 2.12 - * [3] ISO/IEC 8824-1:2003 (asn1) 11.3 - */ -static char *res_kwd[] = { - /* C */ - "auto", "break", "case", "char", "const", "continue", "default", "do", - "double", "else", "enum", "extern", "float", "for", "goto", "if", - "inline", "int", "long", "register", "restrict", "return", "short", - "signed", "sizeof", "static", "struct", "switch", "typedef", "union", - "unsigned", "void", "volatile", "while", - /* C++ */ - "alignas", "alignof", "and", "and_eq", "asm", "bitand", "bitor", "bool", - "catch", "char16_t", "char32_t", "class", "compl", "const_cast", - "constexpr", "decltype", "delete", "delete", "dynamic_cast", - "explicit", "export", "false", "friend", "mutable", "namespace", "new", - "noexcept", "not", "not_eq", "nullptr", "operator", "or", "or_eq", - "private", "protected", "public", "reinterpret_cast", "static_assert", - "static_cast", "template", "this", "thread_local", "throw", "true", "try", - "typeid", "typename", "using", "virtual", "wchar_t", "xor", "xor_eq" -}; -static int -reserved_keyword(const char *str) { - size_t i; - for(i = 0 ; i < sizeof(res_kwd)/sizeof(res_kwd[0]); i++) { - if(strcmp(str, res_kwd[i]) == 0) - return 1; - } - return 0; -} - -const char * -asn1c_prefix() -{ - const char *prefix = getenv("ASN1C_PREFIX"); - - if(!prefix) prefix = ""; - - return prefix; -} - -/* - * Construct identifier from multiple parts. - * Convert unsafe characters to underscores. - */ -const char * -asn1c_make_identifier(enum ami_flags_e flags, asn1p_expr_t *expr, ...) { - static char *storage; - static int storage_size; - int nodelimiter = 0; - va_list ap; - char *str; - char *nextstr; - char *first = 0; - ssize_t size = 0; - char *p; - const char *prefix = NULL; - char *sptr[4], **psptr = &sptr[0]; - int sptr_cnt = 0; - - if(flags & AMI_USE_PREFIX) - prefix = asn1c_prefix(); - - if(expr) { - /* - * Estimate the necessary storage size - */ - if(expr->Identifier == NULL) - return "Member"; - /* - * Add MODULE name to resolve clash - */ - if(expr->_mark & TM_NAMECLASH) { - size += strlen(expr->module->ModuleName) + 2; - sptr[sptr_cnt++] = expr->module->ModuleName; - } - sptr[sptr_cnt++] = expr->Identifier; - - size += strlen(expr->Identifier); - if(expr->spec_index != -1 && expr->_lineno) { - static char buf[32]; - size += 1 + snprintf(buf, sizeof buf, "%dP%d", - expr->_lineno, expr->spec_index); - sptr[sptr_cnt++] = (char *)&buf; - } - } else { - size = -1; - } - sptr[sptr_cnt++] = (char *)0; - - va_start(ap, expr); - while((str = va_arg(ap, char *))) - size += 1 + strlen(str); - va_end(ap); - if(size == -1) return NULL; - - if(prefix) - size += 1 + strlen(prefix); - /* - * Make sure we have the required amount of storage. - */ - if(storage_size <= size) { - char *tmp = malloc(size + 1); - if(tmp) { - free(storage); - storage = tmp; - storage_size = size + 1; - } else { - return NULL; - } - } - - /* - * Fill-in the storage. - */ - va_start(ap, expr); - p = storage; - if(prefix) { - strcpy(storage, prefix); - p += strlen(prefix); - nodelimiter = 1; - } - nextstr = ""; - for(str = 0; str || nextstr; str = nextstr) { - int subst_made = 0; - nextstr = *(psptr) ? *(psptr++) : va_arg(ap, char *); - - if(str == 0) { - str = first = nextstr; - nextstr = *(psptr) ? *(psptr++) : va_arg(ap, char *); - if (!first) continue; - } - - if(str[0] == '\0') { - nodelimiter = 1; /* No delimiter */ - continue; - } - - if(str[0] == ' ' && str[1] == '\0') { - *p++ = ' '; - nodelimiter = 1; /* No delimiter */ - continue; - } - - if(str != first && !nodelimiter && !(flags & AMI_NODELIMITER)) - *p++ = '_'; /* Delimiter between tokens */ - nodelimiter = 0; - - /* - * If it is a single argument, check that it does not clash - * with C/C++ language keywords. - */ - if((flags & AMI_CHECK_RESERVED) - && str == first && !nextstr && reserved_keyword(str)) { - *p++ = toupper(*str++); - /* Fall through */ - } - - for(; *str; str++) { - if(isalnum(*str)) { - *p++ = *str; - subst_made = 0; - } else if(!subst_made++) { - if((flags & AMI_MASK_ONLY_SPACES) - && !isspace(*str)) { - *p ++ = *str; - } else { - *p++ = '_'; - } - } - } - } - va_end(ap); - *p = '\0'; - - assert((p - storage) <= storage_size); - - return storage; -} - -const char * -asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format) { - asn1p_expr_t *exprid = 0; - asn1p_expr_t *top_parent; - asn1p_expr_t *terminal = 0; - int stdname = 0; - const char *typename; - const char *prefix; - - /* Rewind to the topmost parent expression */ - if((top_parent = expr->parent_expr)) - while(top_parent->parent_expr) - top_parent = top_parent->parent_expr; - - if(0) DEBUG("asn1c_type_name(%s: 0x%x)", - expr->Identifier, expr->expr_type); - - switch(expr->expr_type) { - case A1TC_REFERENCE: - typename = expr->reference->components[ - expr->reference->comp_count-1].name; - if(typename[0] == '&') { - arg_t tmp = *arg; - - /* - * This is a reference to a type defined in a class. - * Resolve it and use instead. - */ - tmp.expr = WITH_MODULE_NAMESPACE( - arg->expr->module, expr_ns, - asn1f_class_access_ex(arg->asn, arg->expr->module, expr_ns, - arg->expr, expr->rhs_pspecs, - expr->reference)); - if(!tmp.expr) return NULL; - - return asn1c_type_name(&tmp, tmp.expr, _format); - } - - terminal = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - (expr->meta_type == AMT_TYPEREF) ? - asn1f_lookup_symbol_ex(arg->asn, expr_ns, expr, expr->reference) : - asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr)); - - if(_format == TNF_RSAFE) { - if(terminal && terminal->expr_type & ASN_CONSTR_MASK) { - typename = terminal->Identifier; - } - } - - if(_format == TNF_CTYPE || _format == TNF_CONSTYPE) { - /* - * If the component references the type itself, - * switch to a recursion-safe type naming - * ("struct foo" instead of "foo_t"). - */ - if(terminal && terminal == top_parent) { - _format = TNF_RSAFE; - } - } - - if(_format != TNF_RSAFE && terminal && ((terminal->spec_index != -1) || (terminal->_mark & TM_NAMECLASH))) { - exprid = terminal; - typename = 0; - } - - break; - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - case ASN_BASIC_REAL: - if((expr->expr_type == ASN_BASIC_REAL - && (_format == TNF_CONSTYPE || !(arg->flags & A1C_USE_WIDE_TYPES) - || asn1c_REAL_fits(arg, expr) != RL_NOTFIT)) - || asn1c_type_fits_long(arg, expr)) { - switch(_format) { - case TNF_CONSTYPE: - if(expr->expr_type == ASN_BASIC_REAL) { - return "double"; - } else if(asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN) { - return "unsigned long"; - } else { - return "long"; - } - case TNF_CTYPE: - case TNF_RSAFE: - if(expr->expr_type == ASN_BASIC_REAL) { - asn1cnst_range_t *range = asn1constraint_compute_OER_range( - expr->Identifier, ASN_BASIC_REAL, - expr->combined_constraints, ACT_EL_RANGE, 0, 0, 0); - if(range->narrowing == NARROW_FLOAT32) { - asn1constraint_range_free(range); - return "float"; - } else { - asn1constraint_range_free(range); - return "double"; - } - } else if(asn1c_type_fits_long(arg, expr) == FL_FITS_UNSIGN) { - return "unsigned long"; - } else { - return "long"; - } - default: - typename = 0; - switch(expr->expr_type) { - case ASN_BASIC_INTEGER: - typename = "NativeInteger"; break; - case ASN_BASIC_ENUMERATED: - typename = "NativeEnumerated"; break; - case ASN_BASIC_REAL: - typename = "NativeReal"; break; - default: - break; - } - break; - } - if(typename) { - if(_format != TNF_INCLUDE) - return typename; - stdname = 1; - break; - } - } - /* Fall through */ - default: - if(expr->expr_type - & (ASN_CONSTR_MASK | ASN_BASIC_MASK | ASN_STRING_MASK)) { - if(_format == TNF_RSAFE) - _format = TNF_CTYPE; - stdname = 1; - typename = ASN_EXPR_TYPE2STR(expr->expr_type); - if(_format == TNF_INCLUDE) { - if(expr->expr_type == ASN_CONSTR_SEQUENCE) - typename = "constr_SEQUENCE"; - else if(expr->expr_type == ASN_CONSTR_CHOICE) - typename = "constr_CHOICE"; - else if(expr->expr_type == ASN_CONSTR_SET) - typename = "constr_SET"; - else if(expr->expr_type == ASN_CONSTR_SEQUENCE_OF) - typename = "constr_SEQUENCE_OF"; - else if(expr->expr_type == ASN_CONSTR_SET_OF) - typename = "constr_SET_OF"; - else if(expr->expr_type == ASN_CONSTR_OPEN_TYPE) - typename = "OPEN_TYPE"; - } - } else { - _format = TNF_RSAFE; - typename = expr->Identifier; - } - } - - prefix = stdname ? "" : asn1c_prefix(); - - switch(_format) { - case TNF_UNMODIFIED: - return asn1c_make_identifier(AMI_MASK_ONLY_SPACES | AMI_NODELIMITER | (stdname ? 0 : AMI_USE_PREFIX), - 0, prefix, MODULE_NAME_OF(exprid), exprid ? exprid->Identifier : typename, (char*)0); - case TNF_INCLUDE: - return asn1c_make_identifier( - AMI_MASK_ONLY_SPACES | AMI_NODELIMITER, - 0, ((!stdname || (arg->flags & A1C_INCLUDES_QUOTED)) - ? "\"" : "<"), - prefix, MODULE_NAME_OF(exprid), - exprid ? exprid->Identifier : typename, - ((!stdname || (arg->flags & A1C_INCLUDES_QUOTED)) - ? ".h\"" : ".h>"), (char*)0); - case TNF_SAFE: - return asn1c_make_identifier(stdname ? 0 : AMI_USE_PREFIX, exprid, typename, (char*)0); - case TNF_CTYPE: /* C type */ - case TNF_CONSTYPE: /* C type */ - return asn1c_make_identifier(stdname ? 0 : AMI_USE_PREFIX, exprid, - exprid?"t":typename, exprid?0:"t", (char*)0); - case TNF_RSAFE: /* Recursion-safe type */ - return asn1c_make_identifier(AMI_CHECK_RESERVED | AMI_NODELIMITER, 0, - "struct", " ", prefix, MODULE_NAME_OF(exprid), typename, (char*)0); - } - - assert(!"unreachable"); - return typename; -} - -static asn1p_expr_type_e -expr_get_type(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_t *terminal; - terminal = asn1f_find_terminal_type_ex(arg->asn, arg->ns, expr); - if(terminal) return terminal->expr_type; - return A1TC_INVALID; -} - -enum asn1c_fitsfloat_e -asn1c_REAL_fits(arg_t *arg, asn1p_expr_t *expr) { - asn1p_expr_type_e etype = expr_get_type(arg, arg->expr); - if(etype == ASN_BASIC_REAL) { - asn1cnst_range_t *range = asn1constraint_compute_OER_range( - expr->Identifier, etype, expr->combined_constraints, ACT_EL_RANGE, - 0, 0, 0); - enum asn1c_fitsfloat_e fits; - switch(range->narrowing) { - case NARROW_FLOAT32: - fits = RL_FITS_FLOAT32; - break; - case NARROW_DOUBLE64: - fits = RL_FITS_DOUBLE64; - break; - default: - fits = RL_NOTFIT; - break; - } - asn1constraint_range_free(range); - return fits; - } else { - return 0; - } -} - -/* - * Check whether the specified INTEGER or ENUMERATED type can be represented - * using the generic 'long' or 'unsigned long' type. - */ -enum asn1c_fitslong_e -asn1c_type_fits_long(arg_t *arg, asn1p_expr_t *expr) { - asn1cnst_range_t *range = 0; - asn1cnst_edge_t left; - asn1cnst_edge_t right; - asn1p_expr_t *v; - -/* - * Since we don't know the sizeof(long) on the possible target platform - * which will be compiling the code generated by asn1c, let's play it - * simple: long's range is equal to or greater than int32_t. - * NOTE: the most negative integer cannot be written in C, as the C99 - * standard will give it an unsigned type. - * It is defined here as a constant expression. - */ -#define RIGHTMAX 2147483647 /* of 32-bit integer type */ -#define LEFTMIN (-RIGHTMAX-1) /* of 32-bit integer type */ - - /* Descend to the terminal type */ - expr = WITH_MODULE_NAMESPACE( - expr->module, expr_ns, - asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr)); - if(expr == 0) return FL_NOTFIT; - - /* The "fits into long" operation is relevant only for integer types */ - switch(expr->expr_type) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - break; - default: - return FL_NOTFIT; - } - - /* - * First, evaluate the range of explicitly given identifiers. - */ - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type != A1TC_UNIVERVAL) - continue; - if(v->value->value.v_integer < LEFTMIN - || v->value->value.v_integer > RIGHTMAX) - return FL_NOTFIT; - } - - if(!expr->combined_constraints) - return (arg->flags & A1C_USE_WIDE_TYPES) - ? FL_NOTFIT : FL_PRESUMED; - - /* - * Second, if -fbless-SIZE is given, the (SIZE()) constraint may be - * applied (non-standard! but we can deal with this) to the type. - * Check the range. - */ - range = asn1constraint_compute_constraint_range(expr->Identifier, - expr->expr_type, - expr->combined_constraints, ACT_CT_SIZE, 0, 0, - CPR_simulate_fbless_SIZE); - if(range) { - if(!range->incompatible) { - right = range->right; - /* Use 4 instead of sizeof(long) is justified! */ - if(right.type == ARE_VALUE && right.value <= 4) - return FL_FITS_SIGNED; - } - asn1constraint_range_free(range); - } - - /* - * Third, pull up the PER visible range of the INTEGER. - */ - range = asn1constraint_compute_PER_range(expr->Identifier, expr->expr_type, - expr->combined_constraints, ACT_EL_RANGE, 0, 0, 0); - - if(!range - /* Commenting out - || range->extensible - * because this may or may not indicate wide type. - */ - || (range->extensible && (arg->flags & A1C_USE_WIDE_TYPES)) - || range->empty_constraint - || range->incompatible - || range->not_PER_visible - ) { - asn1constraint_range_free(range); - return (arg->flags & A1C_USE_WIDE_TYPES) - ? FL_NOTFIT : FL_PRESUMED; - } - - left = range->left; - right = range->right; - asn1constraint_range_free(range); - - /* Special case for unsigned */ - if(!(arg->flags & A1C_USE_WIDE_TYPES) && left.type == ARE_VALUE - && left.value >= 0 && left.value <= 2147483647 - && right.type == ARE_MAX) { - return FL_FITS_UNSIGN; - } - if(left.type == ARE_VALUE - && left.value >= 0 - && right.type == ARE_VALUE - && right.value > 2147483647 - && right.value <= (asn1c_integer_t)(4294967295UL)) - return FL_FITS_UNSIGN; - - - /* If some fixed value is outside of target range, not fit */ - if(left.type == ARE_VALUE - && (left.value < LEFTMIN || left.value > RIGHTMAX)) - return FL_NOTFIT; - if(right.type == ARE_VALUE - && (right.value > RIGHTMAX || right.value < LEFTMIN)) - return FL_NOTFIT; - - /* If the range is open, fits only unless -fwide-types is given */ - if(left.type != ARE_VALUE || right.type != ARE_VALUE) { - return (arg->flags & A1C_USE_WIDE_TYPES) - ? FL_NOTFIT : FL_PRESUMED; - } - - return FL_FITS_SIGNED; -} diff --git a/libasn1compiler/asn1c_misc.h b/libasn1compiler/asn1c_misc.h deleted file mode 100644 index 89ce98b..0000000 --- a/libasn1compiler/asn1c_misc.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef ASN1_COMPILER_MISC_H -#define ASN1_COMPILER_MISC_H - -/* - * Make the target language identifier out of one or more names. - * The function will concatenate the names and replace unsafe characters - * with safe ones. - */ -enum ami_flags_e { - AMI_MASK_ONLY_SPACES = 1, /* Mask only spaces, everything else's safe */ - AMI_CHECK_RESERVED = 2, /* Check against reserved keywords */ - AMI_NODELIMITER = 4, /* Do not put delimiter, just concatenate */ - AMI_USE_PREFIX = 8, /* Use Prefix when generating identifier */ -}; -const char *asn1c_make_identifier(enum ami_flags_e, asn1p_expr_t *expr, ...); - -/* - * Return the type name of the specified expression. - * The returned string is a pointer to a statically allocated buffer which is - * going to be clobbered by the subsequent invocation of this function. - */ -enum tnfmt { - TNF_UNMODIFIED = 0x10, /* Return unmodified type name */ - TNF_INCLUDE = 0x20, /* Format for #include <> */ - TNF_CTYPE = 0x30, /* Format as normal C-ish type (append "_t") */ - TNF_CONSTYPE = 0x40, /* Replace unsafe characters with _ */ - TNF_SAFE = 0x50, /* Replace unsafe characters with _ */ - TNF_RSAFE = 0x60, /* Recursion-safe C type format */ -}; -const char *asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format); - -/* - * Check whether the specified INTEGER or ENUMERATED type can be represented - * using the generic 'long' type. - * Return values: - * FL_NOTFIT: No, it cannot be represented using long. - * FL_FITS_SIGNED: It can be represented using signed long. - * FL_FITS_UNSIGN: It can be represented using unsigned long. - * FL_PRESUMED: Probably can't, but -fwide-types is not in effect. - */ -enum asn1c_fitslong_e { - FL_NOTFIT, - FL_FITS_SIGNED, - FL_FITS_UNSIGN, - FL_PRESUMED, -}; -enum asn1c_fitslong_e asn1c_type_fits_long(arg_t *arg, asn1p_expr_t *expr); - -enum asn1c_fitsfloat_e { - RL_NOTFIT, - RL_FITS_FLOAT32, - RL_FITS_DOUBLE64 -}; -enum asn1c_fitsfloat_e asn1c_REAL_fits(arg_t *arg, asn1p_expr_t *expr); -const char *asn1c_prefix(void); - -#endif /* ASN1_COMPILER_MISC_H */ diff --git a/libasn1compiler/asn1c_naming.c b/libasn1compiler/asn1c_naming.c deleted file mode 100644 index c892fcf..0000000 --- a/libasn1compiler/asn1c_naming.c +++ /dev/null @@ -1,327 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_naming.h" -#include "asn1c_misc.h" -#include -#include - -struct intl_name { - asn1p_expr_t *expr; - asn1p_expr_t *clashes_with; - const char *name; - TQ_ENTRY(struct intl_name) next; -}; - -genhash_t *used_names_hash; - -static void -name_entry_destroy(void *np) { - struct intl_name *n = np; - - union { - const char *c_buf; - char *nc_buf; - } const_cast; - - asn1p_expr_free(n->expr); - asn1p_expr_free(n->clashes_with); - const_cast.c_buf = n->name; - free(const_cast.nc_buf); - free(n); -} - -void -c_name_clash_finder_init() { - assert(used_names_hash == NULL); - used_names_hash = - genhash_new(cmpf_string, hashf_string, NULL, name_entry_destroy); - assert(used_names_hash); -} - -void -c_name_clash_finder_destroy() { - genhash_destroy(used_names_hash); - used_names_hash = NULL; -} - -static void -register_global_name(asn1p_expr_t *expr, const char *name) { - struct intl_name *n; - - n = genhash_get(used_names_hash, (const void *)name); - if(n) { - if(!(expr->_mark & TM_NAMEGIVEN) && (expr != n->expr)) { - n->clashes_with = expr; - expr->ref_cnt++; - return; - } - } - - if(expr->_mark & TM_NAMEGIVEN) - return; - - char *name_copy = strdup(name); - - n = calloc(1, sizeof(*n)); - assert(n); - n->expr = expr; - expr->ref_cnt++; - n->name = name_copy; - int ret = genhash_add(used_names_hash, name_copy, n); - assert(ret == 0); -} - -int -c_name_clash(arg_t *arg) { - struct intl_name *n; - size_t n_clashes = 0; - const size_t max_clashes = 5; - - genhash_iter_t iter; - - genhash_iter_init(&iter, used_names_hash, 0); - while(genhash_iter(&iter, NULL, (void *)&n)) { - if(n->clashes_with) { - if(n_clashes++ > max_clashes) continue; - FATAL( - "Name \"%s\" is generated by %s.%s at line %s:%d and " - "%s.%s at line %s:%d", - n->name, n->expr->module->ModuleName, n->expr->Identifier, - n->expr->module->source_file_name, n->expr->_lineno, - n->clashes_with->module->ModuleName, - n->clashes_with->Identifier, - n->clashes_with->module->source_file_name, - n->clashes_with->_lineno); - } - } - - genhash_iter_done(&iter); - - if(n_clashes > max_clashes) { - FATAL("... %zu more name clashes not shown", n_clashes - max_clashes); - } - - return n_clashes > 0; -} - - -static abuf * -construct_base_name(abuf *buf, asn1p_expr_t *expr, int compound_names, - int avoid_keywords, enum ami_flags_e flag) { - const char *id; - - assert(buf); - - if(compound_names && expr->parent_expr) { - construct_base_name(buf, expr->parent_expr, compound_names, 0, flag); - if(buf->length) { - abuf_str(buf, "__"); /* component separator */ - } - } - - id = asn1c_make_identifier( - ((avoid_keywords && !buf->length) ? AMI_CHECK_RESERVED : 0) | flag, expr, 0); - - abuf_str(buf, id); - - return buf; -} - -static struct c_names -c_name_impl(arg_t *arg, asn1p_expr_t *expr, int avoid_keywords) { - asn1p_expr_type_e expr_type = expr->expr_type; - struct c_names names; - int compound_names = 0; - - static abuf b_type_asn_name; - static abuf b_type_part_name; - static abuf b_type_base_name; - static abuf b_type_c_name; - static abuf b_type_constrained_c_name; - static abuf b_asn_name; - static abuf b_part_name; - static abuf b_base_name; - static abuf b_short_name; - static abuf b_full_name; - static abuf b_as_member; - static abuf b_presence_enum; - static abuf b_presence_name; - static abuf b_members_enum; - static abuf b_members_name; - - abuf_clear(&b_type_asn_name); - abuf_clear(&b_type_part_name); - abuf_clear(&b_type_base_name); - abuf_clear(&b_type_c_name); - abuf_clear(&b_type_constrained_c_name); - abuf_clear(&b_asn_name); - abuf_clear(&b_base_name); - abuf_clear(&b_part_name); - abuf_clear(&b_short_name); - abuf_clear(&b_full_name); - abuf_clear(&b_as_member); - abuf_clear(&b_presence_enum); - abuf_clear(&b_presence_name); - abuf_clear(&b_members_enum); - abuf_clear(&b_members_name); - - abuf_str(&b_type_asn_name, asn1c_type_name(arg, expr, TNF_UNMODIFIED)); - abuf_str(&b_type_part_name, asn1c_type_name(arg, expr, TNF_SAFE)); - abuf_str(&b_type_base_name, asn1c_type_name(arg, expr, TNF_SAFE)); - abuf_str(&b_type_c_name, asn1c_type_name(arg, expr, TNF_CTYPE)); - abuf_str(&b_type_constrained_c_name, - asn1c_type_name(arg, expr, TNF_CONSTYPE)); - - - if((arg->flags & A1C_COMPOUND_NAMES)) { - if((expr_type & ASN_CONSTR_MASK) - || expr_type == ASN_BASIC_ENUMERATED - || ((expr_type == ASN_BASIC_INTEGER - || expr_type == ASN_BASIC_BIT_STRING))) { - compound_names = 1; - } - } - - construct_base_name(&b_asn_name, expr, 0, 0, 0); - construct_base_name(&b_part_name, expr, 0, 0, AMI_USE_PREFIX); - construct_base_name(&b_base_name, expr, compound_names, avoid_keywords, 0); - construct_base_name(&b_as_member, expr, 0, 1, 0); - - static abuf tmp_compoundable_part_name; - static abuf compound_part_name; - abuf_clear(&tmp_compoundable_part_name); - abuf_clear(&compound_part_name); - construct_base_name(&tmp_compoundable_part_name, expr, compound_names, 0, 0); - construct_base_name(&compound_part_name, expr, 1, 0, 0); - - if(strlen(asn1c_prefix()) == 0) { - if(!expr->_anonymous_type) { - if(arg->embed) { - abuf_printf(&b_short_name, "%s", b_as_member.buffer); - } else { - abuf_printf(&b_short_name, "%s_t", b_as_member.buffer); - } - } - abuf_printf(&b_full_name, "struct %s", b_base_name.buffer); - abuf_printf(&b_presence_enum, "enum %s_PR", tmp_compoundable_part_name.buffer); - abuf_printf(&b_presence_name, "%s_PR", tmp_compoundable_part_name.buffer); - abuf_printf(&b_members_enum, "enum %s", b_base_name.buffer); - abuf_printf(&b_members_name, "e_%s", tmp_compoundable_part_name.buffer); - } else { - if(!expr->_anonymous_type) { - if(arg->embed) { - abuf_printf(&b_short_name, "%s%s", asn1c_prefix(), b_as_member.buffer); - } else { - abuf_printf(&b_short_name, "%s%s_t", asn1c_prefix(), b_as_member.buffer); - } - } - abuf_printf(&b_full_name, "struct %s%s", asn1c_prefix(), b_base_name.buffer); - abuf_printf(&b_presence_enum, "enum %s%s_PR", asn1c_prefix(), tmp_compoundable_part_name.buffer); - abuf_printf(&b_presence_name, "%s%s_PR", asn1c_prefix(), tmp_compoundable_part_name.buffer); - abuf_printf(&b_members_enum, "enum %s%s", asn1c_prefix(), b_base_name.buffer); - abuf_printf(&b_members_name, "e_%s%s", asn1c_prefix(), tmp_compoundable_part_name.buffer); - } - - names.type.asn_name = b_type_asn_name.buffer; - names.type.base_name = b_type_base_name.buffer; - names.type.part_name = b_type_part_name.buffer; - names.type.c_name = b_type_c_name.buffer; - names.type.constrained_c_name = b_type_constrained_c_name.buffer; - names.asn_name = b_asn_name.buffer; - names.part_name = b_part_name.buffer; - names.base_name = b_base_name.buffer; - names.short_name = b_short_name.buffer; - names.full_name = b_full_name.buffer; - names.as_member = b_as_member.buffer; - names.presence_enum = b_presence_enum.buffer; - names.presence_name = b_presence_name.buffer; - names.members_enum = b_members_enum.buffer; - names.members_name = b_members_name.buffer; - names.compound_name = compound_part_name.buffer; - - /* A _subset_ of names is checked against being globally unique */ - register_global_name(expr, names.base_name); - register_global_name(expr, names.full_name); - register_global_name(expr, names.presence_enum); - register_global_name(expr, names.presence_name); - register_global_name(expr, names.members_enum); - register_global_name(expr, names.members_name); - - expr->_mark |= TM_NAMEGIVEN; - - return names; -} - -struct c_names -c_name(arg_t *arg) { - return c_name_impl(arg, arg->expr, 1); -} - -struct c_names -c_expr_name(arg_t *arg, asn1p_expr_t *expr) { - return c_name_impl(arg, expr, 1); -} - -const char * -c_member_name(arg_t *arg, asn1p_expr_t *expr) { - static abuf ab; - - abuf_clear(&ab); - - /* NB: do not use part_name, doesn't work for -fcompound-names */ - abuf_str(&ab, asn1c_prefix()); - abuf_str(&ab, c_name_impl(arg, arg->expr, 0).base_name); - abuf_str(&ab, "_"); - abuf_str(&ab, asn1c_make_identifier(0, expr, 0)); - - return ab.buffer; -} - - -const char * -c_presence_name(arg_t *arg, asn1p_expr_t *expr) { - static abuf ab; - - abuf_clear(&ab); - - abuf_str(&ab, asn1c_prefix()); - if(expr) { - /* NB: do not use part_name, doesn't work for -fcompound-names */ - abuf_str(&ab, c_name_impl(arg, arg->expr, 0).base_name); - abuf_str(&ab, "_PR_"); - abuf_str(&ab, asn1c_make_identifier(0, expr, 0)); - } else { - abuf_printf(&ab, "%s_PR_NOTHING", - c_name_impl(arg, arg->expr, 0).base_name); - } - - return ab.buffer; -} - -const char * -c_names_format(struct c_names ns) { - static abuf nbuf; - abuf_clear(&nbuf); - -#define FMT_COMPONENT(x) abuf_printf(&nbuf, " ." #x "=\"%s\",", ns.x); - - abuf_str(&nbuf, "{"); - FMT_COMPONENT(type.asn_name); - FMT_COMPONENT(type.part_name); - FMT_COMPONENT(type.base_name); - FMT_COMPONENT(type.c_name); - FMT_COMPONENT(type.constrained_c_name); - FMT_COMPONENT(asn_name); - FMT_COMPONENT(part_name); - FMT_COMPONENT(base_name); - FMT_COMPONENT(full_name); - FMT_COMPONENT(short_name); - FMT_COMPONENT(full_name); - FMT_COMPONENT(as_member); - FMT_COMPONENT(presence_enum); - FMT_COMPONENT(presence_name); - FMT_COMPONENT(members_enum); - FMT_COMPONENT(members_name); - abuf_printf(&nbuf, " .members_name=\"%s\" }", ns.members_name); - return nbuf.buffer; -} - diff --git a/libasn1compiler/asn1c_naming.h b/libasn1compiler/asn1c_naming.h deleted file mode 100644 index c2b94c9..0000000 --- a/libasn1compiler/asn1c_naming.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef ASN1_COMPILER_NAMING_H -#define ASN1_COMPILER_NAMING_H - - -/* - * A member or a field name. - */ -struct c_names { - struct { - const char *asn_name; /* "T-Rex" */ - const char *part_name; /* "T_Rex" */ - const char *base_name; /* "T_Rex" */ - const char *c_name; /* "T_Rex_t" */ - const char *constrained_c_name; /* "long" */ - } type; - const char *asn_name; /* "foo" */ - const char *part_name; /* "foo", "signed" */ - const char *base_name; /* "foo" if not, "parent_foo" if compound */ - const char *short_name; /* "foo_t", "e_foo" */ - const char *full_name; /* "struct foo", "enum foo" */ - const char *as_member; /* "foo" (not compounded) */ - const char *presence_enum; /* "enum foo_PR" */ - const char *presence_name; /* "foo_PR" */ - const char *members_enum; /* "enum foo" */ - const char *members_name; /* "e_foo" */ - const char *compound_name; /* always contain "parent_foo" */ -}; - -struct c_names c_name(arg_t *); -struct c_names c_expr_name(arg_t *, asn1p_expr_t *); -const char *c_member_name(arg_t *, asn1p_expr_t *); /* %s_%s */ -const char *c_presence_name(arg_t *, asn1p_expr_t *); /* %s_PR_%s */ - -const char *c_names_format(struct c_names); /* For debugging */ - -/* - * Returns 0 if no C name clashes have been encountered. - * Returns 1 if C name clashes have been encountered. - * Prints out the clashing items and suggests -fcompound-names. - */ -int c_name_clash(arg_t *arg); - -void c_name_clash_finder_init(void); - -void c_name_clash_finder_destroy(void); - -#endif /* ASN1_COMPILER_NAMING_H */ diff --git a/libasn1compiler/asn1c_out.c b/libasn1compiler/asn1c_out.c deleted file mode 100644 index b381e21..0000000 --- a/libasn1compiler/asn1c_out.c +++ /dev/null @@ -1,116 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_out.h" - -/* - * Add an elementary chunk of target language text - * into appropriate output stream. - */ -int -asn1c_compiled_output(arg_t *arg, const char *source, int lineno, const char *func, const char *fmt, - ...) { - struct compiler_stream_destination_s *dst; - const char *p; - int lf_found; - va_list ap; - out_chunk_t *m; - int ret; - - switch(arg->target->target) { - case OT_IGNORE: - return 0; - default: - dst = &arg->target->destination[arg->target->target]; - break; - } - - /* - * Make sure the output has a single LF and only at the end. - */ - for(lf_found = 0, p = fmt; *p; p++) { - if(*p == '\n') { - lf_found++; - assert(p[1] == '\0'); - } - } - assert(lf_found <= 1); - - /* - * Print out the indentation. - */ - if(dst->indented == 0) { - int i = dst->indent_level; - if (i < 0) { - /* fatal error */ - fprintf(stderr, "target %d : Indent level %d ?!\n", arg->target->target, i); - exit(1); - } - dst->indented = 1; - while(i--) { - ret = asn1c_compiled_output(arg, source, lineno, func, "\t"); - if(ret == -1) return -1; - } - } - if(lf_found) - dst->indented = 0; - - size_t debug_reserve_size = 0; - if(lf_found && (arg->flags & A1C_DEBUG_OUTPUT_ORIGIN_LINES)) { - debug_reserve_size = - sizeof("\t// :100000 ()") + strlen(source) + strlen(func); - } - - /* - * Allocate buffer. - */ - m = calloc(1, sizeof(out_chunk_t)); - if(m == NULL) return -1; - - m->len = 16; - do { - void *tmp; - m->len <<= 2; - tmp = realloc(m->buf, m->len + debug_reserve_size); - if(tmp) { - m->buf = (char *)tmp; - } else { - free(m->buf); - free(m); - return -1; - } - va_start(ap, fmt); - ret = vsnprintf(m->buf, m->len, fmt, ap); - va_end(ap); - } while(ret >= (m->len - 1) || ret < 0); - - m->len = ret; - - /* Print out the origin of the lines */ - if(lf_found && (arg->flags & A1C_DEBUG_OUTPUT_ORIGIN_LINES)) { - assert(m->buf[m->len - 1] == '\n'); - ret = snprintf(m->buf + m->len - 1, debug_reserve_size, - "\t// %s:%03d %s()\n", source, lineno, func); - assert(ret > 0 && (size_t)ret < debug_reserve_size); - m->len = m->len - 1 + ret; - } - - if(arg->target->target == OT_INCLUDES - || arg->target->target == OT_FWD_DECLS - || arg->target->target == OT_POST_INCLUDE) { - out_chunk_t *v; - TQ_FOR(v, &dst->chunks, next) { - if(m->len == v->len - && !memcmp(m->buf, v->buf, m->len)) - break; - } - if(v) { - /* Entry is already present. Skip it. */ - free(m->buf); - free(m); - return 0; - } - } - - TQ_ADD(&dst->chunks, m, next); - - return 0; -} diff --git a/libasn1compiler/asn1c_out.h b/libasn1compiler/asn1c_out.h deleted file mode 100644 index e999fc9..0000000 --- a/libasn1compiler/asn1c_out.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef ASN1_COMPILED_OUTPUT_H -#define ASN1_COMPILED_OUTPUT_H - -/* - * An elementary chunk of target language text. - */ -typedef struct out_chunk { - char *buf; - int len; - - TQ_ENTRY(struct out_chunk) next; -} out_chunk_t; - -typedef struct compiler_streams { - enum { - OT_IGNORE, /* Ignore this output */ - OT_INCLUDES, /* #include files */ - OT_DEPS, /* Dependencies (other than #includes) */ - OT_FWD_DECLS, /* Forward declarations */ - OT_FWD_DEFS, /* Forward definitions */ - OT_TYPE_DECLS, /* Type declarations */ - OT_FUNC_DECLS, /* Function declarations */ - OT_POST_INCLUDE,/* #include after type definition */ - OT_IOC_TABLES, /* Information Object Class tables */ - OT_CTABLES, /* Constraint tables */ - OT_CODE, /* Some code */ - OT_CTDEFS, /* Constraint definitions */ - OT_STAT_DEFS, /* Static definitions */ - OT_MAX - } target; - - struct compiler_stream_destination_s { - TQ_HEAD(out_chunk_t) chunks; - int indent_level; - int indented; - } destination[OT_MAX]; -} compiler_streams_t; - -static char *_compiler_stream2str[] __attribute__ ((unused)) - = { "IGNORE", "INCLUDES", "DEPS", "FWD-DECLS", "FWD-DEFS", "TYPE-DECLS", "FUNC-DECLS", "POST-INCLUDE", "IOC-TABLES", "CTABLES", "CODE", "CTDEFS", "STAT-DEFS" }; - -int asn1c_compiled_output(arg_t *arg, const char *file, int lineno, - const char *func, const char *fmt, ...) - __attribute__((format(printf, 5, 6))); - - -/***************************************************************** - * Useful macros for invoking asn1c_compiled_output() and friends. - */ - -/* Redirect output to a different stream. */ -#define REDIR(foo) do { arg->target->target = foo; } while(0) -#define INDENT_LEVEL \ - arg->target->destination[arg->target->target].indent_level -#define INDENT(val) INDENT_LEVEL += (val) -#define INDENTED(code) do { \ - INDENT(+1); \ - do { code; } while(0); \ - INDENT(-1); \ - } while(0) - -#define EMBED(ev) \ - do { \ - arg->embed++; \ - INDENTED(arg_t _tmp = *arg; _tmp.expr = ev; \ - _tmp.default_cb(&_tmp, NULL);); \ - arg->embed--; \ - assert(arg->target->target == OT_TYPE_DECLS \ - || arg->target->target == OT_FWD_DEFS); \ - } while(0) - -#define EMBED_WITH_IOCT(ev, ioc) \ - do { \ - arg->embed++; \ - INDENTED(arg_t _tmp = *arg; _tmp.expr = ev; \ - _tmp.default_cb(&_tmp, ((ioc).ioct ? &ioc : 0));); \ - arg->embed--; \ - assert(arg->target->target == OT_TYPE_DECLS \ - || arg->target->target == OT_FWD_DEFS); \ - } while(0) - -/* Output a piece of text into a default stream */ -#define OUT(fmt, args...) \ - asn1c_compiled_output(arg, __FILE__, __LINE__, __func__, fmt, ##args) -#define OUT_NOINDENT(fmt, args...) do { \ - int _saved_indent = INDENT_LEVEL; \ - INDENT_LEVEL = 0; \ - OUT(fmt, ##args); \ - INDENT_LEVEL = _saved_indent; \ -} while(0) -#define OUT_DEBUG(fmt, args...) do { \ - if(arg->flags & A1C_DEBUG) OUT(fmt, ##args); \ - } while(0) - -/* Generate #include line */ -#define GEN_INCLUDE_STD(typename) do { \ - if((arg->flags & A1C_INCLUDES_QUOTED)) { \ - GEN_INCLUDE("\"" typename ".h\""); \ - } else { \ - GEN_INCLUDE("<" typename ".h>"); \ - } } while(0) -#define GEN_INCLUDE(filename) \ - GEN_POS_INCLUDE(OT_INCLUDES, filename) -#define GEN_POSTINCLUDE(filename) \ - GEN_POS_INCLUDE(OT_POST_INCLUDE, filename) -#define GEN_POS_INCLUDE(pos, filename) do { \ - int saved_target = arg->target->target; \ - if(!filename) break; \ - REDIR(pos); \ - OUT_NOINDENT("#include %s\n", filename); \ - REDIR(saved_target); \ -} while(0) -#define GEN_POS_INCLUDE_BASE(pos, expr) do { \ - asn1p_expr_t *rhs_pspecs = expr->rhs_pspecs; \ - expr->rhs_pspecs = (asn1p_expr_t *)0; \ - int saved_target = arg->target->target; \ - REDIR(pos); \ - OUT_NOINDENT("#include %s\n", \ - asn1c_type_name(arg, expr, TNF_INCLUDE)); \ - expr->rhs_pspecs = rhs_pspecs; \ - REDIR(saved_target); \ -} while(0) - -/* Generate ASN.1 type declaration */ -#define GEN_DECLARE(type_name, expr) do { \ - int saved_target = arg->target->target; \ - REDIR(OT_FUNC_DECLS); \ - OUT_NOINDENT("extern asn_TYPE_descriptor_t " \ - "asn_DEF_%s;\n", MKID(expr)); \ - if (expr->_type_referenced) { \ - OUT_NOINDENT("extern asn_%s_specifics_t " \ - "asn_SPC_%s_specs_%d;\n", type_name, \ - MKID(expr), expr->_type_unique_index); \ - if(expr_elements_count(arg, expr)) \ - OUT_NOINDENT("extern asn_TYPE_member_t " \ - "asn_MBR_%s_%d[%d];\n", \ - MKID(expr), expr->_type_unique_index, \ - expr_elements_count(arg, expr)); \ - } \ - REDIR(saved_target); \ -} while(0) - -/* - * Format LONG_MIN according to C90 rules. - */ -#define OINT(iv) \ - do { \ - if(iv == (-2147483647L - 1)) \ - OUT("(-2147483647L - 1)"); \ - else \ - OUT("%s", asn1p_itoa(iv)); \ - } while(0) - -#define OINTS(iv) \ - do { \ - if(iv == (-2147483647L - 1)) \ - OUT("(-2147483647L - 1)"); \ - else \ - OUT("%s%s", (iv >= 0) ? " " : "", asn1p_itoa(iv)); \ - } while(0) - -#endif /* ASN1_COMPILED_OUTPUT_H */ diff --git a/libasn1compiler/asn1c_save.c b/libasn1compiler/asn1c_save.c deleted file mode 100644 index 79d82c7..0000000 --- a/libasn1compiler/asn1c_save.c +++ /dev/null @@ -1,1021 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_compat.h" -#include "asn1c_fdeps.h" -#include "asn1c_lang.h" -#include "asn1c_misc.h" -#include "asn1c_save.h" -#include "asn1c_out.h" - -#ifndef HAVE_SYMLINK -#define symlink(a,b) (errno=ENOSYS, -1) -#endif - -/* Pedantically check fprintf's return value. */ -static int safe_fprintf(FILE *fp, const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - int ret = vfprintf(fp, fmt, ap); - va_end(ap); - assert(ret >= 0); - return ret; -} - -/* Pedantically check fwrite's return value. */ -static size_t safe_fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream) { - size_t ret = fwrite(ptr, 1, size * nitems, stream); - assert(ret == size * nitems); - return ret; -} - -#define HINCLUDE(s) \ - ((arg->flags & A1C_INCLUDES_QUOTED) \ - ? safe_fprintf(fp_h, "#include \"%s\"\n", s) \ - : safe_fprintf(fp_h, "#include <%s>\n", s)) \ - -enum include_type_result { - TI_NOT_INCLUDED, - TI_INCLUDED_FROM_BULK, - TI_INCLUDED_FROM_CMDLINE -}; - -static int asn1c_dump_streams(arg_t *arg, asn1c_dep_chainset *, const char *, int, char **); -static int asn1c_print_streams(arg_t *arg); -static int asn1c_save_streams(arg_t *arg, asn1c_dep_chainset *, const char *, - int, char **); -static int asn1c_copy_over(arg_t *arg, const char *destdir, const char *path, - const char *msg); -static int identical_files(const char *fname1, const char *fname2); -static int need_to_generate_pdu_collection(arg_t *arg); -static abuf *generate_pdu_collection(arg_t *arg); -static int generate_pdu_collection_file(arg_t *arg, const char *destdir); -static int generate_preamble(arg_t *, FILE *, int optc, char **argv); -static enum include_type_result include_type_to_pdu_collection(arg_t *arg); -static int pdu_collection_has_unused_types(arg_t *arg); -static const char *generate_pdu_C_definition(void); -static void asn1c__cleanup_pdu_type(void); -static int asn1c__pdu_type_lookup(const char *typename); -static int generate_constant_file(arg_t *arg, const char *destdir); - -static int -asn1c__save_library_makefile(arg_t *arg, const asn1c_dep_chainset *deps, - const char *datadir, const char *destdir, - const char *makefile_name) { - asn1p_module_t *mod; - FILE *mkf; - - mkf = asn1c_open_file(destdir, makefile_name, "", 0); - if(mkf == NULL) { - perror(makefile_name); - return -1; - } - - safe_fprintf(mkf, "ASN_MODULE_SRCS="); - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - if(asn1_lang_map[arg->expr->meta_type] - [arg->expr->expr_type].type_cb && - (arg->expr->meta_type != AMT_VALUE)) { - safe_fprintf(mkf, "\t\\\n\t%s%s.c", destdir, - asn1c_make_identifier(AMI_MASK_ONLY_SPACES | AMI_USE_PREFIX, arg->expr, 0)); - } - } - } - safe_fprintf(mkf, "\n\nASN_MODULE_HDRS="); - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - if(asn1_lang_map[arg->expr->meta_type] - [arg->expr->expr_type].type_cb && - (arg->expr->meta_type != AMT_VALUE)) { - safe_fprintf( - mkf, "\t\\\n\t%s%s.h", destdir, - asn1c_make_identifier(AMI_MASK_ONLY_SPACES | AMI_USE_PREFIX, arg->expr, 0)); - } - } - } - safe_fprintf(mkf, "\n\n"); - - /* - * Move necessary skeleton files and add them to Makefile.am.targets. - */ - asn1c_dep_chain *dlist = asn1c_deps_flatten(deps, ~FDEP_CONVERTER); - if(dlist) { - char dstpath[PATH_MAX]; - char *dir_end; - size_t dlen = strlen(datadir); - - assert(dlen < (sizeof(dstpath) / 2 - 2)); - memcpy(dstpath, datadir, dlen); - dir_end = dstpath + dlen; - *dir_end++ = '/'; - - for(size_t i = 0; i < dlist->deps_count; i++) { - char where[32]; /* Location of the */ - char *what_kind; /* HDRS or SRCS */ - const asn1c_dep_filename *dep_file = dlist->deps[i]; - char *fname = dep_file->filename; - char *dotH; - - assert(strlen(fname) < (sizeof(dstpath) / 2)); - strcpy(dir_end, fname); - - if(arg->flags & A1C_DEBUG) { - snprintf(where, sizeof(where), "(line %d col %d)", - dep_file->lineno, dep_file->column); - } else { - where[0] = '\0'; - } - - if(asn1c_copy_over(arg, destdir, dstpath, where) == -1) { - safe_fprintf(mkf, ">>>ABORTED<<<"); - fclose(mkf); - return -1; - } - - /* HDRS versus SRCS */ - dotH = strrchr(fname, 'h'); - if(dotH && fname < dotH && dotH[-1] == '.' && !dotH[1]) { - what_kind = "HDRS"; - } else { - what_kind = "SRCS"; - } - safe_fprintf(mkf, "ASN_MODULE_%s+=%s%s\n", what_kind, destdir, - fname); - } - - asn1c_dep_chain_free(dlist); - } - - safe_fprintf( - mkf, - "\n" - "ASN_MODULE_CFLAGS=%s%s", - (arg->flags & A1C_GEN_OER) ? "" : "-DASN_DISABLE_OER_SUPPORT ", - (arg->flags & A1C_GEN_PER) ? "" : "-DASN_DISABLE_PER_SUPPORT "); - - safe_fprintf( - mkf, - "\n\n" - "lib_LTLIBRARIES+=libasncodec.la\n" - "libasncodec_la_SOURCES=" - "$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)\n" - "libasncodec_la_CPPFLAGS=-I$(top_srcdir)/%s\n" - "libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)\n" - "libasncodec_la_LDFLAGS=-lm\n", destdir); - fclose(mkf); - safe_fprintf(stderr, "Generated %s%s\n", destdir, makefile_name); - - return 0; -} - -static int -asn1c__save_example_mk_makefile(arg_t *arg, const asn1c_dep_chainset *deps, - const char *datadir, const char *destdir, - const char *makefile_name, - const char *library_makefile_name, int argc, - char **argv) { - FILE *mkf; - asn1c_dep_chain *dlist = asn1c_deps_flatten(deps, FDEP_CONVERTER); - - /* Generate converter-example.mk snippet */ - mkf = asn1c_open_file(destdir, makefile_name, "", 0); - if(mkf == NULL) { - perror(makefile_name); - return -1; - } - safe_fprintf( - mkf, - "include %s%s\n\n" - "LIBS += -lm\n" - "CFLAGS += $(ASN_MODULE_CFLAGS) %s%s-I.\n" - "ASN_LIBRARY ?= libasncodec.a\n" - "ASN_PROGRAM ?= converter-example\n" - "ASN_PROGRAM_SRCS ?= ", - destdir, library_makefile_name, - (arg->flags & A1C_PDU_TYPE) ? generate_pdu_C_definition() : "", - need_to_generate_pdu_collection(arg) ? "-DASN_PDU_COLLECTION " : ""); - - if(dlist) { - for(size_t i = 0; i < dlist->deps_count; i++) { - char dstpath[PATH_MAX]; - int ret = snprintf(dstpath, sizeof(dstpath), "%s/%s", datadir, - dlist->deps[i]->filename); - assert(ret > 0 && (size_t)ret < sizeof(dstpath)); - if(asn1c_copy_over(arg, destdir, dstpath, "implicit") == -1) { - safe_fprintf(mkf, ">>>ABORTED<<<"); - fclose(mkf); - return -1; - } - safe_fprintf(mkf, "\\\n\t%s%s", destdir, dlist->deps[i]->filename); - } - asn1c_dep_chain_free(dlist); - } - - if(need_to_generate_pdu_collection(arg)) { - safe_fprintf(mkf, "\\\n\t%spdu_collection.c", destdir); - if(generate_pdu_collection_file(arg, destdir)) { - return -1; - } - } - - safe_fprintf( - mkf, - "\n\nall: $(ASN_PROGRAM)\n" - "\n$(ASN_PROGRAM): $(ASN_LIBRARY) $(ASN_PROGRAM_SRCS:.c=.o)" - "\n\t$(CC) $(CFLAGS) $(CPPFLAGS) -o $(ASN_PROGRAM) " - "$(ASN_PROGRAM_SRCS:.c=.o) $(LDFLAGS) $(ASN_LIBRARY) $(LIBS)\n" - "\n$(ASN_LIBRARY): $(ASN_MODULE_SRCS:.c=.o)" - "\n\t$(AR) rcs $@ $(ASN_MODULE_SRCS:.c=.o)\n" - "\n.SUFFIXES:" - "\n.SUFFIXES: .c .o\n" - "\n.c.o:" - "\n\t$(CC) $(CFLAGS) -o $@ -c $<\n" - "\nclean:" - "\n\trm -f $(ASN_PROGRAM) $(ASN_LIBRARY)" - "\n\trm -f $(ASN_MODULE_SRCS:.c=.o) $(ASN_PROGRAM_SRCS:.c=.o)\n" - "\nregen: regenerate-from-asn1-source\n" - "\nregenerate-from-asn1-source:\n\t"); - - for(int i = 0; i < argc; i++) { - safe_fprintf(mkf, "%s%s", i ? " " : "", argv[i]); - } - safe_fprintf(mkf, "\n\n"); - - fclose(mkf); - safe_fprintf(stderr, "Generated %s%s\n", destdir, makefile_name); - - return 0; -} - -static int -asn1c__save_example_am_makefile(arg_t *arg, const asn1c_dep_chainset *deps, const char *datadir, - const char *destdir, const char *makefile_name, - const char *library_makefile_name, int argc, - char **argv) { - FILE *mkf; - asn1c_dep_chain *dlist = asn1c_deps_flatten(deps, FDEP_CONVERTER); - - /* Generate example.am snippet */ - mkf = asn1c_open_file(destdir, makefile_name, "", 0); - if(mkf == NULL) { - return -1; - } - safe_fprintf(mkf, - "include %s%s\n\n" - "bin_PROGRAMS += asn1convert\n" - "asn1convert_CFLAGS = $(ASN_MODULE_CFLAGS) %s%s\n" - "asn1convert_CPPFLAGS = -I$(top_srcdir)/%s\n" - "asn1convert_LDADD = libasncodec.la\n" - "asn1convert_SOURCES = ", - destdir, library_makefile_name, - (arg->flags & A1C_PDU_TYPE) ? generate_pdu_C_definition() : "", - need_to_generate_pdu_collection(arg) ? "-DASN_PDU_COLLECTION " : "", destdir); - - if(dlist) { - for(size_t i = 0; i < dlist->deps_count; i++) { - char dstpath[PATH_MAX]; - int ret = snprintf(dstpath, sizeof(dstpath), "%s/%s", datadir, - dlist->deps[i]->filename); - assert(ret > 0 && (size_t)ret < sizeof(dstpath)); - if(asn1c_copy_over(arg, destdir, dstpath, "implicit") == -1) { - safe_fprintf(mkf, ">>>ABORTED<<<"); - fclose(mkf); - return -1; - } - safe_fprintf(mkf, "\\\n\t%s%s", destdir, dlist->deps[i]->filename); - } - asn1c_dep_chain_free(dlist); - } - - if(need_to_generate_pdu_collection(arg)) { - safe_fprintf(mkf, "\\\n\t%spdu_collection.c", destdir); - if(generate_pdu_collection_file(arg, destdir)) - return -1; - } - - safe_fprintf(mkf, - "\nregen: regenerate-from-asn1-source\n" - "\nregenerate-from-asn1-source:\n\t"); - - for(int i = 0; i < argc; i++) - safe_fprintf(mkf, "%s%s", i ? " " : "", argv[i]); - safe_fprintf(mkf, "\n\n"); - - fclose(mkf); - safe_fprintf(stderr, "Generated %s%s\n", destdir, makefile_name); - - return 0; -} - -static int -asn1c__save_autotools_example(const char *destdir, - const char *program_makefile_name) { - FILE *fd; - const char* confac = "configure.ac"; - const char* makeam = "Makefile.am"; - - if ((access(confac, F_OK) != -1) - || (access(makeam, F_OK) != -1)) - { - safe_fprintf(stderr, "Refusing to overwrite existing '%s' or '%s'\n", confac, makeam); - return -1; - } - - fd = asn1c_open_file("", confac, "", 0); - if(fd == NULL) { - perror(confac); - return -1; - } - - safe_fprintf(fd, - "AC_INIT([asn1convert],[0.1])\n" - "AM_INIT_AUTOMAKE([-Werror foreign subdir-objects])\n" - "AC_PREREQ([2.62])\n" - "AC_PROG_CC\n" - "LT_INIT\n" - "AM_SILENT_RULES([yes])\n" - "AC_CONFIG_FILES([Makefile])\n" - "AC_OUTPUT\n"); - fclose(fd); - safe_fprintf(stderr, "Generated minimal example %s\n", confac); - - fd = asn1c_open_file("", makeam, "", 0); - if(fd == NULL) { - perror(makeam); - return -1; - } - - safe_fprintf(fd, - "bin_PROGRAMS =\n" - "lib_LTLIBRARIES =\n" - "include %s%s\n\n", - destdir, program_makefile_name); - - fclose(fd); - safe_fprintf(stderr, "Generated minimal example %s\n", makeam); - safe_fprintf(stderr, "\nRun the following to generate a configure script:\n"); - safe_fprintf(stderr, "$ autoreconf --force --install\n"); - return 0; -} - -static int -can_generate_pdu_collection(arg_t *arg) { - abuf *buf = generate_pdu_collection(arg); - if(!buf) { - return -1; - } - abuf_free(buf); - return 0; -} - -int -asn1c_save_compiled_output(arg_t *arg, const char *datadir, const char *destdir, - int argc, int optc, char **argv) { - int ret = -1; - - const char* example_am_makefile = "Makefile.am.asn1convert"; - const char* program_makefile = "converter-example.mk"; - const char* library_makefile = "Makefile.am.libasncodec"; - - /* - * Early check that we can properly generate PDU collection. - */ - if(can_generate_pdu_collection(arg) == -1) { - return -1; - } - - asn1c_dep_chainset *deps; - do { - asn1p_module_t *mod; - - deps = asn1c_read_file_dependencies(arg, datadir); - if(!deps && datadir) { - WARNING( - "Cannot read file-dependencies information " - "from %s\n", - datadir); - } - - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - if(asn1_lang_map[arg->expr->meta_type][arg->expr->expr_type] - .type_cb && - (arg->expr->meta_type != AMT_VALUE)) { - ret = asn1c_dump_streams(arg, deps, destdir, optc, argv); - if(ret) break; - } - } - } - - /* - * Dump out the Makefile template and the rest of the support code. - */ - if((arg->flags & A1C_PRINT_COMPILED) - || (arg->flags & A1C_OMIT_SUPPORT_CODE)) { - ret = 0; /* Success */ - break; - } - - if(ret) break; - - ret = asn1c__save_library_makefile(arg, deps, datadir, destdir, - library_makefile); - if(ret) break; - - if(arg->flags & A1C_GEN_EXAMPLE) { - ret = asn1c__save_example_mk_makefile(arg, deps, datadir, destdir, - program_makefile, - library_makefile, argc, argv); - if(ret) break; - ret = asn1c__save_example_am_makefile(arg, deps, datadir, destdir, - example_am_makefile, - library_makefile, argc, argv); - if(ret) break; - - if(arg->flags & A1C_GEN_AUTOTOOLS_EXAMPLE) { - ret = asn1c__save_autotools_example(destdir, example_am_makefile); - if(ret) break; - } - } - } while(0); - - asn1c_dep_chainset_free(deps); - asn1c__cleanup_pdu_type(); - - generate_constant_file(arg, destdir); - - return ret; -} - -/* - * Dump the streams. - */ -static int -asn1c_dump_streams(arg_t *arg, asn1c_dep_chainset *deps, const char *destdir, - int optc, char **argv) { - if(arg->flags & A1C_PRINT_COMPILED) { - return asn1c_print_streams(arg); - } else { - return asn1c_save_streams(arg, deps, destdir, optc, argv); - } -} - -static int -asn1c_print_streams(arg_t *arg) { - compiler_streams_t *cs = arg->expr->data; - asn1p_expr_t *expr = arg->expr; - int i; - - for(i = 1; i < OT_MAX; i++) { - out_chunk_t *ot; - if(TQ_FIRST(&cs->destination[i].chunks) == NULL) - continue; - - printf("\n/*** <<< %s [%s] >>> ***/\n\n", - _compiler_stream2str[i], - expr->Identifier); - - TQ_FOR(ot, &(cs->destination[i].chunks), next) { - safe_fwrite(ot->buf, ot->len, 1, stdout); - } - } - - return 0; -} - -static int -asn1c_save_streams(arg_t *arg, asn1c_dep_chainset *deps, const char *destdir, - int optc, char **argv) { - asn1p_expr_t *expr = arg->expr; - compiler_streams_t *cs = expr->data; - out_chunk_t *ot; - FILE *fp_c, *fp_h; - char *tmpname_c, *tmpname_h; - char name_buf[FILENAME_MAX]; - const char *header_id; - const char *c_retained = ""; - const char *h_retained = ""; - char *filename; - - if(cs == NULL) { - safe_fprintf(stderr, "Cannot compile %s at line %d\n", - expr->Identifier, expr->_lineno); - return -1; - } - - filename = strdup(asn1c_make_identifier(AMI_MASK_ONLY_SPACES | AMI_USE_PREFIX, - expr, (char*)0)); - fp_c = asn1c_open_file(destdir, filename, ".c", &tmpname_c); - if(fp_c == NULL) { - return -1; - } - fp_h = asn1c_open_file(destdir, filename, ".h", &tmpname_h); - if(fp_h == NULL) { - unlink(tmpname_c); - free(tmpname_c); - fclose(fp_c); - return -1; - } - - generate_preamble(arg, fp_c, optc, argv); - generate_preamble(arg, fp_h, optc, argv); - - header_id = asn1c_make_identifier(AMI_USE_PREFIX, expr, NULL); - safe_fprintf(fp_h, - "#ifndef\t_%s_H_\n" - "#define\t_%s_H_\n" - "\n", header_id, header_id); - - safe_fprintf(fp_h, "\n"); - HINCLUDE("asn_application.h"); - -#define SAVE_STREAM(fp, idx, msg, actdep) do { \ - if(TQ_FIRST(&(cs->destination[idx].chunks)) && *msg) \ - safe_fprintf(fp, "\n/* %s */\n", msg); \ - TQ_FOR(ot, &(cs->destination[idx].chunks), next) { \ - if(actdep) asn1c_activate_dependency(deps, ot->buf, header_id); \ - safe_fwrite(ot->buf, ot->len, 1, fp); \ - } \ -} while(0) - - SAVE_STREAM(fp_h, OT_INCLUDES, "Including external dependencies", 1); - - safe_fprintf(fp_h, "\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n"); - SAVE_STREAM(fp_h, OT_DEPS, "Dependencies", 0); - SAVE_STREAM(fp_h, OT_FWD_DECLS, "Forward declarations", 0); - SAVE_STREAM(fp_h, OT_FWD_DEFS, "Forward definitions", 0); - SAVE_STREAM(fp_h, OT_TYPE_DECLS, filename, 0); - SAVE_STREAM(fp_h, OT_FUNC_DECLS,"Implementation", 0); - safe_fprintf(fp_h, "\n#ifdef __cplusplus\n}\n#endif\n"); - - if(!(arg->flags & A1C_NO_INCLUDE_DEPS)) - SAVE_STREAM(fp_h, OT_POST_INCLUDE, "Referred external types", 1); - - safe_fprintf(fp_h, "\n#endif\t/* _%s_H_ */\n", header_id); - - HINCLUDE("asn_internal.h"); - safe_fprintf(fp_c, "#include \"%s.h\"\n\n", filename); - if(arg->flags & A1C_NO_INCLUDE_DEPS) - SAVE_STREAM(fp_c, OT_POST_INCLUDE, "", 1); - TQ_FOR(ot, &(cs->destination[OT_IOC_TABLES].chunks), next) - safe_fwrite(ot->buf, ot->len, 1, fp_c); - TQ_FOR(ot, &(cs->destination[OT_CTABLES].chunks), next) - safe_fwrite(ot->buf, ot->len, 1, fp_c); - TQ_FOR(ot, &(cs->destination[OT_CODE].chunks), next) - safe_fwrite(ot->buf, ot->len, 1, fp_c); - TQ_FOR(ot, &(cs->destination[OT_CTDEFS].chunks), next) - safe_fwrite(ot->buf, ot->len, 1, fp_c); - TQ_FOR(ot, &(cs->destination[OT_STAT_DEFS].chunks), next) - safe_fwrite(ot->buf, ot->len, 1, fp_c); - - assert(OT_MAX == 13); /* Protection from reckless changes */ - - fclose(fp_c); - fclose(fp_h); - - int ret = snprintf(name_buf, sizeof(name_buf), "%s%s.c", destdir, filename); - assert(ret > 0 && ret < (ssize_t)sizeof(name_buf)); - - if(identical_files(name_buf, tmpname_c)) { - c_retained = " (contents unchanged)"; - unlink(tmpname_c); - } else { - if(rename(tmpname_c, name_buf)) { - unlink(tmpname_c); - perror(tmpname_c); - free(tmpname_c); - free(tmpname_h); - return -1; - } - } - - sprintf(name_buf, "%s%s.h", destdir, filename); - if(identical_files(name_buf, tmpname_h)) { - h_retained = " (contents unchanged)"; - unlink(tmpname_h); - } else { - if(rename(tmpname_h, name_buf)) { - unlink(tmpname_h); - perror(tmpname_h); - free(tmpname_c); - free(tmpname_h); - return -1; - } - } - - free(tmpname_c); - free(tmpname_h); - - safe_fprintf(stderr, "Compiled %s%s.c%s\n", - destdir, filename, c_retained); - safe_fprintf(stderr, "Compiled %s%s.h%s\n", - destdir, filename, h_retained); - free(filename); - return 0; -} - -static int -generate_preamble(arg_t *arg, FILE *fp, int optc, char **argv) { - safe_fprintf(fp, - "/*\n" - " * Generated by asn1c-" VERSION " (http://lionet.info/asn1c)\n" - " * From ASN.1 module \"%s\"\n" - " * \tfound in \"%s\"\n", - arg->expr->module->ModuleName, - arg->expr->module->source_file_name); - if(optc > 1) { - int i; - safe_fprintf(fp, " * \t`asn1c "); - for(i = 1; i < optc; i++) - safe_fprintf(fp, "%s%s", i>1?" ":"", argv[i]); - safe_fprintf(fp, "`\n"); - } - safe_fprintf(fp, " */\n\n"); - return 0; -} - -static int -identical_files(const char *fname1, const char *fname2) { - char buf[2][4096]; - FILE *fp1, *fp2; - size_t olen, nlen; - int retval = 1; /* Files are identical */ - -#ifndef _WIN32 - struct stat sb; - - if(lstat(fname1, &sb) || !S_ISREG(sb.st_mode) - || lstat(fname2, &sb) || !S_ISREG(sb.st_mode)) { - return 0; /* Files are not identical */ - } -#endif - - fp1 = fopen(fname1, "r"); - if(!fp1) { return 0; } - fp2 = fopen(fname2, "r"); - if(!fp2) { fclose(fp1); return 0; } - - while((olen = fread(buf[0], 1, sizeof(buf[0]), fp1))) { - nlen = fread(buf[1], 1, olen, fp2); - if(nlen != olen || memcmp(buf[0], buf[1], nlen)) { - retval = 0; - break; - } - } - nlen = fread(buf[1], 1, 1, fp2); - if(nlen) retval = 0; - - fclose(fp1); - fclose(fp2); - return retval; -} - -/* - * Copy file for real. - */ -static int -real_copy(const char *src, const char *dst) { - unsigned char buf[4096]; - char *tmpname; - FILE *fpsrc, *fpdst; - size_t len; - int retval = 0; - - if(identical_files(src, dst)) - return retval; /* Success, no need to copy for real. */ - - fpsrc = fopen(src, "r"); - if(!fpsrc) { errno = EIO; return -1; } - fpdst = asn1c_open_file(NULL, dst, "", &tmpname); - if(!fpdst) { fclose(fpsrc); errno = EIO; return -1; } - - while(!feof(fpsrc)) { - len = fread(buf, 1, sizeof(buf), fpsrc); - if(safe_fwrite(buf, 1, len, fpdst) != len) { - perror(tmpname); - errno = EIO; - retval = -1; - break; - } - } - fclose(fpsrc); - fclose(fpdst); - - /* Check if copied correctly, and rename into a permanent name */ - if(retval) { - unlink(tmpname); - } else if(rename(tmpname, dst)) { - unlink(tmpname); - perror(tmpname); - retval = -1; - } - free(tmpname); - return retval; -} - -static int -asn1c_copy_over(arg_t *arg, const char *destdir, const char *path, - const char *msg) { -#ifdef _WIN32 - int use_real_copy = 1; -#else - int use_real_copy = !(arg->flags & A1C_LINK_SKELETONS); -#endif - - const char *fname = a1c_basename(path, destdir); - if(!fname - || (use_real_copy ? real_copy(path, fname) : symlink(path, fname)) - ) { - if(errno == EEXIST) { - struct stat sb1, sb2; - if(stat(path, &sb1) == 0 - && stat(fname, &sb2) == 0 - && sb1.st_dev == sb2.st_dev - && sb1.st_ino == sb2.st_ino) { - /* - * Nothing to do. - */ - safe_fprintf(stderr, - "File %s is already here as %s\n", - path, fname); - return 1; - } else { - safe_fprintf(stderr, - "Retaining local %s (%s suggested)\n", - fname, path); - return 1; - } - } else if(errno == ENOENT) { - /* Ignore this */ - return 0; - } else { - safe_fprintf(stderr, "%s %s -> %s failed: %s\n", - use_real_copy ? "Copy" : "Symlink", - path, fname, strerror(errno)); - return -1; - } - } - - const int has_msg = msg && *msg; - safe_fprintf(stderr, "%s %s\t-> %s%s%s\n", - use_real_copy ? "Copied" : "Symlinked", path, fname, - has_msg ? " " : "", has_msg ? msg : ""); - - return 1; -} - - -static int -generate_pdu_collection_file(arg_t *arg, const char *destdir) { - abuf *buf = generate_pdu_collection(arg); - assert(buf); - - FILE *fp = asn1c_open_file(destdir, "pdu_collection", ".c", 0); - if(fp == NULL) { - perror("pdu_collection.c"); - return -1; - } - safe_fwrite(buf->buffer, buf->length, 1, fp); - fclose(fp); - - safe_fprintf(stderr, "Generated pdu_collection.c\n"); - return 0; -} - -static abuf * -generate_pdu_collection(arg_t *arg) { - asn1p_module_t *mod; - abuf *buf = abuf_new(); - - abuf_printf(buf, "/*\n * Generated by asn1c-" VERSION - " (http://lionet.info/asn1c)\n */\n\n"); - abuf_printf(buf, - "struct asn_TYPE_descriptor_s;\t" - "/* Forward declaration */\n\n"); - - - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - if(include_type_to_pdu_collection(arg) == TI_NOT_INCLUDED) continue; - abuf_printf(buf, - "extern struct asn_TYPE_descriptor_s " - "asn_DEF_%s;\n", - asn1c_make_identifier(AMI_USE_PREFIX, arg->expr, NULL)); - } - } - - abuf_printf(buf, "\n\n"); - abuf_printf(buf, "struct asn_TYPE_descriptor_s *asn_pdu_collection[] = {\n"); - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - int mod_printed = 0; - TQ_FOR(arg->expr, &(mod->members), next) { - switch(include_type_to_pdu_collection(arg)) { - case TI_NOT_INCLUDED: - continue; - case TI_INCLUDED_FROM_BULK: - /* Increment */ - asn1c__pdu_type_lookup(arg->expr->Identifier); - break; - case TI_INCLUDED_FROM_CMDLINE: - break; - } - if(!mod_printed++) { - abuf_printf(buf, "\t/* From module %s in %s */\n", - arg->expr->module->ModuleName, - arg->expr->module->source_file_name); - } - abuf_printf(buf, "\t&asn_DEF_%s,\t\n", - asn1c_make_identifier(AMI_USE_PREFIX, arg->expr, NULL)); - } - } - - abuf_printf(buf, "\t0\n};\n\n"); - - if(pdu_collection_has_unused_types(arg)) { - abuf_free(buf); - return NULL; - } - - return buf; -} - -static struct PDUType { - char *typename; - int used; -} *pduType; -static size_t pduTypes; - -static const char * -generate_pdu_C_definition(void) { - const char *src; - char *def; - char *dst; - if(pduTypes == 0) return ""; - def = malloc(strlen(pduType[0].typename) + 20); - assert(def); - strcpy(def, "-DPDU="); - for(src = pduType[0].typename, dst = def + 6; *src; src++, dst++) { - if((*dst = *src) == '-') { - *dst = '_'; - } - } - *dst++ = ' '; - *dst = 0; - return def; -} - -void -asn1c__add_pdu_type(const char *ctypename) { - char *typename = strdup(ctypename); - assert(typename && *typename); - - pduType = realloc(pduType, sizeof(pduType[0]) * (pduTypes + 1)); - assert(pduType); - pduType[pduTypes].used = 0; - pduType[pduTypes].typename = typename; - pduTypes++; -} - -static void -asn1c__cleanup_pdu_type() { - for(size_t i = 0; i < pduTypes; i++) { - free(pduType[i].typename); - } - free(pduType); - pduType = NULL; - pduTypes = 0; -} - -static int -asn1c__pdu_type_lookup(const char *typename) { - for(size_t i = 0; i < pduTypes; i++) { - struct PDUType *pt = &pduType[i]; - if(strcmp(pt->typename, typename) == 0) { - pt->used++; - return 1; - } - } - return 0; -} - -static int -need_to_generate_pdu_collection(arg_t *arg) { - /* If -pdu=all or -pdu=auto are given, we need to generate one. */ - if(arg->flags & (A1C_PDU_ALL|A1C_PDU_AUTO)) - return 1; - - /* - * If no -pdu=... flags were given, need to do it, too, - * effectively producing -pdu=auto. - */ - if(!(arg->flags & (A1C_PDU_ALL | A1C_PDU_AUTO | A1C_PDU_TYPE))) return 1; - - if(arg->flags & A1C_PDU_TYPE) { - return (pduTypes > 1) ? 1 : 0; - } - return 0; -} - -static int -pdu_collection_has_unused_types(arg_t *arg) { - int ret = 0; - - for(size_t i = 0; i < pduTypes; i++) { - struct PDUType *pt = &pduType[i]; - if(!pt->used) { - FATAL("Unknown ASN.1 type specified in -pdu=%s", pt->typename); - ret = -1; - } - } - - return ret; -} - -static enum include_type_result -include_type_to_pdu_collection(arg_t *arg) { - if(!asn1_lang_map[arg->expr->meta_type][arg->expr->expr_type].type_cb || - (arg->expr->meta_type == AMT_VALUE)) - return 0; - - /* Parameterized types can't serve as PDU's without instantiation. */ - if(arg->expr->lhs_params) { - return 0; - } - - if((arg->flags & A1C_PDU_ALL) - /* -pdu=auto */ - || ((arg->flags & A1C_PDU_AUTO) && !arg->expr->_type_referenced) - /* No -pdu=... whatsoever, act as if -pdu=auto */ - || (!(arg->flags & (A1C_PDU_ALL | A1C_PDU_AUTO | A1C_PDU_TYPE)) - && !arg->expr->_type_referenced) - || asn1c__pdu_type_lookup(arg->expr->Identifier)) { - return 1; - } - - return 0; -} - -static abuf * -generate_constant_collection(arg_t *arg) { - asn1p_module_t *mod; - abuf *buf = abuf_new(); - int empty_file = 1; - - abuf_printf(buf, "/*\n * Generated by asn1c-" VERSION - " (http://lionet.info/asn1c)\n */\n\n"); - abuf_printf(buf, "#ifndef _%sASN_CONSTANT_H\n#define _%sASN_CONSTANT_H\n\n", asn1c_prefix(), asn1c_prefix()); - - abuf_printf(buf, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n"); - - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - if(arg->expr->meta_type != AMT_VALUE) - continue; - - if(arg->expr->expr_type == ASN_BASIC_INTEGER) { - abuf_printf(buf, "#define %s (%s)\n", - asn1c_make_identifier(AMI_USE_PREFIX, arg->expr, 0), - asn1p_itoa(arg->expr->value->value.v_integer)); - empty_file = 0; - } - } - } - - abuf_printf(buf, "\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* _%sASN_CONSTANT_H */\n", asn1c_prefix()); - - if(empty_file) { - abuf_free(buf); - return 0; - } - return buf; -} - -static int -generate_constant_file(arg_t *arg, const char *destdir) { - abuf *buf = generate_constant_collection(arg); - char *filename; - int filename_len; - - if(!buf) return 0; - - filename_len = strlen(asn1c_prefix()) + strlen("asn_constant"); - filename = calloc(filename_len + 1, 1); - snprintf(filename, filename_len + 1, "%sasn_constant", asn1c_prefix()); - - if(arg->flags & A1C_PRINT_COMPILED) { - printf("\n/*** <<< asn_constant.h >>> ***/\n\n"); - safe_fwrite(buf->buffer, buf->length, 1, stdout); - } else { - - FILE *fp = asn1c_open_file(destdir, filename, ".h", 0); - if(fp == NULL) { - perror("asn_constant.h"); - return -1; - } - safe_fwrite(buf->buffer, buf->length, 1, fp); - fclose(fp); - } - safe_fprintf(stderr, "Generated %s.h\n", filename); - free(filename); - abuf_free(buf); - return 0; -} diff --git a/libasn1compiler/asn1c_save.h b/libasn1compiler/asn1c_save.h deleted file mode 100644 index 0420657..0000000 --- a/libasn1compiler/asn1c_save.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ASN1C_SAVE_H -#define ASN1C_SAVE_H - -int asn1c_save_compiled_output(arg_t *arg, const char *datadir, const char* destdir, - int argc, int optc, char **argv); - -#endif /* ASN1C_SAVE_H */ diff --git a/libasn1compiler/asn1compiler.c b/libasn1compiler/asn1compiler.c deleted file mode 100644 index c3741bc..0000000 --- a/libasn1compiler/asn1compiler.c +++ /dev/null @@ -1,282 +0,0 @@ -#include "asn1c_internal.h" -#include "asn1c_lang.h" -#include "asn1c_out.h" -#include "asn1c_save.h" -#include "asn1c_ioc.h" -#include "asn1c_naming.h" - -static void default_logger_cb(int, const char *fmt, ...); -static int asn1c_compile_expr(arg_t *arg, const asn1c_ioc_table_and_objset_t *); -static int asn1c_detach_streams(asn1p_expr_t *expr); - -int -asn1_compile(asn1p_t *asn, const char *datadir, const char *destdir, enum asn1c_flags flags, - int argc, int optc, char **argv) { - arg_t arg_s; - arg_t *arg = &arg_s; - asn1p_module_t *mod; - int ret; - - c_name_clash_finder_init(); - - /* - * Initialize target language. - */ - ret = asn1c_with_language(ASN1C_LANGUAGE_C); - assert(ret == 0); - - memset(arg, 0, sizeof(*arg)); - arg->default_cb = asn1c_compile_expr; - arg->logger_cb = default_logger_cb; - arg->flags = flags; - arg->asn = asn; - - /* - * Compile each individual top level structure. - */ - TQ_FOR(mod, &(asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - arg->ns = asn1_namespace_new_from_module(mod, 0); - - compiler_streams_t *cs = NULL; - - if(asn1c_attach_streams(arg->expr)) - return -1; - - cs = arg->expr->data; - cs->target = OT_TYPE_DECLS; - arg->target = cs; - - ret = asn1c_compile_expr(arg, NULL); - if(ret) { - FATAL("Cannot compile \"%s\" (%x:%x) at line %d", - arg->expr->Identifier, - arg->expr->expr_type, - arg->expr->meta_type, - arg->expr->_lineno); - return ret; - } - - asn1_namespace_free(arg->ns); - arg->ns = 0; - } - } - - if(c_name_clash(arg)) { - if(arg->flags & A1C_COMPOUND_NAMES) { - FATAL("Name clashes encountered even with -fcompound-names flag"); - /* Proceed further for better debugging. */ - } else { - FATAL("Use \"-fcompound-names\" flag to asn1c to resolve name clashes"); - if(arg->flags & A1C_PRINT_COMPILED) { - /* Proceed further for better debugging. */ - } else { - return -1; - } - } - } - - DEBUG("Saving compiled data"); - - c_name_clash_finder_destroy(); - - /* - * Save or print out the compiled result. - */ - if(asn1c_save_compiled_output(arg, datadir, destdir, argc, optc, argv)) - return -1; - - TQ_FOR(mod, &(asn->modules), mod_next) { - TQ_FOR(arg->expr, &(mod->members), next) { - asn1c_detach_streams(arg->expr); - } - } - - return 0; -} - -static int -asn1c_compile_expr(arg_t *arg, const asn1c_ioc_table_and_objset_t *opt_ioc) { - asn1p_expr_t *expr = arg->expr; - int (*type_cb)(arg_t *); - int ret; - - assert((int)expr->meta_type >= AMT_INVALID); - assert(expr->meta_type < AMT_EXPR_META_MAX); - assert((int)expr->expr_type >= A1TC_INVALID); - assert(expr->expr_type < ASN_EXPR_TYPE_MAX); - - type_cb = asn1_lang_map[expr->meta_type][expr->expr_type].type_cb; - if(type_cb) { - - DEBUG("Compiling %s at line %d", - expr->Identifier, - expr->_lineno); - - if(expr->lhs_params && expr->spec_index == -1) { - int i; - ret = 0; - DEBUG("Parameterized type %s at line %d: %s (%d)", - expr->Identifier, expr->_lineno, - expr->specializations.pspecs_count - ? "compiling" : "unused, skipping", - expr->specializations.pspecs_count); - for(i = 0; ispecializations.pspecs_count; i++) { - arg->expr = expr->specializations - .pspec[i].my_clone; - ret = asn1c_compile_expr(arg, opt_ioc); - if(ret) break; - } - arg->expr = expr; /* Restore */ - } else { - ret = type_cb(arg); - } - } else { - ret = -1; - /* - * Even if the target language compiler does not know - * how to compile the given expression, we know that - * certain expressions need not to be compiled at all. - */ - switch(expr->meta_type) { - case AMT_OBJECT: - case AMT_OBJECTCLASS: - case AMT_OBJECTFIELD: - case AMT_VALUE: - case AMT_VALUESET: - ret = 0; - break; - default: - break; - } - } - - if(ret == -1) { - FATAL("Cannot compile \"%s\" (%x:%x) at line %d", - arg->expr->Identifier, - arg->expr->expr_type, - arg->expr->meta_type, - arg->expr->_lineno); - OUT("#error Cannot compile \"%s\" (%x/%x) at line %d\n", - arg->expr->Identifier, - arg->expr->meta_type, - arg->expr->expr_type, - arg->expr->_lineno - ); - } - - return ret; -} - -int -asn1c_attach_streams(asn1p_expr_t *expr) { - compiler_streams_t *cs; - int i; - - if(expr->data) - return 0; /* Already attached? */ - - expr->data = calloc(1, sizeof(compiler_streams_t)); - if(expr->data == NULL) - return -1; - - cs = expr->data; - for(i = 0; i < OT_MAX; i++) { - TQ_INIT(&(cs->destination[i].chunks)); - } - - return 0; -} - -int -asn1c_detach_streams(asn1p_expr_t *expr) { - compiler_streams_t *cs; - out_chunk_t *m; - int i; - - if(!expr->data) - return 0; /* Already detached? */ - - cs = expr->data; - for(i = 0; i < OT_MAX; i++) { - while((m = TQ_REMOVE(&(cs->destination[i].chunks), next))) { - free(m->buf); - free(m); - } - } - free(expr->data); - expr->data = (void *)NULL; - - return 0; -} - -static void -default_logger_cb(int _severity, const char *fmt, ...) { - va_list ap; - char *pfx = ""; - - switch(_severity) { - case -1: pfx = "DEBUG: "; break; - case 0: pfx = "WARNING: "; break; - case 1: pfx = "FATAL: "; break; - } - - fprintf(stderr, "%s", pfx); - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - fprintf(stderr, "\n"); -} - -static void -asn1c_debug_expr_naming(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - - printf("%s: ", expr->Identifier); - printf("%s\n", c_names_format(c_name(arg))); - - printf("\n"); - -} - -void -asn1c_debug_type_naming(asn1p_t *asn, enum asn1c_flags flags, - char **asn_type_names) { - arg_t arg_s; - arg_t *arg = &arg_s; - asn1p_module_t *mod; - - memset(arg, 0, sizeof(*arg)); - arg->logger_cb = default_logger_cb; - arg->flags = flags; - arg->asn = asn; - - c_name_clash_finder_init(); - - /* - * Compile each individual top level structure. - */ - TQ_FOR(mod, &(asn->modules), mod_next) { - int namespace_shown = 0; - TQ_FOR(arg->expr, &(mod->members), next) { - arg->ns = asn1_namespace_new_from_module(mod, 0); - - for(char **t = asn_type_names; *t; t++) { - if(strcmp(*t, arg->expr->Identifier) == 0) { - if(!namespace_shown) { - namespace_shown = 1; - printf("Namespace %s\n", - asn1_namespace_string(arg->ns)); - } - asn1c_debug_expr_naming(arg); - } - } - - asn1_namespace_free(arg->ns); - arg->ns = 0; - } - } - - c_name_clash_finder_destroy(); -} - diff --git a/libasn1compiler/asn1compiler.h b/libasn1compiler/asn1compiler.h deleted file mode 100644 index 78cf07f..0000000 --- a/libasn1compiler/asn1compiler.h +++ /dev/null @@ -1,115 +0,0 @@ -#ifndef ASN1_COMPILER_H -#define ASN1_COMPILER_H - -#include - -enum asn1c_flags { - A1C_NOFLAGS, - /* - * Debug the compiler. - */ - A1C_DEBUG = 0x0001, - /* - * Do not split the target output in several files, just print it. - * (Note: the output is not likely to be compilable in this case). - */ - A1C_PRINT_COMPILED = 0x0002, - /* - * Generate only the tables for ASN.1 types, - * do not emit ASN.1 parsing support code. - */ - A1C_OMIT_SUPPORT_CODE = 0x0004, - /* - * Use wide types by default (INTEGER_t etc) instead of native/long. - */ - A1C_USE_WIDE_TYPES = 0x0008, - /* - * Do not use C99 extensions. - */ - A1C_NO_C99 = 0x0010, - /* - * Enable use of unnamed unions (non-portable feature). - */ - A1C_UNNAMED_UNIONS = 0x0020, - /* - * Don't make the asn1_DEF_'s of structure members "static". - */ - A1C_ALL_DEFS_GLOBAL = 0x0040, - /* - * Do not generate constraint checking code. - */ - A1C_NO_CONSTRAINTS = 0x0080, - /* - * Generate type_id_PR_member things identifiers of id_PR_member. - */ - A1C_COMPOUND_NAMES = 0x0100, - /* - * Do not generate courtesy #includes for external dependencies. - */ - A1C_NO_INCLUDE_DEPS = 0x0200, - /* - * Compile members of CHOICE as indirect pointers. - */ - A1C_INDIRECT_CHOICE = 0x0400, - /* - * -flink-skeletons - * Symlink support files rather than copy them. - */ - A1C_LINK_SKELETONS = 0x0800, - - /* - * -pdu={all|auto|Type} - * Generate PDU table - */ - A1C_PDU_ALL = 0x2000, - A1C_PDU_AUTO = 0x4000, - A1C_PDU_TYPE = 0x8000, - /* - * -fincludes-quoted - * Avoid generating #include , generate "foo" instead. - */ - A1C_INCLUDES_QUOTED = 0x10000, - /* - * -fline-refs - * Include ASN.1 module's line numbers in comments. - */ - A1C_LINE_REFS = 0x20000, - /* - * -gen-OER - * Generate Octet Encoding Rules support code - */ - A1C_GEN_OER = 0x40000, - /* - * -gen-PER - * Generate Packed Encoding Rules support code - */ - A1C_GEN_PER = 0x80000, - /* - * Generate converter-example.c and converter-example.mk - */ - A1C_GEN_EXAMPLE = 0x100000, - /* - * Generate top-level configure.ac and Makefile.am - */ - A1C_GEN_AUTOTOOLS_EXAMPLE = 0x200000, - /* - * Print the source of generated lines. - * -debug-output-origin-lines - */ - A1C_DEBUG_OUTPUT_ORIGIN_LINES = 0x400000, -}; - -/* - * Compile the ASN.1 specification. - */ -int asn1_compile(asn1p_t *asn, const char *datadir, const char *destdir, enum asn1c_flags, - int argc, int optc, char **argv); - -void asn1c_debug_type_naming(asn1p_t *asn, enum asn1c_flags, - char **asn_type_names); - -void asn1c__add_pdu_type(const char *typename); - -int asn1c_attach_streams(asn1p_expr_t *expr); - -#endif /* ASN1_COMPILER_H */ diff --git a/libasn1compiler/check_compiler.c b/libasn1compiler/check_compiler.c deleted file mode 100644 index 1da6902..0000000 --- a/libasn1compiler/check_compiler.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "asn1compiler.h" - -int -main(int ac, char **av) { - return 0; -} - diff --git a/libasn1fix/.deps/asn1fix.Plo b/libasn1fix/.deps/asn1fix.Plo deleted file mode 100644 index 0167e51..0000000 --- a/libasn1fix/.deps/asn1fix.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix.lo: asn1fix.c /usr/include/stdc-predef.h asn1fix_internal.h \ - ../config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_bitstring.Plo b/libasn1fix/.deps/asn1fix_bitstring.Plo deleted file mode 100644 index 53ed2d7..0000000 --- a/libasn1fix/.deps/asn1fix_bitstring.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_bitstring.lo: asn1fix_bitstring.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_class.Plo b/libasn1fix/.deps/asn1fix_class.Plo deleted file mode 100644 index 704c8d3..0000000 --- a/libasn1fix/.deps/asn1fix_class.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_class.lo: asn1fix_class.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_compat.Plo b/libasn1fix/.deps/asn1fix_compat.Plo deleted file mode 100644 index 5b2cbf7..0000000 --- a/libasn1fix/.deps/asn1fix_compat.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_compat.lo: asn1fix_compat.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_constr.Plo b/libasn1fix/.deps/asn1fix_constr.Plo deleted file mode 100644 index dc1edb2..0000000 --- a/libasn1fix/.deps/asn1fix_constr.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_constr.lo: asn1fix_constr.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_constraint.Plo b/libasn1fix/.deps/asn1fix_constraint.Plo deleted file mode 100644 index 01a00ad..0000000 --- a/libasn1fix/.deps/asn1fix_constraint.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_constraint.lo: asn1fix_constraint.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_constraint_compat.Plo b/libasn1fix/.deps/asn1fix_constraint_compat.Plo deleted file mode 100644 index 307cd76..0000000 --- a/libasn1fix/.deps/asn1fix_constraint_compat.Plo +++ /dev/null @@ -1,256 +0,0 @@ -asn1fix_constraint_compat.lo: asn1fix_constraint_compat.c \ - /usr/include/stdc-predef.h asn1fix_internal.h ../config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_crange.Plo b/libasn1fix/.deps/asn1fix_crange.Plo deleted file mode 100644 index 73e3eb8..0000000 --- a/libasn1fix/.deps/asn1fix_crange.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_crange.lo: asn1fix_crange.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_cstring.Plo b/libasn1fix/.deps/asn1fix_cstring.Plo deleted file mode 100644 index 647a063..0000000 --- a/libasn1fix/.deps/asn1fix_cstring.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_cstring.lo: asn1fix_cstring.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_cws.Plo b/libasn1fix/.deps/asn1fix_cws.Plo deleted file mode 100644 index dcc18ca..0000000 --- a/libasn1fix/.deps/asn1fix_cws.Plo +++ /dev/null @@ -1,256 +0,0 @@ -asn1fix_cws.lo: asn1fix_cws.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h asn1fix_internal.h \ - ../config.h /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_dereft.Plo b/libasn1fix/.deps/asn1fix_dereft.Plo deleted file mode 100644 index 14b0043..0000000 --- a/libasn1fix/.deps/asn1fix_dereft.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_dereft.lo: asn1fix_dereft.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_derefv.Plo b/libasn1fix/.deps/asn1fix_derefv.Plo deleted file mode 100644 index a79fb7e..0000000 --- a/libasn1fix/.deps/asn1fix_derefv.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_derefv.lo: asn1fix_derefv.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_enum.Plo b/libasn1fix/.deps/asn1fix_enum.Plo deleted file mode 100644 index 8224eed..0000000 --- a/libasn1fix/.deps/asn1fix_enum.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_enum.lo: asn1fix_enum.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_export.Plo b/libasn1fix/.deps/asn1fix_export.Plo deleted file mode 100644 index f159f49..0000000 --- a/libasn1fix/.deps/asn1fix_export.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_export.lo: asn1fix_export.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_integer.Plo b/libasn1fix/.deps/asn1fix_integer.Plo deleted file mode 100644 index b23fc76..0000000 --- a/libasn1fix/.deps/asn1fix_integer.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_integer.lo: asn1fix_integer.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_misc.Plo b/libasn1fix/.deps/asn1fix_misc.Plo deleted file mode 100644 index 105230e..0000000 --- a/libasn1fix/.deps/asn1fix_misc.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_misc.lo: asn1fix_misc.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_param.Plo b/libasn1fix/.deps/asn1fix_param.Plo deleted file mode 100644 index b34e61b..0000000 --- a/libasn1fix/.deps/asn1fix_param.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_param.lo: asn1fix_param.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_retrieve.Plo b/libasn1fix/.deps/asn1fix_retrieve.Plo deleted file mode 100644 index 25ebb6a..0000000 --- a/libasn1fix/.deps/asn1fix_retrieve.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_retrieve.lo: asn1fix_retrieve.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_tags.Plo b/libasn1fix/.deps/asn1fix_tags.Plo deleted file mode 100644 index 545af9b..0000000 --- a/libasn1fix/.deps/asn1fix_tags.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_tags.lo: asn1fix_tags.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/asn1fix_value.Plo b/libasn1fix/.deps/asn1fix_value.Plo deleted file mode 100644 index b50226a..0000000 --- a/libasn1fix/.deps/asn1fix_value.Plo +++ /dev/null @@ -1,255 +0,0 @@ -asn1fix_value.lo: asn1fix_value.c /usr/include/stdc-predef.h \ - asn1fix_internal.h ../config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/ctype.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h \ - ../libasn1parser/asn1parser.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - ../libasn1parser/asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h ../libasn1parser/asn1p_list.h \ - ../libasn1parser/asn1p_oid.h ../libasn1parser/asn1p_module.h \ - ../libasn1parser/asn1p_value.h ../libasn1parser/asn1p_param.h \ - ../libasn1parser/asn1p_constr.h ../libasn1parser/asn1p_xports.h \ - ../libasn1parser/asn1p_class.h ../libasn1parser/asn1p_expr.h \ - ../libasn1parser/asn1p_expr_str.h ../libasn1parser/asn1p_expr2uclass.h \ - ../libasn1common/genhash.h asn1fix.h asn1fix_misc.h asn1fix_value.h \ - asn1fix_cstring.h asn1fix_compat.h asn1fix_constr.h asn1fix_class.h \ - asn1fix_cws.h asn1fix_param.h asn1fix_retrieve.h asn1fix_enum.h \ - asn1fix_integer.h asn1fix_bitstring.h asn1fix_dereft.h asn1fix_derefv.h \ - asn1fix_tags.h asn1fix_constraint.h asn1fix_crange.h asn1fix_export.h - -/usr/include/stdc-predef.h: - -asn1fix_internal.h: - -../config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: - -../libasn1parser/asn1parser.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1common/genhash.h: - -asn1fix.h: - -asn1fix_misc.h: - -asn1fix_value.h: - -asn1fix_cstring.h: - -asn1fix_compat.h: - -asn1fix_constr.h: - -asn1fix_class.h: - -asn1fix_cws.h: - -asn1fix_param.h: - -asn1fix_retrieve.h: - -asn1fix_enum.h: - -asn1fix_integer.h: - -asn1fix_bitstring.h: - -asn1fix_dereft.h: - -asn1fix_derefv.h: - -asn1fix_tags.h: - -asn1fix_constraint.h: - -asn1fix_crange.h: - -asn1fix_export.h: diff --git a/libasn1fix/.deps/check_crange-asn1fix_constraint_compat.Po b/libasn1fix/.deps/check_crange-asn1fix_constraint_compat.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/libasn1fix/.deps/check_crange-asn1fix_constraint_compat.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/libasn1fix/.deps/check_crange-asn1fix_crange.Po b/libasn1fix/.deps/check_crange-asn1fix_crange.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/libasn1fix/.deps/check_crange-asn1fix_crange.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/libasn1fix/.deps/check_fixer-check_fixer.Po b/libasn1fix/.deps/check_fixer-check_fixer.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/libasn1fix/.deps/check_fixer-check_fixer.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/libasn1fix/Makefile b/libasn1fix/Makefile deleted file mode 100644 index fa8cb74..0000000 --- a/libasn1fix/Makefile +++ /dev/null @@ -1,1232 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# libasn1fix/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -check_PROGRAMS = check_crange$(EXEEXT) check_fixer$(EXEEXT) -TESTS = $(check_PROGRAMS) -subdir = libasn1fix -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1fix_la_LIBADD = -am_libasn1fix_la_OBJECTS = asn1fix.lo asn1fix_misc.lo asn1fix_value.lo \ - asn1fix_compat.lo asn1fix_constr.lo asn1fix_cstring.lo \ - asn1fix_retrieve.lo asn1fix_bitstring.lo asn1fix_constraint.lo \ - asn1fix_integer.lo asn1fix_crange.lo asn1fix_dereft.lo \ - asn1fix_derefv.lo asn1fix_export.lo asn1fix_param.lo \ - asn1fix_class.lo asn1fix_tags.lo asn1fix_enum.lo \ - asn1fix_cws.lo asn1fix_constraint_compat.lo -libasn1fix_la_OBJECTS = $(am_libasn1fix_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -am_check_crange_OBJECTS = check_crange-asn1fix_crange.$(OBJEXT) \ - check_crange-asn1fix_constraint_compat.$(OBJEXT) -check_crange_OBJECTS = $(am_check_crange_OBJECTS) -check_crange_LDADD = $(LDADD) -check_crange_DEPENDENCIES = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la -check_fixer_SOURCES = check_fixer.c -check_fixer_OBJECTS = check_fixer-check_fixer.$(OBJEXT) -check_fixer_LDADD = $(LDADD) -check_fixer_DEPENDENCIES = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1fix_la_SOURCES) $(check_crange_SOURCES) \ - check_fixer.c -DIST_SOURCES = $(libasn1fix_la_SOURCES) $(check_crange_SOURCES) \ - check_fixer.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/libasn1fix -abs_srcdir = /home/nokia/mouse07410/asn1c/libasn1fix -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser - -noinst_LTLIBRARIES = libasn1fix.la -libasn1fix_la_SOURCES = \ - asn1fix.c asn1fix.h \ - asn1fix_internal.h \ - asn1fix_misc.c asn1fix_misc.h \ - asn1fix_value.c asn1fix_value.h \ - asn1fix_compat.c asn1fix_compat.h \ - asn1fix_constr.c asn1fix_constr.h \ - asn1fix_cstring.c asn1fix_cstring.h \ - asn1fix_retrieve.c asn1fix_retrieve.h \ - asn1fix_bitstring.c asn1fix_bitstring.h \ - asn1fix_constraint.c asn1fix_constraint.h \ - asn1fix_integer.c asn1fix_integer.h \ - asn1fix_crange.c asn1fix_crange.h \ - asn1fix_dereft.c asn1fix_dereft.h \ - asn1fix_derefv.c asn1fix_derefv.h \ - asn1fix_export.c asn1fix_export.h \ - asn1fix_param.c asn1fix_param.h \ - asn1fix_class.c asn1fix_class.h \ - asn1fix_tags.c asn1fix_tags.h \ - asn1fix_enum.c asn1fix_enum.h \ - asn1fix_cws.c asn1fix_cws.h \ - asn1fix_constraint_compat.c - -check_fixer_CPPFLAGS = -DTOP_SRCDIR=${top_srcdir} $(AM_CPPFLAGS) -check_crange_SOURCES = asn1fix_crange.c asn1fix_constraint_compat.c -check_crange_CPPFLAGS = -DUNIT_TEST $(AM_CPPFLAGS) -LDADD = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la - -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1fix/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1fix/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1fix.la: $(libasn1fix_la_OBJECTS) $(libasn1fix_la_DEPENDENCIES) $(EXTRA_libasn1fix_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1fix_la_OBJECTS) $(libasn1fix_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check_crange$(EXEEXT): $(check_crange_OBJECTS) $(check_crange_DEPENDENCIES) $(EXTRA_check_crange_DEPENDENCIES) - @rm -f check_crange$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_crange_OBJECTS) $(check_crange_LDADD) $(LIBS) - -check_fixer$(EXEEXT): $(check_fixer_OBJECTS) $(check_fixer_DEPENDENCIES) $(EXTRA_check_fixer_DEPENDENCIES) - @rm -f check_fixer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_fixer_OBJECTS) $(check_fixer_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1fix.Plo -include ./$(DEPDIR)/asn1fix_bitstring.Plo -include ./$(DEPDIR)/asn1fix_class.Plo -include ./$(DEPDIR)/asn1fix_compat.Plo -include ./$(DEPDIR)/asn1fix_constr.Plo -include ./$(DEPDIR)/asn1fix_constraint.Plo -include ./$(DEPDIR)/asn1fix_constraint_compat.Plo -include ./$(DEPDIR)/asn1fix_crange.Plo -include ./$(DEPDIR)/asn1fix_cstring.Plo -include ./$(DEPDIR)/asn1fix_cws.Plo -include ./$(DEPDIR)/asn1fix_dereft.Plo -include ./$(DEPDIR)/asn1fix_derefv.Plo -include ./$(DEPDIR)/asn1fix_enum.Plo -include ./$(DEPDIR)/asn1fix_export.Plo -include ./$(DEPDIR)/asn1fix_integer.Plo -include ./$(DEPDIR)/asn1fix_misc.Plo -include ./$(DEPDIR)/asn1fix_param.Plo -include ./$(DEPDIR)/asn1fix_retrieve.Plo -include ./$(DEPDIR)/asn1fix_tags.Plo -include ./$(DEPDIR)/asn1fix_value.Plo -include ./$(DEPDIR)/check_crange-asn1fix_constraint_compat.Po -include ./$(DEPDIR)/check_crange-asn1fix_crange.Po -include ./$(DEPDIR)/check_fixer-check_fixer.Po - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -check_crange-asn1fix_crange.o: asn1fix_crange.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_crange.o -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_crange.Tpo -c -o check_crange-asn1fix_crange.o `test -f 'asn1fix_crange.c' || echo '$(srcdir)/'`asn1fix_crange.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_crange.Tpo $(DEPDIR)/check_crange-asn1fix_crange.Po -# $(AM_V_CC)source='asn1fix_crange.c' object='check_crange-asn1fix_crange.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_crange.o `test -f 'asn1fix_crange.c' || echo '$(srcdir)/'`asn1fix_crange.c - -check_crange-asn1fix_crange.obj: asn1fix_crange.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_crange.obj -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_crange.Tpo -c -o check_crange-asn1fix_crange.obj `if test -f 'asn1fix_crange.c'; then $(CYGPATH_W) 'asn1fix_crange.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_crange.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_crange.Tpo $(DEPDIR)/check_crange-asn1fix_crange.Po -# $(AM_V_CC)source='asn1fix_crange.c' object='check_crange-asn1fix_crange.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_crange.obj `if test -f 'asn1fix_crange.c'; then $(CYGPATH_W) 'asn1fix_crange.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_crange.c'; fi` - -check_crange-asn1fix_constraint_compat.o: asn1fix_constraint_compat.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_constraint_compat.o -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo -c -o check_crange-asn1fix_constraint_compat.o `test -f 'asn1fix_constraint_compat.c' || echo '$(srcdir)/'`asn1fix_constraint_compat.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo $(DEPDIR)/check_crange-asn1fix_constraint_compat.Po -# $(AM_V_CC)source='asn1fix_constraint_compat.c' object='check_crange-asn1fix_constraint_compat.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_constraint_compat.o `test -f 'asn1fix_constraint_compat.c' || echo '$(srcdir)/'`asn1fix_constraint_compat.c - -check_crange-asn1fix_constraint_compat.obj: asn1fix_constraint_compat.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_constraint_compat.obj -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo -c -o check_crange-asn1fix_constraint_compat.obj `if test -f 'asn1fix_constraint_compat.c'; then $(CYGPATH_W) 'asn1fix_constraint_compat.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_constraint_compat.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo $(DEPDIR)/check_crange-asn1fix_constraint_compat.Po -# $(AM_V_CC)source='asn1fix_constraint_compat.c' object='check_crange-asn1fix_constraint_compat.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_constraint_compat.obj `if test -f 'asn1fix_constraint_compat.c'; then $(CYGPATH_W) 'asn1fix_constraint_compat.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_constraint_compat.c'; fi` - -check_fixer-check_fixer.o: check_fixer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_fixer-check_fixer.o -MD -MP -MF $(DEPDIR)/check_fixer-check_fixer.Tpo -c -o check_fixer-check_fixer.o `test -f 'check_fixer.c' || echo '$(srcdir)/'`check_fixer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_fixer-check_fixer.Tpo $(DEPDIR)/check_fixer-check_fixer.Po -# $(AM_V_CC)source='check_fixer.c' object='check_fixer-check_fixer.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_fixer-check_fixer.o `test -f 'check_fixer.c' || echo '$(srcdir)/'`check_fixer.c - -check_fixer-check_fixer.obj: check_fixer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_fixer-check_fixer.obj -MD -MP -MF $(DEPDIR)/check_fixer-check_fixer.Tpo -c -o check_fixer-check_fixer.obj `if test -f 'check_fixer.c'; then $(CYGPATH_W) 'check_fixer.c'; else $(CYGPATH_W) '$(srcdir)/check_fixer.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_fixer-check_fixer.Tpo $(DEPDIR)/check_fixer-check_fixer.Po -# $(AM_V_CC)source='check_fixer.c' object='check_fixer-check_fixer.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_fixer-check_fixer.obj `if test -f 'check_fixer.c'; then $(CYGPATH_W) 'check_fixer.c'; else $(CYGPATH_W) '$(srcdir)/check_fixer.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check_crange.log: check_crange$(EXEEXT) - @p='check_crange$(EXEEXT)'; \ - b='check_crange'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_fixer.log: check_fixer$(EXEEXT) - @p='check_fixer$(EXEEXT)'; \ - b='check_fixer'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1fix/Makefile.am b/libasn1fix/Makefile.am deleted file mode 100644 index 645c2f4..0000000 --- a/libasn1fix/Makefile.am +++ /dev/null @@ -1,46 +0,0 @@ -@CODE_COVERAGE_RULES@ - -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser - -noinst_LTLIBRARIES = libasn1fix.la - -libasn1fix_la_SOURCES = \ - asn1fix.c asn1fix.h \ - asn1fix_internal.h \ - asn1fix_misc.c asn1fix_misc.h \ - asn1fix_value.c asn1fix_value.h \ - asn1fix_compat.c asn1fix_compat.h \ - asn1fix_constr.c asn1fix_constr.h \ - asn1fix_cstring.c asn1fix_cstring.h \ - asn1fix_retrieve.c asn1fix_retrieve.h \ - asn1fix_bitstring.c asn1fix_bitstring.h \ - asn1fix_constraint.c asn1fix_constraint.h \ - asn1fix_integer.c asn1fix_integer.h \ - asn1fix_crange.c asn1fix_crange.h \ - asn1fix_dereft.c asn1fix_dereft.h \ - asn1fix_derefv.c asn1fix_derefv.h \ - asn1fix_export.c asn1fix_export.h \ - asn1fix_param.c asn1fix_param.h \ - asn1fix_class.c asn1fix_class.h \ - asn1fix_tags.c asn1fix_tags.h \ - asn1fix_enum.c asn1fix_enum.h \ - asn1fix_cws.c asn1fix_cws.h \ - asn1fix_constraint_compat.c - -check_fixer_CPPFLAGS = -DTOP_SRCDIR=${top_srcdir} $(AM_CPPFLAGS) - -check_crange_SOURCES = asn1fix_crange.c asn1fix_constraint_compat.c -check_crange_CPPFLAGS = -DUNIT_TEST $(AM_CPPFLAGS) - -LDADD = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la - -check_PROGRAMS = check_crange check_fixer - -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} -TESTS = ${check_PROGRAMS} - diff --git a/libasn1fix/Makefile.in b/libasn1fix/Makefile.in deleted file mode 100644 index 98646b8..0000000 --- a/libasn1fix/Makefile.in +++ /dev/null @@ -1,1134 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = check_crange$(EXEEXT) check_fixer$(EXEEXT) -TESTS = $(check_PROGRAMS) -subdir = libasn1fix -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1fix_la_LIBADD = -am_libasn1fix_la_OBJECTS = asn1fix.lo asn1fix_misc.lo asn1fix_value.lo \ - asn1fix_compat.lo asn1fix_constr.lo asn1fix_cstring.lo \ - asn1fix_retrieve.lo asn1fix_bitstring.lo asn1fix_constraint.lo \ - asn1fix_integer.lo asn1fix_crange.lo asn1fix_dereft.lo \ - asn1fix_derefv.lo asn1fix_export.lo asn1fix_param.lo \ - asn1fix_class.lo asn1fix_tags.lo asn1fix_enum.lo \ - asn1fix_cws.lo asn1fix_constraint_compat.lo -libasn1fix_la_OBJECTS = $(am_libasn1fix_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -am_check_crange_OBJECTS = check_crange-asn1fix_crange.$(OBJEXT) \ - check_crange-asn1fix_constraint_compat.$(OBJEXT) -check_crange_OBJECTS = $(am_check_crange_OBJECTS) -check_crange_LDADD = $(LDADD) -check_crange_DEPENDENCIES = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la -check_fixer_SOURCES = check_fixer.c -check_fixer_OBJECTS = check_fixer-check_fixer.$(OBJEXT) -check_fixer_LDADD = $(LDADD) -check_fixer_DEPENDENCIES = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1fix_la_SOURCES) $(check_crange_SOURCES) \ - check_fixer.c -DIST_SOURCES = $(libasn1fix_la_SOURCES) $(check_crange_SOURCES) \ - check_fixer.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser - -noinst_LTLIBRARIES = libasn1fix.la -libasn1fix_la_SOURCES = \ - asn1fix.c asn1fix.h \ - asn1fix_internal.h \ - asn1fix_misc.c asn1fix_misc.h \ - asn1fix_value.c asn1fix_value.h \ - asn1fix_compat.c asn1fix_compat.h \ - asn1fix_constr.c asn1fix_constr.h \ - asn1fix_cstring.c asn1fix_cstring.h \ - asn1fix_retrieve.c asn1fix_retrieve.h \ - asn1fix_bitstring.c asn1fix_bitstring.h \ - asn1fix_constraint.c asn1fix_constraint.h \ - asn1fix_integer.c asn1fix_integer.h \ - asn1fix_crange.c asn1fix_crange.h \ - asn1fix_dereft.c asn1fix_dereft.h \ - asn1fix_derefv.c asn1fix_derefv.h \ - asn1fix_export.c asn1fix_export.h \ - asn1fix_param.c asn1fix_param.h \ - asn1fix_class.c asn1fix_class.h \ - asn1fix_tags.c asn1fix_tags.h \ - asn1fix_enum.c asn1fix_enum.h \ - asn1fix_cws.c asn1fix_cws.h \ - asn1fix_constraint_compat.c - -check_fixer_CPPFLAGS = -DTOP_SRCDIR=${top_srcdir} $(AM_CPPFLAGS) -check_crange_SOURCES = asn1fix_crange.c asn1fix_constraint_compat.c -check_crange_CPPFLAGS = -DUNIT_TEST $(AM_CPPFLAGS) -LDADD = $(noinst_LTLIBRARIES) \ - $(top_builddir)/libasn1parser/libasn1parser.la \ - $(top_builddir)/libasn1common/libasn1common.la - -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1fix/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1fix/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1fix.la: $(libasn1fix_la_OBJECTS) $(libasn1fix_la_DEPENDENCIES) $(EXTRA_libasn1fix_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1fix_la_OBJECTS) $(libasn1fix_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check_crange$(EXEEXT): $(check_crange_OBJECTS) $(check_crange_DEPENDENCIES) $(EXTRA_check_crange_DEPENDENCIES) - @rm -f check_crange$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_crange_OBJECTS) $(check_crange_LDADD) $(LIBS) - -check_fixer$(EXEEXT): $(check_fixer_OBJECTS) $(check_fixer_DEPENDENCIES) $(EXTRA_check_fixer_DEPENDENCIES) - @rm -f check_fixer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_fixer_OBJECTS) $(check_fixer_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_bitstring.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_class.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_compat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_constr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_constraint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_constraint_compat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_crange.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_cstring.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_cws.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_dereft.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_derefv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_enum.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_export.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_integer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_misc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_param.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_retrieve.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_tags.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1fix_value.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_crange-asn1fix_constraint_compat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_crange-asn1fix_crange.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_fixer-check_fixer.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -check_crange-asn1fix_crange.o: asn1fix_crange.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_crange.o -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_crange.Tpo -c -o check_crange-asn1fix_crange.o `test -f 'asn1fix_crange.c' || echo '$(srcdir)/'`asn1fix_crange.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_crange.Tpo $(DEPDIR)/check_crange-asn1fix_crange.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn1fix_crange.c' object='check_crange-asn1fix_crange.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_crange.o `test -f 'asn1fix_crange.c' || echo '$(srcdir)/'`asn1fix_crange.c - -check_crange-asn1fix_crange.obj: asn1fix_crange.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_crange.obj -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_crange.Tpo -c -o check_crange-asn1fix_crange.obj `if test -f 'asn1fix_crange.c'; then $(CYGPATH_W) 'asn1fix_crange.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_crange.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_crange.Tpo $(DEPDIR)/check_crange-asn1fix_crange.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn1fix_crange.c' object='check_crange-asn1fix_crange.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_crange.obj `if test -f 'asn1fix_crange.c'; then $(CYGPATH_W) 'asn1fix_crange.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_crange.c'; fi` - -check_crange-asn1fix_constraint_compat.o: asn1fix_constraint_compat.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_constraint_compat.o -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo -c -o check_crange-asn1fix_constraint_compat.o `test -f 'asn1fix_constraint_compat.c' || echo '$(srcdir)/'`asn1fix_constraint_compat.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo $(DEPDIR)/check_crange-asn1fix_constraint_compat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn1fix_constraint_compat.c' object='check_crange-asn1fix_constraint_compat.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_constraint_compat.o `test -f 'asn1fix_constraint_compat.c' || echo '$(srcdir)/'`asn1fix_constraint_compat.c - -check_crange-asn1fix_constraint_compat.obj: asn1fix_constraint_compat.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_crange-asn1fix_constraint_compat.obj -MD -MP -MF $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo -c -o check_crange-asn1fix_constraint_compat.obj `if test -f 'asn1fix_constraint_compat.c'; then $(CYGPATH_W) 'asn1fix_constraint_compat.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_constraint_compat.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_crange-asn1fix_constraint_compat.Tpo $(DEPDIR)/check_crange-asn1fix_constraint_compat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn1fix_constraint_compat.c' object='check_crange-asn1fix_constraint_compat.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_crange_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_crange-asn1fix_constraint_compat.obj `if test -f 'asn1fix_constraint_compat.c'; then $(CYGPATH_W) 'asn1fix_constraint_compat.c'; else $(CYGPATH_W) '$(srcdir)/asn1fix_constraint_compat.c'; fi` - -check_fixer-check_fixer.o: check_fixer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_fixer-check_fixer.o -MD -MP -MF $(DEPDIR)/check_fixer-check_fixer.Tpo -c -o check_fixer-check_fixer.o `test -f 'check_fixer.c' || echo '$(srcdir)/'`check_fixer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_fixer-check_fixer.Tpo $(DEPDIR)/check_fixer-check_fixer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check_fixer.c' object='check_fixer-check_fixer.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_fixer-check_fixer.o `test -f 'check_fixer.c' || echo '$(srcdir)/'`check_fixer.c - -check_fixer-check_fixer.obj: check_fixer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_fixer-check_fixer.obj -MD -MP -MF $(DEPDIR)/check_fixer-check_fixer.Tpo -c -o check_fixer-check_fixer.obj `if test -f 'check_fixer.c'; then $(CYGPATH_W) 'check_fixer.c'; else $(CYGPATH_W) '$(srcdir)/check_fixer.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_fixer-check_fixer.Tpo $(DEPDIR)/check_fixer-check_fixer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check_fixer.c' object='check_fixer-check_fixer.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_fixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_fixer-check_fixer.obj `if test -f 'check_fixer.c'; then $(CYGPATH_W) 'check_fixer.c'; else $(CYGPATH_W) '$(srcdir)/check_fixer.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check_crange.log: check_crange$(EXEEXT) - @p='check_crange$(EXEEXT)'; \ - b='check_crange'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_fixer.log: check_fixer$(EXEEXT) - @p='check_fixer$(EXEEXT)'; \ - b='check_fixer'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1fix/asn1fix.c b/libasn1fix/asn1fix.c deleted file mode 100644 index 127ba8c..0000000 --- a/libasn1fix/asn1fix.c +++ /dev/null @@ -1,583 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix.h" - -/* Print everything to stderr */ -static void _default_error_logger(int _severity, const char *fmt, ...); - -/* - * Internal check functions. - */ -static int asn1f_fix_module__phase_1(arg_t *arg); -static int asn1f_fix_module__phase_2(arg_t *arg); -static int asn1f_fix_simple(arg_t *arg); /* For INTEGER/ENUMERATED */ -static int asn1f_fix_constructed(arg_t *arg); /* For SEQUENCE/SET/CHOICE */ -static int asn1f_resolve_constraints(arg_t *arg); /* For subtype constraints */ -static int asn1f_check_constraints(arg_t *arg); /* For subtype constraints */ -static int asn1f_check_duplicate(arg_t *arg); -static int asn1f_apply_unique_index(arg_t *arg); -static int phase_1_1(arg_t *arg, int prm2); - -arg_t a1f_replace_me_with_proper_interface_arg; - -/* - * Scan every module defined here in search for inconsistences. - */ -int -asn1f_process(asn1p_t *asn, enum asn1f_flags flags, - error_logger_f error_logger) { - arg_t arg; - int fatals = 0; - int warnings = 0; - int ret; - - /* - * Check validity of arguments. - */ - if(asn == NULL) { - errno = EINVAL; - return -1; - } - - /* - * If errors handler is not specified, default to internal one. - */ - if(error_logger == 0) { - error_logger = _default_error_logger; - } - - memset(&arg, 0, sizeof(arg)); - arg.asn = asn; - arg.eh = error_logger; - - if(flags & A1F_DEBUG) { - arg.debug = arg.eh; - arg.debug(-1, "Called %s() with flags %d", __func__, flags); - flags &= ~A1F_DEBUG; - } - - /* Allow SIZE() constraint for INTEGER and other types */ - if(flags & A1F_EXTENDED_SizeConstraint) { - arg.flags |= A1F_EXTENDED_SizeConstraint; - flags &= ~A1F_EXTENDED_SizeConstraint; - if(arg.debug) { - arg.debug(-1, - "Extended SizeConstraint support enabled"); - } - } - - a1f_replace_me_with_proper_interface_arg = arg; - - /* - * Check that we haven't missed an unknown flag. - */ - if(flags) { - errno = EINVAL; - return -1; - } - - /* - * Process each module in the list. - * PHASE I. - */ - TQ_FOR(arg.mod, &(asn->modules), mod_next) { - arg.ns = asn1_namespace_new_from_module(arg.mod, 0); - ret = asn1f_fix_module__phase_1(&arg); - /* - * These lines are used for illustration purposes. - * RET2RVAL() is used everywhere else. - */ - if(ret == -1) fatals++; - if(ret == 1) warnings++; - asn1_namespace_free(arg.ns); - arg.ns = 0; - } - /* PHASE II. */ - TQ_FOR(arg.mod, &(asn->modules), mod_next) { - arg.ns = asn1_namespace_new_from_module(arg.mod, 0); - ret = asn1f_fix_module__phase_2(&arg); - if(ret == -1) fatals++; - if(ret == 1) warnings++; - asn1_namespace_free(arg.ns); - arg.ns = 0; - } - - memset(&a1f_replace_me_with_proper_interface_arg, 0, sizeof(arg_t)); - - /* - * Compute a return value. - */ - return fatals?-1:warnings?1:0; -} - -/* - * Check the internals of a single module. - */ -static int -asn1f_fix_module__phase_1(arg_t *arg) { - asn1p_expr_t *expr; - int rvalue = 0; - int ret; - asn1p_module_t *omod; - - /* - * Check that we don't have a similarly named module. - */ - TQ_FOR(omod, &arg->asn->modules, mod_next) { - int sameNames; - if(omod == arg->mod) break; - sameNames = strcmp(omod->ModuleName, arg->mod->ModuleName)?0:1; - if(omod->module_oid && arg->mod->module_oid) { - /* Compare only the OID. */ - if(asn1p_oid_compare(omod->module_oid, - arg->mod->module_oid) == 0) { - FATAL("ASN.1 module %s in %s " - "has the same OBJECT IDENTIFIER" - " as module %s", - omod->ModuleName, - omod->source_file_name, - arg->mod->ModuleName - ); - RET2RVAL(-1, rvalue); - } else if(sameNames) { - WARNING("ASN.1 module %s is defined more than once, with different OIDs", omod->ModuleName); - RET2RVAL(1, rvalue); - } - } else if(sameNames) { - FATAL("ASN.1 module %s is defined more than once", - omod->ModuleName); - RET2RVAL(-1, rvalue); - } - } - - switch((arg->mod->module_flags & MSF_MASK_TAGS)) { - case MSF_NOFLAGS: - case MSF_EXPLICIT_TAGS: - case MSF_IMPLICIT_TAGS: - case MSF_AUTOMATIC_TAGS: - break; - default: - FATAL("Module %s defined with ambiguous global tagging mode", - arg->mod->ModuleName); - RET2RVAL(-1, rvalue); - } - - switch((arg->mod->module_flags & MSF_MASK_INSTRUCTIONS)) { - case MSF_NOFLAGS: - /* - * arg->mod->module_flags |= MSF_TAG_INSTRUCTIONS; - */ - break; - case MSF_unk_INSTRUCTIONS: - WARNING("Module %s defined with unrecognized " - "encoding reference", arg->mod->ModuleName); - RET2RVAL(1, rvalue); - /* Fall through */ - case MSF_TAG_INSTRUCTIONS: - case MSF_XER_INSTRUCTIONS: - break; - default: - FATAL("Module %s defined with ambiguous encoding reference", - arg->mod->ModuleName); - RET2RVAL(-1, rvalue); - } - - /* - * Do various non-recursive transformations. - */ - TQ_FOR(expr, &(arg->mod->members), next) { - arg->expr = expr; - ret = phase_1_1(arg, 0); - RET2RVAL(ret, rvalue); - /* - * Make sure everybody's behaving well. - */ - assert(arg->expr == expr); - } - TQ_FOR(expr, &(arg->mod->members), next) { - arg->expr = expr; - ret = phase_1_1(arg, 1); - RET2RVAL(ret, rvalue); - assert(arg->expr == expr); - } - - - - /* - * 5. Automatic tagging - */ - TQ_FOR(expr, &(arg->mod->members), next) { - - arg->expr = expr; - - ret = asn1f_recurse_expr(arg, asn1f_fix_constr_autotag); - RET2RVAL(ret, rvalue); - - assert(arg->expr == expr); - } - - /* - * 8. fix BIT STRING - * 9. fix spaces in cstrings - */ - TQ_FOR(expr, &(arg->mod->members), next) { - arg->expr = expr; - - ret = asn1f_recurse_expr(arg, asn1f_fix_bit_string); - RET2RVAL(ret, rvalue); - - ret = asn1f_recurse_expr(arg, asn1f_fix_cstring); - RET2RVAL(ret, rvalue); - - assert(arg->expr == expr); - } - - /* - * ... Check for tags distinctness. - */ - TQ_FOR(expr, &(arg->mod->members), next) { - arg->expr = expr; - - ret = asn1f_recurse_expr(arg, asn1f_check_constr_tags_distinct); - RET2RVAL(ret, rvalue); - - assert(arg->expr == expr); - } - - return rvalue; -} - -static int -asn1f_fix_module__phase_2(arg_t *arg) { - asn1p_expr_t *expr; - int rvalue = 0; - int ret; - - TQ_FOR(expr, &(arg->mod->members), next) { - - arg->expr = expr; - - /* - * Dereference DEFAULT values. - */ - ret = asn1f_recurse_expr(arg, asn1f_fix_dereference_defaults); - RET2RVAL(ret, rvalue); - - /* - * Resolve references in constraints (the second pass). - */ - ret = asn1f_recurse_expr(arg, asn1f_resolve_constraints); - RET2RVAL(ret, rvalue); - - /* - * Check semantic validity of constraints. - */ - ret = asn1f_recurse_expr(arg, asn1f_check_constraints); - RET2RVAL(ret, rvalue); - - /* - * Uniquely tag each inner type. - */ - asn1f_apply_unique_index(0); - ret = asn1f_recurse_expr(arg, asn1f_apply_unique_index); - RET2RVAL(ret, rvalue); - - assert(arg->expr == expr); - } - - return rvalue; -} - -static int -phase_1_1(arg_t *arg, int prm2) { - asn1p_expr_t *expr = arg->expr; - int rvalue = 0; - int ret; - - if(expr->lhs_params && expr->spec_index == -1) { - int i; - if(!prm2) - /* Do not process the parameterized type just yet */ - return 0; - for(i = 0; i < expr->specializations.pspecs_count; i++) { - arg->expr = expr->specializations.pspec[i].my_clone; - ret = phase_1_1(arg, 0); - RET2RVAL(ret, rvalue); - } - arg->expr = expr; /* revert */ - return rvalue; - } else if(prm2) { - return 0; /* Already done! */ - } - - /* Check whether this type is a duplicate */ - if(!expr->lhs_params) { - ret = asn1f_check_duplicate(arg); - RET2RVAL(ret, rvalue); - } - - DEBUG("=== Now processing \"%s\" (%d/0x%x) at line %d ===", - expr->Identifier, expr->meta_type, expr->expr_type, - expr->_lineno); - assert(expr->meta_type != AMT_INVALID); - - /* - * 2.1 Pre-process simple types (ENUMERATED, INTEGER, etc). - */ - ret = asn1f_recurse_expr(arg, asn1f_fix_simple); - RET2RVAL(ret, rvalue); - - /* - * 2.5.4 - */ - ret = asn1f_recurse_expr(arg, asn1f_fix_dereference_types); - RET2RVAL(ret, rvalue); - - /* - * Fix tagging of top-level types. - */ - ret = asn1f_fix_constr_tag(arg, 1); - RET2RVAL(ret, rvalue); - - /* - * 2.[234] Process SEQUENCE/SET/CHOICE types. - */ - ret = asn1f_recurse_expr(arg, asn1f_fix_constructed); - RET2RVAL(ret, rvalue); - - /* - * 2.5.5 - */ - ret = asn1f_recurse_expr(arg, asn1f_fix_dereference_values); - RET2RVAL(ret, rvalue); - - /* - * Resolve references in constraints. - */ - ret = asn1f_recurse_expr(arg, asn1f_resolve_constraints); - RET2RVAL(ret, rvalue); - - /* - * Parse class information object sets. - */ - ret = asn1f_parse_class_object(arg); - RET2RVAL(ret, rvalue); - - /* - * 6. INTEGER value processed at 2.5.4. - */ - - return rvalue; -} - -static int -asn1f_fix_simple(arg_t *arg) { - int rvalue = 0; - int ret; - - ret = asn1f_fix_enum(arg); - RET2RVAL(ret, rvalue); - - ret = asn1f_fix_integer(arg); - RET2RVAL(ret, rvalue); - - return rvalue; -} - -static int -asn1f_fix_constructed(arg_t *arg) { - int rvalue = 0; - int ret; - - switch(arg->expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - case ASN_CONSTR_CHOICE: - break; - default: - return 0; - } - - /* Check identifier distinctness */ - ret = asn1f_check_unique_expr(arg); - RET2RVAL(ret, rvalue); - - /* Fix extensibility */ - ret = asn1f_fix_constr_ext(arg); - RET2RVAL(ret, rvalue); - - /* Fix tagging */ - ret = asn1f_fix_constr_tag(arg, 0); - RET2RVAL(ret, rvalue); - - /* Import COMPONENTS OF stuff */ - ret = asn1f_pull_components_of(arg); - RET2RVAL(ret, rvalue); - - return rvalue; -} - -static int -asn1f_resolve_constraints(arg_t *arg) { - asn1p_expr_t *top_parent; - asn1p_expr_type_e etype; - int rvalue = 0; - int ret; - - top_parent = asn1f_find_terminal_type(arg, arg->expr); - if(top_parent) - etype = top_parent->expr_type; - else etype = A1TC_INVALID; - - DEBUG("(%s)", arg->expr->Identifier); - - ret = asn1constraint_resolve(arg, arg->expr->constraints, etype, 0); - RET2RVAL(ret, rvalue); - - return rvalue; -} - -static int -asn1f_check_constraints(arg_t *arg) { - static enum asn1p_constraint_type_e test_types[] = { - ACT_EL_RANGE, ACT_CT_SIZE, ACT_CT_FROM }; - asn1p_expr_t *top_parent; - asn1cnst_range_t *range; - asn1p_expr_type_e etype; - unsigned int i; - int rvalue = 0; - int ret; - - DEBUG("(%s{%d/%d})", - arg->expr->Identifier, - arg->expr->meta_type, arg->expr->expr_type); - - top_parent = asn1f_find_terminal_type(arg, arg->expr); - if(!top_parent) - return 0; - etype = top_parent->expr_type; - - ret = asn1constraint_pullup(arg); - RET2RVAL(ret, rvalue); - - for(i = 0; i < sizeof(test_types)/sizeof(test_types[0]); i++) { - range = asn1constraint_compute_constraint_range( - arg->expr->Identifier, - etype, - arg->expr->combined_constraints, - test_types[i], 0, 0, - CPR_noflags /* ignore -fbless-SIZE */); - if(!range && errno == EPERM) { - FATAL("This error happened for \"%s\" (meta %d) " - "at line %d", - arg->expr->Identifier, - arg->expr->meta_type, - arg->expr->_lineno); - return -1; - } - asn1constraint_range_free(range); - } - - return rvalue; -} - -static int -asn1f_check_duplicate(arg_t *arg) { - arg_t tmparg = *arg; - int rvalue = 0; - - /* - * This is a linear scan in search of a similar type. - * The linear scan is just fine for the task, no need to over-optimize. - */ - TQ_FOR(tmparg.mod, &arg->asn->modules, mod_next) { - int critical = 1; /* FATAL */ - - if((arg->mod->_tags & MT_STANDARD_MODULE) - != (tmparg.mod->_tags & MT_STANDARD_MODULE)) { - /* Ignore clashes with standard module */ - critical = 0; /* WARNING */ - } - - TQ_FOR(tmparg.expr, &(tmparg.mod->members), next) { - int diff_files; /* different files */ - - assert(tmparg.expr->Identifier); - assert(arg->expr->Identifier); - - if(arg->expr->spec_index != -1) - continue; - - if(tmparg.expr == arg->expr) break; - - if(strcmp(tmparg.expr->Identifier, - arg->expr->Identifier)) - continue; - - /* resolve clash of Identifier in different modules */ - int oid_exist = (tmparg.expr->module->module_oid && arg->expr->module->module_oid); - if ((!oid_exist && strcmp(tmparg.expr->module->ModuleName, arg->expr->module->ModuleName)) || - (oid_exist && !asn1p_oid_compare(tmparg.expr->module->module_oid, arg->expr->module->module_oid))) { - - tmparg.expr->_mark |= TM_NAMECLASH; - arg->expr->_mark |= TM_NAMECLASH; - continue; - } - - diff_files = strcmp(arg->mod->source_file_name, - tmparg.mod->source_file_name) ? 1 : 0; - - LOG(critical, - "ASN.1 expression \"%s\" at line %d of module %s\n" - "clashes with expression \"%s\" at line %d of module %s" - "%s%s%s.\n" - "Rename or remove either instance " - "to resolve the conflict", - arg->expr->Identifier, - arg->expr->_lineno, - arg->mod->ModuleName, - tmparg.expr->Identifier, - tmparg.expr->_lineno, - tmparg.mod->ModuleName, - diff_files ? " (" : "", - diff_files ? tmparg.mod->source_file_name : "", - diff_files ? ")" : ""); - if(critical) - return -1; - RET2RVAL(1, rvalue); - } - if(tmparg.mod == arg->mod) break; - } - - return rvalue; -} - -static int -asn1f_apply_unique_index(arg_t *arg) { - static int unique_index; - if(!arg) { unique_index = 0; return 0; } - - arg->expr->_type_unique_index = ++unique_index; - - return 0; -} - -/* - * Print everything to stderr - */ -static void -_default_error_logger(int _severity, const char *fmt, ...) { - va_list ap; - char *pfx = ""; - - switch(_severity) { - case -1: pfx = "DEBUG: "; break; - case 0: pfx = "WARNING: "; break; - case 1: pfx = "FATAL: "; break; - } - - fprintf(stderr, "%s", pfx); - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - fprintf(stderr, "\n"); -} diff --git a/libasn1fix/asn1fix.h b/libasn1fix/asn1fix.h deleted file mode 100644 index c75c81c..0000000 --- a/libasn1fix/asn1fix.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This is the public interface for the processor (fixer) of the ASN.1 tree - * produced by the libasn1parser. - */ -#ifndef ASN1FIX_H -#define ASN1FIX_H - -#include - -/* - * Operation flags for the function below. - */ -enum asn1f_flags { - A1F_NOFLAGS, - A1F_DEBUG = 0x01, /* Print debugging output */ - A1F_EXTENDED_SizeConstraint = 0x02, /* Enable constraint gen code */ -}; - -/* - * Perform a set of semantics checks, transformations and small fixes - * on the given tree. - * RETURN VALUES: - * -1: Some fatal problems were encountered. - * 0: No inconsistencies were found. - * 1: Some warnings were issued, but no fatal problems encountered. - */ -int asn1f_process(asn1p_t *_asn, - enum asn1f_flags, - void (*error_log_callback)(int _severity, const char *fmt, ...)); - - -/* - * Explicitly mark type as known. - */ -int asn1f_make_known_external_type(const char *); - -#endif /* ASN1FIX_H */ diff --git a/libasn1fix/asn1fix_bitstring.c b/libasn1fix/asn1fix_bitstring.c deleted file mode 100644 index e5f80cd..0000000 --- a/libasn1fix/asn1fix_bitstring.c +++ /dev/null @@ -1,292 +0,0 @@ -#include "asn1fix_internal.h" - -static int asn1f_fix_bit_string_type(arg_t *arg); -static int asn1f_fix_bit_string_value(arg_t *arg, asn1p_expr_t *ttype); -static void asn1f_BS_remove_trailing_zero_bits(asn1p_value_t *value); -static int asn1f_BS_unparsed_convert(arg_t *arg, asn1p_value_t *value, asn1p_expr_t *ttype); - -int -asn1f_fix_bit_string(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - int r_value = 0; - int ret; - - if(expr->meta_type == AMT_VALUE) { - asn1p_expr_t *ttype; - - DEBUG("(%s) for line %d", expr->Identifier, expr->_lineno); - - ttype = asn1f_find_terminal_type(arg, expr); - if(ttype && ttype->expr_type == ASN_BASIC_BIT_STRING) { - ret = asn1f_fix_bit_string_value(arg, ttype); - RET2RVAL(ret, r_value); - } - } - - if(expr->meta_type == AMT_TYPE - && expr->expr_type == ASN_BASIC_BIT_STRING) { - ret = asn1f_fix_bit_string_type(arg); - RET2RVAL(ret, r_value); - } - - return r_value; -} - -static int _compare_value(asn1p_expr_t *expr1, asn1p_expr_t *expr2) { - return expr2->value->value.v_integer - expr1->value->value.v_integer; -} - -static int -asn1f_fix_bit_string_type(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int r_value = 0; - int ret; - - TQ_FOR(v, &(expr->members), next) { - if(v->expr_type == A1TC_EXTENSIBLE) { - FATAL("Extension marker (...) is not allowed " - "as a BIT STRING NamedBit at line %d ", - v->_lineno); - return -1; - } - if(v->expr_type != A1TC_UNIVERVAL) { - FATAL("BIT STRING value at line %d " - "is not an identifier", v->_lineno); - return -1; - } - - /* 21.1 */ - if(v->value == NULL) { - FATAL("BIT STRING NamedBit value at line %d " - "must be explicitly specified in braces", - v->_lineno); - return -1; - } else if(v->value->type == ATV_REFERENCED) { - /* Resolve the value */ - if(asn1f_value_resolve(arg, v, 0)) - return -1; - } - if(v->value->type != ATV_INTEGER - || v->value->value.v_integer < 0) { - FATAL("BIT STRING NamedBit value at line %d: " - "non-negative integer value expected", - v->_lineno); - return -1; - } - - /* Check value uniqueness as per 21.4 */ - ret = asn1f_check_unique_expr_child(arg, v, - _compare_value, "value"); - RET2RVAL(ret, r_value); - /* Check identifier uniqueness as per 21.5 */ - ret = asn1f_check_unique_expr_child(arg, v, 0, "identifier"); - RET2RVAL(ret, r_value); - } - - return r_value; -} - -static int -asn1f_fix_bit_string_value(arg_t *arg, asn1p_expr_t *ttype) { - asn1p_expr_t *expr = arg->expr; - int r_value = 0; - - DEBUG("(%s) for line %d", - expr->Identifier, expr->_lineno); - - switch(expr->value->type) { - case ATV_UNPARSED: - /* - * Most definitely we have something like - * value BitStringType1 ::= { a, b, c } - * which could not be parsed by the LALR parser, mostly - * because it requires knowledge about BitStringType1 - * during the parsing. So, here's a little hack: we create - * a buffer containing the full specification of a module, - * which contains some pre-defined INTEGER type with the - * opaque definition "{ a, b, c }" from the bit string. - */ - if(asn1f_BS_unparsed_convert(arg, expr->value, ttype)) { - r_value = -1; - break; - } - /* Fall through: remove trailing zero bits */ - /* Fall through */ - case ATV_BITVECTOR: - asn1f_BS_remove_trailing_zero_bits(expr->value); - break; - default: - break; - } - - return r_value; -} - -static void -asn1f_BS_remove_trailing_zero_bits(asn1p_value_t *value) { - int lmfb = -1; /* Last meaningful byte position */ - int bits; /* Number of bits in the BIT STRING value */ - int b; - - assert(value->type == ATV_BITVECTOR); - - bits = value->value.binary_vector.size_in_bits; - /* - * Figure out the rightmost meaningful byte. - */ - for(b = 0; b < ((bits + 7) >> 3); b++) { - uint8_t uc = value->value.binary_vector.bits[b]; - if(uc && b > lmfb) - lmfb = b; - } - if(lmfb == -1) { - bits = 0; - } else { - uint8_t uc; - uc = value->value.binary_vector.bits[lmfb]; - bits = (lmfb+1) * 8; - /* - * Squeeze the bit string width until the rightmost - * bit is set. - */ - for(; uc && (uc & 1) == 0; uc >>= 1) - bits--; - if(uc == 0) { - bits = lmfb * 8; - } - } - value->value.binary_vector.size_in_bits = bits; -} - -static int -asn1f_BS_unparsed_convert(arg_t *arg, asn1p_value_t *value, asn1p_expr_t *ttype) { - asn1p_t *asn; - asn1p_module_t *mod; - asn1p_expr_t *V; - asn1p_expr_t *bit; - asn1c_integer_t aI; - uint8_t *bitbuf; - int bits; - int psize; - char *p; - int ret; - int r_value = 0; - - assert(value->type == ATV_UNPARSED); - - psize = value->value.string.size + sizeof("M DEFINITIONS ::= BEGIN V ::= BIT STRING END") + 32; - p = malloc(psize); - if(p == NULL) - return -1; - - ret = snprintf(p, psize, - "M DEFINITIONS ::=\nBEGIN\n" - "V ::= #BIT STRING %s\n" - "END\n", - value->value.string.buf - ); - assert(ret < psize); - psize = ret; - - asn = asn1p_parse_buffer(p, psize, arg->expr->module->source_file_name, - arg->expr->_lineno, A1P_EXTENDED_VALUES); - free(p); - if(asn == NULL) { - FATAL("Cannot parse BIT STRING value %s " - "defined as %s at line %d", - arg->expr->Identifier, - value->value.string.buf, - arg->expr->_lineno - ); - return -1; - } - - mod = TQ_FIRST(&(asn->modules)); - assert(mod); - V = TQ_FIRST(&(mod->members)); - assert(V); - assert(strcmp(V->Identifier, "V") == 0); - - /* - * Simple loop just to fetch the maximal bit position - * out of the BIT STRING value defined as NamedBitList. - */ - aI = -1; - TQ_FOR(bit, &(V->members), next) { - asn1p_expr_t *bitdef; - bitdef = asn1f_lookup_child(ttype, bit->Identifier); - if(bitdef && bitdef->value - && bitdef->value->type == ATV_INTEGER) { - if(bitdef->value->value.v_integer > aI) - aI = bitdef->value->value.v_integer; - } - } - - if(aI > 1024 * 1024 * 8) { /* One megabyte */ - FATAL("Unsupportedly large BIT STRING value \"%s\" " - "defined at line %d " - "(larger than 1MByte)", - arg->expr->Identifier, - arg->expr->_lineno - ); - asn1p_delete(asn); - return -1; - } - - bits = aI + 1; /* Number of bits is more than a last bit position */ - bitbuf = calloc(1, 1 + ((bits + 7) / 8)); - if(bitbuf == NULL) { - asn1p_delete(asn); - return -1; - } - - TQ_FOR(bit, &(V->members), next) { - asn1p_expr_t *bitdef; - int set_bit_pos; - - if(bit->value) { - WARNING("Identifier \"%s\" at line %d " - "must not have a value", - bit->Identifier, bit->_lineno); - RET2RVAL(1, r_value); - } - bitdef = asn1f_lookup_child(ttype, bit->Identifier); - if(bitdef == NULL) { - FATAL("Identifier \"%s\" at line %d is not defined " - "in the \"%s\" type definition at line %d", - bit->Identifier, - bit->_lineno, - ttype->Identifier, - ttype->_lineno - ); - RET2RVAL(-1, r_value); - continue; - } - if(bitdef->value == NULL - || bitdef->value->type != ATV_INTEGER) { - FATAL("Broken identifier " - "\"%s\" at line %d " - "referenced by \"%s\" at line %d", - bitdef->Identifier, - bitdef->_lineno, - arg->expr->Identifier, - arg->expr->_lineno - ); - RET2RVAL(-1, r_value); - continue; - } - - assert(bitdef->value->value.v_integer < bits); - set_bit_pos = bitdef->value->value.v_integer; - bitbuf[set_bit_pos>>3] |= 1 << (7-(set_bit_pos % 8)); - } - - asn1p_delete(asn); - free(value->value.string.buf); - value->type = ATV_BITVECTOR; - value->value.binary_vector.bits = bitbuf; - value->value.binary_vector.size_in_bits = bits; - - return r_value; -} diff --git a/libasn1fix/asn1fix_bitstring.h b/libasn1fix/asn1fix_bitstring.h deleted file mode 100644 index 79b3d00..0000000 --- a/libasn1fix/asn1fix_bitstring.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1FIX_BIT_STRING_H -#define ASN1FIX_BIT_STRING_H - -int asn1f_fix_bit_string(arg_t *); - -#endif /* ASN1FIX_BIT_STRING_H */ diff --git a/libasn1fix/asn1fix_class.c b/libasn1fix/asn1fix_class.c deleted file mode 100644 index 91847a6..0000000 --- a/libasn1fix/asn1fix_class.c +++ /dev/null @@ -1,91 +0,0 @@ -#include "asn1fix_internal.h" - -asn1p_expr_t * -asn1f_class_access(arg_t *arg, asn1p_expr_t *rhs_pspecs, const asn1p_ref_t *ref) { - asn1p_expr_t *ioclass; - asn1p_expr_t *classfield; - asn1p_expr_t *expr; - asn1p_ref_t tmpref; - - assert(ref->comp_count > 1); - - DEBUG("ClassAccess lookup (%s%s) for line %d", - asn1f_printable_reference(ref), rhs_pspecs ? ", parameterized" : "", - ref->_lineno); - - /* - * Fetch the first part of the reference (OBJECT or ObjectSet). - * OBJECT.&... - * ObjectSet.&... - */ - assert(isupper(ref->components[0].name[0])); - - tmpref = *ref; - tmpref.comp_count = 1; - ioclass = asn1f_lookup_symbol(arg, rhs_pspecs, &tmpref); - if(ioclass == NULL) { - DEBUG("ClassAccess lookup (%s) failed", - asn1f_printable_reference(&tmpref)); - errno = ESRCH; - return NULL; - } - if(ioclass->expr_type == A1TC_REFERENCE) { - ioclass = WITH_MODULE( - ioclass->module, - asn1f_lookup_symbol(arg, ioclass->rhs_pspecs, ioclass->reference)); - if(ioclass == NULL) { - errno = ESRCH; - return NULL; - } - } - if(ioclass->expr_type != A1TC_CLASSDEF) { - if(!(ioclass->_mark & TM_BROKEN)) { - ioclass->_mark |= TM_BROKEN; - FATAL("Class field %s lookup at line %d in something that is not a class: %s at line %d", - asn1f_printable_reference(ref), ref->_lineno, - ioclass->Identifier, - ioclass->_lineno); - } - errno = EINVAL; - return NULL; - } - - classfield = asn1f_lookup_child(ioclass, ref->components[1].name); - if(classfield == NULL) { - DEBUG("CLASS %s does not contain field %s", - ioclass->Identifier, ref->components[1].name); - errno = ESRCH; - return NULL; - } - - assert(classfield->meta_type == AMT_OBJECTFIELD); - - DEBUG("CLASS %s -> %s (%d)", ioclass->Identifier, - classfield->Identifier, classfield->expr_type); - - switch(classfield->expr_type) { - case A1TC_CLASSFIELD_TFS: - if(TQ_FIRST(&classfield->members)) { - /* Already have something */ - } else { - expr = asn1p_expr_new(classfield->_lineno, arg->mod); - expr->expr_type = ASN_TYPE_ANY; - expr->meta_type = AMT_TYPE; - asn1p_expr_add(classfield, expr); - } - /* Fall through */ - case A1TC_CLASSFIELD_FTVFS: - expr = TQ_FIRST(&classfield->members); - assert(expr); - return expr; - break; - default: - FATAL("%s.%s: field type not yet supported. " - "Consider donation to the asn1c author.", - ioclass->Identifier, classfield->Identifier); - return NULL; - } - - return NULL; -} - diff --git a/libasn1fix/asn1fix_class.h b/libasn1fix/asn1fix_class.h deleted file mode 100644 index 02292a6..0000000 --- a/libasn1fix/asn1fix_class.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef ASN1FIX_CLASS_H -#define ASN1FIX_CLASS_H - -/* - * Fetch the element from the class-related stuff (thing) by its reference. - */ -asn1p_expr_t *asn1f_class_access(arg_t *, asn1p_expr_t *rhs_pspecs, - const asn1p_ref_t *); - -#endif /* ASN1FIX_CLASS_H */ diff --git a/libasn1fix/asn1fix_compat.c b/libasn1fix/asn1fix_compat.c deleted file mode 100644 index 064e38e..0000000 --- a/libasn1fix/asn1fix_compat.c +++ /dev/null @@ -1,149 +0,0 @@ -#include "asn1fix_internal.h" - -static int asn1f_check_same_children(arg_t *arg, asn1p_expr_t *a, asn1p_expr_t *b); - -/* - * Check that the expressions given are compatible in their type. - * ORDER DOES MATTER! (See .h). - */ -int -asn1f_check_type_compatibility(arg_t *arg, asn1p_expr_t *a, asn1p_expr_t *b) { - asn1p_expr_type_e atype, btype; - - atype = a->expr_type; - btype = b->expr_type; - - DEBUG("(%s:%x@%d, %s:%x@%d)", - a->Identifier, atype, a->_lineno, - b->Identifier, btype, b->_lineno); - - /* - * Expected terminal type! - */ - assert(atype != A1TC_REFERENCE); - assert(btype != A1TC_REFERENCE); - - if(a == b) - return 0; /* Fairly obviously */ - - if(atype != btype) { - /* - * Limited cross-compatibility of integer types. - */ - if((atype == A1TC_UNIVERVAL && btype == ASN_BASIC_INTEGER) - || (atype == A1TC_UNIVERVAL && btype == ASN_BASIC_ENUMERATED) - ) - return 0; - - /* Limited cross-compatibility of string types */ - if((atype & ASN_STRING_MASK) - && (btype & ASN_STRING_MASK)) { - /* X.680, B.5 */ - int akm = (atype & ASN_STRING_KM_MASK) - || atype == ASN_STRING_UTF8String; - int bkm = (btype & ASN_STRING_KM_MASK) - || btype == ASN_STRING_UTF8String; - return (akm == bkm) ? 0 : -1; - } - - DEBUG("\t%s and %s are not compatible", - a->Identifier, b->Identifier); - return -1; /* Fairly obviously */ - } - - switch(atype) { - case ASN_BASIC_INTEGER: - /* All integers are compatible, X.680, B.4.5 */ - return 0; - case ASN_BASIC_ENUMERATED: - /* - * Enumerations are not compatible - * unless their definitions are the same. - */ - if(asn1f_check_same_children(arg, a, b)) { - DEBUG("\tEnumerations are different %s and %s", - a->Identifier, b->Identifier); - return -1; - } - return 0; - default: - if((atype & ASN_STRING_MASK) - && (btype & ASN_STRING_MASK)) { - /* String type is compatible with the same type */ - return 0; - } - /* Compatibility is not defined yet */ - DEBUG("\tCompatibility rule is not defined for %s and %s", - a->Identifier, b->Identifier); - return -1; - } - - return 0; -} - -/* - * Check that the children are exactly same. - */ -static int -asn1f_check_same_children(arg_t *arg, asn1p_expr_t *a, asn1p_expr_t *b) { - asn1p_expr_t *achild; - asn1p_expr_t *bchild; - - achild = TQ_FIRST(&(a->members)); - bchild = TQ_FIRST(&(b->members)); - - while(1) { - if(achild->expr_type != bchild->expr_type) - return -1; - - if(achild->Identifier && bchild->Identifier) { - if(strcmp(achild->Identifier, bchild->Identifier)) - return -1; - } else if(!(!achild->Identifier && !bchild->Identifier)) { - return -1; - } - - if(achild->value && bchild->value) { - if(achild->value->type != bchild->value->type) - return -1; - switch(achild->value->type) { - case ATV_INTEGER: - if(achild->value->value.v_integer - != bchild->value->value.v_integer) - return -1; - break; - case ATV_REFERENCED: - default: - DEBUG("Value %s at lines %d and " - "%d cannot be used in " - "semantical equality check", - asn1f_printable_value(achild->value), - achild->value->value.reference->_lineno, - bchild->value->value.reference->_lineno - ); - return -1; - } - } else if(!(!achild->value && !bchild->value)) { - /* One of values is defined, and another is not */ - return -1; - } - - achild = TQ_NEXT(achild, next); - bchild = TQ_NEXT(bchild, next); - - if(achild && bchild) - continue; - else if(!achild && !bchild) - break; - else - return -1; - } - - DEBUG("\t%s:%x@%d and %s:%x@%d are semantically equivalent", - a->Identifier, a->expr_type, a->_lineno, - b->Identifier, b->expr_type, b->_lineno); - - return 0; -} - - diff --git a/libasn1fix/asn1fix_compat.h b/libasn1fix/asn1fix_compat.h deleted file mode 100644 index b147a1b..0000000 --- a/libasn1fix/asn1fix_compat.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef ASN1FIX_COMPAT_H -#define ASN1FIX_COMPAT_H - -/* - * Check that the expressions given are compatible in their type. - * ORDER DOES MATTER! - * The compatibility is being checked as if the value of b were used - * to assign it to type a. - */ -int asn1f_check_type_compatibility(arg_t *arg, - asn1p_expr_t *a, - asn1p_expr_t *b); - -#endif /* ASN1FIX_COMPAT_H */ diff --git a/libasn1fix/asn1fix_constr.c b/libasn1fix/asn1fix_constr.c deleted file mode 100644 index 8f4331c..0000000 --- a/libasn1fix/asn1fix_constr.c +++ /dev/null @@ -1,516 +0,0 @@ -#include "asn1fix_internal.h" - -static int _asn1f_check_if_tag_must_be_explicit(arg_t *arg, asn1p_expr_t *v); -static int _asn1f_compare_tags(arg_t *arg, asn1p_expr_t *a, asn1p_expr_t *b); -static int _asn1f_fix_type_tag(arg_t *arg, asn1p_expr_t *expr); - -int -asn1f_pull_components_of(arg_t *arg) { - TQ_HEAD(asn1p_expr_t) list; - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *memb; - int r_value = 0; - - switch(expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - break; - default: - return 0; - } - - TQ_INIT(&list); - - /* - * Look into - */ - while((memb = TQ_REMOVE(&(expr->members), next))) { - asn1p_expr_t *coft; /* COMPONENTS OF thing itself */ - asn1p_expr_t *terminal; /* Terminal of the referenced type */ - - if(memb->expr_type != A1TC_COMPONENTS_OF) { - TQ_ADD(&list, memb, next); - continue; - } - - coft = TQ_FIRST(&memb->members); - assert(coft); - assert(!TQ_NEXT(coft, next)); - - /* - * Find the referenced type. - */ - terminal = asn1f_find_terminal_type(arg, coft); - if(!terminal || (terminal->expr_type != expr->expr_type)) { - FATAL("COMPONENTS OF at line %d " - "must reference a %s type", - coft->_lineno, - expr->expr_type==ASN_CONSTR_SET - ? "SET" : "SEQUENCE" - ); - TQ_ADD(&list, memb, next); - r_value = -1; - continue; - } - - /* - * Clone the final structure. - */ - - coft = asn1p_expr_clone(terminal, 1 /* Skip extensions */); - if(!coft) return -1; /* ENOMEM */ - - if(1) { - asn1p_expr_free(memb); /* Don't need it anymore*/ - } else { - /* Actual removal clashes with constraints... skip. */ - } - - /* - * Move all components of the cloned structure - * into the current one. - */ - while((memb = TQ_REMOVE(&(coft->members), next))) { - TQ_ADD(&list, memb, next); - memb->parent_expr = expr; - } - - asn1p_expr_free(coft); /* Remove wrapper */ - } - - /* Move the stuff back */ - TQ_MOVE(&(expr->members), &list); - - return r_value; -} - -/* - * Fix extensibility parts inside constructed types (SEQUENCE, SET, CHOICE). - */ -int -asn1f_fix_constr_ext(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - TQ_HEAD(asn1p_expr_t) root_list; - TQ_HEAD(asn1p_expr_t) ext_list; - TQ_HEAD(asn1p_expr_t) *cur_list; - int r_value = 0; - int ext_count = 0; - - switch(expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - case ASN_CONSTR_CHOICE: - break; - default: - return 0; - } - - DEBUG("(%s) for line %d", expr->Identifier, expr->_lineno); - - TQ_INIT(&root_list); - TQ_INIT(&ext_list); - cur_list = (void *)&root_list; - - /* - * Split the set of fields into two lists, the root list - * and the extensions list. - */ - while((v = TQ_REMOVE(&(expr->members), next))) { - if(v->expr_type == A1TC_EXTENSIBLE) { - ext_count++; - switch(ext_count) { - case 1: cur_list = (void *)&ext_list; break; - case 2: - cur_list = (void *)&root_list; - if(v->value) { - FATAL("Optional extension marker " - "must not contain " - "an exception mark " - "at line %d", v->_lineno); - r_value = -1; - } - asn1p_expr_free(v); - continue; - case 3: - FATAL("Third extension marker " - "is not allowed at line %d", v->_lineno); - /* Fall through */ - default: - r_value = -1; - } - } - - TQ_ADD(cur_list, v, next); - } - - /* - * Copy the root list and extension list back into the main list. - */ - TQ_MOVE(&(expr->members), &root_list); - while((v = TQ_REMOVE(&ext_list, next))) - TQ_ADD(&(expr->members), v, next); - - if(arg->mod->module_flags & MSF_EXTENSIBILITY_IMPLIED - && ext_count == 0) { - v = asn1p_expr_new(0, arg->mod); - if(v) { - v->Identifier = strdup("..."); - v->expr_type = A1TC_EXTENSIBLE; - v->meta_type = AMT_TYPE; - v->_lineno = expr->_lineno; /* The best we can do */ - if(v->Identifier == NULL) { - asn1p_expr_free(v); - r_value = -1; - } else { - asn1p_expr_add(expr, v); - } - } else { - r_value = -1; - } - } - - return r_value; -} - - -int -asn1f_fix_constr_tag(arg_t *arg, int fix_top_level) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int root_tagged = 0; /* The root component is manually tagged */ - int ext_tagged = 0; /* The extensions are manually tagged */ - int component_number = 0; - int r_value = 0; - - DEBUG("(%s) for line %d", expr->Identifier, expr->_lineno); - - /* - * Fix the top-level type itself first. - */ - if(fix_top_level) { - if(expr->tag.tag_class == TC_NOCLASS) - return r_value; - - if(_asn1f_fix_type_tag(arg, expr)) - r_value = -1; - - return r_value; - } - - switch(expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - case ASN_CONSTR_CHOICE: - break; - default: - return 0; - } - - TQ_FOR(v, &(expr->members), next) { - - if(v->expr_type == A1TC_EXTENSIBLE) { - component_number++; - continue; - } - - if(v->tag.tag_class == TC_NOCLASS) { - continue; - } - - switch(component_number) { - case 0: case 2: - root_tagged = 1; break; - default: - ext_tagged = 1; break; - } - - if(_asn1f_fix_type_tag(arg, v)) - r_value = -1; - - } - - if((arg->mod->module_flags & MSF_AUTOMATIC_TAGS) - && !root_tagged) { - if(ext_tagged) { - /* X.690: 28.4 */ - FATAL("In %s at line %d: " - "extensions are tagged " - "but root components are not", - expr->Identifier, expr->_lineno); - r_value = -1; - } else { - /* Make a decision on automatic tagging */ - expr->auto_tags_OK = 1; - } - } - - return r_value; -} - -static int -_asn1f_fix_type_tag(arg_t *arg, asn1p_expr_t *expr) { - int must_explicit = _asn1f_check_if_tag_must_be_explicit(arg, expr); - int module_impl_tags = (arg->mod->module_flags - & (MSF_IMPLICIT_TAGS | MSF_AUTOMATIC_TAGS)); - int r_value = 0; - - if(expr->tag.tag_mode == TM_DEFAULT) { - if(must_explicit || module_impl_tags == 0) - expr->tag.tag_mode = TM_EXPLICIT; - else - expr->tag.tag_mode = TM_IMPLICIT; - } - - /* - * Perform a final sanity check. - */ - if(must_explicit) { - if(expr->tag.tag_mode == TM_IMPLICIT) { - FATAL("%s tagged in IMPLICIT mode " - "but must be EXPLICIT at line %d", - expr->Identifier, expr->_lineno); - r_value = -1; - } else { - expr->tag.tag_mode = TM_EXPLICIT; - } - } - - return r_value; -} - -int -asn1f_fix_constr_autotag(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - asn1c_integer_t tag_value = 0; - int r_value = 0; - - switch(expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - case ASN_CONSTR_CHOICE: - if(expr->auto_tags_OK) - break; - /* Automatic tagging is not applicable */ - /* Fall through */ - default: - return 0; - } - - DEBUG("(%s) for line %d", expr->Identifier, expr->_lineno); - - TQ_FOR(v, &(expr->members), next) { - int must_explicit; - - if(v->expr_type == A1TC_EXTENSIBLE) { - /* 28.5, d) */ - continue; - } - - if(0) { - /* This may be not true in case COMPONENTS OF */ - assert(v->tag.tag_class == TC_NOCLASS); - } - - must_explicit = _asn1f_check_if_tag_must_be_explicit(arg, v); - - v->tag.tag_class = TC_CONTEXT_SPECIFIC; - v->tag.tag_mode = must_explicit ? TM_EXPLICIT : TM_IMPLICIT; - v->tag.tag_value = tag_value++; - } - - return r_value; -} - -/* - * Check that tags are distinct. - */ -int -asn1f_check_constr_tags_distinct(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *v; - int r_value = 0; - - switch(expr->expr_type) { - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SET: - case ASN_CONSTR_CHOICE: - break; - default: - return 0; - } - - TQ_FOR(v, &(expr->members), next) { - /* - * In every series of non-mandatory components, - * the tags must be distinct from each other AND the - * tag of the following mandatory component. - * For SET and CHOICE treat everything as a big set of - * non-mandatory components. - */ - if(expr->expr_type != ASN_CONSTR_SEQUENCE || v->marker.flags) { - asn1p_expr_t *nv; - for(nv = v; (nv = TQ_NEXT(nv, next));) { - DEBUG("S/C comparing tags %s s. %s", - v->Identifier, nv->Identifier); - if(_asn1f_compare_tags(arg, v, nv)) - r_value = -1; - if(expr->expr_type == ASN_CONSTR_SEQUENCE - && !nv->marker.flags) break; - } - } - } - - return r_value; -} - -static int -_asn1f_check_if_tag_must_be_explicit(arg_t *arg, asn1p_expr_t *v) { - struct asn1p_type_tag_s tag; - struct asn1p_type_tag_s save_tag; - asn1p_expr_t *reft; - int ret; - - /* - * Fetch the _next_ tag for this type. - */ - save_tag = v->tag; /* Save existing tag */ - memset(&v->tag, 0, sizeof(v->tag)); /* Remove it temporarily */ - ret = asn1f_fetch_outmost_tag(arg->asn, arg->ns, arg->mod, v, &tag, 0); - v->tag = save_tag; /* Restore the tag back */ - - if(ret == 0) return 0; /* If found tag, it's okay */ - - reft = asn1f_find_terminal_type(arg, v); - if(reft) { - switch(reft->expr_type) { - case ASN_TYPE_ANY: - case ASN_CONSTR_CHOICE: - return 1; - default: - return 0; - } - } - - return 0; -} - -/* - * Check that the tags are distinct. - */ -static int -_asn1f_compare_tags(arg_t *arg, asn1p_expr_t *a, asn1p_expr_t *b) { - struct asn1p_type_tag_s ta, tb; - int ra, rb; - int ret; - - ra = asn1f_fetch_outmost_tag(arg->asn, arg->ns, arg->mod, a, - &ta, AFT_IMAGINARY_ANY); - rb = asn1f_fetch_outmost_tag(arg->asn, arg->ns, arg->mod, b, - &tb, AFT_IMAGINARY_ANY); - - /* - * If both tags are explicitly or implicitly given, use them. - */ - DEBUG("Fetching outmost tags: %d, %d", ra, rb); - if(ra == 0 && rb == 0) { - /* - * Simple case: fetched both tags. - */ - - if((ta.tag_value == tb.tag_value - && ta.tag_class == tb.tag_class) - || ta.tag_value == -1 /* Spread IMAGINARY ANY tag... */ - || tb.tag_value == -1 /* ...it is an evil virus, fear it! */ - ) { - char tagbuf[2][TAG2STRING_BUFFER_SIZE]; - char *p = (a->expr_type == A1TC_EXTENSIBLE) - ?"potentially ":""; - FATAL("Processing %s at line %d: component \"%s\" at line %d %shas the same tag " - "as component \"%s\" at line %d", - arg->expr->Identifier, - arg->expr->_lineno, - a->Identifier, - a->_lineno, - p, - b->Identifier, - b->_lineno - ); - FATAL("Consider adding AUTOMATIC TAGS " - "after module %s DEFINITIONS, " - "or manually tag components", - arg->expr->module->ModuleName); - DEBUG("Tags: %s %s vs. %s %s", - asn1p_tag2string(&ta, tagbuf[0]), - a->Identifier, - asn1p_tag2string(&tb, tagbuf[1]), - b->Identifier - ); - if((arg->mod->module_flags & MSF_EXTENSIBILITY_IMPLIED) - && (a->expr_type == A1TC_EXTENSIBLE) - && (b->expr_type == A1TC_EXTENSIBLE)) { - FATAL("The previous error is due to " - "improper use of " - "EXTENSIBILITY IMPLIED flag " - "of module %s", - arg->mod->ModuleName); - } - return -1; - } else { - /* Tags are distinct */ - return 0; - } - } - - /********************************************************** - * Now we must perform some very funny recursion to check - * multiple components of CHOICE type, etc. - */ - - DEBUG("Comparing tags %s:%x <-> %s:%x", - a->Identifier, a->expr_type, - b->Identifier, b->expr_type); - - if(ra && a->meta_type == AMT_TYPEREF) { - - DEBUG(" %s is a type reference", a->Identifier); - - a = asn1f_lookup_symbol(arg, a->rhs_pspecs, a->reference); - if(!a) return 0; /* Already FATAL()'ed somewhere else */ - return WITH_MODULE(a->module, _asn1f_compare_tags(arg, a, b)); - } - - if(ra && a->expr_type == ASN_CONSTR_CHOICE) { - asn1p_expr_t *v; - - DEBUG(" %s is a choice type (%d)", a->Identifier, a->_mark); - - /* - * Iterate over members of CHOICE. - */ - //if(a->_mark & TM_RECURSION) return 0; - TQ_FOR(v, &(a->members), next) { - //a->_mark |= TM_RECURSION; - ret = _asn1f_compare_tags(arg, v, b); - //a->_mark &= ~TM_RECURSION; - if(ret) return ret; - } - return 0; - } - - if(rb && b->expr_type == ASN_CONSTR_CHOICE) { - return _asn1f_compare_tags(arg, b, a); - } - - if(a->_mark & TM_RECURSION) return 0; - if(b->_mark & TM_RECURSION) return 0; - a->_mark |= TM_RECURSION; - b->_mark |= TM_RECURSION; - ret = _asn1f_compare_tags(arg, b, a); - a->_mark &= ~TM_RECURSION; - b->_mark &= ~TM_RECURSION; - - return ret; -} - diff --git a/libasn1fix/asn1fix_constr.h b/libasn1fix/asn1fix_constr.h deleted file mode 100644 index 5d9c4f9..0000000 --- a/libasn1fix/asn1fix_constr.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ASN1FIX_CONSTRUCTED_H -#define ASN1FIX_CONSTRUCTED_H - -/* - * Pull in COMPONENTS OF. - */ -int asn1f_pull_components_of(arg_t *); - -/* - * Fix extensions in constructed types. - */ -int asn1f_fix_constr_ext(arg_t *); - -/* - * Fix tagging in constructed types. - */ -int asn1f_fix_constr_tag(arg_t *, int fix_top_level); - -/* - * Check distinctive tagging in constructed types. - */ -int asn1f_check_constr_tags_distinct(arg_t *); - -/* - * Perform automatic tagging. - */ -int asn1f_fix_constr_autotag(arg_t *); - -#endif /* ASN1FIX_CONSTRUCTED_H */ diff --git a/libasn1fix/asn1fix_constraint.c b/libasn1fix/asn1fix_constraint.c deleted file mode 100644 index cf29a33..0000000 --- a/libasn1fix/asn1fix_constraint.c +++ /dev/null @@ -1,402 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix_constraint.h" -#include "asn1fix_crange.h" - -static void _remove_extensions(arg_t *arg, asn1p_constraint_t *ct, int flast); -static int constraint_type_resolve(arg_t *arg, asn1p_constraint_t *ct); -static int constraint_object_resolve(arg_t *arg, asn1p_value_t *value); -static int constraint_value_resolve(arg_t *arg, asn1p_value_t **value, enum asn1p_constraint_type_e real_ctype); - -int -asn1constraint_pullup(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *top_parent; - asn1p_constraint_t *ct_parent; - asn1p_constraint_t *ct_expr; - int ret; - - if(expr->combined_constraints) - return 0; /* Operation already performed earlier */ - - switch(expr->meta_type) { - case AMT_TYPE: - case AMT_TYPEREF: - case AMT_VALUESET: - break; - default: - return 0; /* Nothing to do */ - } - - if(expr->expr_type == A1TC_REFERENCE) { - asn1p_ref_t *ref = expr->reference; - asn1p_expr_t *parent_expr; - - assert(ref); - parent_expr = asn1f_lookup_symbol(arg, expr->rhs_pspecs, ref); - if(!parent_expr) { - if(errno != EEXIST) { - DEBUG("\tWhile fetching parent constraints: " - "type \"%s\" not found: %s", - asn1f_printable_reference(ref), - strerror(errno)); - return -1; - } else { - /* - * -fknown-extern-type is given. - * Assume there are no constraints there. - */ - WARNING("External type \"%s\": " - "assuming no constraints", - asn1f_printable_reference(ref)); - ct_parent = 0; - } - } else { - arg->expr = parent_expr; - ret = asn1constraint_pullup(arg); - arg->expr = expr; - if(ret) return ret; - - ct_parent = parent_expr->combined_constraints; - } - } else { - ct_parent = 0; - } - - ct_expr = expr->constraints; - - if(!ct_parent && !ct_expr) - return 0; /* No constraints to consider */ - - /* - * Resolve constraints, if not already resolved. - */ - top_parent = asn1f_find_terminal_type(arg, arg->expr); - ret = asn1constraint_resolve( - arg, ct_expr, top_parent ? top_parent->expr_type : A1TC_INVALID, 0); - if(ret) return ret; - - /* - * Copy parent type constraints. - */ - if(ct_parent) { - ct_parent = asn1p_constraint_clone(ct_parent); - assert(ct_parent); - } - - /* - * If the current type does not have constraints, it inherits - * the constraints of a parent. - */ - if(ct_parent && !ct_expr) { - expr->combined_constraints = ct_parent; - return 0; - } - - ct_expr = asn1p_constraint_clone(ct_expr); - assert(ct_expr); - - /* - * Now we have a set of current expression's constraints, - * and an optional set of the parent expression's constraints. - */ - - if(ct_parent) { - /* - * If we have a parent, remove all the extensions (46.4). - */ - _remove_extensions(arg, ct_parent, 0); - - expr->combined_constraints = ct_parent; - if(ct_expr->type == ACT_CA_SET) { - unsigned int i; - for(i = 0; i < ct_expr->el_count; i++) { - if(asn1p_constraint_insert( - expr->combined_constraints, - ct_expr->elements[i])) { - expr->combined_constraints = 0; - asn1p_constraint_free(ct_expr); - asn1p_constraint_free(ct_parent); - return -1; - } else { - ct_expr->elements[i] = 0; - } - } - asn1p_constraint_free(ct_expr); - } else { - asn1p_constraint_insert(expr->combined_constraints, - ct_expr); - } - } else { - _remove_extensions(arg, ct_expr, 1); - expr->combined_constraints = ct_expr; - } - - return 0; -} - -int -asn1constraint_resolve(arg_t *arg, asn1p_constraint_t *ct, asn1p_expr_type_e etype, enum asn1p_constraint_type_e effective_type) { - enum asn1p_constraint_type_e real_constraint_type; - unsigned int el; - int rvalue = 0; - int ret; - - DEBUG("(\"%s\")", arg->expr->Identifier); - - if(!ct) return 0; - - /* Don't touch information object classes */ - switch(ct->type) { - case ACT_CT_SIZE: - case ACT_CT_FROM: - if(effective_type && effective_type != ct->type) { - FATAL("%s at line %d: " - "Incompatible nested %s within %s", - arg->expr->Identifier, ct->_lineno, - asn1p_constraint_type2str(ct->type), - asn1p_constraint_type2str(effective_type) - ); - } - effective_type = ct->type; - break; - case ACT_CT_WCOMP: - case ACT_CT_WCOMPS: - case ACT_CA_CRC: - return 0; - default: - break; - } - - real_constraint_type = effective_type ? effective_type : ct->type; - - if(etype != A1TC_INVALID) { - - ret = asn1constraint_compatible(etype, real_constraint_type, - arg->flags & A1F_EXTENDED_SizeConstraint); - switch(ret) { - case -1: /* If unknown, assume OK. */ - case 1: - break; - case 0: - default: - FATAL("%s at line %d: " - "Constraint type %s is not applicable to %s", - arg->expr->Identifier, ct->_lineno, - asn1p_constraint_type2str(real_constraint_type), - ASN_EXPR_TYPE2STR(etype) - ); - rvalue = -1; - break; - } - } else { - WARNING("%s at line %d: " - "Constraints ignored: Unresolved parent type", - arg->expr->Identifier, arg->expr->_lineno); - } - - /* - * Resolve all possible references, wherever they occur. - */ - if(ct->containedSubtype) { - ret = constraint_type_resolve(arg, ct); - RET2RVAL(ret, rvalue); - } - if(ct->value && ct->value->type == ATV_REFERENCED) { - ret = constraint_value_resolve(arg, &ct->value, real_constraint_type); - RET2RVAL(ret, rvalue); - } - if(ct->range_start && ct->range_start->type == ATV_REFERENCED) { - ret = constraint_value_resolve(arg, &ct->range_start, - real_constraint_type); - RET2RVAL(ret, rvalue); - } - if(ct->range_stop && ct->range_stop->type == ATV_REFERENCED) { - ret = constraint_value_resolve(arg, &ct->range_stop, - real_constraint_type); - RET2RVAL(ret, rvalue); - } - if (ct->value && ct->value->type == ATV_UNPARSED && etype == A1TC_CLASSDEF) { - ret = constraint_object_resolve(arg, ct->value); - RET2RVAL(ret, rvalue); - } - - /* - * Proceed recursively. - */ - for(el = 0; el < ct->el_count; el++) { - ret = asn1constraint_resolve(arg, ct->elements[el], etype, - effective_type); - RET2RVAL(ret, rvalue); - } - - return rvalue; -} - -static void -_remove_extensions(arg_t *arg, asn1p_constraint_t *ct, int forgive_last) { - unsigned int i; - - if(!ct) return; - - for(i = 0; i < ct->el_count; i++) { - if(ct->elements[i]->type == ACT_EL_EXT) - break; - if(forgive_last && ct->type == ACT_CA_SET - && i + 1 == ct->el_count) - return; - _remove_extensions(arg, ct->elements[i], 0); - } - - /* Remove the elements at and after the extensibility mark */ - for(; i < ct->el_count; ct->el_count--) { - asn1p_constraint_t *rm; - rm = ct->elements[ct->el_count-1]; - asn1p_constraint_free(rm); - } - - if(i < ct->el_size) - ct->elements[i] = 0; -} - -static asn1p_ref_t * -get_reference_from(asn1p_constraint_t *ct) { - if(ct->containedSubtype->type == ATV_REFERENCED) { - return ct->containedSubtype->value.reference; - } else if(ct->containedSubtype->type == ATV_TYPE) { - if(ct->containedSubtype->value.v_type->expr_type == A1TC_REFERENCE) { - return ct->containedSubtype->value.v_type->reference; - } - } - return NULL; -} - -static int -constraint_type_resolve(arg_t *arg, asn1p_constraint_t *ct) { - asn1p_constraint_t *ct_expr; - int ret; - asn1p_expr_t *rtype = (asn1p_expr_t *)0; - - DEBUG("(\"%s\")", asn1f_printable_value(ct->containedSubtype)); - - if(ct->containedSubtype->type == ATV_VALUESET) { - ct_expr = ct->containedSubtype->value.constraint; - DEBUG("Found %s in constraints", "ValueSet"); - } else if(get_reference_from(ct)) { - arg_t tmparg; - - rtype = asn1f_lookup_symbol(arg, arg->expr->rhs_pspecs, - get_reference_from(ct)); - if(!rtype) { - FATAL( - "Cannot find type \"%s\" in constraints " - "at line %d", - asn1f_printable_value(ct->containedSubtype), ct->_lineno); - return -1; - } - - tmparg = *arg; - tmparg.expr = rtype; - tmparg.mod = rtype->module; - ret = asn1constraint_pullup(&tmparg); - if(ret) return ret; - - if(rtype->ioc_table) { - if(!arg->expr->ioc_table) - arg->expr->ioc_table = asn1p_ioc_table_new(); - asn1p_ioc_table_append(arg->expr->ioc_table, rtype->ioc_table); - asn1p_value_free(ct->containedSubtype); - ct->containedSubtype = NULL; - } - - ct_expr = rtype->combined_constraints; - if(!ct_expr) return 0; - } else { - FATAL("Unsupported constraint kind %s at line %d", - asn1f_printable_value(ct->containedSubtype), ct->_lineno); - return -1; - } - - ct_expr = asn1p_constraint_clone(ct_expr); - assert(ct_expr); - - _remove_extensions(arg, ct_expr, 0); - - if(ct_expr->type == ACT_CA_SET) { - unsigned int i; - for(i = 0; i < ct_expr->el_count; i++) { - if(asn1p_constraint_insert( - ct, ct_expr->elements[i])) { - asn1p_constraint_free(ct_expr); - return -1; - } else { - ct_expr->elements[i] = 0; - } - } - asn1p_constraint_free(ct_expr); - } else { - ret = asn1p_constraint_insert(ct, ct_expr); - assert(ret == 0); - } - - ct->type = ACT_CA_SET; - - /* keep constrainedSubtype field for future usage, - if valueset has not been resolved yet. */ - if(rtype && - (rtype->meta_type == AMT_VALUESET) && - (!rtype->ioc_table)) - return 0; - - asn1p_value_free(ct->containedSubtype); - ct->containedSubtype = NULL; - - return 0; -} - -static int -constraint_value_resolve(arg_t *arg, asn1p_value_t **value, - enum asn1p_constraint_type_e real_ctype) { - asn1p_expr_t static_expr; - arg_t tmparg; - int rvalue = 0; - int ret; - - DEBUG("(\"%s\", within <%s>)", - asn1f_printable_value(*value), - asn1p_constraint_type2str(real_ctype)); - - static_expr = *arg->expr; - static_expr.value = *value; - static_expr.meta_type = AMT_VALUE; - tmparg = *arg; - tmparg.mod = arg->expr->module; - tmparg.expr = &static_expr; - ret = asn1f_value_resolve(&tmparg, &static_expr, &real_ctype); - RET2RVAL(ret, rvalue); - assert(static_expr.value); - *value = static_expr.value; - - return rvalue; -} - -static int -constraint_object_resolve(arg_t *arg, asn1p_value_t *value) { - asn1p_expr_t tmp_expr = *arg->expr; - asn1p_expr_t *saved_expr = arg->expr; - - tmp_expr.meta_type = AMT_VALUESET; - tmp_expr.expr_type = A1TC_REFERENCE; - tmp_expr.value = value; - arg->expr = &tmp_expr; - - if (asn1f_check_class_object(arg)) { - arg->expr = saved_expr; - FATAL("Parsing ObjectSet %s failed at %d", arg->expr->Identifier, - arg->expr->_lineno); - return -1; - } - - arg->expr = saved_expr; - return 0; -} - diff --git a/libasn1fix/asn1fix_constraint.h b/libasn1fix/asn1fix_constraint.h deleted file mode 100644 index 96164e1..0000000 --- a/libasn1fix/asn1fix_constraint.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef ASN1FIX_CONSTRAINT_H -#define ASN1FIX_CONSTRAINT_H - -/* - * Resolve referenced values inside constraints. - */ -int asn1constraint_resolve( - arg_t *arg, asn1p_constraint_t *ct, - asn1p_expr_type_e topmost_parent_expression_type, - enum asn1p_constraint_type_e effective_constraint_type); - -/* - * Collect all subtype constraints from all parents of this type and - * the type itself, forming a full constraint structure. - * Honors the constraints extensibility rules (46.8) - * and does other useful transformations. - */ -int asn1constraint_pullup(arg_t *arg); - -#endif /* ASN1FIX_CONSTRAINT_H */ diff --git a/libasn1fix/asn1fix_constraint_compat.c b/libasn1fix/asn1fix_constraint_compat.c deleted file mode 100644 index 5f0ab22..0000000 --- a/libasn1fix/asn1fix_constraint_compat.c +++ /dev/null @@ -1,245 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix_crange.h" - -/* - * Check that a specific constraint is compatible - * with the given expression type. - */ -int -asn1constraint_compatible(asn1p_expr_type_e expr_type, - enum asn1p_constraint_type_e constr_type, int fbless_SIZE) { - - /* - * X.680-0207, Table 9. - */ - - switch(constr_type) { - case ACT_INVALID: - return 0; - case ACT_EL_TYPE: - return 1; - case ACT_EL_VALUE: - return 1; - case ACT_EL_RANGE: - case ACT_EL_LLRANGE: - case ACT_EL_RLRANGE: - case ACT_EL_ULRANGE: - switch(expr_type) { - case ASN_BASIC_ENUMERATED: - case ASN_BASIC_BOOLEAN: - /* - * The ValueRange constraint is not formally - * applicable to the above types. However, we - * support it just fine. - */ - /* Fall through */ - case ASN_BASIC_INTEGER: - case ASN_BASIC_REAL: - return 1; - default: - if(expr_type & ASN_STRING_MASK) - return 1; - } - return 0; - case ACT_EL_EXT: - return -1; - case ACT_CT_FROM: - if(expr_type & ASN_STRING_MASK) - return 1; - return 0; - case ACT_CT_SIZE: - switch(expr_type) { - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - if(fbless_SIZE) - return 1; - break; - case ASN_BASIC_BIT_STRING: - case ASN_BASIC_OCTET_STRING: - case ASN_BASIC_CHARACTER_STRING: - case ASN_CONSTR_SEQUENCE_OF: - case ASN_CONSTR_SET_OF: - return 1; - default: - if(expr_type & ASN_STRING_MASK) - return 1; - } - return 0; - case ACT_CT_WCOMP: - case ACT_CT_WCOMPS: - switch(expr_type) { - case A1TC_INSTANCE: - case ASN_BASIC_EXTERNAL: - case ASN_BASIC_EMBEDDED_PDV: - case ASN_BASIC_REAL: - case ASN_BASIC_CHARACTER_STRING: - case ASN_CONSTR_CHOICE: - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SEQUENCE_OF: - case ASN_CONSTR_SET: - case ASN_CONSTR_SET_OF: - return 1; - default: break; - } - return 0; - case ACT_CT_CTDBY: - return 1; - case ACT_CT_CTNG: /* X.682, #11 */ - switch(expr_type) { - case ASN_BASIC_OCTET_STRING: - case ASN_BASIC_BIT_STRING: - return 1; - default: - return 0; - } - case ACT_CT_PATTERN: - if(expr_type & ASN_STRING_MASK) - return 1; - return 0; - case ACT_CA_SET: - case ACT_CA_CRC: - case ACT_CA_CSV: - case ACT_CA_UNI: - case ACT_CA_INT: - case ACT_CA_EXC: - case ACT_CA_AEX: - return 1; - } - - return -1; -} - - -#define DECL_RANGE(foo, lb, ub, ov, pv) \ - static asn1cnst_range_t range_##foo = { \ - {ARE_VALUE, 0, lb}, {ARE_VALUE, 0, ub}, 0, 0, 0, 0, 0, 0, 0, ov, pv} - -#define DECL(name, lb, ub) DECL_RANGE(name, lb, ub, 0, 0) -#define DECL_notOPV(name, lb, ub) DECL_RANGE(name, lb, ub, 1, 1) - -asn1cnst_range_t * -asn1constraint_default_alphabet(asn1p_expr_type_e expr_type) { - DECL_notOPV(octstr, 0x00, 0xff); /* Not OER- and PER-visible */ - DECL_notOPV(utf8, 0x00, 0x7fffffff); /* Not OER- and PER-visible */ - DECL(bmp, 0x00, 65533); /* 64K-2 cells */ - DECL(uint7, 0x00, 0x7f); - DECL(uint32, 0x00, 0xffffffff); - DECL(Space, 0x20, 0x20); - DECL(ApostropheAndParens, 0x27, 0x29); - DECL(PlusTillColon, 0x2b, 0x3a); - DECL(Equal, 0x3d, 0x3d); - DECL(QuestionMark, 0x3f, 0x3f); - DECL(Digits, 0x30, 0x39); - DECL(AlphaCap, 0x41, 0x5a); - DECL(AlphaLow, 0x61, 0x7a); - DECL(PlusCommaMinusDot, 0x2b, 0x2e); - DECL(Plus, 0x2b, 0x2b); - DECL(MinusDot, 0x2d, 0x2e); - DECL(Z, 0x5a, 0x5a); - static asn1cnst_range_t *range_NumericString_array[] = { - &range_Space, &range_Digits }; - static asn1cnst_range_t *range_PrintableString_array[] = { - &range_Space, - &range_ApostropheAndParens, - &range_PlusTillColon, - &range_Equal, - &range_QuestionMark, - &range_AlphaCap, - &range_AlphaLow - }; - static asn1cnst_range_t *range_UTCTime_array[] = { - &range_Plus, &range_MinusDot, &range_Digits, &range_Z }; - static asn1cnst_range_t *range_GeneralizedTime_array[] = { - &range_PlusCommaMinusDot, &range_Digits, &range_Z }; - - static asn1cnst_range_t range_notPERVisible = { - { ARE_MIN, 0, 0 }, - { ARE_MAX, 0, 0 }, - 0, 0, 0, 0, 0, 0, 0, 0, 1 }; - static asn1cnst_range_t range_NumericString = { - { ARE_VALUE, 0, 0x20 }, - { ARE_VALUE, 0, 0x39 }, - NOT_NARROW, - range_NumericString_array, - sizeof(range_NumericString_array) - /sizeof(range_NumericString_array[0]), - 0, 0, 0, 0, 0, 0 }; - static asn1cnst_range_t range_PrintableString = { - { ARE_VALUE, 0, 0x20 }, - { ARE_VALUE, 0, 0x7a }, - NOT_NARROW, - range_PrintableString_array, - sizeof(range_PrintableString_array) - /sizeof(range_PrintableString_array[0]), - 0, 0, 0, 0, 0, 0 }; - static asn1cnst_range_t range_VisibleString = { - { ARE_VALUE, 0, 0x20 }, - { ARE_VALUE, 0, 0x7e }, - NOT_NARROW, 0, 0, 0, 0, 0, 0, 0, 0 }; - static asn1cnst_range_t range_UTCTime = { - { ARE_VALUE, 0, 0x2b }, - { ARE_VALUE, 0, 0x5a }, - NOT_NARROW, - range_UTCTime_array, - sizeof(range_UTCTime_array) - /sizeof(range_UTCTime_array[0]), - 0, 0, 0, 0, 0, 1 }; - static asn1cnst_range_t range_GeneralizedTime = { - { ARE_VALUE, 0, 0x2b }, - { ARE_VALUE, 0, 0x5a }, - NOT_NARROW, - range_GeneralizedTime_array, - sizeof(range_GeneralizedTime_array) - /sizeof(range_GeneralizedTime_array[0]), - 0, 0, 0, 0, 0, 1 }; - - switch(expr_type) { - case ASN_STRING_NumericString: - return &range_NumericString; - case ASN_STRING_PrintableString: - return &range_PrintableString; - case ASN_STRING_VisibleString: - return &range_VisibleString; - case ASN_STRING_IA5String: - return &range_uint7; - case ASN_STRING_BMPString: - return &range_bmp; - case ASN_STRING_UTF8String: - /* - * X.691, #9.3.6 - * Not a known-multipler character string type. - */ - assert(range_utf8.not_OER_visible); - assert(range_utf8.not_PER_visible); - return &range_utf8; - case ASN_STRING_UniversalString: - return &range_uint32; - case ASN_BASIC_UTCTime: - /* Permitted alphabet constraint is not applicable */ - assert(range_UTCTime.not_PER_visible); - return &range_UTCTime; - case ASN_BASIC_GeneralizedTime: - /* Permitted alphabet constraint is not applicable */ - assert(range_GeneralizedTime.not_PER_visible); - return &range_GeneralizedTime; - case ASN_BASIC_OCTET_STRING: - /* - * Permitted alphabet constraint is not applicable - * to this type. However, we support it, albeit not - * in a strict PER mode. - */ - assert(range_octstr.not_PER_visible); - return &range_octstr; - default: - if(!(expr_type & ASN_STRING_MASK)) - break; - assert(expr_type & ASN_STRING_NKM_MASK); - /* - * X.691, 9.3.6 - * Not a known-multiplier character string. - */ - return &range_notPERVisible; - } - - return NULL; -} diff --git a/libasn1fix/asn1fix_crange.c b/libasn1fix/asn1fix_crange.c deleted file mode 100644 index 4c9345d..0000000 --- a/libasn1fix/asn1fix_crange.c +++ /dev/null @@ -1,1457 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix_constraint.h" -#include "asn1fix_crange.h" - -#undef FATAL -#define FATAL(fmt, args...) do { \ - fprintf(stderr, "FATAL: "); \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, "\n"); \ - } while(0) - -static void -asn1constraint_range_free_outer(asn1cnst_range_t *cr) { - if(cr) { - int i; - if(cr->elements) { - for(i = 0; i < cr->el_count; i++) - asn1constraint_range_free(cr->elements[i]); - free(cr->elements); - } - memset(cr, 0, sizeof(*cr)); - } -} - -void -asn1constraint_range_free(asn1cnst_range_t *cr) { - asn1constraint_range_free_outer(cr); - free(cr); -} - -#define _range_free(foo) asn1constraint_range_free(foo) - -static asn1cnst_range_t *_range_new() { - asn1cnst_range_t *r; - r = calloc(1, sizeof(*r)); - if(r) { - r->left.type = ARE_MIN; - r->right.type = ARE_MAX; - } - return r; -} - -static void _range_remove_element(asn1cnst_range_t *range, int idx) { - assert(idx >= 0 && idx < range->el_count); - - assert(!range->elements[idx]->elements); - - _range_free(range->elements[idx]); - - memmove(&range->elements[idx], - &range->elements[idx + 1], - (range->el_count - idx - 1) - * sizeof(range->elements[0]) - ); - range->el_count--; - range->elements[range->el_count] = 0; /* JIC */ - - if(range->el_count == 0) { - range->el_size = 0; - free(range->elements); - range->elements = 0; - } -} - -static int _range_insert(asn1cnst_range_t *into, asn1cnst_range_t *cr) { - - assert(!cr->elements); - - if(into->el_count == into->el_size) { - void *p; - int n = into->el_size?(into->el_size << 1):4; - p = realloc(into->elements, n * sizeof(into->elements[0])); - if(p) { - into->el_size = n; - into->elements = p; - } else { - assert(p); - return -1; - } - } - - into->elements[into->el_count++] = cr; - return 0; -} - -static asn1cnst_range_t *_range_clone(const asn1cnst_range_t *range) { - asn1cnst_range_t *clone; - int i; - - clone = _range_new(); - if(!clone) return NULL; - - *clone = *range; - clone->elements = 0; - clone->el_count = 0; - clone->el_size = 0; - - for(i = 0; i < range->el_count; i++) { - asn1cnst_range_t *r = _range_clone(range->elements[i]); - if(!r || _range_insert(clone, r)) { - _range_free(clone); - _range_free(r); - return NULL; - } - } - - return clone; -} - -static int -_edge_compare(const asn1cnst_edge_t *el, const asn1cnst_edge_t *er) { - - switch(el->type) { - case ARE_MIN: - switch(er->type) { - case ARE_MIN: return 0; - case ARE_MAX: return -1; - case ARE_VALUE: return -1; - } - break; - case ARE_MAX: - switch(er->type) { - case ARE_MIN: return 1; - case ARE_MAX: return 0; - case ARE_VALUE: return 1; - } - break; - case ARE_VALUE: - switch(er->type) { - case ARE_MIN: return 1; - case ARE_MAX: return -1; - case ARE_VALUE: - if(el->value < er->value) - return -1; - if(el->value > er->value) - return 1; - return 0; - } - break; - } - - return 0; -} - -static int -_range_compare(const void *a, const void *b) { - const asn1cnst_range_t *ra = *(const asn1cnst_range_t * const *)a; - const asn1cnst_range_t *rb = *(const asn1cnst_range_t * const *)b; - int ret; - - ret = _edge_compare(&ra->left, &rb->left); - if(!ret) { - ret = _edge_compare(&ra->right, &rb->right); - } - - return ret; -} - -static const char * -_edge_print(const asn1cnst_edge_t *edge, char *buf, size_t size) { - *buf = '\0'; - assert(size > 4); - switch(edge->type) { - case ARE_MIN: strcpy(buf, "MIN"); break; - case ARE_MAX: strcpy(buf, "MAX"); break; - case ARE_VALUE: - snprintf(buf, size, "%s", asn1p_itoa(edge->value)); - break; - default: - assert(!"edge->type"); - } - return buf; -} - -static const char * -_edge_string(const asn1cnst_edge_t *edge) { - static char buf[128]; - return _edge_print(edge, buf, sizeof(buf)); -} - -static const char * -_range_string(const asn1cnst_range_t *range) { - static char buf[128]; - char buf0[128]; - char buf1[128]; - snprintf(buf, sizeof(buf), "(%s..%s)", - _edge_print(&range->left, buf0, sizeof(buf0)), - _edge_print(&range->right, buf1, sizeof(buf1))); - return buf; -} - -static int -_edge_is_within(const asn1cnst_range_t *range, const asn1cnst_edge_t *edge) { - int i; - - for(i = -1; i < range->el_count; i++) { - const asn1cnst_range_t *r; - if(i == -1) { - if(range->el_count) continue; - r = range; - } else { - r = range->elements[i]; - } - if(_edge_compare(&r->left, edge) <= 0 - && _edge_compare(&r->right, edge) >= 0) - return 1; - } - - return 0; -} - -static int -_check_edges_within(const asn1cnst_range_t *range, const asn1cnst_range_t *r) { - - if(!_edge_is_within(range, &r->left)) { - FATAL("Constraint value %s at line %d " - "is not within " - "a parent constraint range %s", - _edge_string(&r->left), - r->left.lineno, - _range_string(range) - ); - return -1; - } - - if(!_edge_is_within(range, &r->right)) { - FATAL("Constraint value %s at line %d " - "is not within " - "a parent constraint range %s", - _edge_string(&r->right), - r->left.lineno, - _range_string(range) - ); - return -1; - } - - return 0; -} - -/* - * Combine narrowings to get the strongest (most specific). - */ -static enum asn1cnst_range_narrowing -_strongest_narrowing(const asn1cnst_range_t *ar, const asn1cnst_range_t *br) { - enum asn1cnst_range_narrowing an = ar->narrowing; - enum asn1cnst_range_narrowing bn = br->narrowing; - - if(!an) { - return bn; - } else if(!bn) { - return an; - } else { - return an > bn ? an : bn; - } -} - -/* - * Combine narrowings to get the softest one. - */ -static enum asn1cnst_range_narrowing -_softest_narrowing(const asn1cnst_range_t *ar, const asn1cnst_range_t *br) { - enum asn1cnst_range_narrowing an = ar->narrowing; - enum asn1cnst_range_narrowing bn = br->narrowing; - - if(an) { - if(bn) { - return an < bn ? an : bn; - } else { - assert(bn == NOT_NARROW); - if(br->left.type == ARE_VALUE && br->right.type == ARE_VALUE) { - return an; - } else { - return NOT_NARROW; - } - } - } else if(bn) { - if(ar->left.type == ARE_VALUE && ar->right.type == ARE_VALUE) { - return bn; - } else { - return NOT_NARROW; - } - } else { - return NOT_NARROW; - } -} - -static int _range_merge_in(asn1cnst_range_t *into, asn1cnst_range_t *cr) { - asn1cnst_range_t *r; - int prev_count = into->el_count; - int i; - - into->not_OER_visible |= cr->not_OER_visible; - into->not_PER_visible |= cr->not_PER_visible; - into->extensible |= cr->extensible; - if(into->extensible) - into->not_OER_visible = 1; - - into->narrowing = _softest_narrowing(into, cr); - - /* - * Add the element OR all its children "into". - */ - for(i = -1; i < cr->el_count; i++) { - - if(i == -1) { - if(cr->el_count) continue; - r = cr; - } else { - r = cr->elements[i]; - } - - if(_range_insert(into, r)) { - into->el_count = prev_count; /* Undo */ - return -1; - } - } - - if(cr->el_count) { - cr->el_count = 0; - _range_free(cr); - } else { - /* This range is linked into "into". */ - } - - return 0; -} - -enum range_fill_result { - RFR_OK, - RFR_FAIL, - RFR_INCOMPATIBLE -}; -static enum range_fill_result _range_fill(asn1p_value_t *val, const asn1cnst_range_t *minmax, asn1cnst_edge_t *edge, asn1cnst_range_t *range, enum asn1p_constraint_type_e type, int lineno) { - unsigned char *p, *pend; - - edge->lineno = lineno; - - switch(val->type) { - case ATV_INTEGER: - if(type != ACT_EL_RANGE && type != ACT_CT_SIZE) { - FATAL("Integer %s value invalid " - "for %s constraint at line %d", - asn1p_itoa(val->value.v_integer), - asn1p_constraint_type2str(type), lineno); - return RFR_FAIL; - } - edge->type = ARE_VALUE; - edge->value = val->value.v_integer; - return RFR_OK; - case ATV_MIN: - if(type != ACT_EL_RANGE && type != ACT_CT_SIZE) { - FATAL("MIN invalid for %s constraint at line %d", - asn1p_constraint_type2str(type), lineno); - return RFR_FAIL; - } - edge->type = ARE_MIN; - if(minmax) *edge = minmax->left; - edge->lineno = lineno; /* Restore lineno */ - return RFR_OK; - case ATV_MAX: - if(type != ACT_EL_RANGE && type != ACT_CT_SIZE) { - FATAL("MAX invalid for %s constraint at line %d", - asn1p_constraint_type2str(type), lineno); - return RFR_FAIL; - } - edge->type = ARE_MAX; - if(minmax) *edge = minmax->right; - edge->lineno = lineno; /* Restore lineno */ - return RFR_OK; - case ATV_FALSE: - case ATV_TRUE: - if(type != ACT_EL_RANGE) { - FATAL("%s is invalid for %s constraint at line %d", - val->type==ATV_TRUE?"TRUE":"FALSE", - asn1p_constraint_type2str(type), - lineno); - return RFR_FAIL; - } - edge->type = ARE_VALUE; - edge->value = (val->type==ATV_TRUE); - return RFR_OK; - case ATV_TUPLE: - case ATV_QUADRUPLE: - edge->type = ARE_VALUE; - edge->value = val->value.v_integer; - return RFR_OK; - case ATV_STRING: - if(type != ACT_CT_FROM) - return RFR_OK; - break; - case ATV_REFERENCED: - FATAL("Unresolved constraint element \"%s\" at line %d", - asn1f_printable_reference(val->value.reference), - lineno); - return RFR_FAIL; - case ATV_BITVECTOR: - /* Value constraint... not supported yet. */ - /* OER: X.696 (08/2015) #8.2.2i */ - return RFR_INCOMPATIBLE; - default: - FATAL("Unrecognized constraint range element type %d at line %d", - val->type, lineno); - return RFR_FAIL; - } - - assert(val->type == ATV_STRING); - - p = val->value.string.buf; - pend = p + val->value.string.size; - if(p == pend) return RFR_OK; - - edge->type = ARE_VALUE; - if(val->value.string.size == 1) { - edge->value = *p; - } else { - /* - * Else this is a set: - * (FROM("abcdef")) - * However, (FROM("abc".."def")) is forbidden. - * See also 47.4.4. - */ - asn1c_integer_t vmin, vmax; - vmin = vmax = *p; - for(; p < pend; p++) { - asn1cnst_range_t *nr = _range_new(); - int ret; - assert(nr); - - if(*p < vmin) vmin = *p; - if(*p > vmax) vmax = *p; - - ret = _range_insert(range, nr); - assert(ret == 0); - - nr->left.type = ARE_VALUE; - nr->left.value = *p; - nr->left.lineno = lineno; - nr->right = nr->left; - } - edge->value = (edge == &range->right) ? vmin : vmax; - } - - return RFR_OK; -} - -/* - * Check if ranges contain common elements. - */ -static int -_range_overlap(const asn1cnst_range_t *ra, const asn1cnst_range_t *rb) { - int lr, rl; - const asn1cnst_edge_t *ra_l = &ra->left; - const asn1cnst_edge_t *ra_r = &ra->right; - const asn1cnst_edge_t *rb_l = &rb->left; - const asn1cnst_edge_t *rb_r = &rb->right; - - assert(_edge_compare(ra_l, ra_r) <= 0); - assert(_edge_compare(rb_l, rb_r) <= 0); - - lr = _edge_compare(ra_l, rb_r); - rl = _edge_compare(ra_r, rb_l); - - /* - * L: |---| - * R: |---| - */ - if(lr > 0) return 0; - - /* - * L: |---| - * R: |---| - */ - if(rl < 0) return 0; - - return 1; -} - - -static int _range_partial_compare(const void *pa, const void *pb) { - const asn1cnst_range_t *ra = *(const void * const *)pa; - const asn1cnst_range_t *rb = *(const void * const *)pb; - - return _edge_compare(&ra->left, &rb->left); -} - -static void _range_partial_sort_elements(asn1cnst_range_t *r) { - qsort(r->elements, r->el_count, sizeof(r->elements[0]), - _range_partial_compare); -} - -/* - * (MIN..20) x (10..15) = (MIN..9,10..15,16..20) - */ -static asn1cnst_range_t * -_range_split(asn1cnst_range_t *ra, const asn1cnst_range_t *rb) { - asn1cnst_range_t *range, *nr; - int ll, rr; - - assert(ra); - assert(rb); - assert(!ra->el_count); - assert(!rb->el_count); - - if(!_range_overlap(ra, rb)) { - errno = 0; - return 0; - } - - ll = _edge_compare(&ra->left, &rb->left); - rr = _edge_compare(&ra->right, &rb->right); - - /* - * L: |---| - * R: |-------| - */ - if(ll >= 0 && rr <= 0) { - errno = 0; - return 0; - } - - range = _range_new(); - assert(range); - - nr = _range_new(); - assert(nr); - - /* - * L: |---... - * R: |--.. - */ - while(ll < 0) { - nr->left = ra->left; - nr->right = rb->left; - if(nr->right.type == ARE_VALUE) { - if(nr->right.value == INTMAX_MIN) { - /* We've hit the limit here. */ - break; - } - nr->right.value--; - } - _range_insert(range, nr); - nr = _range_new(); - assert(nr); - break; - } - - /* - * L: ...---| - * R: ..--| - */ - while(rr > 0) { - nr->left = rb->right; - nr->right = ra->right; - if(nr->left.type == ARE_VALUE) { - if(nr->left.value == INTMAX_MAX) { - /* We've hit the limit here. */ - break; - } - nr->left.value++; - } - _range_insert(range, nr); - nr = _range_new(); - assert(nr); - break; - } - - /* - * L: |---| - * R: |-----| - */ - nr->left = ra->left; - nr->right = ra->right; - if(_edge_compare(&ra->left, &rb->left) < 0) - nr->left = rb->left; - if(_edge_compare(&ra->right, &rb->right) > 0) - nr->right = rb->right; - - _range_insert(range, nr); - - _range_partial_sort_elements(range); - - return range; -} - -static int -_range_intersection(asn1cnst_range_t *range, const asn1cnst_range_t *with, int strict_edge_check, int is_oer) { - int ret; - int i, j; - - assert(!range->incompatible); - - if(is_oer) { - assert(range->extensible == 0); - assert(range->not_OER_visible == 0); - assert(with->extensible == 0); - assert(with->not_OER_visible == 0); - if(range->extensible) { - assert(range->not_OER_visible); - } - if(range->extensible || range->not_OER_visible) { - /* X.696 #8.2.4 Completely ignore the extensible constraints */ - /* (XXX)(YYY,...) Retain the first one (XXX). */ - asn1cnst_range_t *tmp = _range_new(); - *tmp = *range; - *range = *with; - _range_free(tmp); - return 0; - } - - if(with->extensible) { - assert(with->not_OER_visible); - } - if(with->extensible || with->not_OER_visible) { - /* X.696 #8.2.4 Completely ignore the extensible constraints */ - return 0; - } - } else { - /* Propagate errors */ - range->extensible |= with->extensible; - if(with->extensible) - range->not_OER_visible = 1; - range->not_PER_visible |= with->not_PER_visible; - } - range->empty_constraint |= with->empty_constraint; - - range->narrowing = _strongest_narrowing(range, with); - - if(range->empty_constraint) { - /* No use in intersecting empty constraints */ - return 0; - } - - /* - * This is an AND operation. - */ - - /* If this is the only element, insert it into itself as a child */ - if(range->el_count == 0) { - asn1cnst_range_t *r = _range_new(); - r->left = range->left; - r->right = range->right; - _range_insert(range, r); - assert(range->el_count == 1); - } - - /* - * Make sure we're dealing with sane data. - * G.4.2.3 - */ - if(strict_edge_check) { - for(j = -1; j < with->el_count; j++) { - - if(j == -1) { - if(with->el_count) continue; - if(_check_edges_within(range, with)) - return -1; - } else { - if(_check_edges_within(range, - with->elements[j])) - return -1; - } - } - } - - /* - * Split range in pieces. - */ - - for(i = 0; i < range->el_count; i++) { - for(j = -1; j < with->el_count; j++) { - const asn1cnst_range_t *wel; - asn1cnst_range_t *r; - - if(j == -1) { - if(with->el_count) continue; - wel = with; - } else { - wel = with->elements[j]; - assert(!wel->el_count); /* non-compound item! */ - } - - r = _range_split(range->elements[i], wel); - if(r) { - int ec; - /* Substitute the current element with a split */ - _range_remove_element(range, i); - assert(r->el_count); - for(ec = 0; ec < r->el_count; ec++) { - ret = _range_insert(range, r->elements[ec]); - assert(ret == 0); - } - r->el_count = 0; - _range_free(r); - i--; - break; /* Try again from this point */ - } - } - } - - assert(range->el_count); - - /* - * Remove pieces which aren't AND-compatible "with" range. - */ - - for(i = 0; i < range->el_count; i++) { - for(j = -1; j < with->el_count; j++) { - const asn1cnst_range_t *wel; - - if(j == -1) { - if(with->el_count) continue; - wel = with; - } else { - wel = with->elements[j]; - } - - if(_range_overlap(range->elements[i], wel)) - break; - } - if(j == with->el_count) { - _range_remove_element(range, i); - i--; - } - } - - if(range->el_count == 0) - range->empty_constraint = 1; - - return 0; -} - -static int -_range_union(asn1cnst_range_t *range) { - int i; - - qsort(range->elements, range->el_count, sizeof(range->elements[0]), - _range_compare); - - /* - * The range is sorted by the start values. - */ - for(i = 1; i < range->el_count; i++) { - asn1cnst_range_t *ra = range->elements[i - 1]; - asn1cnst_range_t *rb = range->elements[i]; - - if(_range_overlap(ra, rb)) { - if(_edge_compare(&ra->left, &rb->left) < 0) - rb->left = ra->left; - - if(_edge_compare(&ra->right, &rb->right) > 0) - rb->right = ra->right; - } else { - /* - * Still, range may be joined: (1..4)(5..10). - * This logic is valid only for whole numbers - * (i.e., not REAL type, but REAL constraints - * are not PER-visible (X.691, #9.3.12). - */ - if(ra->right.type == ARE_VALUE - && rb->left.type == ARE_VALUE - && (rb->left.value - ra->right.value) == 1) { - /* (1..10) */ - rb->left = ra->left; - } else { - continue; - } - } - - /* - * Squeeze the array by removing the ra. - */ - _range_remove_element(range, i - 1); - - i--; /* Retry from the current point */ - } - - return 0; -} - -static int -_range_canonicalize(asn1cnst_range_t *range) { - - if(range->el_count == 0) { - /* - * Switch left and right edges, make them sorted. - * It might be a mild warning though. - */ - if(_edge_compare(&range->left, &range->right) > 0) { - asn1cnst_edge_t tmp = range->left; - range->left = range->right; - range->right = tmp; - } - - free(range->elements); - range->elements = 0; - range->el_size = 0; - return 0; - } - - /* - * Remove duplicates and overlaps by merging them in. - */ - _range_union(range); - - /* Refine the left edge of a parent */ - range->left = range->elements[0]->left; - - /* Refine the right edge of a parent */ - range->right = range->elements[range->el_count - 1]->right; - - /* Remove the child, if it's a single one */ - if(range->el_count == 1) { - _range_remove_element(range, 0); - } - - return 0; -} - -asn1cnst_range_t * -asn1constraint_compute_OER_range(const char *dbg_name, asn1p_expr_type_e expr_type, const asn1p_constraint_t *ct, enum asn1p_constraint_type_e requested_ct_type, const asn1cnst_range_t *minmax, int *exmet, enum cpr_flags cpr_flags) { - return asn1constraint_compute_constraint_range(dbg_name, expr_type, ct, requested_ct_type, minmax, exmet, cpr_flags | CPR_strict_OER_visibility); -} - -asn1cnst_range_t * -asn1constraint_compute_PER_range(const char *dbg_name, asn1p_expr_type_e expr_type, const asn1p_constraint_t *ct, enum asn1p_constraint_type_e requested_ct_type, const asn1cnst_range_t *minmax, int *exmet, enum cpr_flags cpr_flags) { - if(0) return asn1constraint_compute_constraint_range(dbg_name, expr_type, ct, requested_ct_type, minmax, exmet, cpr_flags | CPR_strict_PER_visibility); - /* Due to pecularities of PER constraint handling, we don't enable strict PER visibility upfront here. */ - return asn1constraint_compute_constraint_range(dbg_name, expr_type, ct, requested_ct_type, minmax, exmet, cpr_flags); -} - -static asn1cnst_range_t * -asn1f_real_range_from_WCOMPS(const char *dbg_name, - const asn1p_constraint_t *ct) { - asn1cnst_range_t two = { - {ARE_VALUE, 0, 2}, {ARE_VALUE, 0, 2}, 0, NULL, 0, 0, 0, 0, 0, 0, 0}; - asn1cnst_range_t ten = { - {ARE_VALUE, 0, 10}, {ARE_VALUE, 0, 10}, 0, NULL, 0, 0, 0, 0, 0, 0, 0}; - asn1cnst_range_t *two_ten[] = {&two, &ten}; - /* Interpretation of X.680 #21.5 */ - asn1cnst_range_t mantissa_default_range = { - {ARE_MIN, 0, 0}, {ARE_MAX, 0, 0}, 0, NULL, 0, 0, 0, 0, 0, 0, 0}; - asn1cnst_range_t exponent_default_range = { - {ARE_MIN, 0, 0}, {ARE_MAX, 0, 0}, 0, NULL, 0, 0, 0, 0, 0, 0, 0}; - asn1cnst_range_t base_default_range = { - {ARE_VALUE, 0, 2}, {ARE_MAX, 0, 10}, 0, two_ten, 2, 0, 0, 0, 0, 0, 0}; - - asn1cnst_range_t *mantissa = _range_clone(&mantissa_default_range); - asn1cnst_range_t *exponent = _range_clone(&exponent_default_range); - asn1cnst_range_t *base = _range_clone(&base_default_range); - asn1cnst_range_t *range; - -#define FREE_MEB() \ - do { \ - _range_free(mantissa); \ - _range_free(exponent); \ - _range_free(base); \ - } while(0) - - (void)dbg_name; - - assert(ct->type == ACT_CT_WCOMPS); - - range = _range_new(); - range->incompatible = 1; - - for(unsigned i = 0; i < ct->el_count; i++) { - struct asn1p_constraint_s *el = ct->elements[i]; - asn1p_value_t *value = 0; - asn1cnst_range_t **dst_range = 0; - - switch(el->type) { - case ACT_EL_EXT: - /* Some components might not be defined. */ - assert(range->incompatible); - FREE_MEB(); - return range; - default: - assert(range->incompatible); - FREE_MEB(); - return range; - case ACT_EL_VALUE: - value = el->value; - if(value->type != ATV_REFERENCED) { - FREE_MEB(); - return range; - } - break; - } - - if(strcmp(asn1p_ref_string(value->value.reference), "mantissa") == 0) { - dst_range = &mantissa; - } else if(strcmp(asn1p_ref_string(value->value.reference), "exponent") - == 0) { - dst_range = &exponent; - } else if(strcmp(asn1p_ref_string(value->value.reference), "base") - == 0) { - dst_range = &base; - } else { - FATAL("Invalid specification \"%s\" for REAL", - asn1p_ref_string(value->value.reference)); - FREE_MEB(); - return range; - } - - switch(el->el_count) { - case 0: continue; - case 1: break; - default: - FATAL("Too many constraints (%u) for \"%s\" for REAL", el->el_count, - asn1p_ref_string(value->value.reference)); - FREE_MEB(); - return range; - } - - asn1cnst_range_t *tmprange = asn1constraint_compute_constraint_range( - dbg_name, ASN_BASIC_INTEGER, el->elements[0], ACT_EL_RANGE, - *dst_range, 0, CPR_noflags); - assert(tmprange); - if(tmprange->incompatible) { - _range_free(tmprange); - FREE_MEB(); - return range; - } - asn1constraint_range_free(*dst_range); - *dst_range = tmprange; - } - - range->incompatible = 0; - - /* X.696 #12.2 */ - if(mantissa->left.type == ARE_VALUE && mantissa->right.type == ARE_VALUE - && mantissa->left.value >= -16777215 && mantissa->right.value <= 16777215 - && base->left.type == ARE_VALUE && base->right.type == ARE_VALUE - && base->left.value == 2 && base->right.value == 2 - && exponent->left.type == ARE_VALUE && exponent->right.type == ARE_VALUE - && exponent->left.value >= -149 && exponent->right.value <= 104) { - range->narrowing = NARROW_FLOAT32; - } else /* X.696 #12.3 */ - if(mantissa->left.type == ARE_VALUE && mantissa->right.type == ARE_VALUE - && mantissa->left.value >= -9007199254740991ll - && mantissa->right.value <= 9007199254740991ull - && base->left.type == ARE_VALUE && base->right.type == ARE_VALUE - && base->left.value == 2 && base->right.value == 2 - && exponent->left.type == ARE_VALUE && exponent->right.type == ARE_VALUE - && exponent->left.value >= -1074 && exponent->right.value <= 971) { - range->narrowing = NARROW_DOUBLE64; - } - - FREE_MEB(); - return range; -} - -asn1cnst_range_t * -asn1constraint_compute_constraint_range( - const char *dbg_name, asn1p_expr_type_e expr_type, - const asn1p_constraint_t *ct, - enum asn1p_constraint_type_e requested_ct_type, - const asn1cnst_range_t *minmax, int *exmet, enum cpr_flags cpr_flags) { - asn1cnst_range_t *range; - asn1cnst_range_t *tmp; - asn1p_value_t *vmin; - asn1p_value_t *vmax; - int expectation_met; - unsigned int i; - int ret; - - if(!exmet) { - exmet = &expectation_met; - *exmet = 0; - } - - /* - * Check if the requested constraint is theoretically compatible - * with the given expression type. - */ - if(asn1constraint_compatible(expr_type, requested_ct_type, - cpr_flags & CPR_simulate_fbless_SIZE) != 1) { - errno = EINVAL; - return 0; - } - - /* - * Check arguments' validity. - */ - switch(requested_ct_type) { - case ACT_EL_RANGE: - if(exmet == &expectation_met) - *exmet = 1; - break; - case ACT_CT_FROM: - if(cpr_flags & CPR_strict_OER_visibility) { - errno = EINVAL; - return 0; - } - if(!minmax) { - minmax = asn1constraint_default_alphabet(expr_type); - if(minmax) { - break; - } - } - /* Fall through */ - case ACT_CT_SIZE: - if(!minmax) { - static asn1cnst_range_t mm; - mm.left.type = ARE_VALUE; - mm.left.value = 0; - mm.right.type = ARE_MAX; - minmax = &mm; - } - break; - default: - errno = EINVAL; - return 0; - } - - if(minmax) { - range = _range_clone(minmax); - } else { - range = _range_new(); - } - - /* - * X.691, #9.3.6 - * Constraints on restricted character string types - * which are not known-multiplier are not PER-visible. - */ - if((expr_type & ASN_STRING_NKM_MASK)) - range->not_PER_visible = 1; - - if(!ct - || (range->not_PER_visible && (cpr_flags & CPR_strict_PER_visibility))) - return range; - - /* - * X.696 (08/2015), #8.2.2 - * SIZE constraints on restricted character string types - * which are not known-multiplier are not OER-visible. - */ - if(requested_ct_type == ACT_CT_SIZE && (expr_type & ASN_STRING_NKM_MASK)) - range->not_OER_visible = 1; - - if(!ct - || (range->not_OER_visible && (cpr_flags & CPR_strict_OER_visibility))) { - return range; - } - - switch(ct->type) { - case ACT_EL_VALUE: - vmin = vmax = ct->value; - break; - case ACT_EL_RANGE: - case ACT_EL_LLRANGE: - case ACT_EL_RLRANGE: - case ACT_EL_ULRANGE: - vmin = ct->range_start; - vmax = ct->range_stop; - break; - case ACT_EL_EXT: - if(!*exmet) { - range->extensible = 1; - range->not_OER_visible = 1; - } else { - _range_free(range); - errno = ERANGE; - range = 0; - } - return range; - case ACT_CT_SIZE: - case ACT_CT_FROM: - if(requested_ct_type == ct->type) { - /* - * Specifically requested to process SIZE() or FROM() constraint. - */ - *exmet = 1; - } else { - range->incompatible = 1; - return range; - } - assert(ct->el_count == 1); - tmp = asn1constraint_compute_constraint_range( - dbg_name, expr_type, ct->elements[0], requested_ct_type, minmax, - exmet, cpr_flags); - if(tmp) { - _range_free(range); - } else { - if(errno == ERANGE) { - range->empty_constraint = 1; - range->extensible = 1; - if(range->extensible) - range->not_OER_visible = 1; - tmp = range; - } else { - _range_free(range); - } - } - return tmp; - case ACT_CA_SET: /* (10..20)(15..17) */ - case ACT_CA_INT: /* SIZE(1..2) ^ FROM("ABCD") */ - - /* AND constraints, one after another. */ - for(i = 0; i < ct->el_count; i++) { - tmp = asn1constraint_compute_constraint_range(dbg_name, expr_type, - ct->elements[i], requested_ct_type, - ct->type==ACT_CA_SET?range:minmax, exmet, - cpr_flags); - if(!tmp) { - if(errno == ERANGE) { - range->extensible = 1; - if(range->extensible) - range->not_OER_visible = 1; - continue; - } else { - _range_free(range); - return NULL; - } - } - - if(tmp->incompatible) { - /* - * Ignore constraints - * incompatible with arguments: - * SIZE(1..2) ^ FROM("ABCD") - * either SIZE or FROM will be ignored. - */ - _range_free(tmp); - continue; - } - - if(tmp->not_OER_visible - && (cpr_flags & CPR_strict_OER_visibility)) { - /* - * Ignore not OER-visible - */ - _range_free(tmp); - continue; - } - - if(tmp->not_PER_visible - && (cpr_flags & CPR_strict_PER_visibility)) { - if(ct->type == ACT_CA_SET) { - /* - * X.691, #9.3.18: - * Ignore this separate component. - */ - } else { - /* - * X.691, #9.3.19: - * Ignore not PER-visible INTERSECTION - */ - } - _range_free(tmp); - continue; - } - - ret = _range_intersection(range, tmp, - ct->type == ACT_CA_SET, cpr_flags & CPR_strict_OER_visibility); - _range_free(tmp); - if(ret) { - _range_free(range); - errno = EPERM; - return NULL; - } - - _range_canonicalize(range); - } - - return range; - case ACT_CA_CSV: /* SIZE(1..2, 3..4) */ - case ACT_CA_UNI: /* SIZE(1..2) | FROM("ABCD") */ - - /* - * Grab the first valid constraint. - */ - tmp = 0; - for(i = 0; i < ct->el_count; i++) { - tmp = asn1constraint_compute_constraint_range(dbg_name, expr_type, - ct->elements[i], requested_ct_type, minmax, exmet, - cpr_flags); - if(!tmp) { - if(errno == ERANGE) { - range->extensible = 1; - range->not_OER_visible = 1; - continue; - } else { - _range_free(range); - return NULL; - } - } - if(tmp->incompatible) { - _range_free(tmp); - tmp = 0; - } - break; - } - if(tmp) { - tmp->extensible |= range->extensible; - tmp->not_OER_visible |= range->not_OER_visible; - tmp->empty_constraint |= range->empty_constraint; - _range_free(range); - range = tmp; - } else { - range->incompatible = 1; - return range; - } - - /* - * Merge with the rest of them. - * Canonicalizator will do the union magic. - */ - for(; i < ct->el_count; i++) { - tmp = asn1constraint_compute_constraint_range(dbg_name, expr_type, - ct->elements[i], requested_ct_type, minmax, exmet, - cpr_flags); - if(!tmp) { - if(errno == ERANGE) { - range->extensible = 1; - range->not_OER_visible = 1; - continue; - } else { - _range_free(range); - return NULL; - } - } - - if(tmp->incompatible) { - _range_free(tmp); - _range_canonicalize(range); - range->incompatible = 1; - return range; - } - - if(tmp->empty_constraint) { - /* - * Ignore empty constraints in OR logic. - */ - range->extensible |= tmp->extensible; - range->not_OER_visible |= tmp->not_OER_visible; - _range_free(tmp); - continue; - } - - _range_merge_in(range, tmp); - } - - _range_canonicalize(range); - - if(requested_ct_type == ACT_CT_FROM) { - /* - * X.696 permitted alphabet constraints are not OER-visible. - */ - range->not_OER_visible = 1; - if(range->extensible) { - /* - * X.691, #9.3.10: - * Extensible permitted alphabet constraints - * are not PER-visible. - */ - range->not_PER_visible = 1; - } - } - - if(range->not_PER_visible - && (cpr_flags & CPR_strict_PER_visibility)) { - /* - * X.691, #9.3.19: - * If not PER-visible constraint is part of UNION, - * the whole resulting constraint is not PER-visible. - */ - _range_free(range); - if(minmax) - range = _range_clone(minmax); - else - range = _range_new(); - range->not_PER_visible = 1; - range->incompatible = 1; - } - - return range; - case ACT_CA_EXC: /* FROM("ABCD") EXCEPT FROM("AB") */ - /* - * X.691 (PER), #9.3.19: - * EXCEPT and the following value set is completely ignored. - * X.696 (OER), #8.2.6: - * EXCEPT keyword and the following value set is completely ignored. - */ - assert(ct->el_count >= 1); - _range_free(range); - range = asn1constraint_compute_constraint_range(dbg_name, expr_type, - ct->elements[0], requested_ct_type, minmax, exmet, cpr_flags); - return range; - case ACT_CT_WCOMPS: - if(expr_type == ASN_BASIC_REAL) { - return asn1f_real_range_from_WCOMPS(dbg_name, ct); - } - range->incompatible = 1; - return range; - default: - range->incompatible = 1; - return range; - } - - if(!*exmet) { - /* - * Expectation is not met. Return the default range. - */ - range->incompatible = 1; - return range; - } - - if(expr_type == ASN_BASIC_REAL - && (vmin->type == ATV_REAL || vmax->type == ATV_REAL)) { - range->incompatible = 1; - return range; - } - - _range_free(range); - range = _range_new(); - - enum range_fill_result rfr; - rfr = _range_fill(vmin, minmax, &range->left, - range, requested_ct_type, ct->_lineno); - if(rfr == RFR_OK) { - rfr = _range_fill(vmax, minmax, &range->right, - range, requested_ct_type, ct->_lineno); - } - switch(rfr) { - case RFR_OK: - break; - case RFR_FAIL: - _range_free(range); - errno = EPERM; - return NULL; - case RFR_INCOMPATIBLE: - range->incompatible = 1; - return range; - } - - if(minmax) { - asn1cnst_range_t *clone; - - clone = _range_clone(minmax); - - /* Constrain parent type with given data. */ - ret = _range_intersection(clone, range, 1, - cpr_flags & CPR_strict_OER_visibility); - _range_free(range); - if(ret) { - _range_free(clone); - errno = EPERM; - return NULL; - } - range = clone; - } - - /* - * Recompute elements's min/max, remove duplicates, etc. - */ - _range_canonicalize(range); - - return range; -} - -#ifdef UNIT_TEST -int main() { - asn1cnst_range_t *ra = _range_new(); - asn1cnst_range_t *rb = _range_new(); - - fprintf(stderr, "Testing (MIN..20) x (10..15) => (MIN..9,10..15,16..20)\n"); - - /* (MIN..20) */ - ra->left.type = ARE_MIN; - ra->right.type = ARE_VALUE; ra->right.value = 20; - - /* (10..15) */ - rb->left.type = ARE_VALUE; rb->left.value = 10; - rb->right.type = ARE_VALUE; rb->right.value = 15; - - /* - * (MIN..20) x (10..15) = (MIN..9,10..15,16..20) - */ - asn1cnst_range_t *r = _range_split(ra, rb); - assert(r); - assert(r->left.type == ARE_MIN); - assert(r->right.type == ARE_MAX); - - assert(r->el_count == 3); - assert(r->elements[0]->elements == NULL); - assert(r->elements[1]->elements == NULL); - assert(r->elements[2]->elements == NULL); - - /* (MIN..9) */ - fprintf(stderr, "[0].left = %s\n", _edge_string(&r->elements[0]->left)); - fprintf(stderr, "[0].right = %s\n", _edge_string(&r->elements[0]->right)); - assert(r->elements[0]->left.type == ARE_MIN); - assert(r->elements[0]->right.type == ARE_VALUE); - assert(r->elements[0]->right.value == 9); - - /* (10..15) */ - fprintf(stderr, "[1].left = %s\n", _edge_string(&r->elements[1]->left)); - fprintf(stderr, "[1].right = %s\n", _edge_string(&r->elements[1]->right)); - assert(r->elements[1]->left.type == ARE_VALUE); - assert(r->elements[1]->left.value == 10); - assert(r->elements[1]->right.type == ARE_VALUE); - assert(r->elements[1]->right.value == 15); - - /* (16..20) */ - fprintf(stderr, "[2].left = %s\n", _edge_string(&r->elements[2]->left)); - fprintf(stderr, "[2].right = %s\n", _edge_string(&r->elements[2]->right)); - assert(r->elements[2]->left.type == ARE_VALUE); - assert(r->elements[2]->left.value == 16); - assert(r->elements[2]->right.type == ARE_VALUE); - assert(r->elements[2]->right.value == 20); - - _range_free(r); - - - - fprintf(stderr, "Testing (MIN..20) x (..15) => (..15,16..20)\n"); - - /* (MIN..20) */ - ra->left.type = ARE_MIN; - ra->right.type = ARE_VALUE; ra->right.value = 20; - - /* (..15) */ - rb->left.type = ARE_VALUE; rb->left.value = INTMAX_MIN; - rb->right.type = ARE_VALUE; rb->right.value = 15; - - r = _range_split(ra, rb); - assert(r); - assert(r->left.type == ARE_MIN); - assert(r->right.type == ARE_MAX); - - assert(r->el_count == 2); - assert(r->elements[0]->elements == NULL); - assert(r->elements[1]->elements == NULL); - - /* (..16) */ - fprintf(stderr, "[0].left = %s\n", _edge_string(&r->elements[0]->left)); - fprintf(stderr, "[0].right = %s\n", _edge_string(&r->elements[0]->right)); - assert(r->elements[0]->left.type == ARE_VALUE); - assert(r->elements[0]->left.value == INTMAX_MIN); - assert(r->elements[0]->right.type == ARE_VALUE); - assert(r->elements[0]->right.value == 15); - - /* (16..20) */ - fprintf(stderr, "[1].left = %s\n", _edge_string(&r->elements[1]->left)); - fprintf(stderr, "[1].right = %s\n", _edge_string(&r->elements[1]->right)); - assert(r->elements[1]->left.type == ARE_VALUE); - assert(r->elements[1]->left.value == 16); - assert(r->elements[1]->right.type == ARE_VALUE); - assert(r->elements[1]->right.value == 20); - - _range_free(r); - - return 0; -} -#endif diff --git a/libasn1fix/asn1fix_crange.h b/libasn1fix/asn1fix_crange.h deleted file mode 100644 index 1896392..0000000 --- a/libasn1fix/asn1fix_crange.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef ASN1FIX_CRANGE_H -#define ASN1FIX_CRANGE_H - -typedef struct asn1cnst_edge_s { - enum asn1cnst_range_edge { - ARE_MIN, - ARE_MAX, - ARE_VALUE, - } type; - int lineno; /* Line where the corresponding token was found */ - asn1c_integer_t value; /* Value when type is ARE_VALUE */ -} asn1cnst_edge_t; - -typedef struct asn1cnst_range_s { - asn1cnst_edge_t left; /* MIN from (MIN..10) */ - asn1cnst_edge_t right; /* 10 from (MIN..10) */ - - enum asn1cnst_range_narrowing { - /* Sorted from softest to strictest narrowing */ - NOT_NARROW, - NARROW_DOUBLE64, - NARROW_FLOAT32, - } narrowing; /* Constrained to a known narrow type */ - - /* If range is split in parts, these are the parts */ - struct asn1cnst_range_s **elements; - int el_count; - int el_size; - - int empty_constraint; /* If yes, too bad. */ - int extensible; /* Extension marker (...) is in effect. */ - - int incompatible; /* Constraint incompatible with argument */ - int not_OER_visible; /* Contains not OER-visible components */ - int not_PER_visible; /* Contains not PER-visible components */ -} asn1cnst_range_t; - -/* - * Compute the constraint range with variable visibility restrictions. - * - * (expr_type) must have the type of the top-level parent ASN.1 type. - * (required_type) must be one of ACT_EL_RANGE, ACT_CT_SIZE or ACT_CT_FROM. - * (minmax) and (expectation_met) should be 0. - * ERRORS: - * EINVAL: Mandatory arguments missing. - * ENOMEM: Memory allocation failure. - * EPERM: Invalid constraint reference. - */ -enum cpr_flags { - CPR_noflags = 0x00, - CPR_strict_OER_visibility = 0x01, - CPR_strict_PER_visibility = 0x02, - CPR_simulate_fbless_SIZE = 0x04, -}; -asn1cnst_range_t *asn1constraint_compute_OER_range(const char *dbg_name, - asn1p_expr_type_e expr_type, - const asn1p_constraint_t *ct, - enum asn1p_constraint_type_e required_type, - const asn1cnst_range_t *minmax, - int *expectation_met, - enum cpr_flags); -asn1cnst_range_t *asn1constraint_compute_PER_range(const char *dbg_name, - asn1p_expr_type_e expr_type, - const asn1p_constraint_t *ct, - enum asn1p_constraint_type_e required_type, - const asn1cnst_range_t *minmax, - int *expectation_met, - enum cpr_flags); -/* Base implementation */ -asn1cnst_range_t *asn1constraint_compute_constraint_range(const char *dbg_name, - asn1p_expr_type_e expr_type, - const asn1p_constraint_t *ct, - enum asn1p_constraint_type_e required_type, - const asn1cnst_range_t *minmax, - int *expectation_met, - enum cpr_flags); - -void asn1constraint_range_free(asn1cnst_range_t *); - -/* - * Check that a specific constraint is compatible - * with the given expression type. - */ -int asn1constraint_compatible(asn1p_expr_type_e expr_type, - enum asn1p_constraint_type_e constr_type, int fbless_SIZE); - -/* - * Fetch a default alphabet for this type. - */ -asn1cnst_range_t *asn1constraint_default_alphabet(asn1p_expr_type_e expr_type); - -#endif /* ASN1FIX_CRANGE_H */ diff --git a/libasn1fix/asn1fix_cstring.c b/libasn1fix/asn1fix_cstring.c deleted file mode 100644 index f4e7604..0000000 --- a/libasn1fix/asn1fix_cstring.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "asn1fix_internal.h" - -struct _cstring_pattern { - char *start; - size_t length; -}; -static int _asn1f_cstring_find_line_pattern(char *s, struct _cstring_pattern *); - -int -asn1f_fix_cstring(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - int r_value = 0; - - if(expr->value && expr->value->type == ATV_STRING) { - struct _cstring_pattern cp; - char *buf = (char *)expr->value->value.string.buf; - int buflen = expr->value->value.string.size; - int start = 0; - - DEBUG("(%s) for line %d", expr->Identifier, expr->_lineno); - - while(_asn1f_cstring_find_line_pattern(buf + start, &cp)) { - assert(cp.length); - memmove(cp.start, cp.start + cp.length, - buflen - ((cp.start + cp.length) - buf)); - buflen -= cp.length; - start = cp.start - buf; - buf[buflen] = '\0'; - } - } - - return r_value; -} - -/* - * If a string has a newline, the tabulation and spaces before and - * after it must be eliminated. - */ -static int -_asn1f_cstring_find_line_pattern(char *s, struct _cstring_pattern *cp) { - int newline_found = 0; - - cp->start = NULL; - - for(;;s++) { - switch(*s) { - case '\r': case '\n': - newline_found = 1; - /* Fall through */ - case ' ': case '\t': - if(cp->start == NULL) - cp->start = s; - continue; - case '\0': - default: - if(newline_found) { - cp->length = (size_t)(s - cp->start); - return 1; - } - - cp->start = NULL; - if(*s == '\0') - break; - continue; - } - break; - } - - return 0; -} - - diff --git a/libasn1fix/asn1fix_cstring.h b/libasn1fix/asn1fix_cstring.h deleted file mode 100644 index 9804d21..0000000 --- a/libasn1fix/asn1fix_cstring.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1FIX_CSTRING_H -#define ASN1FIX_CSTRING_H - -int asn1f_fix_cstring(arg_t *); - -#endif /* ASN1FIX_CSTRING_H */ diff --git a/libasn1fix/asn1fix_cws.c b/libasn1fix/asn1fix_cws.c deleted file mode 100644 index 62bb883..0000000 --- a/libasn1fix/asn1fix_cws.c +++ /dev/null @@ -1,553 +0,0 @@ -#include -#include -#include "asn1fix_internal.h" -#include "asn1fix_cws.h" - -static int _asn1f_parse_class_object_data(arg_t *, asn1p_expr_t *eclass, - struct asn1p_ioc_row_s *row, asn1p_wsyntx_t *syntax, - const uint8_t *buf, const uint8_t *bend, - int optional_mode, const uint8_t **newpos, int counter); -static int _asn1f_assign_cell_value(arg_t *arg, struct asn1p_ioc_cell_s *cell, const uint8_t *buf, const uint8_t *bend, int counter); -static asn1p_wsyntx_chunk_t *asn1f_next_literal_chunk(asn1p_wsyntx_t *syntax, asn1p_wsyntx_chunk_t *chunk, const uint8_t *buf); - -int -asn1f_check_class_object(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *eclass; - asn1p_ioc_row_t *row; - int ret; - - if(expr->meta_type != AMT_VALUESET - || expr->expr_type != A1TC_REFERENCE - || !expr->value - || expr->value->type != ATV_UNPARSED) { - return 0; - } - - eclass = asn1f_find_terminal_type(arg, expr); - if(!eclass - || eclass->meta_type != AMT_OBJECTCLASS - || eclass->expr_type != A1TC_CLASSDEF) { - return 0; - } - - if(!eclass->with_syntax) { - DEBUG("Can't process classes without %s just yet", - "WITH SYNTAX"); - return 0; - } - - row = asn1p_ioc_row_new(eclass); - assert(row); - - ret = _asn1f_parse_class_object_data(arg, eclass, row, - eclass->with_syntax, - expr->value->value.string.buf + 1, - expr->value->value.string.buf - + expr->value->value.string.size - 1, - 0, 0, 0); - - asn1p_ioc_row_delete(row); - - return ret; -} - -static int -_asn1f_is_ioc_row_duplicate(asn1p_ioc_table_t *it, asn1p_ioc_row_t *row) { - if(!it) { - return 0; - } - - for(size_t i = 0; i < it->rows; i++) { - switch(asn1p_ioc_row_match(it->row[i], row)) { - default: - case -1: - return -1; - case 1: - continue; - case 0: - return 1; /* Duplicate! */ - } - } - return 0; -} - -struct parse_object_key { - arg_t *arg; - asn1p_expr_t *expr; /* InformationObjectSet */ - asn1p_expr_t *eclass; /* CLASS */ - int sequence; /* Sequence counter */ -}; - -/* - * Add to the IoC table if the row is unique. - */ -static int -_asn1f_add_unique_row(arg_t *arg, asn1p_expr_t *expr, asn1p_ioc_row_t *row) { - assert(expr->ioc_table); - - /* Look for duplicates */ - switch(_asn1f_is_ioc_row_duplicate(expr->ioc_table, row)) { - case -1: - DEBUG("Found Information Object Duplicate in %s", expr->Identifier, - expr->_lineno); - return -1; - case 0: - /* Not a duplicate */ - break; - case 1: - /* Proper duplicate detected; ignore */ - asn1p_ioc_row_delete(row); - return 0; - } - - asn1p_ioc_table_add(expr->ioc_table, row); - - return 0; -} - -/* - * Given a single blob of unparsed Information Object specification, parse it - * into a given InformationObjectSet. - */ -static int -_asn1f_parse_object_cb(const uint8_t *buf, size_t size, void *keyp) { - struct parse_object_key *key = keyp; - arg_t *arg = key->arg; - asn1p_expr_t *expr = key->expr; - asn1p_expr_t *eclass = key->eclass; - asn1p_ioc_row_t *row; - int ret; - - key->sequence++; - - row = asn1p_ioc_row_new(eclass); - assert(row); - - ret = _asn1f_parse_class_object_data(arg, eclass, row, eclass->with_syntax, - buf, buf + size, 0, 0, key->sequence); - if(ret) { - LOG(ret, "Cannot parse %s of CLASS %s found at line %d", - expr->Identifier, eclass->Identifier, expr->_lineno); - asn1p_ioc_row_delete(row); - return ret; - } - - /* Add object to a CLASS. */ - if(_asn1f_add_unique_row(arg, eclass, row) != 0) - return -1; - - /* - * Add a copy of the object to the Information Object Set. - */ - row = asn1p_ioc_row_new(eclass); - assert(row); - ret = _asn1f_parse_class_object_data(arg, eclass, row, eclass->with_syntax, - buf, buf + size, 0, 0, key->sequence); - assert(ret == 0); - - if(_asn1f_add_unique_row(arg, expr, row) != 0) - return -1; - - return 0; -} - -static int -_asn1f_foreach_unparsed_union(const asn1p_constraint_t *ct_union, - int (*process)(const uint8_t *buf, size_t size, - void *key), - void *key) { - assert(ct_union->type == ACT_CA_UNI); - - for(size_t j = 0; j < ct_union->el_count; j++) { - const asn1p_constraint_t *ct2 = ct_union->elements[j]; - if(ct2->type == ACT_EL_VALUE && ct2->value->type == ATV_UNPARSED) { - if(process - && process(ct2->value->value.string.buf + 1, - ct2->value->value.string.size - 2, key) - != 0) { - return -1; - } - continue; - } - return -1; - } - - return 0; -} - -static int -_asn1f_foreach_unparsed(arg_t *arg, const asn1p_constraint_t *ct, - int (*process)(const uint8_t *buf, size_t size, - void *key), - void *keyp) { - struct parse_object_key *key = keyp; - if(!ct) return -1; - - switch(ct->type) { - default: - DEBUG("Constraint is of unknown type %d for CWS", ct->type); - return -1; - case ACT_EL_EXT: /* ... */ - if(key) { - key->expr->ioc_table->extensible = 1; - } - return 0; - case ACT_CA_UNI: /* | */ - return _asn1f_foreach_unparsed_union(ct, process, keyp); - case ACT_CA_CSV: /* , */ - break; - case ACT_EL_VALUE: - if(ct->value->type == ATV_UNPARSED) { - if(process - && process(ct->value->value.string.buf + 1, - ct->value->value.string.size - 2, key) - != 0) { - return -1; - } - } - return 0; - } - - for(size_t i = 0; i < ct->el_count; i++) { - const asn1p_constraint_t *ct1 = ct->elements[i]; - if(_asn1f_foreach_unparsed(arg, ct1, process, keyp) != 0) { - return -1; - } - } - - return 0; -} - -static int -_asn1f_constraint_looks_like_object_set(arg_t *arg, - const asn1p_constraint_t *ct) { - return 0 == _asn1f_foreach_unparsed(arg, ct, NULL, NULL); -} - -int -asn1f_parse_class_object(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *eclass; - enum { - FROM_VALUE, - FROM_CONSTRAINT, - } source = FROM_VALUE; - - if(expr->meta_type == AMT_VALUE - && expr->expr_type == A1TC_REFERENCE - && expr->value && expr->value->type == ATV_UNPARSED) { - source = FROM_VALUE; - } else if(expr->meta_type != AMT_VALUESET - || expr->expr_type != A1TC_REFERENCE) { - return 0; - } else if(expr->value && expr->value->type == ATV_UNPARSED) { - source = FROM_VALUE; - } else if(!expr->value) { - if(_asn1f_constraint_looks_like_object_set(arg, expr->constraints)) { - source = FROM_CONSTRAINT; - } else { - return 0; - } - } else { - return 0; - } - - /* - * Find the governing class. - */ - eclass = asn1f_find_terminal_type(arg, expr); - if(!eclass - || eclass->meta_type != AMT_OBJECTCLASS - || eclass->expr_type != A1TC_CLASSDEF) { - return 0; - } - - DEBUG("Value %s of CLASS %s found at line %d", - expr->Identifier, eclass->Identifier, expr->_lineno); - - if(!eclass->with_syntax) { - DEBUG("Can't process classes without %s just yet", - "WITH SYNTAX"); - return 0; - } - - struct parse_object_key key = { - .arg = arg, - .expr = expr, - .eclass = eclass, - .sequence = eclass->_type_unique_index - }; - - if(!expr->ioc_table) { - expr->ioc_table = asn1p_ioc_table_new(); - } - - if(!eclass->ioc_table) { - eclass->ioc_table = asn1p_ioc_table_new(); - } - - switch(source) { - case FROM_VALUE: - if(_asn1f_parse_object_cb(expr->value->value.string.buf + 1, - expr->value->value.string.size - 2, &key) - != 0) { - return -1; - } - break; - case FROM_CONSTRAINT: - if(_asn1f_foreach_unparsed(arg, expr->constraints, - _asn1f_parse_object_cb, &key) - != 0) { - return -1; - } - } - - eclass->_type_unique_index = key.sequence; - - return 0; -} - -#define SKIPSPACES for(; buf < bend && isspace(*buf); buf++) - -static int -_asn1f_parse_class_object_data(arg_t *arg, asn1p_expr_t *eclass, - struct asn1p_ioc_row_s *row, asn1p_wsyntx_t *syntax, - const uint8_t *buf, const uint8_t *bend, - int optional_mode, const uint8_t **newpos, int counter) { - struct asn1p_wsyntx_chunk_s *chunk; - int ret; - - TQ_FOR(chunk, (&syntax->chunks), next) { - switch(chunk->type) { - case WC_LITERAL: { - int token_len = strlen(chunk->content.token); - SKIPSPACES; - if(bend - buf < token_len - || memcmp(buf, chunk->content.token, token_len)) { - if(!optional_mode) { - FATAL("While parsing object class value %s at line %d: Expected: \"%s\", found: \"%s\"", - arg->expr->Identifier, arg->expr->_lineno, chunk->content.token, buf); - } - if(newpos) *newpos = buf; - return -1; - } - buf += token_len; - } break; - case WC_WHITESPACE: break; /* Ignore whitespace */ - case WC_FIELD: { - struct asn1p_ioc_cell_s *cell; - asn1p_wsyntx_chunk_t *next_literal; - const uint8_t *buf_old = buf; - const uint8_t *p = 0; - - SKIPSPACES; - - next_literal = asn1f_next_literal_chunk(syntax, chunk, buf); - if(!next_literal) { - p += (bend - p); - } else { - p = (uint8_t *)strstr((const char *)buf, (const char *)next_literal->content.token); - if(!p) { - if (!optional_mode) - FATAL("Next literal \"%s\" not found !", next_literal->content.token); - - if(newpos) *newpos = buf_old; - return -1; - } - } - cell = asn1p_ioc_row_cell_fetch(row, - chunk->content.token); - if(cell == NULL) { - FATAL("Field reference %s found in WITH SYNAX {} clause does not match actual field in Object Class %s", - chunk->content.token, - eclass->Identifier, eclass->_lineno); - if(newpos) *newpos = buf; - return -1; - } - DEBUG("Reference %s satisfied by %s (%d)", - chunk->content.token, - buf, p - buf); - ret = _asn1f_assign_cell_value(arg, cell, buf, p, counter); - if(ret) return ret; - buf = p; - if(newpos) *newpos = buf; - } break; - case WC_OPTIONALGROUP: { - const uint8_t *np = 0; - SKIPSPACES; - ret = _asn1f_parse_class_object_data(arg, eclass, row, - chunk->content.syntax, buf, bend, 1, &np, counter); - if(newpos) *newpos = np; - if(ret && np != buf) - return ret; - buf = np; - } break; - } - } - - - if(newpos) *newpos = buf; - return 0; -} - - -static int -_asn1f_assign_cell_value(arg_t *arg, struct asn1p_ioc_cell_s *cell, - const uint8_t *buf, const uint8_t *bend, int counter) { - asn1p_expr_t *expr = (asn1p_expr_t *)NULL; - char *mivr; /* Most Immediate Value Representation */ - int new_ref = 1; - asn1p_t *asn; - asn1p_expr_t *type_expr = (asn1p_expr_t *)NULL; - int i, ret = 0, psize; - char *pp; - - if((bend - buf) <= 0) { - FATAL("Assignment warning: empty string is being assigned into %s for %s at line %d", - cell->field->Identifier, - arg->expr->Identifier, arg->expr->_lineno); - return -1; - } - - mivr = malloc(bend - buf + 1); - assert(mivr); - memcpy(mivr, buf, bend - buf); - mivr[bend - buf] = '\0'; - /* remove trailing space */ - for (i = bend - buf - 1; (i > 0) && isspace(mivr[i]); i--) - mivr[i] = '\0'; - - /* This value 100 should be larger than following formatting string */ - psize = bend - buf + 100; - pp = calloc(1, psize); - if(pp == NULL) { - free(mivr); - return -1; - } - - if(cell->field->expr_type == A1TC_CLASSFIELD_TFS) { - ret = snprintf(pp, psize, - "M DEFINITIONS ::=\nBEGIN\n" - "V ::= %s\n" - "END\n", - mivr - ); - } else if(cell->field->expr_type == A1TC_CLASSFIELD_FTVFS) { - type_expr = TQ_FIRST(&(cell->field->members)); - ret = snprintf(pp, psize, - "M DEFINITIONS ::=\nBEGIN\n" - "v %s ::= %s\n" - "END\n", - type_expr->reference ? - type_expr->reference->components[0].name : - _asn1p_expr_type2string(type_expr->expr_type), - mivr - ); - } else { - WARNING("asn1c only be able to parse TypeFieldSpec and FixedTypeValueFieldSpec. Failed when parsing %s at line %d\n", mivr, arg->expr->_lineno); - free(mivr); - free(pp); - return -1; - } - DEBUG("ASN.1:\n\n%s\n", pp); - - assert(ret < psize); - psize = ret; - - asn = asn1p_parse_buffer(pp, psize, - arg->expr->module->source_file_name, arg->expr->_lineno, A1P_NOFLAGS); - free(pp); - if(asn == NULL) { - FATAL("Cannot parse Setting token %s " - "at line %d", - mivr, - arg->expr->_lineno - ); - free(mivr); - return -1; - } else { - asn1p_module_t *mod = TQ_FIRST(&(asn->modules)); - assert(mod); - - /* This member removal is safe with respect to members hash since the - * entire asn module will be deleted down below. - */ - expr = TQ_REMOVE(&(mod->members), next); - assert(expr); - - expr->parent_expr = NULL; - asn1p_expr_set_source(expr, arg->expr->module, arg->expr->_lineno); - expr->_type_unique_index = counter; - DEBUG("Parsed identifier %s, mivr [%s], reference [%s] value [%s]", - expr->Identifier, mivr, asn1p_ref_string(expr->reference), - asn1f_printable_value(expr->value)); - free(expr->Identifier); - if(expr->value) { - expr->Identifier = strdup(asn1f_printable_value(expr->value)); - } else if (expr->reference) { - expr->Identifier = strdup(expr->reference->components[expr->reference->comp_count - 1].name); - } else { - expr->Identifier = mivr; - } - asn1p_delete(asn); - } - - if(expr->reference && - !asn1f_lookup_symbol(arg, expr->rhs_pspecs, expr->reference)) { - - asn1p_ref_free(expr->reference); - new_ref = 0; - expr->reference = type_expr->reference; - if (asn1f_value_resolve(arg, expr, 0)) { - expr->reference = 0; - asn1p_expr_free(expr); - FATAL("Cannot find %s referenced by %s at line %d", - mivr, arg->expr->Identifier, - arg->expr->_lineno); - free(mivr); - return -1; - } - } - - DEBUG("Field %s assignment of %s got %s", - cell->field->Identifier, mivr, expr->Identifier); - - cell->value = expr; - cell->new_ref = new_ref; - - if(expr->Identifier != mivr) { - free(mivr); - } - - return 0; -} - -static asn1p_wsyntx_chunk_t * -asn1f_next_literal_chunk(asn1p_wsyntx_t *syntax, asn1p_wsyntx_chunk_t *chunk, const uint8_t *buf) -{ - asn1p_wsyntx_chunk_t *next_chunk; - - next_chunk = TQ_NEXT(chunk, next); - do { - if(next_chunk == (struct asn1p_wsyntx_chunk_s *)0) { - if(!syntax->parent) - break; - next_chunk = TQ_NEXT(syntax->parent, next); - } else if(next_chunk->type == WC_LITERAL) { - if(strstr((const char *)buf, (char *)next_chunk->content.token)) - break; - if(!syntax->parent) - break; - next_chunk = TQ_NEXT(syntax->parent, next); - } else if(next_chunk->type == WC_WHITESPACE) { - next_chunk = TQ_NEXT(next_chunk, next); - } else if(next_chunk->type == WC_OPTIONALGROUP) { - syntax = next_chunk->content.syntax; - next_chunk = TQ_FIRST(((&next_chunk->content.syntax->chunks))); - } else - break; - } while (next_chunk); - - return next_chunk; -} diff --git a/libasn1fix/asn1fix_cws.h b/libasn1fix/asn1fix_cws.h deleted file mode 100644 index e998a28..0000000 --- a/libasn1fix/asn1fix_cws.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef ASN1FIX_CLASS_WITH_SYNTAX_H -#define ASN1FIX_CLASS_WITH_SYNTAX_H - -/* - * Parse class objects - */ -int asn1f_check_class_object(arg_t *arg); -int asn1f_parse_class_object(arg_t *arg); - -#endif /* ASN1FIX_CLASS_WITH_SYNTAX_H */ diff --git a/libasn1fix/asn1fix_dereft.c b/libasn1fix/asn1fix_dereft.c deleted file mode 100644 index 8f570f6..0000000 --- a/libasn1fix/asn1fix_dereft.c +++ /dev/null @@ -1,50 +0,0 @@ -#include "asn1fix_internal.h" - -int -asn1f_fix_dereference_types(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *type_expr; - int r_value = 0; - - if(expr->expr_type != A1TC_REFERENCE - || expr->meta_type != AMT_TYPEREF) { - //assert(expr->reference == 0); - return 0; /* Just ignore it */ - } - - DEBUG("(\"%s\":%x ::= \"%s\") for line %d", - expr->Identifier, expr->expr_type, - asn1f_printable_value(expr->value), - expr->_lineno); - - assert(TQ_FIRST(&(expr->members)) == 0); - assert(expr->reference); - - /* - * Follow the reference. - */ - type_expr = asn1f_find_terminal_type(arg, expr); - if(type_expr == NULL) { - const char *type_name; - asn1p_expr_t *idexpr; - - if(errno == EEXIST) { - /* Ignore missing type - * if known to be defined externally: - * -fknown-extern-type= - */ - return 0; - } - - type_name = asn1f_printable_reference(expr->reference); - /* Avoid NULL in case of unnamed T ::= SEQUENCE OF ... */ - for(idexpr = expr; !idexpr->Identifier && idexpr->parent_expr; - idexpr = idexpr->parent_expr); - FATAL("Unknown type \"%s\" referenced by \"%s\" at line %d", - type_name, idexpr->Identifier, expr->_lineno); - return -1; - } - - return r_value; -} - diff --git a/libasn1fix/asn1fix_dereft.h b/libasn1fix/asn1fix_dereft.h deleted file mode 100644 index 36f3f2e..0000000 --- a/libasn1fix/asn1fix_dereft.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1FIX_DEREFT_H -#define ASN1FIX_DEREFT_H - -int asn1f_fix_dereference_types(arg_t *); - -#endif /* ASN1FIX_DEREFT_H */ diff --git a/libasn1fix/asn1fix_derefv.c b/libasn1fix/asn1fix_derefv.c deleted file mode 100644 index 3942d16..0000000 --- a/libasn1fix/asn1fix_derefv.c +++ /dev/null @@ -1,66 +0,0 @@ -#include "asn1fix_internal.h" - -/* - * Dereference DefinedValues: - */ -int -asn1f_fix_dereference_values(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - int r_value = 0; - - if(expr->value && expr->meta_type == AMT_VALUE) { - if(asn1f_value_resolve(arg, expr, 0)) { - /* This function will emit messages */ - r_value = -1; - } - } - - return r_value; -} - - -/* - * Dereference DEFAULT values - */ -int -asn1f_fix_dereference_defaults(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - int r_value = 0; - - if(expr->marker.default_value) { - arg_t tmparg = *arg; - asn1p_expr_t tmpexpr = *expr; - - switch(expr->marker.default_value->type) { - default: - return r_value; - case ATV_REFERENCED: - break; - } - - - if(expr->expr_type == A1TC_CLASSFIELD_FTVFS) { - asn1p_expr_t *child = TQ_FIRST(&expr->members); - int ret; - assert(child); - assert(child->marker.default_value == 0); - tmparg.expr = child; - child->marker.default_value=expr->marker.default_value; - ret = asn1f_fix_dereference_defaults(&tmparg); - expr->marker.default_value = child->marker.default_value; - child->marker.default_value = 0; /* ULB: trying to ensure there isn't another pointer to the same value object */ - if(ret == 0) return 0; /* Finished */ - } - - tmparg.expr = &tmpexpr; - tmpexpr.meta_type = AMT_VALUE; - tmpexpr.marker.default_value = 0; - tmpexpr.value = expr->marker.default_value; - if(asn1f_value_resolve(&tmparg, &tmpexpr, 0)) - r_value = -1; - expr->marker.default_value = tmpexpr.value; - } - - return r_value; -} - diff --git a/libasn1fix/asn1fix_derefv.h b/libasn1fix/asn1fix_derefv.h deleted file mode 100644 index 2e69317..0000000 --- a/libasn1fix/asn1fix_derefv.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef ASN1FIX_DEREFV_H -#define ASN1FIX_DEREFV_H - -int asn1f_fix_dereference_values(arg_t *); - -int asn1f_fix_dereference_defaults(arg_t *); - -#endif /* ASN1FIX_DEREFV_H */ diff --git a/libasn1fix/asn1fix_enum.c b/libasn1fix/asn1fix_enum.c deleted file mode 100644 index ac543f2..0000000 --- a/libasn1fix/asn1fix_enum.c +++ /dev/null @@ -1,192 +0,0 @@ -#include "asn1fix_internal.h" - -/* - * Check the validity of an enumeration. - */ -int -asn1f_fix_enum(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *ev; - asn1c_integer_t max_value = -1; - asn1c_integer_t max_value_ext = -1; - int rvalue = 0; - asn1p_expr_t *ext_marker = NULL; /* "..." position */ - int ret; - - /* Keep track of value collisions */ - asn1c_integer_t *used_vals; - int used_vals_sz = 50; - int used_vals_next = 0; - - if(expr->expr_type != ASN_BASIC_ENUMERATED) - return 0; /* Just ignore it */ - - DEBUG("(%s)", expr->Identifier); - - used_vals = (asn1c_integer_t *) malloc(sizeof(asn1c_integer_t) * used_vals_sz); - if (!used_vals) { - FATAL("Out of memory"); - return -1; - } - - /* - * 1. Scan the enumeration values in search for inconsistencies. - */ - TQ_FOR(ev, &(expr->members), next) { - asn1c_integer_t eval; - - if(ev->value) - DEBUG("\tItem %s(%s)", ev->Identifier, - asn1f_printable_value(ev->value)); - else - DEBUG("\tItem %s", ev->Identifier); - - /* - * 1.1 Found an extension mark "...", check correctness. - */ - if(ev->expr_type == A1TC_EXTENSIBLE) { - if(ext_marker) { - FATAL("Enumeration %s at line %d: " - "Second extension marker is not allowed", - expr->Identifier, - ev->_lineno); - rvalue = -1; - } else { - /* - * Remember the marker's position. - */ - ext_marker = ev; - } - continue; - } else if(ev->Identifier == NULL - || ev->expr_type != A1TC_UNIVERVAL) { - FATAL( - "Enumeration %s at line %d: " - "Unsupported enumeration element %s", - expr->Identifier, - ev->_lineno, - ev->Identifier?ev->Identifier:""); - rvalue = -1; - continue; - } - - /* - * 1.2 Compute the value of the enumeration element. - */ - if(ev->value) { - switch(ev->value->type) { - case ATV_INTEGER: - eval = ev->value->value.v_integer; - break; - case ATV_REFERENCED: - FATAL("HERE HERE HERE", 1); - rvalue = -1; - continue; - break; - default: - FATAL("ENUMERATED type %s at line %d " - "contain element %s(%s) at line %d", - expr->Identifier, expr->_lineno, - ev->Identifier, - asn1f_printable_value(ev->value), - ev->_lineno); - rvalue = -1; - continue; - } - } else { - eval = max_value + 1; - ev->value = asn1p_value_fromint(eval); - if(ev->value == NULL) { - rvalue = -1; - continue; - } - } - - /* - * 1.3 Check the applicability of this value. - */ - - /* - * Enumeration is allowed to be unordered - * before the first marker, but after the marker - * the values must be ordered. - */ - if (ext_marker) { - if (eval > max_value_ext) { - max_value_ext = eval; - } else { - char max_value_buf[128]; - asn1p_itoa_s(max_value_buf, sizeof(max_value_buf), - max_value_ext); - FATAL( - "Enumeration %s at line %d: " - "Explicit value \"%s(%s)\" " - "is not greater " - "than previous values (max %s)", - expr->Identifier, - ev->_lineno, - ev->Identifier, - asn1p_itoa(eval), - max_value_buf); - rvalue = -1; - } - } - - if (eval > max_value) { - max_value = eval; - } - - - /* - * 1.4 Check that all identifiers are unique - */ - int unique = 1; - int uv_idx; - for (uv_idx = 0; uv_idx < used_vals_next; uv_idx++) { - if (used_vals[uv_idx] == eval) { - FATAL( - "Enumeration %s at line %d: " - "Explicit value \"%s(%s)\" " - "collides with previous values", - expr->Identifier, - ev->_lineno, - ev->Identifier, - asn1p_itoa(eval)); - rvalue = -1; - unique = 0; - } - } - - if (unique) { - /* Grow the array if needed */ - if (used_vals_next >= used_vals_sz) { - asn1c_integer_t *temp; - int new_sz = used_vals_sz + 50; - temp = (asn1c_integer_t *) realloc(used_vals, - sizeof(asn1c_integer_t) * new_sz); - if (!temp) return -1; - used_vals = temp; - used_vals_sz = new_sz; - } - used_vals[used_vals_next++] = eval; - } - - /* - * 1.5 Check that all identifiers before the current one - * differs from it. - */ - ret = asn1f_check_unique_expr_child(arg, ev, 0, "identifier"); - RET2RVAL(ret, rvalue); - } - - free(used_vals); - - /* - * 2. Reorder the first half (before optional "...") of the - * identifiers alphabetically. - */ - // TODO - - return rvalue; -} - diff --git a/libasn1fix/asn1fix_enum.h b/libasn1fix/asn1fix_enum.h deleted file mode 100644 index 7c2a9db..0000000 --- a/libasn1fix/asn1fix_enum.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1FIX_ENUM_H -#define ASN1FIX_ENUM_H - -int asn1f_fix_enum(arg_t *); /* Enumeration ::= ENUMERATED { a(1), b(2) } */ - -#endif /* ASN1FIX_ENUM_H */ diff --git a/libasn1fix/asn1fix_export.c b/libasn1fix/asn1fix_export.c deleted file mode 100644 index ee39afb..0000000 --- a/libasn1fix/asn1fix_export.c +++ /dev/null @@ -1,133 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix_export.h" - -extern arg_t a1f_replace_me_with_proper_interface_arg; - -static asn1p_t *asn1f_ssn_asn_; - -static void -_add_standard_namespaces(asn1_namespace_t *ns) { - asn1p_oid_t *uioc_oid; - asn1p_oid_arc_t arcs[] = {{1, "iso"}, {3, "org"}, - {6, "dod"}, {1, "internet"}, - {4, "private"}, {1, "enterprise"}, - {9363, "spelio"}, {1, "software"}, - {5, "asn1c"}, {3, "standard-modules"}, - {0, "auto-imported"}, {1, 0}}; - - uioc_oid = asn1p_oid_construct(arcs, sizeof(arcs) / sizeof(arcs[0])); - - asn1p_module_t *module = asn1f_lookup_module_ex( - asn1f_ssn_asn_, "ASN1C-UsefulInformationObjectClasses", uioc_oid); - asn1p_oid_free(uioc_oid); - - if(module) { - asn1_namespace_add_module(ns, module, 0); - } -} - -void -asn1f_use_standard_namespaces(asn1p_t *asn) { - asn1f_ssn_asn_ = asn; - asn1_namespace_add_standard_namespaces_callback(_add_standard_namespaces); -} - -asn1p_module_t * -asn1f_lookup_module_ex(asn1p_t *asn, const char *module_name, - const asn1p_oid_t *oid) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - return asn1f_lookup_module(&arg, module_name, oid); -} - -asn1p_expr_t * -asn1f_lookup_symbol_ex(asn1p_t *asn, asn1_namespace_t *ns, asn1p_expr_t *expr, - const asn1p_ref_t *ref) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.ns = ns; - arg.mod = expr->module; - arg.expr = expr; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - - return asn1f_lookup_symbol(&arg, expr->rhs_pspecs, ref); -} - -asn1p_expr_t * -asn1f_class_access_ex(asn1p_t *asn, - asn1p_module_t *mod, - asn1_namespace_t *ns, - asn1p_expr_t *expr, - asn1p_expr_t *rhs_pspecs, - const asn1p_ref_t *ref) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.mod = mod; - arg.ns = ns; - arg.expr = expr; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - - return asn1f_class_access(&arg, rhs_pspecs, ref); -} - -asn1p_expr_t * -asn1f_find_terminal_type_ex(asn1p_t *asn, asn1_namespace_t *ns, - asn1p_expr_t *expr) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.ns = ns; - arg.mod = expr->module; - arg.expr = expr; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - - return asn1f_find_terminal_type(&arg, expr); -} - -asn1p_expr_t * -asn1f_find_ancestor_type_with_PER_constraint_ex(asn1p_t *asn, asn1p_expr_t *expr) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.mod = expr->module; - arg.expr = expr; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - - return asn1f_find_ancestor_type_with_PER_constraint(&arg, expr); -} - -int -asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod, - asn1p_expr_t *expr) { - arg_t arg; - - memset(&arg, 0, sizeof(arg)); - - arg.asn = asn; - arg.mod = mod; - arg.expr = expr; - arg.eh = a1f_replace_me_with_proper_interface_arg.eh; - arg.debug = a1f_replace_me_with_proper_interface_arg.debug; - - return asn1f_fix_dereference_values(&arg); -} - diff --git a/libasn1fix/asn1fix_export.h b/libasn1fix/asn1fix_export.h deleted file mode 100644 index bfa055b..0000000 --- a/libasn1fix/asn1fix_export.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This header exports fixer procedures that are common enough to be used - * in other modules. - */ -#ifndef ASN1FIX_EXPORT_H -#define ASN1FIX_EXPORT_H - -#include "asn1fix_tags.h" - -struct asn1_namespace_s; /* Forward declaration. */ - -void asn1f_use_standard_namespaces(asn1p_t *asn); - -/* - * Lookup the module by its oid. oid is mandatory. - */ -asn1p_module_t *asn1f_lookup_module_ex(asn1p_t *asn, const char *module_name, - const asn1p_oid_t *oid); - -/* - * Create a human-readable representation of a reference and value. - */ -char const *asn1f_printable_reference(const asn1p_ref_t *ref); -char const *asn1f_printable_value(asn1p_value_t *value); - -/* - * Exportable version of an asn1f_lookup_symbol(). - */ -asn1p_expr_t *asn1f_lookup_symbol_ex( - asn1p_t *asn, - struct asn1_namespace_s *ns, - asn1p_expr_t *expr, - const asn1p_ref_t *ref); - -/* - * Exportable version of an asn1f_class_access(). - */ -asn1p_expr_t *asn1f_class_access_ex(asn1p_t *asn, asn1p_module_t *mod, - struct asn1_namespace_s *ns, - asn1p_expr_t *expr, - asn1p_expr_t *rhs_rspecs, - const asn1p_ref_t *); - -/* - * Exportable version of asn1f_find_terminal_type(). - */ -asn1p_expr_t *asn1f_find_terminal_type_ex(asn1p_t *asn, - struct asn1_namespace_s *ns, - asn1p_expr_t *tc); - -/* - * Exportable version of asn1f_fix_dereference_values(); - */ -int asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod, - asn1p_expr_t *expr); - -/* - * Exportable version of asn1f_find_ancestor_type_with_PER_constraint(). - */ -asn1p_expr_t *asn1f_find_ancestor_type_with_PER_constraint_ex(asn1p_t *asn, - asn1p_expr_t *expr); - -#endif /* ASN1FIX_EXPORT_H */ diff --git a/libasn1fix/asn1fix_integer.c b/libasn1fix/asn1fix_integer.c deleted file mode 100644 index 36e5466..0000000 --- a/libasn1fix/asn1fix_integer.c +++ /dev/null @@ -1,160 +0,0 @@ -#include "asn1fix_internal.h" - -static int _compare_value(asn1p_expr_t *expr1, asn1p_expr_t *expr2) { - if(expr2->value->type == ATV_INTEGER - && expr1->value->type == ATV_INTEGER) { - return expr2->value->value.v_integer - - expr1->value->value.v_integer; - } else { - return -1; - } -} - -/* - * Check the validity of an INTEGER type. - */ -int -asn1f_fix_integer(arg_t *arg) { - asn1p_expr_t *expr = arg->expr; - asn1p_expr_t *iv; - int rvalue = 0; - int ret; - - if(expr->expr_type != ASN_BASIC_INTEGER) - return 0; /* Just ignore it */ - - DEBUG("(\"%s\", %x) for line %d", - expr->Identifier, expr->expr_type, expr->_lineno); - - /* - * Scan the integer values in search for inconsistencies. - */ - TQ_FOR(iv, &(expr->members), next) { - - DEBUG("\tItem %s(%s)", iv->Identifier, - asn1f_printable_value(iv->value)); - - /* - * Found "...", check correctness. - */ - if(iv->expr_type == A1TC_EXTENSIBLE) { - FATAL("INTEGER %s at line %d: " - "Extension marker is not allowed", - expr->Identifier, - iv->_lineno); - rvalue = -1; - continue; - } - - if(iv->Identifier == NULL - || iv->expr_type != A1TC_UNIVERVAL) { - FATAL("INTEGER %s at line %d: " - "Unsupported enumeration element %s", - expr->Identifier, - iv->_lineno, - iv->Identifier?iv->Identifier:"" - ); - rvalue = -1; - continue; - } - - if(iv->value == NULL) { - FATAL("INTEGER %s at line %d: " - "Value for the identifier %s " - "must be set explicitly", - expr->Identifier, - iv->_lineno, - iv->Identifier - ); - rvalue = -1; - continue; - } else if(iv->value->type == ATV_REFERENCED) { - /* - * Resolve the value, once and for all. - */ - if(asn1f_value_resolve(arg, iv, 0)) { - /* This function will emit messages */ - rvalue = -1; - continue; - } - } - - if(iv->value->type != ATV_INTEGER) { - FATAL("INTEGER %s at line %d: " - "Value for the identifier %s " - "is not compatible with INTEGER type", - expr->Identifier, - iv->_lineno); - rvalue = -1; - continue; - } - - /* - * Check that all identifiers are distinct. - */ - ret = asn1f_check_unique_expr_child(arg, iv, 0, "identifier"); - RET2RVAL(ret, rvalue); - /* - * Check that all values are distinct. - */ - ret = asn1f_check_unique_expr_child(arg, iv, - _compare_value, "value"); - RET2RVAL(ret, rvalue); - } - - - return rvalue; -} - -#if 0 -static int -_asn1f_make_sure_type_is(arg_t *arg, asn1p_expr_t *expr, asn1p_expr_type_e type) { - asn1p_expr_t *next_expr; - asn1p_expr_type_e expr_type; - int ret; - - expr_type = expr->expr_type; - - /* - * Here we're trying to make sure that the type of the given - * expression is really what is expected. - * This is ensured in two ways. - * First, if the immediate type matches the provided one, - * this is a clear hit. - */ - if(expr_type == type) - return 0; - - /* - * Otherwise, it must be either a reference or a different type. - */ - if(expr_type != A1TC_REFERENCE) { - errno = EPERM; - return -1; - } - - assert(expr_type == A1TC_REFERENCE); - assert(expr->reference); - - /* - * Then, it is a reference. For a reference, try to resolve type - * and try again. - */ - next_expr = asn1f_lookup_symbol(arg, expr->module, - expr->rhs_pspecs, expr->reference); - if(next_expr == NULL) { - errno = ESRCH; - return -1; - } - - /* - * If symbol is here, recursively check that it conforms to the type. - */ - WITH_MODULE(next_expr->module, - ret = _asn1f_make_sure_type_is(arg, next_expr, type)); - - return ret; -} -#endif - - diff --git a/libasn1fix/asn1fix_integer.h b/libasn1fix/asn1fix_integer.h deleted file mode 100644 index fb06fe6..0000000 --- a/libasn1fix/asn1fix_integer.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ASN1FIX_INTEGER_H -#define ASN1FIX_INTEGER_H - -/* Type1 ::= INTEGER { a(1), b(2) } */ -int asn1f_fix_integer(arg_t *); - -#endif /* ASN1FIX_INTEGER_H */ diff --git a/libasn1fix/asn1fix_internal.h b/libasn1fix/asn1fix_internal.h deleted file mode 100644 index c429730..0000000 --- a/libasn1fix/asn1fix_internal.h +++ /dev/null @@ -1,158 +0,0 @@ -#ifndef ASN1FIX_INTERNAL_H -#define ASN1FIX_INTERNAL_H - -#ifdef HAVE_CONFIG_H -#include -#endif - -/* - * System headers required in various modules. - */ -#include -#include -#include -#include -#include /* isupper() */ -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include /* Our lovely ASN.1 parser module */ -#include -#include -#include "asn1fix.h" - -#ifdef _WIN32 -#define EX_NOINPUT 66 -#define EX_DATAERR 65 -#define snprintf _snprintf -#if defined HAVE_DECL_STRCASECMP && !HAVE_DECL_STRCASECMP -#define strcasecmp stricmp -#endif -#endif - -#ifndef ETOOMANYREFS -#define ETOOMANYREFS 144 -#endif - -/* - * A definition of a function that will log error messages. - */ -typedef void (*error_logger_f)(int _is_fatal, const char *fmt, ...); - -/* - * Universal argument. - */ -typedef struct arg_s { - asn1p_t *asn; - asn1_namespace_t *ns; - asn1p_module_t *mod; - asn1p_expr_t *expr; - error_logger_f eh; - error_logger_f debug; - void *key; /* The next level key */ - enum asn1f_flags flags; -} arg_t; - -/* - * Functions performing normalization of various types. - */ -#include "asn1fix_misc.h" /* Support functions */ -#include "asn1fix_value.h" /* Value processing */ -#include "asn1fix_cstring.h" /* Fix cstring values */ -#include "asn1fix_compat.h" /* Data compatibility */ -#include "asn1fix_constr.h" /* Constructed types */ -#include "asn1fix_class.h" /* CLASS support */ -#include "asn1fix_cws.h" /* CLASS WITH SYNTAX support */ -#include "asn1fix_param.h" /* Parameterization */ -#include "asn1fix_retrieve.h" /* Data retrieval */ -#include "asn1fix_enum.h" /* Process ENUMERATED */ -#include "asn1fix_integer.h" /* Process INTEGER */ -#include "asn1fix_bitstring.h" /* Process BIT STRING */ -#include "asn1fix_dereft.h" /* Dereference types */ -#include "asn1fix_derefv.h" /* Dereference values */ -#include "asn1fix_tags.h" /* Tags-related stuff */ -#include "asn1fix_constraint.h" /* Constraint manipulation */ -#include "asn1fix_crange.h" /* Constraint groking, exportable */ -#include "asn1fix_export.h" /* Exported functions */ - - -/* - * Merge the return value of the called function with the already - * partially computed return value of the current function. - */ -#define RET2RVAL(ret, rv) \ - do { \ - int __ret = ret; \ - switch(__ret) { \ - case 0: \ - break; \ - case 1: \ - if(rv) break; \ - /* Fall through */ \ - case -1: \ - rv = __ret; \ - break; \ - default: \ - assert(__ret >= -1 && __ret <= 1); \ - rv = -1; \ - } \ - } while(0) - -/* - * Temporary substitute module for the purposes of evaluating expression. - */ -#define WITH_MODULE(tmp_mod, code) \ - ({ \ - void *_saved_mod = arg->mod; \ - asn1_namespace_t *_saved_ns = arg->ns; \ - arg->mod = tmp_mod; \ - arg->ns = asn1_namespace_new_from_module(tmp_mod, 1); \ - typeof(code) ret = code; \ - asn1_namespace_free(arg->ns); \ - arg->ns = _saved_ns; \ - arg->mod = _saved_mod; \ - ret; \ - }) - -#define LOG(code, fmt, args...) \ - do { \ - int _save_errno = errno; \ - if(code < 0) { \ - if(arg->debug) { \ - arg->debug(code, "%s: " fmt " in %s (%s:%d)", __func__, \ - ##args, arg->mod->source_file_name, __FILE__, \ - __LINE__); \ - } \ - } else if(arg->eh) { \ - if(arg->debug) { \ - arg->eh(code, fmt " in %s (%s:%d)", ##args, \ - arg->mod->source_file_name, __FILE__, __LINE__); \ - } else { \ - arg->eh(code, fmt " in %s", ##args, \ - arg->mod->source_file_name); \ - } \ - errno = _save_errno; \ - } \ - } while(0) - -#define DEBUG(fmt, args...) LOG(-1, fmt, ##args) -#define FATAL(fmt, args...) LOG( 1, fmt, ##args) -#define WARNING(fmt, args...) LOG( 0, fmt, ##args) - - -/* - * Define the symbol corresponding to the name of the current function. - */ -#if __STDC_VERSION__ < 199901 -#if !(__GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3) -#define __func__ (char *)0 /* Name of the current function */ -#endif /* GNUC */ -/* __func__ is supposed to be defined */ -#endif - - -#endif /* ASN1FIX_INTERNAL_H */ diff --git a/libasn1fix/asn1fix_misc.c b/libasn1fix/asn1fix_misc.c deleted file mode 100644 index 283ed53..0000000 --- a/libasn1fix/asn1fix_misc.c +++ /dev/null @@ -1,373 +0,0 @@ -#include "asn1fix_internal.h" -#include "asn1fix.h" - -char const * -asn1f_printable_reference(const asn1p_ref_t *ref) { - if(ref) { - return asn1p_ref_string(ref); - } else { - return ""; - } -} - -char const * -asn1f_printable_value(asn1p_value_t *v) { - static char buf[128]; - static char *managedptr; - static size_t managedptr_len; - int ret; - -#define ENSURE(len) do { \ - size_t tmp_len = (len); \ - if(tmp_len >= managedptr_len) { \ - free(managedptr); \ - managedptr = calloc(1, tmp_len + 1); \ - if(managedptr) { \ - managedptr_len = tmp_len; \ - } else { \ - managedptr_len = 0; \ - return ""; \ - } \ - } \ - } while(0) - - if(v == NULL) - return ""; - - switch(v->type) { - case ATV_NOVALUE: - return ""; - case ATV_NULL: - return "NULL"; - case ATV_REAL: - ret = snprintf(buf, sizeof(buf), "%f", v->value.v_double); - if(ret >= (ssize_t)sizeof(buf)) - memcpy(buf + sizeof(buf) - 4, "...", 4); - return buf; - case ATV_INTEGER: - ret = snprintf(buf, sizeof(buf), "%s", asn1p_itoa(v->value.v_integer)); - if(ret >= (ssize_t)sizeof(buf)) - memcpy(buf + sizeof(buf) - 4, "...", 4); - return buf; - case ATV_MIN: return "MIN"; - case ATV_MAX: return "MAX"; - case ATV_FALSE: return "FALSE"; - case ATV_TRUE: return "TRUE"; - case ATV_TUPLE: - ret = snprintf(buf, sizeof(buf), "{%d, %d}", - (int)(v->value.v_integer >> 4), - (int)(v->value.v_integer & 0xff)); - if(ret >= (ssize_t)sizeof(buf)) - memcpy(buf + sizeof(buf) - 4, "...", 4); - return buf; - case ATV_QUADRUPLE: - ret = snprintf(buf, sizeof(buf), "{%d, %d, %d, %d}", - (int)((v->value.v_integer >> 24) & 0xff), - (int)((v->value.v_integer >> 16) & 0xff), - (int)((v->value.v_integer >> 8) & 0xff), - (int)(v->value.v_integer & 0xff)); - if(ret >= (ssize_t)sizeof(buf)) - memcpy(buf + sizeof(buf) - 4, "...", 4); - return buf; - case ATV_STRING: - case ATV_UNPARSED: - /* Buffer is guaranteed to be null-terminated */ - assert(v->value.string.buf[v->value.string.size] == '\0'); - return (char *)v->value.string.buf; - case ATV_TYPE: - return ""; - case ATV_BITVECTOR: - { - uint8_t *bitvector; - char *ptr; - size_t len; - int i; - /* - * Compute number of bytes necessary - * to represend the binary value. - */ - int bits = v->value.binary_vector.size_in_bits; - len = ((bits%8)?bits:(bits >> 2)) + sizeof("''H"); - /* - * Reallocate managed buffer - */ - ENSURE(len); - - /* - * Fill the buffer. - */ - ptr = managedptr; - bitvector = v->value.binary_vector.bits; - *ptr++ = '\''; - if(bits%8) { - /* - * Dump bit by bit. - */ - for(i = 0; i < bits; i++) { - uint8_t uc; - uc = bitvector[i>>3]; - *ptr++ = ((uc >> (7-(i%8)))&1)?'1':'0'; - } - } else { - static const char *hextable="0123456789ABCDEF"; - /* - * Dump byte by byte. - */ - for(i = 0; i < (bits >> 3); i++) { - *ptr++ = hextable[bitvector[i] >> 4]; - *ptr++ = hextable[bitvector[i] & 0x0f]; - } - } - *ptr++ = '\''; - *ptr++ = (bits%8)?'B':'H'; - *ptr++ = 'H'; - assert(len == (size_t)(ptr - managedptr)); - return managedptr; - } - case ATV_REFERENCED: - { - asn1p_ref_t *ref; - size_t reflen; - char *ptr; - - assert(v->value.reference); - ref = v->value.reference; - reflen = ref->comp_count; /* Number of dots */ - for(size_t i = 0; i < ref->comp_count; i++) - reflen += strlen(ref->components[i].name); - /* - * Make sure we have a buffer of this size. - */ - ENSURE(reflen); - - /* - * Fill-up the buffer. - */ - ptr = managedptr; - for(size_t i = 0; i < ref->comp_count; i++) { - char *nc; - if(i) *ptr++ = '.'; - for(nc = ref->components[i].name; *nc; nc++) - *ptr++ = *nc; - } - *ptr++ = '\0'; - assert(reflen == (size_t)(ptr - managedptr)); - return managedptr; - } - case ATV_VALUESET: - return ""; - case ATV_CHOICE_IDENTIFIER: - { - char *cid = v->value.choice_identifier.identifier; - char const *vptr = asn1f_printable_value( - v->value.choice_identifier.value); - char *val; - - val = strdup(vptr); - if(!val) return ""; - - ENSURE(strlen(cid) + sizeof(": ") + strlen(val)); - - ret = snprintf(managedptr, managedptr_len + 1, - "%s: %s", cid, val); - assert(ret >= 0 && (size_t)ret <= managedptr_len); - free(val); - return managedptr; - } - } - - return ""; -} - - -/* - * Recursively invoke a given function over the given expr and all its - * children. - */ -int -asn1f_recurse_expr(arg_t *arg, int (*callback)(arg_t *arg)) { - asn1p_expr_t *expr = arg->expr; - int rvalue = 0; - int ret; - - assert(expr); - - if(expr->lhs_params && expr->spec_index == -1) { - int i; - for(i = 0; i < expr->specializations.pspecs_count; i++) { - arg->expr = expr->specializations.pspec[i].my_clone; - ret = asn1f_recurse_expr(arg, callback); - RET2RVAL(ret, rvalue); - } - arg->expr = expr; /* revert */ - return rvalue; - } - - /* - * Invoke the callback at this very level. - */ - ret = callback(arg); - RET2RVAL(ret, rvalue); - - /* - * Recursively invoke myself - * to iterate over each element in the tree. - */ - TQ_FOR(arg->expr, &(expr->members), next) { - assert(arg->expr->expr_type != A1TC_INVALID); - assert(arg->expr->parent_expr == expr); - ret = asn1f_recurse_expr(arg, callback); - RET2RVAL(ret, rvalue); - } - - arg->expr = expr; /* Restore original position */ - - return rvalue; -} - - -/* - * Check that every child of a given expr has unique name or does not have any. - */ -int -asn1f_check_unique_expr(arg_t *arg) { - asn1p_expr_t *expr; - int rvalue = 0; - - TQ_FOR(expr, &(arg->expr->members), next) { - if(expr->Identifier) { - int ret = asn1f_check_unique_expr_child(arg, expr, - 0, "identifier"); - if(ret) rvalue = -1; - } else { - /* - * No point of comparing this child with any other: - * this one does not have a name. - */ - } - } - - return rvalue; -} - -/* - * Check that every preceeding child of the given expr is not - * having the name of the given one. - */ -int -asn1f_check_unique_expr_child(arg_t *arg, asn1p_expr_t *child, - int (*opt_compare)(asn1p_expr_t *a, asn1p_expr_t *b), - const char *opt_property_name) { - asn1p_expr_t *expr; - - if(!opt_property_name) opt_property_name = "property"; - - assert(child); - assert(opt_compare || child->Identifier); - - TQ_FOR(expr, &(arg->expr->members), next) { - int ret; - - if(expr == child) - break; - - /* - * Compare according to the custom rule or default - * names comparisons. - */ - if(opt_compare) { - ret = opt_compare(expr, child); - } else { - if(expr->Identifier == NULL - || expr->expr_type == A1TC_EXTENSIBLE) - continue; - ret = strcmp(expr->Identifier, child->Identifier); - } - - if(ret == 0) { - FATAL("Clash detected: " - "\"%s\" at line %d has similar %s with " - "\"%s\" at line %d", - expr->Identifier, - expr->_lineno, - opt_property_name, - child->Identifier, - child->_lineno - ); - return -1; - } - } - - return 0; -} - -int -asn1f_count_children(asn1p_expr_t *expr) { - asn1p_expr_t *child; - int count = 0; - - TQ_FOR(child, &(expr->members), next) { - count++; - } - - return count; -} - - -static char **known_types; -static int known_types_count; -static int known_types_size; - -static int _known_types_cmp(const void *ap, const void *bp) { - const char *a = *(const char * const *)ap; - const char *b = *(const char * const *)bp; - return strcmp(a, b); -} - -int -asn1f_make_known_external_type(const char *type_name) { - char *tname; - - /* Check for duplicates */ - if(asn1f_check_known_external_type(type_name) == 0) { - errno = EEXIST; - return -1; - } - - /* Ensure enough space */ - if(known_types_count <= known_types_size) { - int n = known_types_size ? known_types_size << 1 : 4; - void *p; - p = realloc(known_types, n * sizeof(known_types[0])); - if(!p) return -1; - known_types = p; - known_types_size = n; - } - - tname = strdup(type_name); - if(!tname) return -1; - - known_types[known_types_count++] = tname; - -#ifdef HAVE_MERGESORT - mergesort -#else - qsort -#endif - (known_types, known_types_count, sizeof(known_types[0]), - _known_types_cmp); - - return 0; -} - -int -asn1f_check_known_external_type(const char *type_name) { - if(known_types_count) { - void *p = bsearch(&type_name, known_types, known_types_count, - sizeof(known_types[0]), _known_types_cmp); - if(p) return 0; - } - errno = ESRCH; - return -1; -} - diff --git a/libasn1fix/asn1fix_misc.h b/libasn1fix/asn1fix_misc.h deleted file mode 100644 index 0114d49..0000000 --- a/libasn1fix/asn1fix_misc.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Miscellaneous functions necessary for several other modules. - */ -#ifndef ASN1FIX_MISC_H -#define ASN1FIX_MISC_H - -/* - * Recursively invoke a given function over the given expr and all its - * children. - */ -int asn1f_recurse_expr(arg_t *arg, int (*f)(arg_t *arg)); - -/* - * Check that every child of a given expr has unique identifier. - */ -int asn1f_check_unique_expr(arg_t *arg); - -/* - * Check that every preceeding child of the given expr is not - * having the name of the given one. - * If opt_compare == NULL, the default comparison of the argument's - * names (identifiers) will be performed. - */ -int asn1f_check_unique_expr_child(arg_t *arg, asn1p_expr_t *child, - int (*opt_compare)(asn1p_expr_t *a, asn1p_expr_t *b), - const char *opt_property_name); - -/* - * Return number of children. - */ -int asn1f_count_children(asn1p_expr_t *parent); - -/* - * Check if type is explicitly known. - */ -int asn1f_check_known_external_type(const char *); - -#endif /* ASN1FIX_MISC_H */ diff --git a/libasn1fix/asn1fix_param.c b/libasn1fix/asn1fix_param.c deleted file mode 100644 index 894f42a..0000000 --- a/libasn1fix/asn1fix_param.c +++ /dev/null @@ -1,225 +0,0 @@ -#include "asn1fix_internal.h" - -typedef struct resolver_arg { - asn1p_expr_t *(*resolver)(asn1p_expr_t *, void *arg); - arg_t *arg; - asn1p_expr_t *original_expr; - asn1p_paramlist_t *lhs_params; - asn1p_expr_t *rhs_pspecs; - char *resolved_name; -} resolver_arg_t; - -static asn1p_expr_t *resolve_expr(asn1p_expr_t *, void *resolver_arg); -static int compare_specializations(const asn1p_expr_t *a, const asn1p_expr_t *b); -static asn1p_expr_t *find_target_specialization_byvalueset(resolver_arg_t *rarg, asn1p_constraint_t *ct); -static asn1p_expr_t *find_target_specialization_byref(resolver_arg_t *rarg, asn1p_ref_t *ref); -static asn1p_expr_t *find_target_specialization_bystr(resolver_arg_t *rarg, char *str); - -asn1p_expr_t * -asn1f_parameterization_fork(arg_t *arg, asn1p_expr_t *expr, asn1p_expr_t *rhs_pspecs) { - resolver_arg_t rarg; /* resolver argument */ - asn1p_expr_t *exc; /* expr clone */ - asn1p_expr_t *rpc; /* rhs_pspecs clone */ - asn1p_expr_t *m; /* expr members */ - asn1p_expr_t *target; - void *p; - struct asn1p_pspec_s *pspec; - int npspecs; - - assert(rhs_pspecs); - assert(expr->lhs_params); - assert(expr->parent_expr == 0); - - /* - * Find if this exact specialization has been used already. - */ - for(npspecs = 0; - npspecs < expr->specializations.pspecs_count; - npspecs++) { - if(compare_specializations(rhs_pspecs, - expr->specializations.pspec[npspecs].rhs_pspecs) == 0) { - DEBUG("Reused parameterization for %s", - expr->Identifier); - return expr->specializations.pspec[npspecs].my_clone; - } - } - - DEBUG("Forking parameterization at %d for %s (%d alr)", - rhs_pspecs->_lineno, expr->Identifier, - expr->specializations.pspecs_count); - - rarg.resolver = resolve_expr; - rarg.arg = arg; - rarg.original_expr = expr; - rarg.lhs_params = expr->lhs_params; - rarg.rhs_pspecs = rhs_pspecs; - rarg.resolved_name = NULL; - exc = asn1p_expr_clone_with_resolver(expr, resolve_expr, &rarg); - if(!exc) return NULL; - if(rarg.resolved_name) { - free(exc->Identifier); - exc->Identifier = strdup(rarg.resolved_name); - exc->_lineno = 0; - } - rpc = asn1p_expr_clone(rhs_pspecs, 0); - assert(rpc); - - /* - * Create a new specialization. - */ - npspecs = expr->specializations.pspecs_count; - p = realloc(expr->specializations.pspec, - (npspecs + 1) * sizeof(expr->specializations.pspec[0])); - assert(p); - expr->specializations.pspec = p; - pspec = &expr->specializations.pspec[npspecs]; - memset(pspec, 0, sizeof *pspec); - - pspec->rhs_pspecs = rpc; - pspec->my_clone = exc; - exc->spec_index = npspecs; - exc->rhs_pspecs = asn1p_expr_clone_with_resolver(expr->rhs_pspecs ? - expr->rhs_pspecs : rhs_pspecs, - resolve_expr, &rarg); - - /* Passing arguments to members and type references */ - - target = TQ_FIRST(&expr->members); - TQ_FOR(m, &exc->members, next) { - m->rhs_pspecs = asn1p_expr_clone_with_resolver(target->rhs_pspecs ? - target->rhs_pspecs : exc->rhs_pspecs, - resolve_expr, &rarg); - target = TQ_NEXT(target, next); - } - - DEBUG("Forked new parameterization for %s", expr->Identifier); - - /* Commit */ - expr->specializations.pspecs_count = npspecs + 1; - return exc; -} - -static int -compare_specializations(const asn1p_expr_t *a, const asn1p_expr_t *b) { - return asn1p_expr_compare(a, b); -} - -static asn1p_expr_t * -resolve_expr(asn1p_expr_t *expr_to_resolve, void *resolver_arg) { - resolver_arg_t *rarg = resolver_arg; - arg_t *arg = rarg->arg; - asn1p_expr_t *expr; - asn1p_expr_t *nex; - - DEBUG("Resolving %s (meta %d)", - expr_to_resolve->Identifier, expr_to_resolve->meta_type); - - if(expr_to_resolve->meta_type == AMT_TYPEREF) { - expr = find_target_specialization_byref(rarg, - expr_to_resolve->reference); - if(!expr) return NULL; - } else if(expr_to_resolve->meta_type == AMT_VALUE) { - if(!expr_to_resolve->value) return NULL; - expr = find_target_specialization_bystr(rarg, - expr_to_resolve->Identifier); - if(!expr) return NULL; - } else if(expr_to_resolve->meta_type == AMT_VALUESET) { - assert(expr_to_resolve->constraints); - expr = find_target_specialization_byvalueset(rarg, - expr_to_resolve->constraints); - if(!expr) return NULL; - } else { - errno = ESRCH; - return NULL; - } - - DEBUG("Found target %s (%d/%x)", - expr->Identifier, expr->meta_type, expr->expr_type); - if(expr->meta_type == AMT_TYPE - || expr->meta_type == AMT_VALUE - || expr->meta_type == AMT_TYPEREF - || expr->meta_type == AMT_VALUESET) { - DEBUG("Target is a simple type %s", - ASN_EXPR_TYPE2STR(expr->expr_type)); - nex = asn1p_expr_clone(expr, 0); - free(nex->Identifier); - nex->Identifier = expr_to_resolve->Identifier - ? strdup(expr_to_resolve->Identifier) : 0; - if(expr->meta_type == AMT_TYPEREF) { - asn1p_ref_t *ref = expr->reference; - rarg->resolved_name = ref->components[ref->comp_count - 1].name; - } else if(expr->meta_type == AMT_VALUESET) { - asn1p_constraint_t *ct = expr->constraints; - if(ct->type == ACT_EL_TYPE) { - asn1p_ref_t *ref = ct->containedSubtype->value.v_type->reference; - rarg->resolved_name = ref->components[ref->comp_count - 1].name; - } - } - return nex; - } else { - FATAL("Feature not implemented for %s (%d/%x), " - "please contact the asn1c author", - rarg->original_expr->Identifier, - expr->meta_type, expr->expr_type); - errno = EPERM; - return NULL; - } - - return NULL; -} - -static asn1p_expr_t * -find_target_specialization_byvalueset(resolver_arg_t *rarg, asn1p_constraint_t *ct) { - asn1p_ref_t *ref; - - if (ct->type != ACT_EL_TYPE) return NULL; - - ref = ct->containedSubtype->value.v_type->reference; - - return find_target_specialization_byref(rarg, ref); -} - -static asn1p_expr_t * -find_target_specialization_byref(resolver_arg_t *rarg, asn1p_ref_t *ref) { - char *refstr; - - if(!ref || ref->comp_count != 1) { - errno = ESRCH; - return NULL; - } - - refstr = ref->components[0].name; /* T */ - - return find_target_specialization_bystr(rarg, refstr); -} - -static asn1p_expr_t * -find_target_specialization_bystr(resolver_arg_t *rarg, char *refstr) { - arg_t *arg = rarg->arg; - asn1p_expr_t *target; - int i; - - if(!refstr) return NULL; - - target = TQ_FIRST(&rarg->rhs_pspecs->members); - for(i = 0; i < rarg->lhs_params->params_count; - i++, target = TQ_NEXT(target, next)) { - struct asn1p_param_s *param = &rarg->lhs_params->params[i]; - if(!target) break; - - if(strcmp(param->argument, refstr)) - continue; - - return target; - } - if(i != rarg->lhs_params->params_count) { - FATAL("Parameterization of %s failed: " - "parameters number mismatch", - rarg->original_expr->Identifier); - errno = EPERM; - return NULL; - } - - errno = ESRCH; - return NULL; -} diff --git a/libasn1fix/asn1fix_param.h b/libasn1fix/asn1fix_param.h deleted file mode 100644 index 6bf5f42..0000000 --- a/libasn1fix/asn1fix_param.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ASN1FIX_PARAMETERIZATION_H -#define ASN1FIX_PARAMETERIZATION_H - -asn1p_expr_t *asn1f_parameterization_fork(arg_t *arg, asn1p_expr_t *expr, asn1p_expr_t *rhs_pspecs); - -#endif /* ASN1FIX_PARAMETERIZATION_H */ diff --git a/libasn1fix/asn1fix_retrieve.c b/libasn1fix/asn1fix_retrieve.c deleted file mode 100644 index 16f5c1c..0000000 --- a/libasn1fix/asn1fix_retrieve.c +++ /dev/null @@ -1,599 +0,0 @@ -#include "asn1fix_internal.h" - -enum ftt_what { - FTT_TYPE, /* Find the type of the given expression */ - FTT_VALUE, /* Find the value of the given expression */ - FTT_CONSTR_TYPE /* Find the type of the given expression having constraint */ -}; - -static asn1p_expr_t *asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what); -static int asn1f_compatible_with_exports(arg_t *arg, asn1p_module_t *mod, const char *name); - - -/* - * Lookup a child by its name. - */ -asn1p_expr_t * -asn1f_lookup_child(asn1p_expr_t *tc, const char *name) { - asn1p_expr_t *child_tc; - - TQ_FOR(child_tc, &(tc->members), next) { - if(child_tc->Identifier - && strcmp(child_tc->Identifier, name) == 0) { - return child_tc; - } - } - - errno = ESRCH; - return NULL; -} - -static asn1p_expr_t * -asn1f_lookup_in_module(asn1p_module_t *mod, const char *name) { - asn1p_expr_t *expr = genhash_get(mod->members_hash, name); - if(!expr) { - asn1p_expr_t *memb; - TQ_FOR(memb, &mod->members, next) { - if(memb->expr_type == ASN_BASIC_ENUMERATED) { - asn1p_expr_t *v = asn1f_lookup_child(memb, name); - if(v) return v; - } - } - } - - return expr; -} - -asn1p_module_t * -asn1f_lookup_in_imports(arg_t *arg, asn1p_module_t *mod, const char *name) { - asn1p_xports_t *xp; - - /* - * Search in which exactly module this name is defined. - */ - TQ_FOR(xp, &(mod->imports), xp_next) { - asn1p_module_t *fromModule = - asn1f_lookup_module(arg, xp->fromModuleName, NULL); - asn1p_expr_t *tc = (asn1p_expr_t *)0; - - TQ_FOR(tc, &(xp->xp_members), next) { - if(strcmp(name, tc->Identifier) == 0) - break; - - if(!fromModule) - continue; - - asn1p_expr_t *v = - asn1f_lookup_in_module(fromModule, name); - if(v) break; - } - if(tc) break; - } - if(xp == NULL) { - errno = ESRCH; - return NULL; - } - - /* - * Okay, right now we have a module name and, hopefully, an OID. - * Search the arg->asn for the specified module. - */ - mod = asn1f_lookup_module(arg, xp->fromModuleName, xp->identifier.oid); - if(mod == NULL) { - /* Conditional debug */ - if(!(arg->expr->_mark & TM_BROKEN)) { - arg->expr->_mark |= TM_BROKEN; - FATAL("Cannot find external module \"%s\" " - "mentioned for " - "\"%s\" at line %d. " - "Obtain this module and instruct compiler to process it too.", - xp->fromModuleName, name, arg->expr->_lineno); - } - /* ENOENT/ETOOMANYREFS */ - return NULL; - } - - /* - * Check that the EXPORTS section of this module contains - * the symbol we care about, or it is EXPORTS ALL. - */ - if(asn1f_compatible_with_exports(arg, mod, name)) { - errno = EPERM; - return NULL; - } - - return mod; -} - -asn1p_module_t * -asn1f_lookup_module(arg_t *arg, const char *module_name, const asn1p_oid_t *oid) { - asn1p_module_t *mod; - - assert(module_name); - - /* - * If OID is given, the module_name is unused. - * If OID is not given, the module_name may mean - * either the real module's name, or the symbol which is the - * result of renaming. Check this first. - */ - if(oid == 0) { - asn1p_xports_t *xp; - /* - * Check inside the IMPORTS section for possible renaming. - * Renaming practically means that a module_name is mentioned - * somewhere in the IMPORTS section AND OID is given. - */ - TQ_FOR(xp, &(arg->mod->imports), xp_next) { - if(strcmp(module_name, xp->fromModuleName)) - continue; - if(oid) { - FATAL("Ambiguous reference: " - "%s " - "matches several modules", - module_name); - errno = ETOOMANYREFS; - return NULL; - } - /* - * Yes, there is a renaming. - * Make lookup use OID instead. - */ - oid = xp->identifier.oid; - } - } - - /* - * Perform lookup using OID or module_name. - */ - TQ_FOR(mod, &(arg->asn->modules), mod_next) { - if(oid) { - if(mod->module_oid) { - if(asn1p_oid_compare(oid, - mod->module_oid)) { - continue; - } else { - /* Match! Even if name doesn't. */ - return mod; - } - } else { - /* Not match, even if name is the same. */ - continue; - } - } - - if(strcmp(module_name, mod->ModuleName) == 0) - return mod; - } - - DEBUG("\tModule \"%s\" not found", module_name); - - errno = ENOENT; - return NULL; -} - -static asn1p_expr_t * -asn1f_lookup_symbol_impl(arg_t *arg, asn1p_expr_t *rhs_pspecs, const asn1p_ref_t *ref, int recursion_depth) { - asn1_namespace_t *initial_namespace = arg->ns; - asn1p_ref_t tmp_ref; - asn1p_module_t *imports_from; - char *modulename; - char *identifier; - - if(ref->module && arg->mod != ref->module) { - return WITH_MODULE( - ref->module, - asn1f_lookup_symbol_impl(arg, rhs_pspecs, ref, recursion_depth)); - } - - /* - * First of all, a reference to a symbol may be specified - * using several possible forms: - * a) simple identifier - * v INTEGER ::= value - * b) external reference - * v INTEGER ::= Module1.value - * c) class-related stuff (the most complex stuff) - * v ::= <[A-Z][A-Z0-9a-z-]*>.&<[A-Z0-9a-z-]+>. - * All other forms are not implemented at this moment. - */ - - DEBUG("Lookup (%s) in %s for line %d", - asn1f_printable_reference(ref), - asn1_namespace_string(initial_namespace), - ref->_lineno); - - if(recursion_depth++ > 30 /* Arbitrary constant */) { - FATAL( - "Excessive circular referencing detected in namespace %s for %s at " - "line %d", - asn1_namespace_string(initial_namespace), - asn1f_printable_reference(ref), ref->_lineno); - errno = ETOOMANYREFS; - return NULL; - } - - if(ref->comp_count == 1) { - modulename = NULL; - identifier = ref->components[0].name; - } else if(ref->comp_count == 2 - && ref->components[1].name[0] != '&') { - modulename = ref->components[0].name; - identifier = ref->components[1].name; - } else if(ref->comp_count > 1 - && isupper(ref->components[0].name[0]) - && ref->components[1].name[0] == '&') { - asn1p_expr_t *extract; - /* - * This is a reference to a CLASS-related stuff. - * Employ a separate function for that. - */ - extract = asn1f_class_access(arg, rhs_pspecs, ref); - - return extract; - } else { - DEBUG("\tToo many components: %d", ref->comp_count); - errno = EINVAL; - return NULL; - } - - if(modulename) { - /* - * The modulename is specified inside this reference. - * To avoid recursion, reformat the reference - * as it were local to that module. - */ - tmp_ref = *ref; - tmp_ref.components++; /* Hide the first element */ - tmp_ref.comp_count--; - assert(tmp_ref.comp_count > 0); - ref = &tmp_ref; - } - - asn1_namespace_t *my_namespace = initial_namespace; - -#define DISPOSE_OF_MY_NAMESPACE() \ - do { \ - int tmp_errno = errno; \ - if(my_namespace != initial_namespace) { \ - asn1_namespace_free(my_namespace); \ - my_namespace = NULL; \ - } \ - errno = tmp_errno; \ - } while(0) - - /* - * If module name is specified explicitly - * OR the current module's IMPORTS clause contains the identifier, - * switch namespace to that module. - */ - if(modulename) { - imports_from = asn1f_lookup_module(arg, modulename, 0); - if(imports_from == NULL) { - FATAL( - "Module \"%s\" " - "mentioned at line %d is not found", - modulename, ref->_lineno); - return NULL; - } - - /* - * Check that the EXPORTS section of this module contains - * the symbol we care about, or it is EXPORTS ALL. - */ - if(asn1f_compatible_with_exports(arg, imports_from, identifier)) { - errno = EPERM; - return NULL; - } - - DISPOSE_OF_MY_NAMESPACE(); - my_namespace = asn1_namespace_new_from_module(imports_from, 1); - DEBUG("Lookup (%s) in %s for line %d", asn1f_printable_reference(ref), - asn1_namespace_string(my_namespace), ref->_lineno); - } - - size_t namespace_switches = 0; - - /* - * Search through all layers of the namespace. - */ - for(ssize_t ns_item = my_namespace->elements_count - 1; ns_item >= 0; - ns_item--) { - struct asn1_namespace_element_s *ns_el = - &my_namespace->elements[ns_item]; - - switch(ns_el->selector) { - case NAM_SYMBOL: - if(modulename) { - /* - * Trying to match a fully specified "Module.Symbol" - * against the "Symbol" parameter. Doesn't match. - */ - continue; - } - if(strcmp(ns_el->u.symbol.identifier, identifier) != 0) { - continue; - } else { - DEBUG("Lookup (%s) in %s for line %d => found as parameter", - asn1f_printable_reference(ref), - asn1_namespace_string(my_namespace), ref->_lineno); - DISPOSE_OF_MY_NAMESPACE(); - return ns_el->u.symbol.resolution; - } - case NAM_SPACE: { - asn1p_expr_t *ref_tc; /* Referenced tc */ - /* - * Do a direct symbol search in the given module. - */ - ref_tc = asn1f_lookup_in_module(ns_el->u.space.module, identifier); - if(ref_tc) { - /* It is acceptable that we don't use input parameters */ - if(rhs_pspecs && !ref_tc->lhs_params) { - WARNING( - "Parameterized type %s expected " - "for %s at line %d", - ref_tc->Identifier, asn1f_printable_reference(ref), - ref->_lineno); - } - if(!rhs_pspecs && ref_tc->lhs_params) { - FATAL( - "Type %s expects specialization " - "from %s at line %d", - ref_tc->Identifier, asn1f_printable_reference(ref), - ref->_lineno); - errno = EPERM; - DISPOSE_OF_MY_NAMESPACE(); - return NULL; - } - if(rhs_pspecs && ref_tc->lhs_params) { - /* Specialize the target */ - ref_tc = - asn1f_parameterization_fork(arg, ref_tc, rhs_pspecs); - } - - DISPOSE_OF_MY_NAMESPACE(); - return ref_tc; - } - } - - /* - if(!expr && !(arg->expr->_mark & TM_BROKEN) - && !(imports_from->_tags & MT_STANDARD_MODULE)) { - arg->expr->_mark |= TM_BROKEN; - if(modulename) { - } else { - FATAL( - "Module %s referred in IMPORTS section " - "for %s of module %s does not contain " - "the requested symbol", - imports_from->ModuleName, - asn1f_printable_reference(ref), mod->ModuleName); - } - } - */ - - /* Search inside the IMPORTS section of the given module */ - imports_from = - asn1f_lookup_in_imports(arg, ns_el->u.space.module, identifier); - if(imports_from) { - - if(namespace_switches++ > 10 /* Arbitrary constant */) { - FATAL( - "Excessive circular referencing detected in namespace " - "%s for %s at " - "line %d", - asn1_namespace_string(arg->ns), - asn1f_printable_reference(ref), ref->_lineno); - errno = ETOOMANYREFS; - DISPOSE_OF_MY_NAMESPACE(); - return NULL; - } - - /* Switch namespace */ - DISPOSE_OF_MY_NAMESPACE(); - my_namespace = asn1_namespace_new_from_module(imports_from, 1); - DEBUG("Lookup (%s) in %s for line %d", - asn1f_printable_reference(ref), - asn1_namespace_string(my_namespace), ref->_lineno); - ns_item = my_namespace->elements_count; - - continue; - } else if(errno != ESRCH) { - /* - * Return only if the name was not found. - * If module was not found or more serious error - * encountered, just return preserving the errno. - */ - DISPOSE_OF_MY_NAMESPACE(); - return NULL; - } - - if(modulename) { - FATAL( - "Module %s referred by %s in module %s " - "does not contain the requested symbol", - ns_el->u.space.module->ModuleName, - asn1f_printable_reference(ref), modulename); - break; - } - - /* Search failed in the given namespace */ - continue; - } - } - - DEBUG( - "Namespace %s does not contain \"%s\" " - "mentioned at line %d: %s", - asn1_namespace_string(my_namespace), identifier, ref->_lineno, - strerror(errno)); - - DISPOSE_OF_MY_NAMESPACE(); - - if(asn1f_check_known_external_type(identifier) == 0) { - errno = EEXIST; /* Exists somewhere */ - } else { - errno = ESRCH; - } - return NULL; -} - - -asn1p_expr_t * -asn1f_lookup_symbol(arg_t *arg, asn1p_expr_t *rhs_pspecs, - const asn1p_ref_t *ref) { - return asn1f_lookup_symbol_impl(arg, rhs_pspecs, ref, 0); -} - -asn1p_expr_t * -asn1f_find_terminal_type(arg_t *arg, asn1p_expr_t *expr) { - return asn1f_find_terminal_thing(arg, expr, FTT_TYPE); -} - -asn1p_expr_t * -asn1f_find_terminal_value(arg_t *arg, asn1p_expr_t *expr) { - return asn1f_find_terminal_thing(arg, expr, FTT_VALUE); -} - -asn1p_expr_t * -asn1f_find_ancestor_type_with_PER_constraint(arg_t *arg, asn1p_expr_t *expr) { - return asn1f_find_terminal_thing(arg, expr, FTT_CONSTR_TYPE); -} - -static asn1p_expr_t * -asn1f_find_terminal_thing(arg_t *arg, asn1p_expr_t *expr, enum ftt_what what) { - asn1p_ref_t *ref = 0; - asn1p_expr_t *tc; - - if(arg->mod != expr->module) { - return WITH_MODULE(expr->module, - asn1f_find_terminal_thing(arg, expr, what)); - } - - switch(what) { - case FTT_TYPE: - case FTT_CONSTR_TYPE: - /* Expression may be a terminal type itself */ - if(expr->expr_type != A1TC_REFERENCE) { - return expr; - } - ref = expr->reference; - break; - case FTT_VALUE: - - DEBUG("%s(%s->%s) meta %d for line %d", - "VALUE", expr->Identifier, asn1f_printable_reference(ref), - expr->meta_type, expr->_lineno); - - assert(expr->meta_type == AMT_VALUE); - assert(expr->value); - /* Expression may be a terminal type itself */ - if(expr->value->type != ATV_REFERENCED) { - return expr; - } - ref = expr->value->value.reference; - break; - } - - DEBUG("%s(%s->%s) for line %d", - (what == FTT_VALUE)?"VALUE":"TYPE", - expr->Identifier, asn1f_printable_reference(ref), - expr->_lineno); - - assert(ref); - - /* - * Lookup inside the type itself (ENUMERATED, INTEGER, etc). - */ - if(what == FTT_VALUE) { - asn1p_expr_t *val_type_tc; - val_type_tc = asn1f_find_terminal_type(arg, expr); - if(val_type_tc - && WITH_MODULE(val_type_tc->module, - asn1f_look_value_in_type(arg, val_type_tc, expr))) { - return expr; - } - if(expr->value->type != ATV_REFERENCED) { - return expr; - } - assert(ref == expr->value->value.reference); - ref = expr->value->value.reference; - } - - /* - * Lookup inside the default module and its IMPORTS section. - */ - tc = asn1f_lookup_symbol(arg, expr->rhs_pspecs, ref); - if(tc == NULL) { - /* - * Lookup inside the ref's module and its IMPORTS section. - */ - tc = WITH_MODULE(ref->module, - asn1f_lookup_symbol(arg, expr->rhs_pspecs, ref)); - if(tc == NULL) { - DEBUG("\tSymbol \"%s\" not found: %s", - asn1f_printable_reference(ref), - strerror(errno)); - return NULL; - } - } - - /* - * Recursive loops detection. - */ - if(tc->_mark & TM_RECURSION) { - DEBUG("Recursion loop detected for %s at line %d", - asn1f_printable_reference(ref), ref->_lineno); - errno = EPERM; - return NULL; - } - - tc->_type_referenced = 1; - - if((what == FTT_CONSTR_TYPE) && (tc->constraints)) { - return tc; - } - - tc->_mark |= TM_RECURSION; - expr = WITH_MODULE(tc->module, asn1f_find_terminal_thing(arg, tc, what)); - tc->_mark &= ~TM_RECURSION; - - return expr; -} - - -/* - * Make sure that the specified name is present or otherwise does - * not contradict with the EXPORTS clause of the specified module. - */ -static int -asn1f_compatible_with_exports(arg_t *arg, asn1p_module_t *mod, const char *name) { - asn1p_xports_t *exports; - asn1p_expr_t *item; - - assert(mod); - assert(name); - - exports = TQ_FIRST(&(mod->exports)); - if(exports == NULL) { - /* No EXPORTS section or EXPORTS ALL; */ - return 0; - } - - TQ_FOR(item, &(exports->xp_members), next) { - if(strcmp(item->Identifier, name) == 0) - return 0; - } - - /* Conditional debug */ - if(!(arg->expr->_mark & TM_BROKEN)) { - arg->expr->_mark |= TM_BROKEN; - FATAL("EXPORTS section of module %s in %s " - "does not mention %s at line %d", - mod->ModuleName, mod->source_file_name, name, - arg->expr->_lineno); - } - - errno = ESRCH; - return -1; -} diff --git a/libasn1fix/asn1fix_retrieve.h b/libasn1fix/asn1fix_retrieve.h deleted file mode 100644 index 8143937..0000000 --- a/libasn1fix/asn1fix_retrieve.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Miscellaneous functions necessary for several other modules. - */ -#ifndef ASN1FIX_RETRIEVE_H -#define ASN1FIX_RETRIEVE_H - -/* - * Simple search for the label in the descendants of the given node. - * ERRORS: - * NULL/ESRCH - */ -asn1p_expr_t *asn1f_lookup_child(asn1p_expr_t *tc, const char *name); - -/* - * Return a module which contain a specified name, as stated in appropriate - * IMPORTS section of the current module (arg->mod). - * - * RETURN VALUES: - * NULL/ESRCH: The name was not found in IMPORTS section. - * NULL/EPERM: The name was not found in EXPORTS section of the source module. - * Also, NULL with errno values defined by asn1f_lookup_module(). - */ -asn1p_module_t *asn1f_lookup_in_imports(arg_t *arg, asn1p_module_t *mod, const char *name); - -/* - * Return a module by its name or optional OID. - * - * RETURN VALUES: - * NULL/ENOENT: No module was found by the specified name and oid - * NULL/ETOOMANYREFS: Several modules are matching the specified name and oid - */ -asn1p_module_t *asn1f_lookup_module(arg_t *arg, - const char *module_name, - const asn1p_oid_t *module_oid); - -/* - * Return the reference to a destination of the given reference, - * symbol lookup. Not a recursive function. - */ -asn1p_expr_t *asn1f_lookup_symbol(arg_t *arg, asn1p_expr_t *rhs_pspecs, - const asn1p_ref_t *ref); - -/* - * Recursively find the original type for the given expression. - * i.e.: - * If the original specification defines - * v Type1 ::= 5 - * Type1 ::= Type2 (1..5) - * Type3 ::= Type4 (2..7) - * Type4 ::= INTEGER (1..10) - * Then this function, given the the first expression as an argument, - * would return an expression for Type4. - * WARNING: No attempts are made to honor constraints at this moment. - */ -asn1p_expr_t *asn1f_find_terminal_type(arg_t *arg, asn1p_expr_t *tc); - -/* - * Recursively find the original value for the given expression. - * i.e.: - * If the original specification defines - * v Type1 ::= value - * value Type2 ::= value2 - * value2 Type3 ::= 3 - * Then this function will return the expression for value2 if given - * the v as an argment. - */ -asn1p_expr_t *asn1f_find_terminal_value(arg_t *arg, asn1p_expr_t *tc); - -/* - * Recursively find the original type with constraint for the given - * expression. - */ -asn1p_expr_t *asn1f_find_ancestor_type_with_PER_constraint(arg_t *arg, asn1p_expr_t *tc); - - -#endif /* ASN1FIX_RETRIEVE_H */ diff --git a/libasn1fix/asn1fix_tags.c b/libasn1fix/asn1fix_tags.c deleted file mode 100644 index 505f260..0000000 --- a/libasn1fix/asn1fix_tags.c +++ /dev/null @@ -1,177 +0,0 @@ -#include "asn1fix_internal.h" -#include - -#define ADD_TAG(skip, newtag) do { \ - void *__p; \ - if(skip && !(flags & AFT_FULL_COLLECT)) { \ - if(newtag.tag_mode != TM_IMPLICIT) \ - skip--; \ - break; \ - } else { \ - if(newtag.tag_mode == TM_IMPLICIT) \ - skip++; \ - } \ - __p = realloc((*tags), \ - sizeof(struct asn1p_type_tag_s) * (count + 1)); \ - if(!__p) return -1; \ - *tags = __p; \ - (*tags)[count++] = newtag; \ - if((flags & AFT_FETCH_OUTMOST)) return count; \ -} while(0) - -/* X.691, #22.2 */ -static int asn1f_fetch_minimal_choice_root_tag(arg_t *arg, struct asn1p_type_tag_s *tag, enum asn1f_aft_flags_e flags); - -static int -asn1f_fetch_tags_impl(arg_t *arg, struct asn1p_type_tag_s **tags, int count, int skip, enum asn1f_aft_flags_e flags) { - asn1p_expr_t *expr = arg->expr; - - DEBUG("Fetching tag from %s: meta %d, type %s", expr->Identifier, - expr->meta_type, expr->expr_type); - - /* If this type is tagged, add this tag first */ - if(expr->tag.tag_class != TC_NOCLASS) - ADD_TAG(skip, expr->tag); - - /* REMOVE ME */ - if(expr->expr_type == A1TC_EXTENSIBLE) { - struct asn1p_type_tag_s tt; - memset(&tt, 0, sizeof(tt)); - tt.tag_class = -1; - ADD_TAG(skip, tt); - return count; - } - - if(expr->meta_type == AMT_TYPE) { - struct asn1p_type_tag_s tt; - memset(&tt, 0, sizeof(tt)); - tt.tag_class = TC_UNIVERSAL; - tt.tag_value = expr_type2uclass_value[expr->expr_type]; - if(tt.tag_value == 0) { - if(expr->expr_type == ASN_TYPE_ANY - && (flags & AFT_IMAGINARY_ANY)) - tt.tag_value = -1; - else if(expr->expr_type != ASN_CONSTR_CHOICE) - return -1; - else if(count) return count; - else if((flags & AFT_CANON_CHOICE) == 0) - return -1; - else if(asn1f_fetch_minimal_choice_root_tag(arg, - &tt, flags)) - return -1; - } - ADD_TAG(skip, tt); - return count; - } - - if(expr->meta_type == AMT_TYPEREF) { - asn1p_expr_t *nexpr; - DEBUG("Following the reference %s", expr->Identifier); - nexpr = asn1f_lookup_symbol(arg, expr->rhs_pspecs, expr->reference); - if(nexpr == NULL) { - if(errno != EEXIST) /* -fknown-extern-type */ - return -1; - if(!count) - return 0; /* OK */ - if((*tags)[count-1].tag_mode == TM_IMPLICIT) { - WARNING("Tagging mode for %s " - "is IMPLICIT, assuming %s " - "has exactly one tag", - expr->Identifier, - asn1f_printable_reference(expr->reference) - ); - return count; - } - FATAL("Tagging mode %s -> %s " - "dangerously incompatible", - expr->Identifier, - asn1f_printable_reference(expr->reference) - ); - return -1; - } else { - arg->expr = nexpr; - } - if(expr->_mark & TM_RECURSION) - return -1; - expr->_mark |= TM_RECURSION; - count = asn1f_fetch_tags_impl(arg, tags, count, skip, flags); - expr->_mark &= ~TM_RECURSION; - return count; - } - - DEBUG("No tags discovered for type %d", expr->expr_type); - - return -1; -} - -static int -asn1f_fetch_minimal_choice_root_tag(arg_t *arg, struct asn1p_type_tag_s *tag, enum asn1f_aft_flags_e flags) { - struct asn1p_type_tag_s min_tag; - asn1p_expr_t *v; - - memset(&min_tag, 0, sizeof(min_tag)); - min_tag.tag_class = TC_PRIVATE + 1; - - TQ_FOR(v, &(arg->expr->members), next) { - arg_t tmparg = *arg; - struct asn1p_type_tag_s *tags = 0; - int count; - - if(v->expr_type == A1TC_EXTENSIBLE) - break; /* Search only within extension root */ - - tmparg.expr = v; - count = asn1f_fetch_tags_impl(&tmparg, &tags, 0, 0, flags); - if(count <= 0) continue; - - if(tags[0].tag_class < min_tag.tag_class) - min_tag = tags[0]; - else if(tags[0].tag_class == min_tag.tag_class - && tags[0].tag_value < min_tag.tag_value) - min_tag = tags[0]; - free(tags); - } - - if(min_tag.tag_class == TC_PRIVATE + 1) - return -1; - else - *tag = min_tag; - return 0; -} - -int -asn1f_fetch_outmost_tag(asn1p_t *asn, asn1_namespace_t *ns, asn1p_module_t *mod, asn1p_expr_t *expr, struct asn1p_type_tag_s *tag, enum asn1f_aft_flags_e flags) { - struct asn1p_type_tag_s *tags; - int count; - - flags |= AFT_FETCH_OUTMOST; - - count = asn1f_fetch_tags(asn, ns, mod, expr, &tags, flags); - if(count <= 0) return count; - - *tag = tags[0]; - free(tags); - - return 0; -} - -int -asn1f_fetch_tags(asn1p_t *asn, asn1_namespace_t *ns, asn1p_module_t *mod, asn1p_expr_t *expr, struct asn1p_type_tag_s **tags_r, enum asn1f_aft_flags_e flags) { - arg_t arg; - struct asn1p_type_tag_s *tags = 0; - int count; - - memset(&arg, 0, sizeof(arg)); - arg.asn = asn; - arg.ns = ns; - arg.mod = mod; - arg.expr = expr; - - count = asn1f_fetch_tags_impl(&arg, &tags, 0, 0, flags); - if (count <= 0) { - free(tags); - tags = 0; - } - *tags_r = tags; - return count; -} diff --git a/libasn1fix/asn1fix_tags.h b/libasn1fix/asn1fix_tags.h deleted file mode 100644 index d59063b..0000000 --- a/libasn1fix/asn1fix_tags.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef ASN1FIX_TAGS_H -#define ASN1FIX_TAGS_H - -struct asn1_namespace_s; /* Forward declaration */ - -enum asn1f_aft_flags_e { - AFT_IMAGINARY_ANY = 0x01, /* Treat ANY tag as [IMAGINARY ANY] */ - AFT_FETCH_OUTMOST = 0x02, /* Fetch only outmost tag */ - AFT_FULL_COLLECT = 0x04, /* Collect all tags */ - AFT_CANON_CHOICE = 0x08, /* Fetch the minimal CHOICE root tag */ -}; - -/* - * Allocate and return an array of tags for the given type. - * Type1 ::= [2] EXPLICIT Type2 - * Type2 ::= [3] IMPLICIT Type3 - * Type3 ::= [4] EXPLICIT SEQUENCE { ... } - * Will return [2][3][UNIVERSAL 16] for the Type1. - */ -int asn1f_fetch_tags(asn1p_t *asn, struct asn1_namespace_s *ns, - asn1p_module_t *mod, asn1p_expr_t *expr, - struct asn1p_type_tag_s **tags, - enum asn1f_aft_flags_e flags); - -/* - * Fetch the outmost tag of the given type. - * Type1 ::= Type2 - * Type2 ::= [2] Type3 - * Type3 ::= SEQUENCE { ... } - * Will yield [2] for Type1. - */ -int asn1f_fetch_outmost_tag(asn1p_t *asn, struct asn1_namespace_s *ns, - asn1p_module_t *mod, asn1p_expr_t *expr, - struct asn1p_type_tag_s *tag, - enum asn1f_aft_flags_e); - -#endif /* ASN1FIX_TAGS_H */ diff --git a/libasn1fix/asn1fix_value.c b/libasn1fix/asn1fix_value.c deleted file mode 100644 index b881afc..0000000 --- a/libasn1fix/asn1fix_value.c +++ /dev/null @@ -1,229 +0,0 @@ -#include "asn1fix_internal.h" - -static int _asn1f_copy_value(arg_t *arg, asn1p_expr_t *to,asn1p_expr_t *from); - -int -asn1f_value_resolve(arg_t *arg, asn1p_expr_t *expr, const enum asn1p_constraint_type_e *opt_constr_type) { - asn1p_expr_t *val_type_expr; - asn1p_expr_t *value_expr; - asn1p_expr_t *type_expr; - int ret; - - /* Make sure this IS a value assignment */ - assert(expr->meta_type == AMT_VALUE); - assert(expr->value); - - if(expr->value->type != ATV_REFERENCED) - return 0; - - DEBUG("(=\"%s\", %x%s%s)", - asn1f_printable_value(expr->value), expr->expr_type, - opt_constr_type ? ", " : "", - opt_constr_type - ? asn1p_constraint_type2str(*opt_constr_type) : "" - ); - - /* - * 1. Find the terminal type for this assignment. - */ - type_expr = asn1f_find_terminal_type(arg, expr); - if(type_expr == 0) { - if(errno == EEXIST) { - DEBUG("External type for %s at line %d", - expr->Identifier, expr->_lineno); - return 0; - } else { - FATAL("Terminal type for %s at line %d not found", - expr->Identifier, expr->_lineno); - return -1; - } - } - - if(asn1f_look_value_in_type(arg, type_expr, expr) == -1) { - FATAL("Value not found in type for %s at line %d", - expr->Identifier, expr->_lineno); - return -1; - } - - /* - * 2. Find the terminal value also. - */ - value_expr = asn1f_find_terminal_value(arg, expr); - if(value_expr) { - DEBUG("Terminal value for %s->%s is %s at line %d", - expr->Identifier, asn1f_printable_value(expr->value), - value_expr->Identifier, value_expr->_lineno); - } else { - FATAL("Terminal value for %s->%s not found", - expr->Identifier, asn1f_printable_value(expr->value)); - return -1; - } - - /* - * 3. Find the _type_ of a _terminal value_. - */ - WITH_MODULE(value_expr->module, - val_type_expr = asn1f_find_terminal_type(arg, value_expr)); - if(val_type_expr) { - DEBUG("Terminal type of value %s->%s is %s at line %d", - expr->Identifier, asn1f_printable_value(expr->value), - val_type_expr->Identifier, val_type_expr->_lineno); - } else { - FATAL("Terminal type of value %s->%s not found", - expr->Identifier, asn1f_printable_value(expr->value)); - return -1; - } - - /* - * 4. Check compatibility between the type of the current expression - * and the type of the discovered value. - */ - if(opt_constr_type) - ret = asn1constraint_compatible(val_type_expr->expr_type, - *opt_constr_type, 0 /* must not matter here */); - else - ret = asn1f_check_type_compatibility(arg, - type_expr, val_type_expr); - if(ret == -1) { - switch(type_expr->expr_type) { - default: - if(!(type_expr->expr_type & ASN_STRING_MASK)) - break; - /* Compatibility rules are not defined */ - /* Fall through */ - case ASN_BASIC_INTEGER: - case ASN_BASIC_ENUMERATED: - FATAL("Incompatible type of \"%s\" (%s) at line %d " - "with \"%s\" (%s) at line %d", - type_expr->Identifier, - ASN_EXPR_TYPE2STR(type_expr->expr_type), - type_expr->_lineno, - val_type_expr->Identifier, - ASN_EXPR_TYPE2STR(val_type_expr->expr_type), - val_type_expr->_lineno); - return -1; - case ASN_BASIC_OBJECT_IDENTIFIER: - /* - * Ignore this for now. - * We can't deal with OIDs inheritance properly yet. - */ - return 0; - } - WARNING("Possibly incompatible type of \"%s\" (%s) at line %d " - "with \"%s\" (%s) at line %d", - type_expr->Identifier, - ASN_EXPR_TYPE2STR(type_expr->expr_type), - type_expr->_lineno, - val_type_expr->Identifier, - ASN_EXPR_TYPE2STR(val_type_expr->expr_type), - val_type_expr->_lineno); - return 1; - } - - if(asn1f_look_value_in_type(arg, val_type_expr, expr) == -1) - return -1; - - /* - * 5. Copy value from the terminal value into the current expression. - */ - ret = _asn1f_copy_value(arg, expr, value_expr); - if(ret == -1) { - FATAL("Value %s cannot be copied from line %d to line %d", - asn1f_printable_value(value_expr->value), - value_expr->_lineno, expr->_lineno); - return -1; - } - - DEBUG("Final value for \"%s\" at line %d is %s", - expr->Identifier, expr->_lineno, - asn1f_printable_value(expr->value)); - - return 0; -} - -static int -_asn1f_copy_value(arg_t *arg, asn1p_expr_t *to, asn1p_expr_t *from) { - asn1p_value_t *v; - - v = asn1p_value_clone(from->value); - if(v) { - asn1p_value_free(to->value); - to->value = v; - DEBUG("Copied value %s from \"%s\" on line %d " - "to \"%s\" on line %d", - asn1f_printable_value(v), - from->Identifier, - from->_lineno, - to->Identifier, - to->_lineno - ); - return 0; - } else { - return -1; - } -} - -int -asn1f_look_value_in_type(arg_t *arg, - asn1p_expr_t *type_expr, - asn1p_expr_t *value_expr) { - asn1p_expr_t *child_expr; - char *identifier; - - if(value_expr->value->type != ATV_REFERENCED - || value_expr->value->value.reference->comp_count != 1) - return 0; - if(type_expr->expr_type != ASN_BASIC_INTEGER - && type_expr->expr_type != ASN_BASIC_ENUMERATED) - return 0; - - DEBUG("(for %s in %s %x) for line %d", - asn1f_printable_value(value_expr->value), - type_expr->Identifier, - type_expr->expr_type, - value_expr->_lineno); - - /* - * Look into the definitions of the type itself: - * Type1 ::= INTEGER { a(1), b(2) } - * value Type1 = b -- will assign 2 - */ - identifier = value_expr->value->value.reference->components[0].name; - - child_expr = asn1f_lookup_child(type_expr, identifier); - DEBUG("Looking into a type %s at line %d for %s at line %d: %s", - type_expr->Identifier, type_expr->_lineno, - identifier, value_expr->_lineno, - child_expr - ? asn1f_printable_value(child_expr->value) - : "" - ); - - if(child_expr) { - /* Maybe hasn't been fixed yet. */ - if (!child_expr->value) { - asn1p_expr_t *saved_expr = arg->expr; - arg->expr = type_expr; - switch (type_expr->expr_type) { - case ASN_BASIC_INTEGER: - asn1f_fix_integer(arg); - break; - case ASN_BASIC_ENUMERATED: - asn1f_fix_enum(arg); - break; - default: - WARNING("Unexpected type %s for %s", - type_expr->expr_type, - type_expr->Identifier); - return -1; - } - arg->expr = saved_expr; - } - if(child_expr->value && _asn1f_copy_value(arg, - value_expr, child_expr)) - return -1; - /* Fall through */ - } - - return 0; -} diff --git a/libasn1fix/asn1fix_value.h b/libasn1fix/asn1fix_value.h deleted file mode 100644 index 23208a8..0000000 --- a/libasn1fix/asn1fix_value.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Functions related with processing values. - */ -#ifndef ASN1FIX_VALUE_H -#define ASN1FIX_VALUE_H - -struct asn1p_namespace_s; /* Forward declaration */ - -/* - * Resolve the value given by reference. - * This function also takes a parameter which specifies the desired - * value's type. - * - * RETURN VALUES: - * 0: Value resolved successfully. - * -1/EPERM: Recursive looping detected. - * -1/EEXIST: Reference is not compatible with the desired type. - * -1/ESRCH: Cannot find the terminal reference. - */ -int asn1f_value_resolve(arg_t *arg, asn1p_expr_t *tc, - const enum asn1p_constraint_type_e *opt_constr_type); - -/* - * Check if a value in value_expr refers to the enumeration or integer element - * within the type provided. If yes, it will replace referenced value with - * the appropriate inline value. - */ -int asn1f_look_value_in_type(arg_t *arg, - asn1p_expr_t *type_expr, asn1p_expr_t *value_expr); - -#endif /* ASN1FIX_VALUE_H */ diff --git a/libasn1fix/check_fixer.c b/libasn1fix/check_fixer.c deleted file mode 100644 index b71a8c9..0000000 --- a/libasn1fix/check_fixer.c +++ /dev/null @@ -1,390 +0,0 @@ -#undef NDEBUG -#include "asn1fix_internal.h" - -#ifdef _WIN32 -#include -#include -#define chdir _chdir -#else -#include -#include -#endif -#include -#include - -#include "genhash.h" -#include "asn1fix.h" -#include "asn1_buffer.h" -#include "asn1_namespace.h" - -#ifndef TOP_SRCDIR -#define TOP_SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define TOP_SRCDIR_S STRINGIFY_MACRO(TOP_SRCDIR) -#endif - -static int check(const char *fname, - enum asn1p_flags parser_flags, - enum asn1f_flags fixer_flags); -static int post_fix_check(asn1p_t *asn); -static int post_fix_check_element(asn1p_module_t *mod, asn1p_expr_t *expr); - -int -main(int ac, char **av) { -#ifdef _WIN32 - intptr_t dir; - struct _finddata_t c_file; -#else - struct dirent *dp; - DIR *dir; -#endif - int failed = 0; - int completed = 0; - enum asn1p_flags parser_flags = A1P_NOFLAGS; - enum asn1f_flags fixer_flags = A1F_NOFLAGS; - const char *filename; - size_t len; - - /* - * Just in case when one decides that some flags better be - * enabled during `ASN1_FIXER_FLAGS=1 make check` or some - * similar usage. - */ - if(getenv("ASN1_PARSER_FLAGS")) - parser_flags = atoi(getenv("ASN1_PARSER_FLAGS")); - if(getenv("ASN1_FIXER_FLAGS")) - fixer_flags = atoi(getenv("ASN1_FIXER_FLAGS")); - - /* - * Go into a directory with tests. - */ - if(ac <= 1) { - abuf *asn1_tests_dirname = abuf_new(); - const char *top_srcdir = getenv("top_srcdir"); - if(!top_srcdir) top_srcdir = TOP_SRCDIR_S; - - abuf_printf(asn1_tests_dirname, "%s/tests/tests-asn1c-compiler", - top_srcdir); - - fprintf(stderr, "Testing in %s...\n", top_srcdir); - int ret = chdir(asn1_tests_dirname->buffer); - if(ret == -1) - fprintf(stderr, "%s: %s\n", asn1_tests_dirname->buffer, - strerror(errno)); - assert(ret == 0); - /* For some reasons, tests could be hidden under extra tests dir. */ -#ifdef _WIN32 - dir = _findfirst("*.asn1", &c_file); - assert(dir != -1L); -#else - dir = opendir("."); - assert(dir); -#endif /* _WIN32 */ - } else { - dir = 0; - } - - /* - * Scan every *.asn1 file and try to parse and fix it. - */ - if(dir) { -#ifdef _WIN32 - do { - filename = c_file.name; -#else - while((dp = readdir(dir))) { - filename = dp->d_name; -#endif /* _WIN32 */ - len = strlen(filename); - if(len <= 5 || !isdigit(filename[0]) - || strcmp(filename + len - 5, ".asn1")) - continue; - int ret = check(filename, parser_flags, fixer_flags); - if(ret) { - fprintf(stderr, "FAILED: %s\n", filename); - failed++; - } - completed++; -#ifdef _WIN32 - } while(_findnext(dir, &c_file) == 0); - _findclose(dir); -#else - } - closedir(dir); -#endif /* _WIN32 */ - - - fprintf(stderr, - "Tests COMPLETED: %d\n" - "Tests FAILED: %d\n", - completed, failed); - } else { - for(int i = 1; i < ac; i++) { - int ret = check(av[i], parser_flags, fixer_flags); - if(ret) { - fprintf(stderr, "FAILED: %s\n", av[i]); - failed++; - } - completed++; - } - } - - if(completed == 0) { - fprintf(stderr, "No tests defined?!\n"); - exit(EX_NOINPUT); - } - - if(failed) { - exit(EX_DATAERR); - } - return 0; -} - -static int -check(const char *fname, - enum asn1p_flags parser_flags, - enum asn1f_flags fixer_flags) { - asn1p_t *asn; - int expected_parseable; /* Is it expected to be parseable? */ - int expected_fix_code; /* What code a fixer must return */ - int r_value = 0; - - /* - * Figure out how the processing should go by inferring - * expectations from the file name. - */ - if(strstr(fname, "-OK.")) { - expected_parseable = 1; - expected_fix_code = 0; - } else if(strstr(fname, "-NP.")) { - expected_parseable = 0; - expected_fix_code = 123; /* Does not matter */ - } else if(strstr(fname, "-SE.")) { - expected_parseable = 1; - expected_fix_code = -1; /* Semantically incorrect */ - } else if(strstr(fname, "-SW.")) { - expected_parseable = 1; - expected_fix_code = 1; /* Semantically suspicious */ - } else { - fprintf(stderr, "%s: Invalid file name format\n", fname); - return -1; - } - - /* Flag modifiers */ - if(strstr(fname, "-blessSize-")) - fixer_flags |= A1F_EXTENDED_SizeConstraint; - - fprintf(stderr, "[=> %s]\n", fname); - - /* - * Perform low-level parsing. - */ - if(!expected_parseable) - fprintf(stderr, "Expecting error...\n"); - asn = asn1p_parse_file(fname, parser_flags); - if(asn == NULL) { - if(expected_parseable) { - fprintf(stderr, "Cannot parse file \"%s\"\n", fname); - r_value = -1; - } else { - fprintf(stderr, - "Previous error is EXPECTED, no worry\n"); - } - } else if(!expected_parseable) { - fprintf(stderr, - "The file \"%s\" is not expected to be parseable, " - "yet parsing was successfull!\n", fname); - r_value = -1; - } - if(!asn) return r_value; - - if(r_value == 0) { - char *fname_copy = strdup(fname); - char *test_dir = dirname(fname_copy); - abuf *skeletons_dirname = abuf_new(); - asn1p_t *std_asn; - - abuf_printf(skeletons_dirname, - "%s/../../skeletons/standard-modules/" - "ASN1C-UsefulInformationObjectClasses.asn1", - test_dir); - free(fname_copy); - - std_asn = asn1p_parse_file(skeletons_dirname->buffer, A1P_NOFLAGS); - if(std_asn) { - asn1p_module_t *mod; - while((mod = TQ_REMOVE(&(std_asn->modules), mod_next))) { - mod->_tags |= MT_STANDARD_MODULE; - TQ_ADD(&(asn->modules), mod, mod_next); - } - asn1p_delete(std_asn); - - /* Allow referencing imported modules. */ - asn1f_use_standard_namespaces(asn); - } else { - fprintf(stderr, "%s: %s\n", skeletons_dirname->buffer, - strerror(errno)); - } - - abuf_free(skeletons_dirname); - } - - /* - * Perform semantical checks and fixes. - */ - if(r_value == 0) { - int ret; - - if(expected_fix_code) - fprintf(stderr, "Expecting some problems...\n"); - - ret = asn1f_process(asn, fixer_flags, 0); - if(ret) { - if(ret == expected_fix_code) { - fprintf(stderr, - "Previous error is EXPECTED, " - "no worry\n"); - } else { - fprintf(stderr, - "Cannot process file \"%s\": %d\n", - fname, ret); - r_value = -1; - } - } else if(ret != expected_fix_code) { - fprintf(stderr, - "File \"%s\" is expected " - "to be semantically incorrect, " - "yet processing was successful!\n", - fname); - r_value = -1; - } - } - - /* - * Check validity of some values, if grammar has special - * instructions for that. - */ - if(r_value == 0) { - if(post_fix_check(asn)) - r_value = -1; - } - - /* - * Destroy the asn. - */ -#ifdef CLEAN_EVERYTHING - asn1p_delete(asn); -#endif - - return r_value; -} - - -static int -post_fix_check(asn1p_t *asn) { - asn1p_module_t *mod; - asn1p_expr_t *expr; - int r_value = 0; - - TQ_FOR(mod, &(asn->modules), mod_next) { - TQ_FOR(expr, &(mod->members), next) { - assert(expr->Identifier); - if(strncmp(expr->Identifier, "check-", 6) == 0) { - if(post_fix_check_element(mod, expr)) - r_value = -1; - } - } - } - - return r_value; -} - - -static int -post_fix_check_element(asn1p_module_t *mod, asn1p_expr_t *check_expr) { - asn1p_expr_t *expr = NULL; - char *name; - asn1p_value_t *value; - - if(check_expr->expr_type != ASN_BASIC_INTEGER - || check_expr->meta_type != AMT_VALUE) { - fprintf(stderr, - "CHECKER: Unsupported type of \"%s\" value: " - "%d at line %d of %s\n", - check_expr->Identifier, - check_expr->expr_type, - check_expr->_lineno, - mod->source_file_name - ); - return -1; - } - - assert(check_expr->meta_type == AMT_VALUE); - - value = check_expr->value; - if(value == NULL || value->type != ATV_INTEGER) { - fprintf(stderr, - "CHECKER: Unsupported value type of \"%s\": " - "%d at line %d of %s\n", - check_expr->Identifier, - value?(signed)value->type:-1, - expr->_lineno, - mod->source_file_name - ); - return -1; - } - - name = check_expr->Identifier + sizeof("check-") - 1; - - /* - * Scan in search for the original. - */ - expr = genhash_get(mod->members_hash, name); - if(expr == NULL) { - fprintf(stderr, - "CHECKER: Value \"%s\" requested by " - "\"check-%s\" at line %d of %s is not found!\n", - name, name, check_expr->_lineno, - mod->source_file_name - ); - return -1; - } - - if(0 && expr->expr_type != check_expr->expr_type) { - fprintf(stderr, - "CHECKER: Value type of \"%s\" (=%d) at line %d " - "does not have desired type %d as requested by " - "\"check-%s\" in %s\n", - expr->Identifier, - expr->expr_type, - expr->_lineno, - check_expr->expr_type, - name, - mod->source_file_name - ); - return -1; - } - - if(expr->value == NULL - || expr->value->type != value->type) { - fprintf(stderr, - "CHECKER: Value of \"%s\" (\"%s\", type=%d) at line %d " - "does not have desired type %d as requested by " - "\"check-%s\" in %s\n", - expr->Identifier, - asn1f_printable_value(expr->value), - expr->value->type, - expr->_lineno, - value->type, - name, - mod->source_file_name - ); - return -1; - } - - return 0; -} - - diff --git a/libasn1parser/.deps/asn1p_class.Plo b/libasn1parser/.deps/asn1p_class.Plo deleted file mode 100644 index 4803afe..0000000 --- a/libasn1parser/.deps/asn1p_class.Plo +++ /dev/null @@ -1,187 +0,0 @@ -asn1p_class.lo: asn1p_class.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_constr.Plo b/libasn1parser/.deps/asn1p_constr.Plo deleted file mode 100644 index 3c2f878..0000000 --- a/libasn1parser/.deps/asn1p_constr.Plo +++ /dev/null @@ -1,187 +0,0 @@ -asn1p_constr.lo: asn1p_constr.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_expr.Plo b/libasn1parser/.deps/asn1p_expr.Plo deleted file mode 100644 index 2975166..0000000 --- a/libasn1parser/.deps/asn1p_expr.Plo +++ /dev/null @@ -1,187 +0,0 @@ -asn1p_expr.lo: asn1p_expr.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_integer.Plo b/libasn1parser/.deps/asn1p_integer.Plo deleted file mode 100644 index 5f94c1b..0000000 --- a/libasn1parser/.deps/asn1p_integer.Plo +++ /dev/null @@ -1,180 +0,0 @@ -asn1p_integer.lo: asn1p_integer.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ - /usr/include/x86_64-linux-gnu/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - asn1p_integer.h ../config.h ../libasn1common/asn1_buffer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: - -/usr/include/x86_64-linux-gnu/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -asn1p_integer.h: - -../config.h: - -../libasn1common/asn1_buffer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: diff --git a/libasn1parser/.deps/asn1p_l.Plo b/libasn1parser/.deps/asn1p_l.Plo deleted file mode 100644 index 6daa64f..0000000 --- a/libasn1parser/.deps/asn1p_l.Plo +++ /dev/null @@ -1,203 +0,0 @@ -asn1p_l.lo: asn1p_l.c /usr/include/stdc-predef.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/assert.h \ - asn1parser.h ../config.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - asn1p_integer.h asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h \ - asn1p_param.h asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h asn1p_y.h /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \ - /usr/include/x86_64-linux-gnu/bits/unistd.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: - -asn1p_y.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/x86_64-linux-gnu/bits/unistd.h: diff --git a/libasn1parser/.deps/asn1p_module.Plo b/libasn1parser/.deps/asn1p_module.Plo deleted file mode 100644 index 69afae8..0000000 --- a/libasn1parser/.deps/asn1p_module.Plo +++ /dev/null @@ -1,153 +0,0 @@ -asn1p_module.lo: asn1p_module.c /usr/include/stdc-predef.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h ../libasn1common/genhash.h \ - asn1parser.h ../config.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h /usr/include/assert.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -../libasn1common/genhash.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -/usr/include/assert.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_oid.Plo b/libasn1parser/.deps/asn1p_oid.Plo deleted file mode 100644 index 41192b4..0000000 --- a/libasn1parser/.deps/asn1p_oid.Plo +++ /dev/null @@ -1,170 +0,0 @@ -asn1p_oid.lo: asn1p_oid.c /usr/include/stdc-predef.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h /usr/include/assert.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -/usr/include/assert.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_param.Plo b/libasn1parser/.deps/asn1p_param.Plo deleted file mode 100644 index 6f37613..0000000 --- a/libasn1parser/.deps/asn1p_param.Plo +++ /dev/null @@ -1,187 +0,0 @@ -asn1p_param.lo: asn1p_param.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_value.Plo b/libasn1parser/.deps/asn1p_value.Plo deleted file mode 100644 index 83b4f37..0000000 --- a/libasn1parser/.deps/asn1p_value.Plo +++ /dev/null @@ -1,166 +0,0 @@ -asn1p_value.lo: asn1p_value.c /usr/include/stdc-predef.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_xports.Plo b/libasn1parser/.deps/asn1p_xports.Plo deleted file mode 100644 index cafc344..0000000 --- a/libasn1parser/.deps/asn1p_xports.Plo +++ /dev/null @@ -1,150 +0,0 @@ -asn1p_xports.lo: asn1p_xports.c /usr/include/stdc-predef.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h /usr/include/assert.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -/usr/include/assert.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1p_y.Plo b/libasn1parser/.deps/asn1p_y.Plo deleted file mode 100644 index e3c25d6..0000000 --- a/libasn1parser/.deps/asn1p_y.Plo +++ /dev/null @@ -1,186 +0,0 @@ -asn1p_y.lo: asn1p_y.c /usr/include/stdc-predef.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h asn1parser.h ../config.h \ - ../libasn1common/asn1_ref.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h asn1p_integer.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - asn1p_list.h asn1p_oid.h asn1p_module.h asn1p_value.h asn1p_param.h \ - asn1p_constr.h asn1p_xports.h asn1p_class.h asn1p_expr.h \ - asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/asn1parser.Plo b/libasn1parser/.deps/asn1parser.Plo deleted file mode 100644 index bab9935..0000000 --- a/libasn1parser/.deps/asn1parser.Plo +++ /dev/null @@ -1,192 +0,0 @@ -asn1parser.lo: asn1parser.c /usr/include/stdc-predef.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/assert.h \ - /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - asn1parser.h ../config.h ../libasn1common/asn1_ref.h \ - ../libasn1common/asn1_buffer.h ../libasn1common/asn1_namespace.h \ - asn1p_integer.h /usr/include/inttypes.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h asn1p_list.h asn1p_oid.h \ - asn1p_module.h asn1p_value.h asn1p_param.h asn1p_constr.h asn1p_xports.h \ - asn1p_class.h asn1p_expr.h asn1p_expr_str.h asn1p_expr2uclass.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/assert.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -asn1p_integer.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -asn1p_list.h: - -asn1p_oid.h: - -asn1p_module.h: - -asn1p_value.h: - -asn1p_param.h: - -asn1p_constr.h: - -asn1p_xports.h: - -asn1p_class.h: - -asn1p_expr.h: - -asn1p_expr_str.h: - -asn1p_expr2uclass.h: diff --git a/libasn1parser/.deps/check_asn1p_integer.Po b/libasn1parser/.deps/check_asn1p_integer.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/libasn1parser/.deps/check_asn1p_integer.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/libasn1parser/Makefile b/libasn1parser/Makefile deleted file mode 100644 index 23cd6c7..0000000 --- a/libasn1parser/Makefile +++ /dev/null @@ -1,1050 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# libasn1parser/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -check_PROGRAMS = check_asn1p_integer$(EXEEXT) -subdir = libasn1parser -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1parser_la_LIBADD = -am_libasn1parser_la_OBJECTS = asn1parser.lo asn1p_y.lo asn1p_l.lo \ - asn1p_module.lo asn1p_oid.lo asn1p_value.lo asn1p_expr.lo \ - asn1p_xports.lo asn1p_constr.lo asn1p_param.lo asn1p_class.lo \ - asn1p_integer.lo -libasn1parser_la_OBJECTS = $(am_libasn1parser_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -check_asn1p_integer_SOURCES = check_asn1p_integer.c -check_asn1p_integer_OBJECTS = check_asn1p_integer.$(OBJEXT) -check_asn1p_integer_LDADD = $(LDADD) -check_asn1p_integer_DEPENDENCIES = \ - $(top_builddir)/libasn1common/libasn1common.la \ - libasn1parser.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1parser_la_SOURCES) check_asn1p_integer.c -DIST_SOURCES = $(libasn1parser_la_SOURCES) check_asn1p_integer.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/libasn1parser -abs_srcdir = /home/nokia/mouse07410/asn1c/libasn1parser -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -AM_CPPFLAGS = -I$(top_srcdir)/libasn1common -AM_YFLAGS = -p asn1p_ -d -AM_LFLAGS = -s -p -Cem -Pasn1p_ -olex.yy.c -noinst_LTLIBRARIES = libasn1parser.la -libasn1parser_la_LIBDADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1parser_la_SOURCES = \ - asn1parser.c asn1parser.h \ - asn1p_y.c asn1p_y.h asn1p_l.c \ - asn1p_module.c asn1p_module.h \ - asn1p_oid.c asn1p_oid.h \ - asn1p_value.c asn1p_value.h \ - asn1p_expr.c asn1p_expr.h \ - asn1p_expr_str.h \ - asn1p_expr2uclass.h \ - asn1p_xports.c asn1p_xports.h \ - asn1p_constr.c asn1p_constr.h \ - asn1p_param.c asn1p_param.h \ - asn1p_class.c asn1p_class.h \ - asn1p_integer.c asn1p_integer.h \ - asn1p_list.h - -LDADD = $(top_builddir)/libasn1common/libasn1common.la libasn1parser.la -TESTS = $(check_PROGRAMS) -EXTRA_DIST = expr-h.pl -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1parser/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1parser/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1parser.la: $(libasn1parser_la_OBJECTS) $(libasn1parser_la_DEPENDENCIES) $(EXTRA_libasn1parser_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1parser_la_OBJECTS) $(libasn1parser_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check_asn1p_integer$(EXEEXT): $(check_asn1p_integer_OBJECTS) $(check_asn1p_integer_DEPENDENCIES) $(EXTRA_check_asn1p_integer_DEPENDENCIES) - @rm -f check_asn1p_integer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_asn1p_integer_OBJECTS) $(check_asn1p_integer_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1p_class.Plo -include ./$(DEPDIR)/asn1p_constr.Plo -include ./$(DEPDIR)/asn1p_expr.Plo -include ./$(DEPDIR)/asn1p_integer.Plo -include ./$(DEPDIR)/asn1p_l.Plo -include ./$(DEPDIR)/asn1p_module.Plo -include ./$(DEPDIR)/asn1p_oid.Plo -include ./$(DEPDIR)/asn1p_param.Plo -include ./$(DEPDIR)/asn1p_value.Plo -include ./$(DEPDIR)/asn1p_xports.Plo -include ./$(DEPDIR)/asn1p_y.Plo -include ./$(DEPDIR)/asn1parser.Plo -include ./$(DEPDIR)/check_asn1p_integer.Po - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check_asn1p_integer.log: check_asn1p_integer$(EXEEXT) - @p='check_asn1p_integer$(EXEEXT)'; \ - b='check_asn1p_integer'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -asn1parser.h: asn1p_expr_str.h - -asn1p_expr_str.h: expr-h.pl asn1p_expr.h - ./expr-h.pl asn1p_expr.h > $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1parser/Makefile.am b/libasn1parser/Makefile.am deleted file mode 100644 index 7599dd4..0000000 --- a/libasn1parser/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ - -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = -I$(top_srcdir)/libasn1common -AM_YFLAGS = -p asn1p_ -d -AM_LFLAGS = -s -p -Cem -Pasn1p_ -olex.yy.c - -noinst_LTLIBRARIES = libasn1parser.la - -libasn1parser_la_LIBDADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1parser_la_SOURCES = \ - asn1parser.c asn1parser.h \ - asn1p_y.c asn1p_y.h asn1p_l.c \ - asn1p_module.c asn1p_module.h \ - asn1p_oid.c asn1p_oid.h \ - asn1p_value.c asn1p_value.h \ - asn1p_expr.c asn1p_expr.h \ - asn1p_expr_str.h \ - asn1p_expr2uclass.h \ - asn1p_xports.c asn1p_xports.h \ - asn1p_constr.c asn1p_constr.h \ - asn1p_param.c asn1p_param.h \ - asn1p_class.c asn1p_class.h \ - asn1p_integer.c asn1p_integer.h \ - asn1p_list.h - -check_PROGRAMS = check_asn1p_integer - -LDADD = $(top_builddir)/libasn1common/libasn1common.la libasn1parser.la - -TESTS = $(check_PROGRAMS) - -asn1parser.h: asn1p_expr_str.h - -asn1p_expr_str.h: expr-h.pl asn1p_expr.h - ./expr-h.pl asn1p_expr.h > $@ - -EXTRA_DIST = expr-h.pl diff --git a/libasn1parser/Makefile.in b/libasn1parser/Makefile.in deleted file mode 100644 index 8cd855b..0000000 --- a/libasn1parser/Makefile.in +++ /dev/null @@ -1,1050 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = check_asn1p_integer$(EXEEXT) -subdir = libasn1parser -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1parser_la_LIBADD = -am_libasn1parser_la_OBJECTS = asn1parser.lo asn1p_y.lo asn1p_l.lo \ - asn1p_module.lo asn1p_oid.lo asn1p_value.lo asn1p_expr.lo \ - asn1p_xports.lo asn1p_constr.lo asn1p_param.lo asn1p_class.lo \ - asn1p_integer.lo -libasn1parser_la_OBJECTS = $(am_libasn1parser_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -check_asn1p_integer_SOURCES = check_asn1p_integer.c -check_asn1p_integer_OBJECTS = check_asn1p_integer.$(OBJEXT) -check_asn1p_integer_LDADD = $(LDADD) -check_asn1p_integer_DEPENDENCIES = \ - $(top_builddir)/libasn1common/libasn1common.la \ - libasn1parser.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1parser_la_SOURCES) check_asn1p_integer.c -DIST_SOURCES = $(libasn1parser_la_SOURCES) check_asn1p_integer.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = -I$(top_srcdir)/libasn1common -AM_YFLAGS = -p asn1p_ -d -AM_LFLAGS = -s -p -Cem -Pasn1p_ -olex.yy.c -noinst_LTLIBRARIES = libasn1parser.la -libasn1parser_la_LIBDADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1parser_la_SOURCES = \ - asn1parser.c asn1parser.h \ - asn1p_y.c asn1p_y.h asn1p_l.c \ - asn1p_module.c asn1p_module.h \ - asn1p_oid.c asn1p_oid.h \ - asn1p_value.c asn1p_value.h \ - asn1p_expr.c asn1p_expr.h \ - asn1p_expr_str.h \ - asn1p_expr2uclass.h \ - asn1p_xports.c asn1p_xports.h \ - asn1p_constr.c asn1p_constr.h \ - asn1p_param.c asn1p_param.h \ - asn1p_class.c asn1p_class.h \ - asn1p_integer.c asn1p_integer.h \ - asn1p_list.h - -LDADD = $(top_builddir)/libasn1common/libasn1common.la libasn1parser.la -TESTS = $(check_PROGRAMS) -EXTRA_DIST = expr-h.pl -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1parser/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1parser/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1parser.la: $(libasn1parser_la_OBJECTS) $(libasn1parser_la_DEPENDENCIES) $(EXTRA_libasn1parser_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1parser_la_OBJECTS) $(libasn1parser_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check_asn1p_integer$(EXEEXT): $(check_asn1p_integer_OBJECTS) $(check_asn1p_integer_DEPENDENCIES) $(EXTRA_check_asn1p_integer_DEPENDENCIES) - @rm -f check_asn1p_integer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_asn1p_integer_OBJECTS) $(check_asn1p_integer_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_class.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_constr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_expr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_integer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_l.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_module.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_oid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_param.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_value.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_xports.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1p_y.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1parser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_asn1p_integer.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check_asn1p_integer.log: check_asn1p_integer$(EXEEXT) - @p='check_asn1p_integer$(EXEEXT)'; \ - b='check_asn1p_integer'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -asn1parser.h: asn1p_expr_str.h - -asn1p_expr_str.h: expr-h.pl asn1p_expr.h - ./expr-h.pl asn1p_expr.h > $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1parser/asn1p_class.c b/libasn1parser/asn1p_class.c deleted file mode 100644 index cbe9480..0000000 --- a/libasn1parser/asn1p_class.c +++ /dev/null @@ -1,319 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1parser.h" -#include "asn1p_class.h" - -asn1p_ioc_table_t * -asn1p_ioc_table_new() { - asn1p_ioc_table_t *it = calloc(1, sizeof(*it)); - assert(it); - return it; -} - -void -asn1p_ioc_table_add(asn1p_ioc_table_t *it, asn1p_ioc_row_t *row) { - assert(it); - - asn1p_ioc_row_t **new_rows = - realloc(it->row, (it->rows + 1) * sizeof(it->row[0])); - assert(new_rows); - it->row = new_rows; - it->row[it->rows++] = row; -} - -void -asn1p_ioc_table_append(asn1p_ioc_table_t *it, asn1p_ioc_table_t *src) { - - if(!src || !it) return; - - for(size_t i = 0; i < src->rows; i++) { - asn1p_ioc_table_add(it, asn1p_ioc_row_clone(src->row[i])); - } -} - -void -asn1p_ioc_table_free(asn1p_ioc_table_t *it) { - if(it) { - for(size_t i = 0; i < it->rows; i++) { - asn1p_ioc_row_delete(it->row[i]); - } - free(it->row); - free(it); - } -} - -size_t -asn1p_ioc_table_max_identifier_length(asn1p_ioc_table_t *it) { - size_t max_length = 0; - if(it) { - for(size_t i = 0; i < it->rows; i++) { - size_t len = asn1p_ioc_row_max_identifier_length(it->row[i]); - if(len > max_length) max_length = len; - } - } - return max_length; -} - -size_t -asn1p_ioc_row_max_identifier_length(asn1p_ioc_row_t *row) { - size_t max_length = 0; - if(row) { - for(size_t i = 0; i < row->columns; i++) { - if(row->column[i].value) { - size_t len = strlen(row->column[i].value->Identifier); - if(len > max_length) max_length = len; - } - } - } - return max_length; -} - -asn1p_ioc_row_t * -asn1p_ioc_row_new(asn1p_expr_t *oclass) { - asn1p_ioc_row_t *row; - asn1p_expr_t *field; - int columns = 0; - - assert(oclass->expr_type == A1TC_CLASSDEF); - - row = calloc(1, sizeof *row); - if(!row) return NULL; - - TQ_FOR(field, &oclass->members, next) - columns++; - - row->column = calloc(columns, sizeof *row->column); - if(!row->column) { - free(row); - return NULL; - } - row->columns = columns; - - columns = 0; - TQ_FOR(field, &oclass->members, next) { - row->column[columns].field = field; - row->column[columns].value = NULL; - columns++; - } - - return row; -} - -asn1p_ioc_row_t * -asn1p_ioc_row_clone(asn1p_ioc_row_t *src) { - asn1p_ioc_row_t *row; - - row = calloc(1, sizeof *row); - if(!row) return NULL; - - row->column = calloc(src->columns, sizeof *src->column); - if(!row->column) { - free(row); - return NULL; - } - row->columns = src->columns; - - for(size_t i = 0; i < src->columns; i++) { - row->column[i].field = src->column[i].field; - row->column[i].value = 0; - if(src->column[i].value) { - row->column[i].value = asn1p_expr_clone(src->column[i].value, 0); - } - row->column[i].new_ref = 1; - } - - return row; -} - -void -asn1p_ioc_row_delete(asn1p_ioc_row_t *row) { - if(row) { - if(row->column) { - for(size_t i = 0; i < row->columns; i++) { - if(!row->column[i].new_ref && row->column[i].value) { - /* - * Field 'reference' comes from asn1fix_cws.c : - * TQ_FIRST(&cell->field->members)->reference - * so it should not be freed here. - */ - row->column[i].value->reference = NULL; - } - asn1p_expr_free(row->column[i].value); - } - free(row->column); - } - free(row); - } -} - -int -asn1p_ioc_row_match(const asn1p_ioc_row_t *a, const asn1p_ioc_row_t *b) { - assert(a && b); - - if(a->columns != b->columns) - return -1; /* Bad! */ - - for(size_t i = 0; i < a->columns; i++) { - assert(a->column[i].field); - assert(b->column[i].field); - if(strcmp(a->column[i].field->Identifier, - b->column[i].field->Identifier) - != 0) { - return -1; /* Bad! */ - } - if((a->column[i].value && !b->column[i].value) - || (!a->column[i].value && b->column[i].value)) { - return 1; /* Not match */ - } - if(a->column[i].value && b->column[i].value) { - if(asn1p_expr_compare(a->column[i].value, b->column[i].value) - != 0) { - return 1; /* Not match */ - } - } - } - - return 0; -} - -struct asn1p_ioc_cell_s * -asn1p_ioc_row_cell_fetch(asn1p_ioc_row_t *row, const char *fieldname) { - for(size_t i = 0; i < row->columns; i++) { - if(strcmp(row->column[i].field->Identifier, fieldname) == 0) - return &row->column[i]; - } - errno = ESRCH; - return NULL; -} - -asn1p_wsyntx_chunk_t * -asn1p_wsyntx_chunk_new() { - asn1p_wsyntx_chunk_t *wc; - - wc = calloc(1, sizeof(*wc)); - - return wc; -} - -void -asn1p_wsyntx_chunk_free(asn1p_wsyntx_chunk_t *wc) { - if(wc) { - switch(wc->type) { - case WC_LITERAL: - case WC_WHITESPACE: - case WC_FIELD: - free(wc->content.token); break; - case WC_OPTIONALGROUP: - asn1p_wsyntx_free(wc->content.syntax); - break; - } - free(wc); - } -} - -asn1p_wsyntx_chunk_t * -asn1p_wsyntx_chunk_clone(asn1p_wsyntx_chunk_t *wc) { - asn1p_wsyntx_chunk_t *nc; - - nc = asn1p_wsyntx_chunk_new(); - if(nc) { - nc->type = wc->type; - switch(wc->type) { - case WC_LITERAL: - case WC_WHITESPACE: - case WC_FIELD: - nc->content.token = malloc(strlen(wc->content.token)+1); - strcpy(nc->content.token, wc->content.token); - break; - case WC_OPTIONALGROUP: - nc->content.syntax = asn1p_wsyntx_clone(wc->content.syntax); - break; - } - } - - return nc; -} - -asn1p_wsyntx_t * -asn1p_wsyntx_new() { - asn1p_wsyntx_t *wx; - - wx = calloc(1, sizeof(*wx)); - if(wx) { - TQ_INIT(&(wx->chunks)); - } - - return wx; -} - -void -asn1p_wsyntx_free(asn1p_wsyntx_t *wx) { - if(wx) { - asn1p_wsyntx_chunk_t *wc; - while((wc = TQ_REMOVE(&(wx->chunks), next))) - asn1p_wsyntx_chunk_free(wc); - free(wx); - } -} - -asn1p_wsyntx_t * -asn1p_wsyntx_clone(asn1p_wsyntx_t *wx) { - asn1p_wsyntx_t *nw; - - nw = asn1p_wsyntx_new(); - if(nw) { - asn1p_wsyntx_chunk_t *wc; - asn1p_wsyntx_chunk_t *nc; - TQ_FOR(wc, &(wx->chunks), next) { - nc = asn1p_wsyntx_chunk_clone(wc); - if(nc) { - TQ_ADD(&(nw->chunks), nc, next); - } else { - asn1p_wsyntx_free(nw); - return NULL; - } - } - } - - return nw; -} - -asn1p_wsyntx_chunk_t * -asn1p_wsyntx_chunk_fromstring(char *token, int do_copy) { - asn1p_wsyntx_chunk_t *wc; - - if(do_copy) { - static asn1p_wsyntx_chunk_t tmp; - tmp.type = WC_LITERAL; - tmp.content.token = token; - wc = asn1p_wsyntx_chunk_clone(&tmp); - } else { - wc = asn1p_wsyntx_chunk_new(); - if(wc) { - wc->type = WC_LITERAL; - wc->content.token = token; - } - } - - return wc; -} - - -asn1p_wsyntx_chunk_t * -asn1p_wsyntx_chunk_fromsyntax(asn1p_wsyntx_t *syntax) { - asn1p_wsyntx_chunk_t *wc; - - wc = asn1p_wsyntx_chunk_new(); - if(wc) { - wc->type = WC_OPTIONALGROUP; - wc->content.syntax = syntax; - syntax->parent = wc; - } - - return wc; -} - diff --git a/libasn1parser/asn1p_class.h b/libasn1parser/asn1p_class.h deleted file mode 100644 index 4c6efab..0000000 --- a/libasn1parser/asn1p_class.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * CLASS-related stuff. - */ -#ifndef ASN1_PARSER_CLASS_H -#define ASN1_PARSER_CLASS_H - -struct asn1p_expr_s; /* Forward declaration */ - -typedef struct asn1p_ioc_row_s { - struct asn1p_ioc_cell_s { - struct asn1p_expr_s *field; /* may never be NULL */ - struct asn1p_expr_s *value; /* may be left uninitialized */ - int new_ref; - } *column; - size_t columns; -} asn1p_ioc_row_t; - -asn1p_ioc_row_t *asn1p_ioc_row_new(struct asn1p_expr_s *oclass); -asn1p_ioc_row_t *asn1p_ioc_row_clone(asn1p_ioc_row_t *src); -size_t asn1p_ioc_row_max_identifier_length(asn1p_ioc_row_t *); -void asn1p_ioc_row_delete(asn1p_ioc_row_t *); - -typedef struct asn1p_ioc_table_s { - asn1p_ioc_row_t **row; - size_t rows; - int extensible; /* 0 if non-extensible (sealed). Otherwise, extensible. */ -} asn1p_ioc_table_t; - -asn1p_ioc_table_t *asn1p_ioc_table_new(void); -void asn1p_ioc_table_add(asn1p_ioc_table_t *, asn1p_ioc_row_t *row); -void asn1p_ioc_table_append(asn1p_ioc_table_t *it, asn1p_ioc_table_t *src); -size_t asn1p_ioc_table_max_identifier_length(asn1p_ioc_table_t *); -void asn1p_ioc_table_free(asn1p_ioc_table_t *); - -/* - * Match is similar to a comparison, - * but -1 means error and 1 means not equal. 0 is OK - */ -int asn1p_ioc_row_match(const asn1p_ioc_row_t *, const asn1p_ioc_row_t *); - -struct asn1p_ioc_cell_s *asn1p_ioc_row_cell_fetch(asn1p_ioc_row_t *, - const char *fieldname); - -/* - * WITH SYNTAX free-form chunks. - */ -typedef struct asn1p_wsyntx_chunk_s { - enum { - WC_LITERAL, - WC_WHITESPACE, - WC_FIELD, - WC_OPTIONALGROUP - } type; - /* - * WC_LITERAL -> {token} - * WC_WHITESPACE -> {token} - * WC_FIELD -> {token} - * WC_OPTIONALGROUP -> {syntax} - */ - union { - char *token; - struct asn1p_wsyntx_s *syntax; - } content; - - TQ_ENTRY(struct asn1p_wsyntx_chunk_s) next; -} asn1p_wsyntx_chunk_t; - -typedef struct asn1p_wsyntx_s { - - struct asn1p_wsyntx_chunk_s *parent; - - TQ_HEAD(struct asn1p_wsyntx_chunk_s) chunks; - -} asn1p_wsyntx_t; - - -/* - * Constructor, destructor and cloning function. - */ -asn1p_wsyntx_chunk_t *asn1p_wsyntx_chunk_new(void); -void asn1p_wsyntx_chunk_free(asn1p_wsyntx_chunk_t *); -asn1p_wsyntx_chunk_t *asn1p_wsyntx_chunk_clone(asn1p_wsyntx_chunk_t *); - -asn1p_wsyntx_t *asn1p_wsyntx_new(void); -void asn1p_wsyntx_free(asn1p_wsyntx_t *); -asn1p_wsyntx_t *asn1p_wsyntx_clone(asn1p_wsyntx_t *); - -/* - * RETURN VALUES: - * 0: Component has been added - * -1: Failure to add component (refer to errno) - */ -asn1p_wsyntx_chunk_t *asn1p_wsyntx_chunk_fromstring(char *token, int _copy); -asn1p_wsyntx_chunk_t *asn1p_wsyntx_chunk_fromsyntax(asn1p_wsyntx_t *syntax); - - -#endif /* ASN1_PARSER_CLASS_H */ diff --git a/libasn1parser/asn1p_constr.c b/libasn1parser/asn1p_constr.c deleted file mode 100644 index 03dafe5..0000000 --- a/libasn1parser/asn1p_constr.c +++ /dev/null @@ -1,240 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1parser.h" - -void -asn1p_constraint_set_source(asn1p_constraint_t *ct, - struct asn1p_module_s *module, int lineno) { - if(ct) { - ct->module = module; - ct->_lineno = lineno; - asn1p_value_set_source(ct->containedSubtype,module,lineno); - asn1p_value_set_source(ct->value,module,lineno); - asn1p_value_set_source(ct->range_start,module,lineno); - asn1p_value_set_source(ct->range_stop,module,lineno); - for(size_t i = 0; i < ct->el_count; i++) { - asn1p_constraint_set_source(ct->elements[i], module, lineno); - } - } -} - -int asn1p_constraint_compare(const asn1p_constraint_t *a, - const asn1p_constraint_t *b) { - assert((a && b)); - - if(a->type != b->type) - return -1; - - /* Currently we only check VALUESET as a reference */ - if(a->type == ACT_EL_TYPE) { - return strcmp(a->containedSubtype->value.v_type->reference->components[0].name, - b->containedSubtype->value.v_type->reference->components[0].name); - } - - return 0; -} - -asn1p_constraint_t * -asn1p_constraint_new(int _lineno, asn1p_module_t *mod) { - asn1p_constraint_t *ct; - - ct = calloc(1, sizeof(*ct)); - if(ct) { - ct->_lineno = _lineno; - ct->module = mod; - } - - return ct; -} - - -void -asn1p_constraint_free(asn1p_constraint_t *ct) { - if(ct) { - - asn1p_value_free(ct->containedSubtype); - asn1p_value_free(ct->value); - asn1p_value_free(ct->range_start); - asn1p_value_free(ct->range_stop); - - if(ct->elements) { - while(ct->el_count--) { - asn1p_constraint_free( - ct->elements[ct->el_count]); - } - free(ct->elements); - } - - free(ct); - } -} - -asn1p_constraint_t * -asn1p_constraint_clone(asn1p_constraint_t *src) { - return asn1p_constraint_clone_with_resolver(src, 0, 0); -} - -asn1p_constraint_t * -asn1p_constraint_clone_with_resolver(asn1p_constraint_t *src, - asn1p_value_t *(*vr)(asn1p_value_t *, void *varg), void *varg) { - asn1p_constraint_t *clone; - -#define CLONE(field, func) do { if(src->field) { \ - clone->field = func(src->field, vr, varg); \ - if(clone->field == NULL) { \ - asn1p_constraint_free(clone); \ - return NULL; \ - } \ - } } while(0) - - clone = asn1p_constraint_new(src->_lineno, src->module); - if(clone) { - unsigned int i; - - clone->type = src->type; - clone->presence = src->presence; - CLONE(containedSubtype, asn1p_value_clone_with_resolver); - CLONE(value, asn1p_value_clone_with_resolver); - CLONE(range_start, asn1p_value_clone_with_resolver); - CLONE(range_stop, asn1p_value_clone_with_resolver); - - for(i = 0; i < src->el_count; i++) { - asn1p_constraint_t *t; - t = asn1p_constraint_clone_with_resolver(src->elements[i], vr, varg); - if(!t) { - asn1p_constraint_free(clone); - return NULL; - } - if(asn1p_constraint_insert(clone, t)) { - asn1p_constraint_free(clone); - asn1p_constraint_free(t); - return NULL; - } - } - assert(clone->el_count == src->el_count); - clone->_lineno = src->_lineno; - } - - return clone; -} - -/* - * Make sure there's enough space to add an element. - */ -static int -asn1p_constraint_make_memory(asn1p_constraint_t *ct) { - if(ct->el_count == ct->el_size) { - unsigned int newsize = ct->el_size ? ct->el_size << 2 : 4; - void *p; - p = realloc(ct->elements, newsize * sizeof(ct->elements[0])); - if(p) { - ct->elements = p; - ct->el_size = newsize; - } else { - return -1; - } - } - return 0; -} - -int -asn1p_constraint_insert(asn1p_constraint_t *into, asn1p_constraint_t *what) { - assert(into); - assert(what); - - if(asn1p_constraint_make_memory(into)) - return -1; - - into->elements[into->el_count++] = what; - what->parent_ct = into; - - return 0; -} - -int -asn1p_constraint_prepend(asn1p_constraint_t *before, asn1p_constraint_t *what) { - assert(before); - assert(what); - - if(asn1p_constraint_make_memory(before)) - return -1; - - memmove(&before->elements[1], &before->elements[0], - before->el_count * sizeof(before->elements[0])); - - before->elements[0] = what; - before->el_count++; - what->parent_ct = before; - - return 0; -} - - -const char * -asn1p_constraint_type2str(enum asn1p_constraint_type_e type) { - switch(type) { - case ACT_INVALID: - return "INVALID"; - case ACT_EL_TYPE: - return "ContainedSubtype"; - case ACT_EL_VALUE: - return "SingleValue"; - case ACT_EL_RANGE: - case ACT_EL_LLRANGE: - case ACT_EL_RLRANGE: - case ACT_EL_ULRANGE: - return "ValueRange"; - case ACT_EL_EXT: - return "..."; - case ACT_CT_SIZE: - return "SizeConstraint"; - case ACT_CT_FROM: - return "PermittedAlphabet"; - case ACT_CT_WCOMP: - return "SingleTypeConstraint"; - case ACT_CT_WCOMPS: - return "MultipleTypeConstraints"; - case ACT_CT_CTDBY: - return "UserDefinedConstraint"; - case ACT_CT_CTNG: - return "ContentsConstraint"; - case ACT_CT_PATTERN: - return "PatternConstraint"; - case ACT_CA_SET: - return "SET"; - case ACT_CA_CRC: - return "ComponentRelationConstraint"; - case ACT_CA_CSV: - return "CSV"; - case ACT_CA_UNI: - return "UNION"; - case ACT_CA_INT: - return "INTERSECTION"; - case ACT_CA_EXC: - return "EXCEPT"; - case ACT_CA_AEX: - return "ALL EXCEPT"; - } - return "UNKNOWN"; -} - -const asn1p_constraint_t * -asn1p_get_component_relation_constraint(asn1p_constraint_t *ct) { - if(ct) { - if(ct->type == ACT_CA_CRC) - return ct; - if(ct->type == ACT_CA_SET) { - for(size_t i = 0; i < ct->el_count; i++) { - const asn1p_constraint_t *tmp = - asn1p_get_component_relation_constraint(ct->elements[i]); - if(tmp) return tmp; - } - } - } - return NULL; -} - diff --git a/libasn1parser/asn1p_constr.h b/libasn1parser/asn1p_constr.h deleted file mode 100644 index 2351628..0000000 --- a/libasn1parser/asn1p_constr.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Type constraints. - */ -#ifndef ASN1_PARSER_CONSTRAINT_H -#define ASN1_PARSER_CONSTRAINT_H - -typedef struct asn1p_constraint_s { - - enum asn1p_constraint_type_e { - ACT_INVALID, /* for assertions */ - /* - * Constraint elements. - */ - ACT_EL_TYPE, /* T (contained subtype) */ - ACT_EL_VALUE, /* 123, "A", (elementary value) */ - ACT_EL_RANGE, /* 1..2 (elementary range) */ - ACT_EL_LLRANGE, /* 1<..2 (elementary range) */ - ACT_EL_RLRANGE, /* 1..<2 (elementary range) */ - ACT_EL_ULRANGE, /* 1<..<2 (elementary range) */ - ACT_EL_EXT, /* ... (extensibility mark) */ - /* - * Constraint types. - */ - ACT_CT_SIZE, /* SIZE constraint type */ - ACT_CT_FROM, /* FROM constraint type */ - ACT_CT_WCOMP, /* WITH COMPONENT */ - ACT_CT_WCOMPS, /* WITH COMPONENTS */ - ACT_CT_CTDBY, /* CONSTRAINED BY */ - ACT_CT_CTNG, /* CONTAINING Type */ - ACT_CT_PATTERN, /* PATTERN Value */ - /* - * Arrays of constraints. - */ - ACT_CA_SET, /* A set of constraints: (c1)(c2) */ - ACT_CA_CRC, /* Comp. relation c-t: ({a}{@b}) */ - ACT_CA_CSV, /* Comma-separated constraints array */ - ACT_CA_UNI, /* UNION (|) */ - ACT_CA_INT, /* INTERSECTION (^) */ - ACT_CA_EXC, /* EXCEPT */ - ACT_CA_AEX, /* ALL EXCEPT */ - } type; - - enum asn1p_constr_pres_e { - ACPRES_DEFAULT, - ACPRES_PRESENT, - ACPRES_ABSENT, - ACPRES_OPTIONAL, - } presence; - - struct asn1p_constraint_s *parent_ct; /* optional */ - - /* - * Separate types and values. - */ - asn1p_value_t *containedSubtype; - asn1p_value_t *value; - asn1p_value_t *range_start; - asn1p_value_t *range_stop; - - /* - * A collection of constraint elements. - */ - struct asn1p_constraint_s **elements; - unsigned int el_count; /* Number of meaningful elements */ - unsigned int el_size; /* Size of the allocated (elements) */ - - struct asn1p_module_s *module; /* Defined in module */ - int _lineno; /* Position in a source file */ -} asn1p_constraint_t; - -/* Human-readable constraint type description */ -const char *asn1p_constraint_type2str(enum asn1p_constraint_type_e); - -const asn1p_constraint_t *asn1p_get_component_relation_constraint( - asn1p_constraint_t *); - -int asn1p_constraint_compare(const asn1p_constraint_t *, - const asn1p_constraint_t *); -void asn1p_constraint_set_source(asn1p_constraint_t *, - struct asn1p_module_s *module, int lineno); - -/* - * Constructors and a recursive destructor. - */ -asn1p_constraint_t *asn1p_constraint_new(int _lineno, asn1p_module_t *mod); -void asn1p_constraint_free(asn1p_constraint_t *); - -/* - * Clone the constraint and all its children. - */ -asn1p_constraint_t *asn1p_constraint_clone(asn1p_constraint_t *source_to_clone); -asn1p_constraint_t *asn1p_constraint_clone_with_resolver( - asn1p_constraint_t *source_to_clone, - asn1p_value_t *(*resolver)(asn1p_value_t *, void *), void *); - -/* - * Insert additional element into the element array of a (to) constraint. - */ -int asn1p_constraint_insert(asn1p_constraint_t *into, asn1p_constraint_t *what); -int asn1p_constraint_prepend(asn1p_constraint_t *before, asn1p_constraint_t *what); - -#endif /* ASN1_PARSER_CONSTRAINT_H */ diff --git a/libasn1parser/asn1p_expr.c b/libasn1parser/asn1p_expr.c deleted file mode 100644 index 807c081..0000000 --- a/libasn1parser/asn1p_expr.c +++ /dev/null @@ -1,431 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1parser.h" - -static asn1p_expr_t *asn1p_expr_clone_impl(asn1p_expr_t *expr, int skip_extensions, asn1p_expr_t *(*)(asn1p_expr_t *, void *), void *); -static asn1p_value_t *value_resolver(asn1p_value_t *, void *arg); - -void -asn1p_expr_set_source(asn1p_expr_t *expr, asn1p_module_t *module, int lineno) { - if(expr) { - expr->module = module; - expr->_lineno = lineno; - asn1p_ref_set_source(expr->reference, module, lineno); - asn1p_value_set_source(expr->value, module, lineno); - asn1p_constraint_set_source(expr->constraints, module, lineno); - asn1p_constraint_set_source(expr->combined_constraints, module, lineno); - asn1p_expr_set_source(expr->rhs_pspecs, module, lineno); - - asn1p_expr_t *memb; - - TQ_FOR(memb, &(expr->members), next) { - asn1p_expr_set_source(memb, module, lineno); - } - } -} - -int -asn1p_expr_compare(const asn1p_expr_t *a, const asn1p_expr_t *b) { - if((a && !b) || (!a && b)) { - return -1; - } - - if(a->meta_type != b->meta_type || a->expr_type != b->expr_type) { - return -1; - } - - if((!a->Identifier && b->Identifier) || (a->Identifier && !b->Identifier)) { - return -1; - } else if(a->Identifier && strcmp(a->Identifier, b->Identifier)) { - return -1; - } - - if((!a->reference && b->reference) || (a->reference && !b->reference)) { - return -1; - } else if(a->reference - && asn1p_ref_compare(a->reference, b->reference) != 0) { - return -1; - } - - if((!a->value && b->value) || (a->value && !b->value)) { - return -1; - } else if(a->value && asn1p_value_compare(a->value, b->value)) { - return -1; - } - - if((!a->constraints && b->constraints) || (a->constraints && !b->constraints)) { - return -1; - } else if(a->constraints && asn1p_constraint_compare(a->constraints, b->constraints)) { - return -1; - } - - if((a->tag.tag_class != b->tag.tag_class) - || (a->tag.tag_mode != b->tag.tag_mode) - || (a->tag.tag_value != b->tag.tag_value)) { - return -1; - } - - if((a->marker.flags != b->marker.flags) - || (a->marker.default_value && !b->marker.default_value) - || (!a->marker.default_value && b->marker.default_value) - || (a->marker.default_value - && asn1p_value_compare(a->marker.default_value, - b->marker.default_value))) { - return -1; - } - - if(a->unique != b->unique) { - return -1; - } - - const asn1p_expr_t *am = TQ_FIRST(&a->members); - const asn1p_expr_t *bm = TQ_FIRST(&b->members); - for(; am || bm; am = TQ_NEXT(am, next), bm = TQ_NEXT(bm, next)) { - if((am && !bm) || (!am && bm)) { - return -1; - } else if(asn1p_expr_compare(am, bm) != 0) { - return -1; - } - } - - return 0; -} - -/* - * Construct a new empty types collection. - */ -asn1p_expr_t * -asn1p_expr_new(int _lineno, asn1p_module_t *mod) { - asn1p_expr_t *expr; - - expr = calloc(1, sizeof *expr); - if(expr) { - TQ_INIT(&(expr->members)); - expr->spec_index = -1; - expr->module = mod; - expr->_lineno = _lineno; - expr->ref_cnt = 0; - } - - return expr; -} - -asn1p_expr_t * -asn1p_expr_clone(asn1p_expr_t *expr, int skip_extensions) { - return asn1p_expr_clone_impl(expr, skip_extensions, 0, 0); -} - -asn1p_expr_t * -asn1p_expr_clone_with_resolver(asn1p_expr_t *expr, asn1p_expr_t *(*r)(asn1p_expr_t *, void *), void *rarg) { - return asn1p_expr_clone_impl(expr, 0, r, rarg); -} - -static asn1p_expr_t * -asn1p_expr_clone_impl(asn1p_expr_t *expr, int skip_extensions, asn1p_expr_t *(*r)(asn1p_expr_t *, void *), void *rarg) { - asn1p_value_t *(*vr)(asn1p_value_t *, void *) = 0; - asn1p_expr_t *clone = 0; - asn1p_expr_t *tcmemb; /* Child of tc */ - int hit_ext = 0; - -#define CLCOPY(field) do { clone->field = expr->field; } while(0) -#define CLCLONE(field, func) do { if(expr->field) { \ - clone->field = func(expr->field); \ - if(clone->field == NULL) { \ - asn1p_expr_free(clone); \ - return NULL; \ - } \ - } } while(0) -#define CLVRCLONE(field, func) do { if(expr->field) { \ - clone->field = func(expr->field, vr, rarg); \ - if(clone->field == NULL) { \ - asn1p_expr_free(clone); \ - return NULL; \ - } \ - } } while(0) - - if(r) { - vr = value_resolver; - clone = r(expr, rarg); - if(clone) { - /* Merge constraints */ - if(expr->constraints) { - asn1p_constraint_t *tmpct = asn1p_constraint_clone_with_resolver(expr->constraints, vr, rarg); - if(clone->constraints) { - if(asn1p_constraint_insert(clone->constraints, tmpct)) { - asn1p_constraint_free(tmpct); - asn1p_expr_free(clone); - return NULL; - } - } else { - clone->constraints = tmpct; - } - assert(expr->combined_constraints == 0); - } - /* Merge defaults */ - CLCOPY(marker.flags); - CLVRCLONE(marker.default_value, - asn1p_value_clone_with_resolver); - if(clone->tag.tag_class == TC_NOCLASS) { - CLCOPY(tag); - } else if(expr->tag.tag_class != TC_NOCLASS) { - fprintf(stderr, "asn1c does not support " - "nested tagging in parameterization, " - "necessary at line %d\n", - expr->_lineno); - asn1p_expr_free(clone); - return NULL; - } - return clone; - } else if(errno != ESRCH) { - return NULL; /* Hard error */ - } - } - if(!clone) clone = asn1p_expr_new(expr->_lineno, expr->module); - if(!clone) return NULL; - - /* - * Copy simple fields. - */ - CLCOPY(meta_type); - CLCOPY(expr_type); - CLCOPY(tag); - CLCOPY(marker.flags); /* OPTIONAL/DEFAULT */ - CLCOPY(_mark); - CLCOPY(parent_expr); - CLCOPY(_type_unique_index); - - clone->data = 0; /* Do not clone this */ - clone->data_free = 0; /* Do not clone this */ - - /* - * Clone complex fields. - */ - CLCLONE(Identifier, strdup); - CLCLONE(reference, asn1p_ref_clone); - CLVRCLONE(constraints, asn1p_constraint_clone_with_resolver); - CLVRCLONE(combined_constraints, asn1p_constraint_clone_with_resolver); - CLCLONE(lhs_params, asn1p_paramlist_clone); - CLVRCLONE(value, asn1p_value_clone_with_resolver); - CLVRCLONE(marker.default_value, asn1p_value_clone_with_resolver); - CLCLONE(with_syntax, asn1p_wsyntx_clone); - - /* - * Copy all the children of this expr. - */ - TQ_FOR(tcmemb, &(expr->members), next) { - asn1p_expr_t *cmemb; - - if(skip_extensions - && tcmemb->expr_type == A1TC_EXTENSIBLE) { - hit_ext++; /* Even if hit_ext wraps around, we're OK. */ - continue; - } - if(hit_ext == 1) continue; /* Skip between ...'s */ - - cmemb = asn1p_expr_clone_impl(tcmemb, skip_extensions, r, rarg); - if(cmemb == NULL) { - asn1p_expr_free(clone); - return NULL; - } - asn1p_expr_add(clone, cmemb); - } - - return clone; -} - - -static asn1p_value_t * -value_resolver(asn1p_value_t *value, void *rarg) { - asn1p_value_t *cval; - asn1p_expr_t *tmpexpr; - asn1p_expr_t *target; - asn1p_ref_t *ref; - struct { - asn1p_expr_t *(*expr_resolve)(asn1p_expr_t *, void *arg); - } *varg = rarg; - - if(!value || value->type != ATV_REFERENCED) { - errno = ESRCH; - return NULL; - } - - ref = value->value.reference; - tmpexpr = asn1p_expr_new(ref->_lineno, 0); - tmpexpr->meta_type = AMT_TYPEREF; - tmpexpr->expr_type = A1TC_REFERENCE; - tmpexpr->reference = ref; - target = varg->expr_resolve(tmpexpr, rarg); - tmpexpr->reference = 0; - asn1p_expr_free(tmpexpr); - - if(!target) - return NULL; /* errno's are compatible */ - - if(target->meta_type == AMT_VALUE) { - if(!target->value) { - fprintf(stderr, - "FATAL: Parameterization did not resolve " - "value reference at line %d\n", ref->_lineno); - asn1p_expr_free(target); - errno = EPERM; - return NULL; - } - cval = asn1p_value_clone(target->value); - } else if(target->meta_type == AMT_VALUESET) { - if(!target->constraints) { - fprintf(stderr, - "FATAL: Parameterization did not resolve " - "value set reference at line %d\n", ref->_lineno); - asn1p_expr_free(target); - errno = EPERM; - return NULL; - } - cval = asn1p_value_fromconstr(target->constraints, 1); - } else { - errno = EPERM; - cval = NULL; - } - - asn1p_expr_free(target); - return cval; -} - -/* - * Add expression as a member of another. - */ -void -asn1p_expr_add(asn1p_expr_t *to, asn1p_expr_t *what) { - TQ_ADD(&(to->members), what, next); - what->parent_expr = to; -} - -/* - * Add inner expressions as members of another. - */ -void -asn1p_expr_add_many(asn1p_expr_t *to, asn1p_expr_t *from_what) { - asn1p_expr_t *expr; - TQ_FOR(expr, &(from_what->members), next) { - expr->parent_expr = to; - } - TQ_CONCAT(&(to->members), &(from_what->members), next); -} - -/* - * Lookup a child by its name. - */ -asn1p_expr_t * -asn1p_lookup_child(asn1p_expr_t *tc, const char *name) { - asn1p_expr_t *child_tc; - - TQ_FOR(child_tc, &(tc->members), next) { - if(child_tc->Identifier - && strcmp(child_tc->Identifier, name) == 0) { - return child_tc; - } - } - - errno = ESRCH; - return NULL; -} - -/* - * Destruct the types collection structure. - */ -void -asn1p_expr_free(asn1p_expr_t *expr) { - if(expr) { - asn1p_expr_t *tm; - - if (expr->ref_cnt) { - /* Decrease reference count only */ - expr->ref_cnt--; - return; - } - - /* Remove all children */ - while((tm = TQ_REMOVE(&(expr->members), next))) { - if(tm->parent_expr != expr) - printf("<%s:%p !-> %s:%p>\n", - tm->Identifier, tm->parent_expr, - expr->Identifier, expr); - assert(tm->parent_expr == expr); - asn1p_expr_free(tm); - } - - free(expr->Identifier); - asn1p_ref_free(expr->reference); - asn1p_constraint_free(expr->constraints); - asn1p_constraint_free(expr->combined_constraints); - asn1p_paramlist_free(expr->lhs_params); - asn1p_expr_free(expr->rhs_pspecs); - asn1p_value_free(expr->value); - asn1p_value_free(expr->marker.default_value); - asn1p_wsyntx_free(expr->with_syntax); - if(expr->specializations.pspec) { - int pspec; - for(pspec = 0; pspec < expr->specializations.pspecs_count; pspec++) { - asn1p_expr_free(expr->specializations.pspec[pspec].rhs_pspecs); - asn1p_expr_free(expr->specializations.pspec[pspec].my_clone); - } - free(expr->specializations.pspec); - } - asn1p_ioc_table_free(expr->ioc_table); - - if(expr->data && expr->data_free) - expr->data_free(expr->data); - - memset(expr, 0, sizeof(*expr)); - free(expr); - } -} - - -const char *asn1p_tag2string(const struct asn1p_type_tag_s *tag, char *buf) { - static char buf_stat[TAG2STRING_BUFFER_SIZE]; - char *start; - char *end; - - if(!buf) buf = buf_stat; - start = buf; - end = buf + TAG2STRING_BUFFER_SIZE; - - if(tag->tag_class == TC_NOCLASS) { - *buf = 0; - return buf; - } - - strcpy(buf, "["); - switch(tag->tag_class) { - case TC_NOCLASS: - assert(tag->tag_class != TC_NOCLASS); - break; - case TC_UNIVERSAL: strcat(buf, "UNIVERSAL "); break; - case TC_PRIVATE: strcat(buf, "PRIVATE "); break; - case TC_APPLICATION: strcat(buf, "APPLICATION "); break; - case TC_CONTEXT_SPECIFIC: - break; - } - buf += snprintf(buf + strlen(buf), end - buf, - "%s]", asn1p_itoa(tag->tag_value)); - assert((unsigned int)(buf - end) > sizeof(" IMPLICIT ")); - - switch(tag->tag_mode) { - case TM_DEFAULT: break; - case TM_IMPLICIT: strcat(buf, " IMPLICIT"); break; - case TM_EXPLICIT: strcat(buf, " EXPLICIT"); break; - } - - return start; -} - -asn1p_paramlist_t * -asn1p_get_namespace(asn1p_expr_t *expr) { - if(!expr) return NULL; - if(expr->lhs_params) return expr->lhs_params; - return asn1p_get_namespace(expr->parent_expr); -} diff --git a/libasn1parser/asn1p_expr.h b/libasn1parser/asn1p_expr.h deleted file mode 100644 index 0628a8d..0000000 --- a/libasn1parser/asn1p_expr.h +++ /dev/null @@ -1,300 +0,0 @@ -/* - * A collection of data members of unspecified types. - */ -#ifndef ASN1_PARSER_EXPR_H -#define ASN1_PARSER_EXPR_H - -/* - * Meta type of the ASN expression. - */ -typedef enum asn1p_expr_meta { - AMT_INVALID, - AMT_TYPE, /* Type1 ::= INTEGER */ - AMT_TYPEREF, /* Type2 ::= Type1 */ - AMT_VALUE, /* value1 Type1 ::= 1 */ - AMT_VALUESET, /* ValueSet Type1 ::= { value1 } */ - AMT_OBJECT, /* object CLASS ::= {...} */ - AMT_OBJECTCLASS, /* FUNCTION ::= CLASS {...} */ - AMT_OBJECTFIELD, /* ... */ - AMT_EXPR_META_MAX -} asn1p_expr_meta_e; - -/* - * ASN type of the expression. - */ -typedef enum asn1p_expr_type { - /* - * Internal types. - */ - A1TC_INVALID, /* Invalid type */ - A1TC_REFERENCE, /* Reference to the type defined elsewhere */ - A1TC_EXPORTVAR, /* We're exporting this definition */ - A1TC_UNIVERVAL, /* A value of an ENUMERATED, INTEGER or BS */ - A1TC_BITVECTOR, /* A plain collection of bits */ - A1TC_OPAQUE, /* Opaque data encoded as a bitvector */ - A1TC_EXTENSIBLE, /* An extension marker "..." */ - A1TC_COMPONENTS_OF, /* COMPONENTS OF clause */ - A1TC_VALUESET, /* Value set definition */ - A1TC_CLASSDEF, /* Information Object Class */ - A1TC_INSTANCE, /* Instance of Object Class */ - - /* - * ASN.1 Class field types - */ -#define ASN_CLASSFIELD_MASK 0x10 /* Every class field type */ - A1TC_CLASSFIELD_TFS = ASN_CLASSFIELD_MASK, /* TypeFieldSpec */ - A1TC_CLASSFIELD_FTVFS, /* FixedTypeValueFieldSpec */ - A1TC_CLASSFIELD_VTVFS, /* VariableTypeValueFieldSpec */ - A1TC_CLASSFIELD_FTVSFS, /* FixedTypeValueSetFieldSpec */ - A1TC_CLASSFIELD_VTVSFS, /* VariableTypeValueSetFieldSpec */ - A1TC_CLASSFIELD_OFS, /* ObjectFieldSpec */ - A1TC_CLASSFIELD_OSFS, /* ObjectSetFieldSpec */ - - /* - * ASN.1 Constructed types - */ -#define ASN_CONSTR_MASK 0x20 /* Every constructed type */ - ASN_CONSTR_SEQUENCE = ASN_CONSTR_MASK, /* SEQUENCE */ - ASN_CONSTR_CHOICE, /* CHOICE */ - ASN_CONSTR_SET, /* SET */ - ASN_CONSTR_SEQUENCE_OF, /* SEQUENCE OF */ - ASN_CONSTR_SET_OF, /* SET OF */ - ASN_CONSTR_OPEN_TYPE, - - /* - * ASN.1 Basic types - */ -#define ASN_BASIC_MASK 0x40 /* Every basic type */ - ASN_TYPE_ANY = ASN_BASIC_MASK, /* ANY (deprecated) */ - ASN_BASIC_BOOLEAN, - ASN_BASIC_NULL, - ASN_BASIC_INTEGER, - ASN_BASIC_REAL, - ASN_BASIC_ENUMERATED, - ASN_BASIC_BIT_STRING, - ASN_BASIC_OCTET_STRING, - ASN_BASIC_OBJECT_IDENTIFIER, - ASN_BASIC_RELATIVE_OID, - ASN_BASIC_EXTERNAL, - ASN_BASIC_EMBEDDED_PDV, - ASN_BASIC_CHARACTER_STRING, - ASN_BASIC_UTCTime, - ASN_BASIC_GeneralizedTime, - - /* - * ASN.1 String types - */ -#define ASN_STRING_KM_MASK 0x100 /* Known multiplier */ -#define ASN_STRING_NKM_MASK 0x200 /* Not a known multiplier */ -#define ASN_STRING_MASK 0x300 /* Every restricted string type */ - ASN_STRING_IA5String = ASN_STRING_KM_MASK, - ASN_STRING_PrintableString, - ASN_STRING_VisibleString, - ASN_STRING_ISO646String, /* aka VisibleString */ - ASN_STRING_NumericString, - ASN_STRING_UniversalString, - ASN_STRING_BMPString, - ASN_STRING_UTF8String = ASN_STRING_NKM_MASK, - ASN_STRING_GeneralString, - ASN_STRING_GraphicString, - ASN_STRING_TeletexString, - ASN_STRING_T61String, - ASN_STRING_VideotexString, - ASN_STRING_ObjectDescriptor, - ASN_EXPR_TYPE_MAX -} asn1p_expr_type_e; - -#include "asn1p_expr_str.h" -#include "asn1p_expr2uclass.h" - -struct asn1p_module_s; /* Forward declaration */ -struct asn1p_ioc_table_s; /* Forward declaration */ - -/* - * A named collection of types. - */ -typedef struct asn1p_expr_s { - - /* - * Human readable name. - */ - char *Identifier; - - /* - * Meta type of the expression (type, value, value set, etc). - */ - asn1p_expr_meta_e meta_type; - - /* - * ASN type of the expression. - */ - asn1p_expr_type_e expr_type; - - /* - * Referenced type, defined elsewhere. - * (If expr_type == A1TC_REFERENCE) - */ - asn1p_ref_t *reference; - - /* - * Constraints for the type. - */ - asn1p_constraint_t *constraints; - - /* - * This field is holding the transformed constraints, with all the - * parent constraints taken into account. - */ - asn1p_constraint_t *combined_constraints; - - /* - * Left hand side parameters for parametrized type declaration - * Type{Param1, Param2} ::= SEQUENCE { a Param1, b Param2 } - */ - asn1p_paramlist_t *lhs_params; - /* - * Right hand type specialization. - * Type2 ::= Type{Param1} - */ - struct asn1p_expr_s *rhs_pspecs; /* ->members */ - /* - * If lhs_params is defined, this structure represents all possible - * specializations of the parent expression. - */ - struct { - struct asn1p_pspec_s { - struct asn1p_expr_s *rhs_pspecs; - struct asn1p_expr_s *my_clone; - } *pspec; - int pspecs_count; /* Number of specializations */ - } specializations; - int spec_index; /* -1, or 0-based specialization index in the parent */ - - /* - * The actual value (DefinedValue or inlined value). - */ - asn1p_value_t *value; - - /* - * The WITH SYNTAX clause. - */ - asn1p_wsyntx_t *with_syntax; - - /* Information Object Class table, specific for a class or object set */ - struct asn1p_ioc_table_s *ioc_table; - - /* - * A tag. - */ - struct asn1p_type_tag_s { - enum { - TC_NOCLASS, - TC_UNIVERSAL, - TC_APPLICATION, - TC_CONTEXT_SPECIFIC, - TC_PRIVATE, - } tag_class; - enum { - TM_DEFAULT, - TM_IMPLICIT, - TM_EXPLICIT, - } tag_mode; - asn1c_integer_t tag_value; - } tag; - - struct asn1p_expr_marker_s { - enum asn1p_expr_marker_e { - EM_NOMARK, - EM_INDIRECT = 0x01, /* 00001 Represent as pointer */ - EM_OMITABLE = 0x02, /* 00010 May be absent in encoding */ - EM_OPTIONAL = 0x07, /* 00111 Optional member */ - EM_DEFAULT = 0x0F, /* 01111 default_value */ - EM_UNRECURSE = 0x10, /* 10000 Use safe naming */ - } flags; - asn1p_value_t *default_value; /* For EM_DEFAULT case */ - } marker; - int unique; /* UNIQUE */ - int ref_cnt; /* reference count */ - - /* - * Whether automatic tagging may be applied for subtypes. - */ - int auto_tags_OK; - - /* - * Members of the constructed type. - */ - TQ_HEAD(struct asn1p_expr_s) members; - - /* - * Next expression in the list. - */ - TQ_ENTRY(struct asn1p_expr_s) next; - - struct asn1p_expr_s *parent_expr; /* optional */ - - struct asn1p_module_s *module; /* Defined in module */ - - /* - * Line number where this structure is defined in the original - * grammar source. - */ - int _lineno; - - /* - * Marks are used for various purposes. - * Here are some predefined ones. - */ - enum { - TM_NOMARK = 0, - TM_RECURSION = (1<<0), /* Used to break recursion */ - TM_BROKEN = (1<<1), /* A warning was already issued */ - TM_PERFROMCT = (1<<2), /* PER FROM() constraint tables emitted */ - TM_NAMECLASH = (1<<3), /* Name clash found, need to add module name to resolve */ - TM_NAMEGIVEN = (1<<4) /* The expression has already yielded a name */ - } _mark; - - /* - * Some tags used by the compiler. - */ - int _anonymous_type; /* This type is unnamed */ - int _type_unique_index; /* A per top-level-type unique index */ - int _type_referenced; /* This type is referenced from another place */ - - /* - * Opaque data may be attached to this structure, - * probably by compiler. - */ - void *data; - void (*data_free)(void *data); -} asn1p_expr_t; - - -/* - * Constructor and destructor. - */ -asn1p_expr_t *asn1p_expr_new(int _lineno, struct asn1p_module_s *); -asn1p_expr_t *asn1p_expr_clone(asn1p_expr_t *, int skip_extensions); -asn1p_expr_t *asn1p_expr_clone_with_resolver(asn1p_expr_t *, - asn1p_expr_t *(*resolver)(asn1p_expr_t *to_resolve, void *resolver_arg), - void *resolver_arg); -void asn1p_expr_add(asn1p_expr_t *to, asn1p_expr_t *what); -void asn1p_expr_add_many(asn1p_expr_t *to, asn1p_expr_t *from_what); -asn1p_expr_t *asn1p_lookup_child(asn1p_expr_t *tc, const char *name); -int asn1p_expr_compare(const asn1p_expr_t *, const asn1p_expr_t *); -void asn1p_expr_free(asn1p_expr_t *expr); -void asn1p_expr_set_source(asn1p_expr_t *, asn1p_module_t *, int lineno); - -asn1p_paramlist_t *asn1p_get_namespace(asn1p_expr_t *); - -#define TAG2STRING_BUFFER_SIZE 64 /* buf should be at least this big */ -const char *asn1p_tag2string(const struct asn1p_type_tag_s *tag, char *opt_buf); - -#define MODULE_NAME_OF(expr) \ - ((!expr) ? "" : \ - (!(expr->_mark & TM_NAMECLASH) ? "" : \ - (!expr->module ? "" : expr->module->ModuleName))), \ - ((!expr) ? "" : \ - (!(expr->_mark & TM_NAMECLASH) ? "" : "_")) - -#endif /* ASN1_PARSER_EXPR_H */ diff --git a/libasn1parser/asn1p_expr2uclass.h b/libasn1parser/asn1p_expr2uclass.h deleted file mode 100644 index 1fb6dbb..0000000 --- a/libasn1parser/asn1p_expr2uclass.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef ASN1_PARSER_EXPR2UCLASS_H -#define ASN1_PARSER_EXPR2UCLASS_H - -#ifndef __GNUC__ -#define __attribute__(x) /* unused */ -#endif - -static int expr_type2uclass_value[ASN_EXPR_TYPE_MAX] - __attribute__ ((unused)) = { - [ ASN_BASIC_BOOLEAN ] = 1, - [ ASN_BASIC_INTEGER ] = 2, - [ ASN_BASIC_BIT_STRING ] = 3, - [ ASN_BASIC_OCTET_STRING ] = 4, - [ ASN_BASIC_NULL ] = 5, - [ ASN_BASIC_OBJECT_IDENTIFIER ] = 6, - [ ASN_STRING_ObjectDescriptor ] = 7, - [ ASN_BASIC_EXTERNAL ] = 8, - [ ASN_BASIC_REAL ] = 9, - [ ASN_BASIC_ENUMERATED ] = 10, - [ ASN_BASIC_EMBEDDED_PDV ] = 11, - [ ASN_STRING_UTF8String ] = 12, - [ ASN_BASIC_RELATIVE_OID ] = 13, - [ ASN_CONSTR_SEQUENCE ] = 16, - [ ASN_CONSTR_SEQUENCE_OF ] = 16, - [ ASN_CONSTR_SET ] = 17, - [ ASN_CONSTR_SET_OF ] = 17, - [ ASN_STRING_NumericString ] = 18, - [ ASN_STRING_PrintableString ] = 19, - [ ASN_STRING_TeletexString ] = 20, - [ ASN_STRING_T61String ] = 20, - [ ASN_STRING_VideotexString ] = 21, - [ ASN_STRING_IA5String ] = 22, - [ ASN_BASIC_UTCTime ] = 23, - [ ASN_BASIC_GeneralizedTime ] = 24, - [ ASN_STRING_GraphicString ] = 25, - [ ASN_STRING_VisibleString ] = 26, - [ ASN_STRING_ISO646String ] = 26, - [ ASN_STRING_GeneralString ] = 27, - [ ASN_STRING_UniversalString ] = 28, - [ ASN_BASIC_CHARACTER_STRING ] = 29, - [ ASN_STRING_BMPString ] = 30, -}; - -static enum asn1p_expr_type expr_utag2type[32] __attribute__ ((unused)) = { - [ 0 ] = 0, /* If zero length, end-of-content */ - [ 1 ] = ASN_BASIC_BOOLEAN, - [ 2 ] = ASN_BASIC_INTEGER, - [ 3 ] = ASN_BASIC_BIT_STRING, - [ 4 ] = ASN_BASIC_OCTET_STRING, - [ 5 ] = ASN_BASIC_NULL, - [ 6 ] = ASN_BASIC_OBJECT_IDENTIFIER, - [ 7 ] = ASN_STRING_ObjectDescriptor, - [ 8 ] = ASN_BASIC_EXTERNAL, - [ 9 ] = ASN_BASIC_REAL, - [ 10 ] = ASN_BASIC_ENUMERATED, - [ 11 ] = ASN_BASIC_EMBEDDED_PDV, - [ 12 ] = ASN_STRING_UTF8String, - [ 13 ] = ASN_BASIC_RELATIVE_OID, - [ 14 ] = 0, - [ 15 ] = 0, - [ 16 ] = ASN_CONSTR_SEQUENCE, /* Or SEQUENCE OF */ - [ 17 ] = ASN_CONSTR_SET, /* Or SET OF */ - [ 18 ] = ASN_STRING_NumericString, /* " "|"0".."9" */ - [ 19 ] = ASN_STRING_PrintableString, - [ 20 ] = ASN_STRING_TeletexString, - [ 21 ] = ASN_STRING_VideotexString, - [ 22 ] = ASN_STRING_IA5String, - [ 23 ] = ASN_BASIC_UTCTime, - [ 24 ] = ASN_BASIC_GeneralizedTime, - [ 25 ] = ASN_STRING_GraphicString, - [ 26 ] = ASN_STRING_VisibleString, - [ 27 ] = ASN_STRING_GeneralString, - [ 28 ] = ASN_STRING_UniversalString, /* 32-bit UCS-4 */ - [ 29 ] = ASN_BASIC_CHARACTER_STRING, - [ 30 ] = ASN_STRING_BMPString, /* 16-bit UCS-2 */ -}; - -/* - * Convert the [UNIVERSAL value] into the internal type or a string. - */ -#define ASN_UNIVERSAL_TAG2TYPE(utag) \ - ( \ - (((int)(utag)) < 0 \ - || ((int)(utag)) >= (int)(sizeof(expr_utag2type) \ - / sizeof(expr_utag2type[0]))) \ - ? 0 \ - : expr_utag2type[(int)(utag)] \ - ) -#define ASN_UNIVERSAL_TAG2STR(utag) \ - ASN_EXPR_TYPE2STR(ASN_UNIVERSAL_TAG2TYPE(utag)) - -#endif /* ASN1_PARSER_EXPR2UCLASS_H */ diff --git a/libasn1parser/asn1p_expr_str.h b/libasn1parser/asn1p_expr_str.h deleted file mode 100644 index 065766e..0000000 --- a/libasn1parser/asn1p_expr_str.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is automatically generated by ./expr-h.pl - * DO NOT EDIT MANUALLY, fix the ./expr-h.pl instead if necessary. - */ -#ifndef ASN1_PARSER_EXPR_STR_H -#define ASN1_PARSER_EXPR_STR_H - -#include - -#ifndef __GNUC__ -#define __attribute__(x) /* unused */ -#endif - -static char *asn1p_expr_type2str[] __attribute__ ((unused)) = { - [ ASN_CONSTR_SEQUENCE ] = "SEQUENCE", - [ ASN_CONSTR_CHOICE ] = "CHOICE", - [ ASN_CONSTR_SET ] = "SET", - [ ASN_CONSTR_SEQUENCE_OF ] = "SEQUENCE OF", - [ ASN_CONSTR_SET_OF ] = "SET OF", - [ ASN_CONSTR_OPEN_TYPE ] = "OPEN TYPE", - [ ASN_TYPE_ANY ] = "ANY", - [ ASN_BASIC_BOOLEAN ] = "BOOLEAN", - [ ASN_BASIC_NULL ] = "NULL", - [ ASN_BASIC_INTEGER ] = "INTEGER", - [ ASN_BASIC_REAL ] = "REAL", - [ ASN_BASIC_ENUMERATED ] = "ENUMERATED", - [ ASN_BASIC_BIT_STRING ] = "BIT STRING", - [ ASN_BASIC_OCTET_STRING ] = "OCTET STRING", - [ ASN_BASIC_OBJECT_IDENTIFIER ] = "OBJECT IDENTIFIER", - [ ASN_BASIC_RELATIVE_OID ] = "RELATIVE-OID", - [ ASN_BASIC_EXTERNAL ] = "EXTERNAL", - [ ASN_BASIC_EMBEDDED_PDV ] = "EMBEDDED PDV", - [ ASN_BASIC_CHARACTER_STRING ] = "CHARACTER STRING", - [ ASN_BASIC_UTCTime ] = "UTCTime", - [ ASN_BASIC_GeneralizedTime ] = "GeneralizedTime", - [ ASN_STRING_IA5String ] = "IA5String", - [ ASN_STRING_PrintableString ] = "PrintableString", - [ ASN_STRING_VisibleString ] = "VisibleString", - [ ASN_STRING_ISO646String ] = "ISO646String", - [ ASN_STRING_NumericString ] = "NumericString", - [ ASN_STRING_UniversalString ] = "UniversalString", - [ ASN_STRING_BMPString ] = "BMPString", - [ ASN_STRING_UTF8String ] = "UTF8String", - [ ASN_STRING_GeneralString ] = "GeneralString", - [ ASN_STRING_GraphicString ] = "GraphicString", - [ ASN_STRING_TeletexString ] = "TeletexString", - [ ASN_STRING_T61String ] = "T61String", - [ ASN_STRING_VideotexString ] = "VideotexString", - [ ASN_STRING_ObjectDescriptor ] = "ObjectDescriptor", -}; - -/* - * Convert the ASN.1 expression type back into the string representation. - */ -#define ASN_EXPR_TYPE2STR(type) _asn1p_expr_type2string(type) - -static inline char * __attribute__((unused)) -_asn1p_expr_type2string(asn1p_expr_type_e type) { - assert((signed int)type >= 0); - if(type < sizeof(asn1p_expr_type2str)/sizeof(asn1p_expr_type2str[0])) - return asn1p_expr_type2str[type]; - return NULL; -} - -#endif /* ASN1_PARSER_EXPR_STR_H */ diff --git a/libasn1parser/asn1p_integer.c b/libasn1parser/asn1p_integer.c deleted file mode 100644 index 64d39db..0000000 --- a/libasn1parser/asn1p_integer.c +++ /dev/null @@ -1,188 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "asn1p_integer.h" - -#define ASN_INTEGER_MAX \ - (~((asn1c_integer_t)0) \ - & ~((asn1c_integer_t)1 << (8 * sizeof(asn1c_integer_t) - 1))) -#define ASN_INTEGER_MIN (-(ASN_INTEGER_MAX)-1) - -/* - * Parse the number in the given string until the given *end position, - * returning the position after the last parsed character back using the - * same (*end) pointer. - * WARNING: This behavior is different from the standard strtol/strtoimax(3). - */ -enum strtox_result_e { - STRTOX_ERROR_RANGE = -3, /* Input outside of supported numeric range */ - STRTOX_ERROR_INVAL = -2, /* Invalid data encountered (e.g., "+-") */ - STRTOX_EXPECT_MORE = -1, /* More data expected (e.g. "+") */ - STRTOX_OK = 0, /* Conversion succeded, number ends at (*end) */ - STRTOX_EXTRA_DATA = - 1 /* Conversion succeded, but the string has extra stuff */ -}; - -static enum strtox_result_e -strtoaint_lim(const char *str, const char **end, asn1c_integer_t *intp) { - const asn1c_integer_t upper_boundary = ASN_INTEGER_MAX / 10; - int last_digit_max = ASN_INTEGER_MAX % 10; - int sign = 1; - asn1c_integer_t value; - - if(str >= *end) return STRTOX_ERROR_INVAL; - - switch(*str) { - case '-': - last_digit_max++; - sign = -1; - /* FALL THROUGH */ - case '+': - str++; - if(str >= *end) { - *end = str; - return STRTOX_EXPECT_MORE; - } - } - - for(value = 0; str < (*end); str++) { - switch(*str) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: { - int d = *str - '0'; - if(value < upper_boundary) { - value = value * 10 + d; - } else if(value == upper_boundary) { - if(d <= last_digit_max) { - if(sign > 0) { - value = value * 10 + d; - } else { - sign = 1; - value = -value * 10 - d; - } - } else { - *end = str; - return STRTOX_ERROR_RANGE; - } - } else { - *end = str; - return STRTOX_ERROR_RANGE; - } - } - continue; - default: - *end = str; - *intp = sign * value; - return STRTOX_EXTRA_DATA; - } - } - - *end = str; - *intp = sign * value; - return STRTOX_OK; -} - -int -asn1p_atoi(const char *ptr, asn1c_integer_t *value) { - const char *end = ptr + strlen(ptr); - if(strtoaint_lim(ptr, &end, value) == STRTOX_OK) { - return 0; - } else { - return -1; - } -} - -const char *asn1p_itoa(asn1c_integer_t v) { - static char static_buf[128]; - int ret = asn1p_itoa_s(static_buf, sizeof(static_buf), v); - if(ret > 0) { - assert((size_t)ret < sizeof(static_buf)); - return static_buf; - } else { - return NULL; - } -} - -int asn1p_itoa_s(char *buf, size_t size, asn1c_integer_t v) { - char tmp_buf[128]; - - if(v >= LONG_MIN && v < LONG_MAX) { - int ret = snprintf(buf, size, "%ld", (long)v); - if(ret < 0 || (size_t)ret >= size) { - return -1; - } - return ret; - } - - int sign = 0; - if(v < 0) { - if(v == ASN_INTEGER_MIN) { - switch(sizeof(v)) { - case 16: - if(size < 41) - return -1; - memcpy(buf, "-170141183460469231731687303715884105729", 41); - return 41; - case 8: - if(size < 21) - return -1; - memcpy(buf, "-9223372036854775809", 21); - return 21; - default: - assert(!"unreachable"); - } - } - - sign = -1; - v = -v; /* Ditch the sign */ - } - - assert(v > 1000000000L); - char restbuf[10] = "000000000\0"; - const char *rest = asn1p_itoa((long)(v % 1000000000L)); - size_t restlen = strlen(rest); - assert(restlen <= 9); - memcpy(restbuf + (9 - restlen), rest, restlen); - rest = restbuf; - - const char *head = asn1p_itoa(v / 1000000000L); - assert(head); - int ret = snprintf(tmp_buf, sizeof(tmp_buf), "%s%s%s", sign ? "-" : "", - head, rest); - if(ret < 0 || (size_t)ret >= size) { - assert(ret > 0 && (size_t)ret < sizeof(tmp_buf)); - return -1; - } - memcpy(buf, tmp_buf, ret); - buf[ret] = '\0'; - return ret; -} - -abuf * -asn1p_integer_as_INTEGER(asn1c_integer_t value) { - abuf *ab = abuf_new(); - uint8_t buf[sizeof(value) + 1]; - uint8_t *bp = buf; - - do { - *bp++ = value; - value >>= 8; - } while(!((value == 0 && !(bp[-1] & 0x80)) - || (value == -1 && (bp[-1] & 0x80)))); - - abuf_printf(ab, "{ (uint8_t *)\""); - - for(const uint8_t *p = bp-1; p >= buf; p--) { - abuf_printf(ab, "\\x%02x", *p); - } - - abuf_printf(ab, "\\0\", %zu }", bp - buf); - - return ab; -} diff --git a/libasn1parser/asn1p_integer.h b/libasn1parser/asn1p_integer.h deleted file mode 100644 index 346c025..0000000 --- a/libasn1parser/asn1p_integer.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ASN1P_INTEGER_H -#define ASN1P_INTEGER_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include - -#ifdef HAVE_SYS_TYPES_H -#include -#endif /* HAVE_SYS_TYPES_H */ -#ifdef HAVE_INTTYPES_H -#include /* POSIX 1003.1-2001, C99 */ -#else /* HAVE_INTTYPES_H */ -#ifdef HAVE_STDINT_H -#include /* SUSv2+ */ -#endif /* HAVE_STDINT_H */ -#endif /* HAVE_INTTYPES_H */ - -/* - * Basic integer type used in numerous places. - * ASN.1 does not define any limits on this number, so it must be sufficiently - * large to accomodate typical inputs. It does not have to be a dynamically - * allocated type with potentially unlimited width: consider the width of - * an integer defined here as one of the "compiler limitations". - * NOTE: this is NOT a type for ASN.1 "INTEGER" type representation, this - * type is used by the compiler itself to handle large integer values - * specified inside ASN.1 grammar. - */ -#ifdef HAVE_128_BIT_INT -typedef __int128 asn1c_integer_t; -#else -typedef intmax_t asn1c_integer_t; -#endif - -int asn1p_atoi(const char *ptr, asn1c_integer_t *r_value); -const char *asn1p_itoa(asn1c_integer_t value); /* Ptr to a static buf */ -/* - * Return values: - * -1: The value did not fit in the buffer. - * >0: The length in bytes of the stringified numeric value. - */ -int asn1p_itoa_s(char *buf, size_t size, - asn1c_integer_t value); /* Return -1 on error, or length. */ - -/* - * Convert asn1c_integer_t into INTEGER_t structure. - */ -abuf *asn1p_integer_as_INTEGER(asn1c_integer_t value); - -#endif /* ASN1P_INTEGER_H */ diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c deleted file mode 100644 index d374b63..0000000 --- a/libasn1parser/asn1p_l.c +++ /dev/null @@ -1,4761 +0,0 @@ -#line 2 "asn1p_l.c" - -#line 4 "asn1p_l.c" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -/* %not-for-header */ - -/* %if-c-only */ -/* %if-not-reentrant */ -#define yy_create_buffer asn1p__create_buffer -#define yy_delete_buffer asn1p__delete_buffer -#define yy_flex_debug asn1p__flex_debug -#define yy_init_buffer asn1p__init_buffer -#define yy_flush_buffer asn1p__flush_buffer -#define yy_load_buffer_state asn1p__load_buffer_state -#define yy_switch_to_buffer asn1p__switch_to_buffer -#define yyin asn1p_in -#define yyleng asn1p_leng -#define yylex asn1p_lex -#define yylineno asn1p_lineno -#define yyout asn1p_out -#define yyrestart asn1p_restart -#define yytext asn1p_text -#define yywrap asn1p_wrap -#define yyalloc asn1p_alloc -#define yyrealloc asn1p_realloc -#define yyfree asn1p_free - -/* %endif */ -/* %endif */ -/* %ok-for-header */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - -/* %if-c++-only */ -/* %endif */ - -/* %if-c-only */ - -/* %endif */ - -/* %if-c-only */ - -/* %endif */ - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ -/* %if-c-only */ -#include -#include -#include -#include -/* %endif */ - -/* %if-tables-serialization */ -/* %endif */ -/* end standard C headers. */ - -/* %if-c-or-c++ */ -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -typedef uint64_t flex_uint64_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ - -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! FLEXINT_H */ - -/* %endif */ - -/* %if-c++-only */ -/* %endif */ - -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* %not-for-header */ - -/* Returned upon end-of-file. */ -#define YY_NULL 0 -/* %ok-for-header */ - -/* %not-for-header */ - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) -/* %ok-for-header */ - -/* %if-reentrant */ -/* %endif */ - -/* %if-not-reentrant */ - -/* %endif */ - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN (yy_start) = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START (((yy_start) - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE asn1p_restart(asn1p_in ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#define YY_BUF_SIZE 16384 -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -/* %if-not-reentrant */ -extern yy_size_t asn1p_leng; -/* %endif */ - -/* %if-c-only */ -/* %if-not-reentrant */ -extern FILE *asn1p_in, *asn1p_out; -/* %endif */ -/* %endif */ - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires - * access to the local variable yy_act. Since yyless() is a macro, it would break - * existing scanners that call yyless() from OUTSIDE asn1p_lex. - * One obvious solution it to make yy_act a global. I tried that, and saw - * a 5% performance hit in a non-asn1p_lineno scanner, because yy_act is - * normally declared as a register variable-- so it is not worth it. - */ - #define YY_LESS_LINENO(n) \ - do { \ - yy_size_t yyl;\ - for ( yyl = n; yyl < asn1p_leng; ++yyl )\ - if ( asn1p_text[yyl] == '\n' )\ - --asn1p_lineno;\ - }while(0) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up asn1p_text. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { -/* %if-c-only */ - FILE *yy_input_file; -/* %endif */ - -/* %if-c++-only */ -/* %endif */ - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - yy_size_t yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via asn1p_restart()), so that the user can continue scanning by - * just pointing asn1p_in at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* %if-c-only Standard (non-C++) definition */ -/* %not-for-header */ - -/* %if-not-reentrant */ - -/* Stack of input buffers. */ -static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ -static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ -/* %endif */ -/* %ok-for-header */ - -/* %endif */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) - -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -/* %if-c-only Standard (non-C++) definition */ - -/* %if-not-reentrant */ -/* %not-for-header */ - -/* yy_hold_char holds the character lost when asn1p_text is formed. */ -static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t asn1p_leng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 0; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow asn1p_wrap()'s to do buffer switches - * instead of setting up a fresh asn1p_in. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; -/* %ok-for-header */ - -/* %endif */ - -void asn1p_restart (FILE *input_file ); -void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE asn1p__create_buffer (FILE *file,int size ); -void asn1p__delete_buffer (YY_BUFFER_STATE b ); -void asn1p__flush_buffer (YY_BUFFER_STATE b ); -void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer ); -void asn1p_pop_buffer_state (void ); - -static void asn1p_ensure_buffer_stack (void ); -static void asn1p__load_buffer_state (void ); -static void asn1p__init_buffer (YY_BUFFER_STATE b,FILE *file ); - -#define YY_FLUSH_BUFFER asn1p__flush_buffer(YY_CURRENT_BUFFER ) - -YY_BUFFER_STATE asn1p__scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE asn1p__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE asn1p__scan_bytes (yyconst char *bytes,yy_size_t len ); - -/* %endif */ - -void *asn1p_alloc (yy_size_t ); -void *asn1p_realloc (void *,yy_size_t ); -void asn1p_free (void * ); - -#define yy_new_buffer asn1p__create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - asn1p_ensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! YY_CURRENT_BUFFER ){\ - asn1p_ensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* %% [1.0] asn1p_text/asn1p_in/asn1p_out/yy_state_type/asn1p_lineno etc. def's & init go here */ -/* Begin user sect3 */ - -#define asn1p_wrap(n) 1 -#define YY_SKIP_YYWRAP - -#define FLEX_DEBUG - -typedef unsigned char YY_CHAR; - -FILE *asn1p_in = (FILE *) 0, *asn1p_out = (FILE *) 0; - -typedef int yy_state_type; - -extern int asn1p_lineno; - -int asn1p_lineno = 1; - -extern char *asn1p_text; -#define yytext_ptr asn1p_text - -/* %if-c-only Standard (non-C++) definition */ - -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); - -/* %endif */ - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up asn1p_text. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ -/* %% [2.0] code to fiddle asn1p_text and asn1p_leng for yymore() goes here \ */\ - asn1p_leng = (yy_size_t) (yy_cp - yy_bp); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ -/* %% [3.0] code to copy yytext_ptr to asn1p_text[] goes here, if %array \ */\ - (yy_c_buf_p) = yy_cp; - -/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 142 -#define YY_END_OF_BUFFER 143 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_acclist[1290] = - { 0, - 143, 141, 142, 134, 141, 142, 134, 142, 139, 141, - 142, 21, 141, 142, 139, 141, 142, 141, 142, 139, - 141, 142, 141, 142, 141, 142, 139, 141, 142, 141, - 142, 35, 141, 142, 34, 141, 142, 139, 141, 142, - 141, 142, 122, 123, 141, 142, 122, 123, 141, 142, - 122, 123, 141, 142, 122, 123, 141, 142, 122, 123, - 141, 142, 122, 123, 141, 142, 122, 123, 141, 142, - 122, 123, 141, 142, 122, 123, 141, 142, 122, 123, - 141, 142, 122, 123, 141, 142, 122, 123, 141, 142, - 122, 123, 141, 142, 122, 123, 141, 142, 122, 123, - - 141, 142, 122, 123, 141, 142, 122, 123, 141, 142, - 122, 123, 141, 142, 122, 123, 141, 142, 139, 141, - 142, 139, 141, 142, 121, 141, 142, 139, 141, 142, - 141, 142, 11, 141, 142, 8, 142, 8, 141, 142, - 10, 141, 142, 10, 141, 142, 13, 15, 141, 142, - 13, 142, 15, 141, 142, 15, 141, 142, 15, 141, - 142, 23, 141, 142, 23, 142, 24, 141, 142, 18, - 141, 142, 18, 142, 20, 141, 142, 20, 141, 142, - 16, 141, 142, 17, 141, 142, 27, 29, 141, 142, - 29, 141, 142, 30, 142, 27, 28, 29, 141, 142, - - 27, 28, 29, 141, 142, 132, 141, 142, 132, 142, - 141, 142, 128, 141, 142, 141, 142, 141, 142, 127, - 141, 142, 130, 141, 142, 131, 141, 142, 129, 141, - 142, 133, 141, 142, 134, 141, 142, 134, 142, 141, - 142, 141, 142, 122, 141, 142, 134, 21, 21, 119, - 120, 7, 33, 126, 12, 36, 34, 36, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 46, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - - 123, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 123, 122, - 123, 122, 123, 91, 122, 123, 122, 123, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 123, 122, 123, 122, 123, 123, - 123, 122, 123, 137, 138, 121, 11, 9, 9, 14, - 23, 22, 18, 27, 27, 28, 27, 28, 132, 7, - 127, 122, 140, 119, 120, 33, 36, 125, 36, 124, - 122, 123, 123, 122, 123, 38, 122, 123, 39, 122, - - 123, 122, 123, 122, 123, 122, 123, 43, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 60, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 123, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 83, 122, 123, 84, 122, 123, 122, 123, 123, - 122, 123, 122, 123, 122, 123, 123, 122, 123, 94, - 122, 123, 122, 123, 122, 123, 122, 123, 123, 122, - 123, 122, 123, 122, 123, 102, 122, 123, 122, 123, - - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 123, 122, 123, 122, 123, 122, 123, 123, 123, 123, - 122, 123, 121, 1, 4, 19, 27, 28, 26, 27, - 28, 127, 122, 119, 120, 32, 31, 3, 2, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 68, 122, 123, 123, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - - 122, 123, 122, 123, 122, 123, 86, 122, 123, 123, - 122, 123, 122, 123, 122, 123, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 123, 99, 122, 123, 122, - 123, 122, 123, 103, 122, 123, 122, 123, 122, 123, - 122, 123, 107, 122, 123, 109, 122, 123, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 123, - 123, 123, 118, 122, 123, 4, 27, 28, 122, 123, - 122, 123, 122, 123, 42, 122, 123, 123, 122, 123, - 122, 123, 122, 123, 49, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 67, 122, 123, 123, 123, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 122, 123, 123, - 122, 123, 90, 122, 123, 122, 123, 123, 122, 123, - 122, 123, 122, 123, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 123, 123, 110, 122, 123, 122, 123, - 122, 123, 123, 122, 123, 123, 123, 123, 135, 27, - 28, 37, 122, 123, 122, 123, 122, 123, 123, 122, - 123, 122, 123, 48, 122, 123, 122, 123, 122, 123, - - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 62, 122, 123, 122, - 123, 122, 123, 122, 123, 122, 123, 123, 123, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 123, 88, 122, 123, 122, 123, 123, 122, 123, 122, - 123, 122, 123, 122, 123, 123, 122, 123, 122, 123, - 104, 122, 123, 105, 122, 123, 123, 123, 111, 122, - 123, 122, 123, 123, 123, 123, 123, 123, 27, 28, - 122, 123, 122, 123, 123, 45, 122, 123, 122, 123, - - 122, 123, 122, 123, 122, 123, 54, 122, 123, 55, - 122, 123, 122, 123, 122, 123, 58, 122, 123, 122, - 123, 122, 123, 122, 123, 64, 122, 123, 122, 123, - 122, 123, 123, 123, 123, 122, 123, 122, 123, 75, - 122, 123, 76, 122, 123, 122, 123, 122, 123, 122, - 123, 80, 122, 123, 122, 123, 122, 123, 122, 123, - 123, 122, 123, 123, 93, 122, 123, 122, 123, 96, - 122, 123, 98, 122, 123, 123, 122, 123, 122, 123, - 123, 123, 122, 123, 114, 123, 123, 123, 123, 123, - 27, 28, 122, 123, 122, 123, 123, 122, 123, 122, - - 123, 122, 123, 122, 123, 122, 123, 57, 122, 123, - 122, 123, 122, 123, 63, 122, 123, 122, 123, 66, - 122, 123, 123, 123, 123, 123, 122, 123, 74, 122, - 123, 77, 122, 123, 78, 122, 123, 122, 123, 122, - 123, 123, 122, 123, 123, 92, 122, 123, 123, 122, - 123, 123, 122, 123, 101, 122, 123, 123, 123, 122, - 123, 123, 123, 123, 123, 27, 28, 122, 123, 41, - 122, 123, 44, 123, 47, 122, 123, 50, 122, 123, - 122, 123, 122, 123, 122, 123, 122, 123, 122, 123, - 123, 123, 123, 72, 123, 122, 123, 122, 123, 122, - - 123, 123, 122, 123, 123, 123, 122, 123, 123, 106, - 123, 123, 112, 122, 123, 123, 123, 123, 123, 136, - 27, 122, 123, 51, 122, 123, 122, 123, 53, 122, - 123, 122, 123, 122, 123, 61, 122, 123, 122, 123, - 123, 123, 123, 73, 122, 123, 122, 123, 122, 123, - 123, 122, 123, 123, 123, 122, 123, 123, 122, 123, - 123, 115, 123, 123, 123, 123, 27, 40, 122, 123, - 52, 122, 123, 56, 122, 123, 122, 123, 122, 123, - 123, 123, 123, 122, 123, 122, 123, 123, 122, 123, - 123, 123, 122, 123, 123, 122, 123, 123, 123, 123, - - 123, 27, 6, 122, 123, 122, 123, 123, 123, 123, - 79, 122, 123, 81, 122, 123, 82, 123, 122, 123, - 123, 123, 122, 123, 123, 100, 122, 123, 123, 123, - 123, 123, 27, 122, 123, 65, 122, 123, 70, 123, - 123, 71, 123, 122, 123, 87, 123, 123, 95, 122, - 123, 123, 108, 123, 123, 123, 117, 123, 27, 122, - 123, 123, 85, 122, 123, 123, 123, 123, 116, 123, - 27, 122, 123, 69, 123, 123, 97, 123, 113, 123, - 27, 59, 122, 123, 89, 123, 25, 27, 5 - } ; - -static yyconst flex_int16_t yy_accept[770] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 4, 7, 9, 12, 15, 18, 20, 23, 25, 27, - 30, 32, 35, 38, 41, 43, 47, 51, 55, 59, - 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, - 103, 107, 111, 115, 119, 122, 125, 128, 131, 133, - 136, 138, 141, 144, 147, 151, 153, 156, 159, 162, - 165, 167, 170, 173, 175, 178, 181, 184, 187, 191, - 194, 196, 201, 206, 209, 211, 213, 216, 218, 220, - 223, 226, 229, 232, 235, 238, 240, 242, 244, 247, - - 247, 248, 249, 250, 250, 251, 251, 252, 252, 252, - 252, 253, 254, 255, 256, 256, 257, 257, 259, 259, - 259, 261, 263, 265, 267, 269, 271, 272, 274, 276, - 278, 280, 283, 285, 287, 289, 291, 293, 295, 297, - 299, 301, 302, 303, 305, 307, 309, 311, 313, 315, - 317, 319, 320, 322, 324, 327, 329, 330, 332, 334, - 336, 338, 339, 341, 343, 345, 347, 349, 351, 353, - 355, 356, 358, 360, 361, 362, 364, 365, 366, 366, - 367, 367, 367, 367, 367, 368, 369, 370, 371, 372, - 373, 374, 374, 375, 377, 379, 380, 381, 381, 382, - - 382, 382, 383, 384, 384, 384, 385, 385, 386, 386, - 386, 386, 386, 388, 389, 390, 390, 391, 393, 394, - 396, 399, 402, 404, 406, 406, 408, 411, 413, 415, - 417, 419, 421, 423, 425, 427, 429, 431, 434, 436, - 438, 440, 442, 444, 446, 447, 448, 450, 452, 454, - 456, 458, 460, 462, 465, 468, 470, 471, 473, 475, - 477, 478, 480, 483, 485, 487, 489, 490, 492, 494, - 496, 499, 501, 503, 505, 507, 509, 511, 512, 514, - 516, 518, 519, 520, 521, 523, 524, 524, 524, 525, - 526, 527, 529, 532, 533, 533, 534, 534, 535, 536, - - 537, 538, 539, 540, 540, 540, 540, 542, 544, 546, - 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, - 568, 570, 572, 574, 576, 578, 580, 582, 584, 587, - 588, 589, 591, 593, 595, 597, 599, 601, 603, 605, - 607, 610, 611, 613, 615, 617, 618, 620, 622, 624, - 626, 627, 630, 632, 634, 637, 639, 641, 643, 646, - 649, 650, 652, 654, 656, 658, 660, 661, 662, 663, - 666, 666, 666, 666, 666, 667, 669, 669, 669, 671, - 673, 675, 678, 679, 681, 683, 685, 688, 690, 692, - 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, - - 714, 717, 718, 719, 720, 722, 724, 726, 728, 730, - 732, 734, 736, 738, 740, 741, 743, 746, 748, 749, - 751, 751, 753, 755, 756, 758, 760, 762, 764, 765, - 766, 769, 771, 773, 774, 776, 777, 778, 779, 779, - 779, 780, 782, 782, 782, 785, 787, 789, 790, 792, - 794, 797, 799, 801, 803, 805, 807, 809, 811, 813, - 815, 817, 820, 822, 824, 826, 828, 829, 830, 831, - 833, 835, 837, 839, 841, 843, 845, 847, 849, 851, - 851, 852, 855, 857, 858, 860, 862, 864, 866, 867, - 869, 871, 874, 877, 878, 879, 882, 884, 885, 886, - - 887, 888, 889, 889, 889, 891, 891, 891, 893, 895, - 896, 899, 901, 903, 905, 907, 910, 913, 915, 917, - 920, 922, 924, 926, 929, 931, 933, 934, 935, 936, - 938, 940, 943, 946, 948, 950, 952, 955, 957, 959, - 961, 962, 964, 965, 968, 970, 973, 976, 977, 979, - 981, 982, 983, 985, 987, 988, 989, 990, 991, 991, - 993, 993, 993, 995, 997, 998, 1000, 1002, 1004, 1006, - 1008, 1011, 1013, 1015, 1018, 1020, 1023, 1024, 1025, 1026, - 1027, 1029, 1032, 1035, 1038, 1040, 1042, 1043, 1045, 1046, - 1049, 1050, 1052, 1053, 1055, 1058, 1059, 1060, 1062, 1063, - - 1064, 1065, 1066, 1066, 1066, 1068, 1068, 1068, 1070, 1073, - 1075, 1078, 1081, 1083, 1085, 1087, 1087, 1089, 1091, 1092, - 1093, 1094, 1096, 1098, 1100, 1102, 1103, 1105, 1106, 1107, - 1109, 1110, 1110, 1112, 1113, 1116, 1117, 1118, 1119, 1120, - 1120, 1121, 1122, 1122, 1122, 1124, 1127, 1129, 1132, 1134, - 1136, 1139, 1141, 1142, 1143, 1144, 1147, 1149, 1151, 1152, - 1154, 1155, 1156, 1158, 1159, 1161, 1162, 1164, 1165, 1166, - 1167, 1168, 1168, 1168, 1171, 1174, 1177, 1179, 1181, 1182, - 1183, 1184, 1186, 1188, 1189, 1191, 1192, 1193, 1195, 1196, - 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1204, 1206, 1208, - - 1209, 1210, 1211, 1214, 1217, 1219, 1221, 1222, 1223, 1225, - 1226, 1229, 1230, 1231, 1232, 1233, 1234, 1234, 1236, 1239, - 1241, 1242, 1244, 1246, 1248, 1249, 1252, 1253, 1255, 1256, - 1257, 1259, 1260, 1260, 1262, 1263, 1266, 1267, 1268, 1269, - 1271, 1272, 1272, 1274, 1276, 1277, 1279, 1281, 1282, 1282, - 1285, 1287, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, - 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1290, 1290 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 6, 7, 8, 9, 1, 1, 10, 11, 12, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 21, 22, 23, 24, 21, 25, 26, 27, 28, 29, - 30, 31, 1, 12, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 1, 59, 60, 1, 1, 61, 62, 63, 64, - - 65, 66, 67, 68, 69, 70, 66, 71, 72, 73, - 74, 75, 66, 76, 77, 78, 79, 80, 66, 81, - 66, 82, 83, 84, 85, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 86, 1, 1, 1, - 87, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 88, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int32_t yy_meta[89] = - { 0, - 1, 2, 3, 4, 4, 2, 1, 5, 1, 1, - 6, 1, 1, 1, 1, 7, 1, 1, 8, 8, - 8, 8, 8, 8, 8, 8, 9, 1, 1, 9, - 1, 8, 8, 8, 8, 8, 8, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 12, 1, 12, 1, 1, 1 - } ; - -static yyconst flex_int16_t yy_base[796] = - { 0, - 0, 0, 86, 89, 92, 95, 100, 101, 98, 104, - 106, 107, 192, 280, 368, 0, 455, 0, 1756, 1741, - 120, 136, 1737, 1735, 530, 146, 4634, 148, 213, 1728, - 104, 236, 596, 1712, 4634, 646, 279, 303, 285, 482, - 111, 581, 197, 434, 499, 221, 597, 697, 500, 705, - 727, 735, 608, 748, 1679, 105, 1715, 799, 177, 0, - 4634, 4634, 1713, 1712, 4634, 4634, 1704, 1705, 4634, 0, - 0, 1708, 0, 0, 1687, 4634, 4634, 4634, 0, 4634, - 4634, 825, 913, 173, 178, 292, 4634, 1696, 1698, 1689, - 4634, 4634, 4634, 4634, 209, 354, 1670, 1674, 1682, 1687, - - 514, 0, 1686, 1680, 1667, 93, 1666, 855, 1668, 869, - 116, 928, 1660, 4634, 955, 985, 1003, 1013, 1645, 1018, - 764, 854, 951, 1008, 1009, 1024, 1657, 1025, 1068, 1069, - 1084, 1090, 1106, 1112, 1123, 1136, 1139, 1159, 1156, 1167, - 1180, 112, 170, 1195, 1198, 1206, 1221, 1232, 1243, 1249, - 1260, 145, 1273, 1276, 1289, 1297, 146, 1300, 1313, 1324, - 1337, 202, 1353, 1359, 1370, 1376, 1387, 1398, 1404, 1415, - 231, 1421, 1437, 230, 458, 1436, 4634, 4634, 0, 1655, - 825, 1471, 1483, 1581, 0, 4634, 1643, 4634, 0, 4634, - 0, 1625, 0, 1606, 299, 551, 4634, 0, 1633, 1608, - - 0, 1631, 4634, 1628, 0, 1619, 0, 1618, 308, 1594, - 301, 641, 1493, 4634, 1084, 1501, 4634, 1543, 1616, 1495, - 1501, 1517, 1518, 1533, 1615, 1541, 1544, 1593, 1594, 1609, - 1617, 1620, 1633, 1641, 1657, 1663, 1674, 1680, 1691, 1697, - 1708, 1714, 1725, 1736, 209, 254, 1749, 1757, 1760, 1775, - 1778, 1781, 1807, 1799, 1810, 1823, 249, 1831, 1844, 1852, - 289, 1855, 1868, 1876, 1884, 1892, 572, 1905, 1908, 1916, - 1929, 1937, 1945, 1953, 1966, 1974, 1987, 297, 1995, 2011, - 2012, 469, 456, 459, 2027, 1614, 2078, 2086, 4634, 1613, - 4634, 181, 1583, 1587, 1544, 1578, 1533, 1567, 1566, 4634, - - 4634, 4634, 4634, 545, 731, 1525, 2080, 2081, 2096, 2102, - 2113, 2119, 2135, 2136, 2151, 2159, 2167, 2183, 2180, 2191, - 2204, 2207, 2222, 2228, 2239, 2245, 2256, 2271, 2277, 111, - 607, 2288, 2294, 2309, 2310, 2325, 2331, 2346, 2349, 2357, - 2370, 251, 2378, 2381, 2394, 460, 2402, 2415, 2423, 2431, - 446, 2439, 2447, 2460, 2468, 2471, 2489, 2486, 2492, 2507, - 452, 2510, 2513, 2530, 2536, 2547, 573, 632, 642, 2563, - 2598, 2623, 2631, 2643, 1557, 308, 1565, 1522, 2627, 2642, - 2648, 2659, 658, 2677, 2680, 2683, 2698, 2701, 2709, 2722, - 2730, 2743, 2754, 2760, 2771, 2782, 2797, 2803, 2814, 2820, - - 2835, 723, 636, 660, 2836, 2856, 2853, 2874, 2873, 2889, - 2895, 2906, 2919, 2930, 727, 2927, 2943, 2951, 737, 2959, - 229, 2967, 2980, 738, 2993, 2996, 3004, 3017, 794, 748, - 3028, 3034, 3045, 742, 3056, 796, 739, 719, 874, 3107, - 4634, 203, 1507, 1536, 3071, 3092, 3103, 846, 3114, 3120, - 3131, 3137, 3153, 3154, 3169, 3180, 3186, 3203, 3209, 3220, - 3226, 3237, 3243, 3254, 3260, 3276, 847, 731, 848, 3277, - 3292, 3298, 3309, 3315, 3330, 3336, 3347, 3362, 3368, 623, - 853, 3379, 3395, 619, 3392, 1510, 3403, 3416, 715, 3424, - 3439, 3442, 3445, 866, 544, 3460, 3463, 891, 857, 790, - - 892, 903, 3514, 3506, 1509, 1501, 1515, 3508, 3509, 865, - 3524, 3530, 3541, 3547, 3558, 3564, 3575, 3581, 3596, 3597, - 3612, 3618, 3629, 3640, 3646, 3657, 886, 882, 887, 3663, - 3674, 3685, 3691, 3702, 3708, 3723, 3724, 3739, 3745, 1500, - 945, 3756, 921, 3762, 1506, 3773, 3779, 894, 3794, 3800, - 967, 966, 3816, 1525, 923, 951, 950, 997, 3851, 591, - 1488, 0, 3845, 3817, 947, 3846, 3861, 3872, 3878, 3889, - 3895, 3910, 3913, 3921, 3934, 3937, 884, 1043, 1046, 999, - 3952, 3958, 3969, 3975, 3986, 3992, 969, 1498, 1102, 4003, - 971, 1493, 953, 4014, 4020, 1110, 1118, 4031, 973, 972, - - 1112, 1127, 4082, 4107, 611, 1490, 1462, 4046, 4091, 1484, - 4092, 4107, 4113, 4128, 4129, 749, 4144, 4150, 1144, 1057, - 1145, 1483, 4161, 4172, 4183, 1116, 1438, 1160, 1124, 1432, - 1147, 1028, 1460, 1193, 4189, 1131, 1179, 1138, 1221, 1596, - 4634, 1438, 1418, 1394, 4200, 4206, 4221, 4222, 4237, 1411, - 4238, 4253, 1155, 1158, 1201, 4259, 4270, 4281, 1162, 1410, - 1214, 1228, 1400, 1230, 1393, 1241, 1413, 1246, 1283, 1244, - 1353, 1355, 1306, 4287, 4298, 4304, 1309, 4315, 1258, 104, - 1264, 4326, 4332, 1271, 1251, 1295, 1284, 1234, 1286, 1232, - 1299, 1319, 1310, 1301, 1218, 4634, 1185, 1208, 4347, 1323, - - 1339, 1334, 4348, 4363, 1232, 1164, 1345, 1313, 1109, 1347, - 0, 1359, 1367, 1362, 1371, 1099, 1083, 1097, 4364, 1125, - 1217, 1049, 934, 954, 1375, 0, 1428, 930, 1459, 1398, - 880, 822, 791, 819, 1381, 0, 1378, 1469, 1523, 782, - 743, 720, 732, 755, 1348, 753, 751, 723, 689, 0, - 648, 0, 572, 605, 482, 436, 406, 394, 288, 273, - 280, 165, 1250, 1566, 130, 119, 4634, 4634, 4416, 4428, - 4440, 4452, 4464, 4476, 4487, 4489, 4500, 4512, 4524, 4535, - 4546, 4551, 4556, 4560, 4565, 4569, 4574, 4578, 4582, 4586, - 4589, 4593, 4604, 4610, 4621 - - } ; - -static yyconst flex_int16_t yy_def[796] = - { 0, - 768, 1, 769, 769, 769, 769, 770, 770, 771, 771, - 772, 772, 773, 773, 768, 15, 15, 17, 768, 768, - 768, 768, 768, 774, 768, 775, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 768, 768, 776, 768, 768, 777, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 778, - 778, 768, 779, 779, 768, 768, 768, 768, 780, 768, - 768, 781, 781, 768, 768, 25, 768, 768, 768, 782, - 768, 768, 768, 768, 768, 768, 768, 768, 783, 768, - - 768, 774, 774, 768, 784, 768, 785, 775, 775, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 786, - 36, 36, 36, 36, 36, 36, 787, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 787, 787, 36, 36, 36, 36, 36, 36, 36, - 36, 787, 36, 36, 36, 36, 787, 36, 36, 36, - 36, 787, 36, 36, 36, 36, 36, 36, 36, 36, - 787, 36, 36, 787, 787, 36, 768, 768, 788, 776, - 768, 768, 768, 768, 777, 768, 768, 768, 778, 768, - 779, 768, 780, 83, 83, 768, 768, 789, 782, 768, - - 790, 783, 768, 768, 791, 784, 792, 785, 768, 768, - 793, 768, 768, 768, 768, 768, 768, 786, 794, 36, - 36, 36, 36, 36, 794, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 787, 787, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 787, 36, 36, 36, - 787, 36, 36, 36, 36, 36, 787, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 787, 36, 36, - 36, 787, 787, 787, 36, 788, 768, 768, 768, 768, - 768, 83, 83, 789, 768, 790, 768, 791, 792, 768, - - 768, 768, 768, 793, 768, 768, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 787, - 787, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 787, 36, 36, 36, 787, 36, 36, 36, 36, - 787, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 787, 36, 36, 36, 36, 36, 787, 787, 787, 36, - 768, 768, 768, 768, 768, 83, 768, 768, 36, 36, - 36, 36, 787, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - - 36, 787, 787, 787, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 787, 36, 36, 36, 787, 36, - 218, 36, 36, 787, 36, 36, 36, 36, 787, 787, - 36, 36, 36, 787, 36, 787, 787, 787, 768, 768, - 768, 83, 768, 768, 36, 36, 36, 787, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 787, 787, 787, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 218, - 787, 36, 36, 787, 36, 218, 36, 36, 787, 36, - 36, 36, 36, 787, 787, 36, 36, 787, 787, 787, - - 787, 787, 768, 768, 83, 768, 768, 36, 36, 787, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 787, 787, 787, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 218, - 787, 36, 787, 36, 218, 36, 36, 787, 36, 36, - 787, 787, 36, 787, 787, 787, 787, 787, 768, 83, - 768, 795, 36, 36, 787, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 787, 787, 787, 787, - 36, 36, 36, 36, 36, 36, 787, 218, 787, 36, - 787, 218, 787, 36, 36, 787, 787, 36, 787, 787, - - 787, 787, 768, 768, 83, 768, 768, 36, 36, 787, - 36, 36, 36, 36, 36, 218, 36, 36, 787, 787, - 787, 787, 36, 36, 36, 787, 218, 787, 787, 218, - 787, 218, 787, 787, 36, 787, 787, 787, 787, 768, - 768, 780, 768, 768, 36, 36, 36, 36, 36, 218, - 36, 36, 787, 787, 787, 36, 36, 36, 787, 218, - 787, 787, 218, 787, 218, 787, 787, 787, 787, 787, - 780, 768, 768, 36, 36, 36, 218, 36, 787, 787, - 787, 36, 36, 787, 218, 787, 787, 218, 787, 218, - 787, 787, 787, 787, 780, 768, 768, 218, 36, 787, - - 787, 787, 36, 36, 787, 218, 787, 787, 218, 787, - 218, 787, 787, 787, 787, 780, 768, 218, 36, 787, - 787, 787, 218, 787, 787, 218, 787, 787, 787, 787, - 787, 780, 768, 218, 787, 218, 787, 787, 787, 787, - 780, 768, 218, 787, 787, 787, 787, 780, 768, 218, - 787, 780, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 0, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768 - - } ; - -static yyconst flex_int16_t yy_nxt[4723] = - { 0, - 20, 21, 22, 21, 21, 21, 23, 24, 20, 25, - 26, 27, 20, 28, 27, 29, 30, 31, 32, 33, - 33, 33, 33, 33, 33, 33, 34, 23, 35, 35, - 20, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 43, 43, 43, 45, 46, 47, 48, 43, 49, 50, - 51, 52, 53, 54, 43, 43, 43, 55, 56, 23, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 58, 23, 27, 20, 20, 59, 61, 62, - 62, 61, 62, 62, 61, 62, 62, 61, 62, 62, - - 71, 63, 66, 66, 63, 72, 71, 64, 74, 74, - 64, 72, 67, 67, 100, 100, 114, 68, 68, 225, - 104, 101, 101, 101, 101, 101, 225, 225, 69, 69, - 100, 211, 75, 75, 767, 76, 76, 101, 101, 101, - 101, 101, 140, 121, 212, 766, 100, 108, 108, 108, - 108, 108, 106, 121, 701, 121, 100, 121, 100, 141, - 225, 225, 121, 178, 108, 108, 110, 110, 110, 110, - 110, 110, 110, 110, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 245, 225, 402, 100, 77, 77, - 78, 78, 79, 80, 81, 80, 80, 80, 79, 79, - - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 101, 101, 101, 101, 101, 261, 257, 225, 79, 79, - 79, 79, 79, 100, 225, 194, 376, 83, 111, 121, - 246, 110, 112, 112, 112, 112, 112, 112, 112, 121, - 763, 121, 505, 121, 768, 225, 225, 194, 121, 79, - 79, 79, 115, 121, 116, 116, 116, 116, 116, 116, - 116, 116, 184, 121, 225, 121, 225, 121, 486, 225, - 267, 117, 151, 330, 80, 79, 80, 79, 79, 79, - 79, 80, 81, 80, 80, 80, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 282, 152, - - 117, 278, 768, 303, 225, 303, 79, 79, 79, 79, - 79, 121, 225, 342, 128, 83, 304, 121, 129, 768, - 136, 121, 130, 121, 131, 121, 415, 121, 331, 121, - 121, 121, 292, 293, 132, 121, 121, 79, 79, 79, - 300, 133, 442, 194, 762, 134, 301, 121, 135, 121, - 761, 768, 194, 346, 121, 101, 101, 101, 101, 101, - 760, 361, 80, 79, 80, 79, 79, 79, 35, 84, - 85, 84, 84, 84, 35, 35, 35, 86, 35, 35, - 35, 35, 87, 88, 35, 89, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 90, - - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 91, 92, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 93, 35, 94, 35, 35, 35, 95, 96, 95, 95, - 95, 225, 759, 97, 35, 144, 121, 225, 145, 35, - 35, 225, 35, 225, 225, 225, 121, 146, 147, 758, - 121, 98, 757, 148, 225, 121, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 35, 35, 121, 101, 101, 101, 101, 101, - 368, 283, 419, 424, 121, 137, 138, 369, 121, 430, - 149, 121, 121, 121, 284, 163, 139, 35, 150, 35, - 100, 121, 121, 121, 121, 121, 121, 303, 367, 303, - 121, 121, 196, 196, 196, 196, 196, 104, 756, 225, - 304, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 225, 225, 106, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 115, 121, 118, 118, 118, 118, 118, 118, - 118, 118, 225, 121, 552, 121, 642, 121, 605, 153, - 154, 117, 121, 155, 225, 194, 755, 436, 768, 121, - 121, 121, 305, 156, 351, 142, 305, 225, 121, 754, - 121, 225, 121, 543, 121, 194, 143, 225, 157, 121, - 117, 120, 540, 225, 121, 121, 121, 121, 121, 121, - 121, 121, 306, 225, 403, 225, 175, 121, 122, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 123, 121, - 124, 121, 125, 121, 121, 121, 121, 126, 121, 121, - - 121, 121, 121, 438, 468, 437, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 158, 121, - 225, 159, 305, 448, 225, 469, 305, 121, 225, 160, - 164, 121, 225, 121, 165, 161, 225, 121, 121, 121, - 168, 121, 225, 225, 225, 166, 121, 225, 169, 121, - 167, 753, 306, 225, 768, 752, 225, 121, 225, 121, - 225, 121, 162, 121, 750, 170, 548, 121, 121, 172, - 121, 121, 650, 467, 749, 173, 121, 176, 748, 502, - 121, 171, 121, 528, 121, 481, 121, 225, 489, 121, - - 181, 181, 181, 181, 181, 225, 121, 174, 121, 225, - 121, 225, 495, 498, 484, 121, 501, 182, 182, 182, - 182, 182, 182, 183, 183, 193, 181, 181, 181, 181, - 181, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 182, 182, 182, 182, 182, 182, 183, - 183, 193, 193, 193, 193, 193, 108, 108, 108, 108, - 108, 225, 225, 225, 743, 209, 556, 742, 225, 494, - 741, 500, 225, 108, 108, 439, 439, 439, 439, 439, - 225, 225, 193, 193, 193, 115, 121, 116, 116, 116, - 116, 116, 116, 116, 116, 225, 121, 225, 121, 225, - - 121, 225, 225, 220, 117, 121, 225, 225, 193, 225, - 193, 193, 193, 193, 510, 541, 529, 527, 225, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 579, 555, 117, 551, 577, 225, 565, 225, 193, - 193, 193, 193, 193, 115, 225, 213, 213, 213, 213, - 213, 213, 213, 213, 578, 554, 557, 195, 441, 580, - 225, 619, 225, 117, 593, 225, 225, 558, 225, 225, - 193, 193, 193, 215, 215, 215, 215, 215, 215, 215, - 215, 225, 225, 121, 225, 591, 225, 225, 225, 736, - 117, 599, 117, 221, 589, 121, 193, 121, 193, 193, - - 193, 115, 121, 116, 116, 116, 116, 116, 116, 116, - 116, 600, 225, 610, 225, 597, 216, 631, 216, 117, - 117, 215, 215, 215, 215, 215, 215, 215, 215, 115, - 601, 118, 118, 118, 118, 118, 118, 118, 118, 596, - 121, 121, 637, 768, 626, 636, 602, 629, 117, 117, - 121, 121, 121, 121, 121, 223, 121, 121, 225, 121, - 121, 225, 226, 222, 225, 622, 121, 121, 121, 121, - 121, 121, 225, 665, 224, 121, 121, 117, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - - 121, 121, 215, 215, 215, 215, 215, 215, 215, 215, - 121, 121, 121, 121, 121, 228, 121, 225, 227, 121, - 121, 654, 121, 621, 620, 225, 121, 225, 121, 229, - 121, 225, 121, 225, 121, 121, 121, 230, 121, 225, - 225, 121, 225, 232, 121, 734, 225, 733, 121, 732, - 121, 231, 121, 225, 121, 121, 121, 121, 121, 225, - 225, 638, 225, 121, 726, 121, 233, 234, 121, 121, - 225, 236, 235, 225, 121, 225, 633, 225, 121, 628, - 121, 121, 121, 121, 659, 121, 662, 121, 121, 240, - 121, 121, 237, 238, 225, 634, 664, 667, 121, 121, - - 121, 121, 241, 121, 639, 121, 242, 121, 225, 243, - 239, 121, 121, 121, 723, 669, 225, 247, 121, 653, - 655, 680, 121, 679, 121, 244, 121, 121, 668, 225, - 121, 121, 225, 248, 684, 661, 225, 121, 121, 121, - 121, 121, 121, 225, 121, 225, 121, 225, 121, 121, - 121, 764, 249, 121, 250, 764, 225, 121, 718, 225, - 717, 225, 716, 121, 121, 121, 711, 121, 666, 681, - 251, 252, 121, 225, 121, 121, 121, 253, 121, 225, - 765, 121, 686, 121, 709, 121, 225, 121, 735, 121, - 706, 121, 121, 255, 121, 121, 670, 254, 225, 225, - - 121, 225, 256, 687, 121, 121, 121, 689, 121, 691, - 225, 121, 694, 258, 225, 121, 225, 121, 121, 121, - 121, 121, 121, 692, 121, 225, 259, 121, 225, 121, - 700, 121, 121, 121, 225, 121, 702, 705, 225, 121, - 121, 121, 121, 121, 121, 121, 121, 260, 121, 225, - 262, 121, 708, 698, 225, 121, 121, 121, 693, 121, - 225, 710, 225, 225, 121, 263, 121, 707, 121, 121, - 121, 712, 265, 715, 225, 264, 266, 225, 714, 121, - 697, 121, 225, 121, 268, 121, 225, 725, 121, 720, - 225, 121, 696, 225, 713, 269, 225, 121, 695, 121, - - 722, 121, 121, 121, 121, 121, 270, 721, 121, 271, - 121, 724, 121, 225, 121, 727, 121, 275, 121, 121, - 121, 121, 121, 751, 273, 728, 272, 121, 225, 121, - 121, 274, 690, 121, 730, 729, 121, 731, 121, 688, - 121, 276, 121, 225, 121, 744, 121, 121, 121, 121, - 121, 745, 737, 121, 685, 121, 677, 121, 673, 121, - 279, 121, 672, 121, 740, 121, 277, 121, 121, 121, - 280, 671, 121, 281, 225, 225, 663, 660, 121, 121, - 121, 121, 121, 121, 225, 287, 285, 121, 121, 183, - 183, 183, 183, 183, 183, 183, 183, 288, 225, 225, - - 738, 183, 183, 183, 183, 183, 183, 183, 183, 115, - 644, 213, 213, 213, 213, 213, 213, 213, 213, 215, - 215, 215, 215, 215, 215, 215, 215, 121, 117, 643, - 307, 739, 630, 121, 627, 746, 606, 121, 225, 121, - 225, 121, 592, 121, 588, 121, 121, 121, 562, 121, - 121, 561, 121, 560, 545, 507, 506, 117, 120, 121, - 308, 121, 121, 121, 121, 121, 444, 764, 121, 121, - 443, 764, 375, 121, 378, 121, 121, 121, 309, 121, - 310, 207, 205, 121, 121, 121, 121, 121, 121, 747, - 121, 203, 121, 201, 377, 121, 765, 640, 640, 640, - - 640, 640, 198, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 121, 121, 194, 375, 179, - 768, 225, 301, 207, 205, 121, 312, 121, 121, 121, - 121, 121, 311, 297, 121, 121, 201, 295, 198, 121, - 194, 121, 121, 121, 291, 121, 314, 313, 290, 121, - 121, 121, 121, 121, 121, 121, 121, 289, 121, 315, - 179, 121, 225, 121, 217, 121, 214, 121, 210, 316, - 641, 207, 205, 121, 121, 121, 204, 121, 319, 121, - 317, 318, 121, 203, 203, 121, 320, 201, 321, 121, - - 119, 121, 200, 121, 198, 121, 121, 121, 121, 121, - 114, 197, 121, 192, 121, 190, 121, 114, 121, 322, - 121, 188, 121, 121, 121, 121, 121, 187, 186, 121, - 179, 121, 324, 121, 323, 121, 177, 121, 119, 121, - 121, 121, 121, 121, 113, 103, 121, 100, 121, 327, - 325, 100, 121, 326, 121, 768, 121, 121, 121, 121, - 121, 768, 768, 768, 768, 121, 768, 121, 121, 121, - 768, 121, 768, 768, 328, 768, 121, 768, 121, 329, - 121, 121, 121, 768, 768, 768, 768, 121, 768, 121, - 768, 121, 121, 121, 768, 121, 768, 768, 332, 121, - - 121, 333, 334, 121, 121, 335, 121, 121, 121, 768, - 121, 121, 768, 121, 768, 768, 338, 336, 768, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 337, 121, - 339, 121, 121, 768, 768, 768, 768, 768, 768, 121, - 768, 121, 121, 121, 768, 121, 768, 768, 768, 121, - 121, 121, 121, 121, 121, 121, 121, 768, 121, 768, - 768, 340, 768, 121, 768, 341, 343, 121, 768, 121, - 768, 768, 768, 121, 121, 121, 121, 121, 768, 344, - 768, 768, 121, 768, 121, 768, 121, 121, 121, 768, - 121, 345, 768, 768, 121, 121, 121, 121, 121, 121, - - 121, 121, 768, 121, 768, 347, 121, 768, 121, 768, - 121, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 768, 121, 768, 121, 348, 121, 121, 121, 768, - 121, 768, 768, 349, 121, 121, 121, 121, 121, 353, - 121, 768, 768, 121, 350, 768, 768, 352, 121, 121, - 121, 121, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 768, 768, 768, 354, 768, 121, - 768, 121, 355, 121, 768, 121, 768, 121, 768, 121, - 121, 121, 768, 121, 356, 121, 768, 121, 121, 121, - 768, 121, 768, 768, 768, 121, 121, 121, 121, 121, - - 768, 768, 768, 357, 121, 768, 121, 768, 121, 768, - 121, 768, 121, 768, 768, 358, 121, 121, 121, 121, - 121, 768, 360, 359, 768, 121, 768, 121, 768, 121, - 768, 121, 768, 121, 768, 768, 366, 121, 121, 121, - 362, 121, 363, 121, 121, 768, 121, 364, 768, 768, - 768, 768, 768, 121, 121, 121, 121, 121, 121, 121, - 768, 365, 121, 121, 768, 370, 768, 768, 768, 121, - 768, 121, 768, 121, 768, 768, 768, 768, 121, 371, - 371, 371, 371, 371, 768, 768, 768, 373, 373, 373, - 373, 373, 768, 768, 768, 768, 372, 372, 372, 372, - - 372, 372, 372, 372, 374, 374, 374, 374, 374, 374, - 374, 374, 121, 121, 768, 768, 768, 768, 768, 768, - 380, 768, 121, 121, 379, 121, 121, 121, 121, 768, - 768, 121, 121, 768, 121, 768, 768, 768, 121, 381, - 121, 768, 121, 768, 121, 121, 382, 121, 121, 768, - 768, 121, 768, 121, 384, 121, 768, 121, 768, 121, - 768, 121, 768, 121, 121, 121, 385, 121, 121, 386, - 121, 768, 768, 768, 768, 768, 768, 121, 121, 121, - 121, 121, 121, 121, 768, 768, 121, 121, 768, 768, - 383, 121, 768, 121, 768, 121, 768, 121, 768, 121, - - 387, 121, 121, 121, 388, 121, 768, 768, 768, 121, - 121, 121, 121, 121, 390, 121, 768, 389, 121, 768, - 768, 768, 121, 121, 121, 121, 121, 121, 768, 121, - 768, 391, 768, 121, 121, 392, 121, 121, 393, 121, - 768, 394, 121, 768, 768, 768, 121, 768, 121, 121, - 121, 121, 768, 121, 121, 121, 768, 395, 121, 768, - 121, 768, 768, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 396, 768, 768, 121, 397, 121, - 768, 121, 768, 121, 768, 121, 768, 121, 121, 121, - 121, 121, 768, 398, 768, 768, 121, 768, 121, 768, - - 399, 768, 121, 121, 400, 768, 401, 121, 768, 121, - 768, 768, 768, 121, 768, 121, 768, 121, 768, 121, - 121, 121, 121, 121, 768, 768, 121, 768, 121, 768, - 121, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 405, 121, 768, 768, 406, 768, - 768, 121, 121, 121, 121, 121, 121, 121, 407, 768, - 121, 121, 409, 121, 768, 404, 768, 121, 768, 121, - 413, 121, 768, 121, 768, 121, 408, 121, 121, 410, - 768, 121, 121, 411, 768, 768, 768, 768, 121, 121, - 121, 121, 121, 121, 412, 121, 768, 121, 768, 121, - - 121, 121, 121, 121, 768, 768, 414, 768, 121, 768, - 121, 416, 121, 121, 121, 768, 121, 768, 768, 768, - 121, 121, 121, 121, 121, 121, 121, 121, 768, 121, - 421, 417, 121, 768, 121, 768, 121, 420, 121, 418, - 121, 768, 768, 768, 121, 121, 121, 121, 121, 768, - 768, 768, 768, 121, 768, 121, 768, 121, 422, 121, - 768, 121, 423, 121, 768, 121, 121, 121, 768, 121, - 768, 121, 768, 121, 121, 121, 768, 121, 768, 121, - 768, 121, 121, 121, 768, 121, 768, 768, 768, 121, - 121, 121, 121, 121, 768, 426, 768, 425, 121, 768, - - 121, 768, 121, 121, 121, 768, 121, 768, 768, 768, - 121, 121, 121, 121, 121, 427, 768, 121, 121, 121, - 428, 121, 121, 768, 121, 768, 768, 768, 121, 768, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 768, 121, 121, 768, 121, 768, 768, 768, 121, - 768, 121, 121, 121, 431, 121, 121, 121, 121, 121, - 768, 121, 121, 429, 432, 433, 768, 768, 121, 768, - 768, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 768, 768, 768, 121, 768, 121, - 768, 121, 768, 121, 768, 121, 435, 768, 121, 371, - - 371, 371, 371, 371, 434, 121, 768, 121, 768, 121, - 768, 768, 768, 768, 121, 768, 372, 372, 372, 372, - 372, 372, 372, 372, 439, 439, 439, 439, 439, 768, - 768, 768, 373, 373, 373, 373, 373, 440, 768, 768, - 768, 372, 372, 372, 372, 372, 372, 372, 372, 374, - 374, 374, 374, 374, 374, 374, 374, 440, 768, 121, - 768, 374, 374, 374, 374, 374, 374, 374, 374, 121, - 768, 121, 768, 121, 121, 446, 768, 445, 121, 447, - 121, 768, 768, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 121, 768, 768, 768, 768, 121, - - 768, 121, 768, 121, 768, 121, 768, 441, 449, 121, - 121, 768, 121, 450, 768, 121, 768, 768, 451, 121, - 768, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 768, 121, 121, 768, 768, 768, 768, 768, - 121, 121, 121, 121, 121, 452, 768, 121, 768, 121, - 768, 121, 121, 121, 121, 121, 768, 453, 768, 768, - 121, 454, 121, 768, 121, 768, 121, 768, 121, 768, - 768, 768, 455, 121, 121, 121, 121, 768, 456, 768, - 768, 121, 457, 768, 768, 121, 121, 121, 458, 121, - 768, 768, 121, 768, 121, 459, 121, 768, 121, 460, - - 121, 768, 121, 121, 121, 121, 121, 768, 768, 768, - 768, 121, 768, 121, 121, 121, 768, 121, 768, 461, - 768, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 463, 768, 462, 121, 768, 121, 768, 768, 768, 121, - 768, 121, 768, 121, 768, 121, 121, 121, 121, 121, - 768, 768, 121, 464, 121, 768, 121, 768, 121, 768, - 121, 768, 121, 465, 466, 121, 121, 121, 121, 768, - 768, 121, 768, 768, 768, 470, 768, 121, 121, 121, - 121, 121, 121, 768, 768, 121, 121, 121, 121, 471, - 768, 472, 768, 768, 768, 121, 768, 121, 121, 121, - - 121, 768, 121, 473, 121, 121, 121, 121, 474, 768, - 768, 768, 768, 768, 768, 121, 121, 475, 121, 121, - 121, 121, 768, 768, 121, 121, 768, 121, 768, 768, - 477, 121, 768, 121, 768, 121, 768, 121, 121, 121, - 476, 121, 479, 768, 768, 480, 121, 768, 121, 768, - 121, 121, 121, 768, 768, 478, 768, 121, 768, 121, - 768, 121, 121, 121, 768, 121, 768, 768, 768, 121, - 121, 121, 121, 121, 121, 121, 121, 482, 121, 768, - 768, 121, 768, 121, 768, 121, 768, 121, 768, 121, - 768, 121, 768, 121, 121, 483, 768, 121, 768, 121, - - 768, 121, 121, 121, 768, 121, 768, 485, 768, 121, - 121, 487, 121, 121, 768, 768, 768, 768, 121, 768, - 768, 768, 121, 768, 121, 121, 121, 768, 121, 768, - 488, 121, 490, 768, 768, 121, 121, 121, 121, 121, - 491, 492, 121, 768, 121, 768, 121, 121, 121, 121, - 121, 768, 768, 768, 768, 121, 768, 768, 768, 121, - 121, 121, 768, 121, 768, 768, 121, 768, 121, 496, - 121, 493, 121, 768, 121, 768, 121, 121, 121, 121, - 121, 768, 768, 768, 768, 121, 768, 121, 121, 121, - 768, 121, 768, 497, 768, 768, 121, 768, 121, 768, - - 121, 768, 121, 121, 768, 768, 768, 121, 503, 503, - 503, 503, 503, 121, 768, 121, 768, 121, 768, 768, - 768, 768, 121, 508, 121, 504, 504, 504, 504, 504, - 504, 504, 504, 499, 121, 121, 121, 768, 121, 768, - 768, 768, 768, 121, 768, 121, 121, 121, 768, 121, - 768, 768, 121, 509, 121, 768, 121, 768, 511, 768, - 121, 768, 121, 121, 121, 121, 121, 768, 768, 121, - 512, 121, 513, 121, 768, 121, 768, 121, 768, 121, - 768, 121, 121, 121, 514, 121, 121, 768, 121, 768, - 768, 768, 768, 768, 768, 121, 121, 121, 515, 121, - - 121, 121, 768, 768, 121, 121, 768, 768, 768, 768, - 768, 121, 121, 121, 517, 121, 768, 768, 121, 516, - 121, 768, 121, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 768, 768, 121, 518, 121, 519, 768, - 768, 121, 768, 520, 768, 121, 768, 121, 768, 121, - 768, 121, 121, 121, 121, 121, 768, 522, 121, 768, - 121, 768, 121, 768, 521, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 768, 121, 768, 121, 768, 121, - 768, 121, 523, 121, 768, 121, 121, 121, 121, 121, - 768, 768, 121, 768, 121, 768, 121, 768, 121, 525, - - 121, 768, 121, 524, 121, 121, 121, 526, 121, 121, - 768, 121, 768, 530, 768, 768, 768, 768, 121, 121, - 121, 121, 121, 121, 121, 768, 768, 121, 121, 768, - 121, 531, 532, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 121, 768, 768, 121, 768, 121, - 534, 121, 768, 121, 768, 121, 768, 121, 533, 121, - 121, 121, 121, 535, 768, 768, 121, 768, 121, 536, - 768, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 768, 768, 768, 121, 768, 121, - 768, 121, 768, 121, 121, 537, 768, 538, 121, 768, - - 121, 768, 768, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 121, 768, 768, 539, 768, 121, - 768, 121, 768, 121, 121, 121, 542, 121, 768, 768, - 121, 768, 768, 768, 121, 121, 544, 121, 121, 121, - 768, 121, 768, 121, 768, 121, 121, 121, 121, 121, - 768, 547, 768, 546, 121, 768, 121, 768, 121, 768, - 121, 768, 121, 768, 768, 768, 121, 121, 121, 768, - 121, 121, 550, 768, 121, 121, 549, 121, 768, 768, - 768, 121, 768, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 768, 121, 121, 768, 768, 768, - - 768, 768, 121, 768, 121, 121, 121, 121, 768, 121, - 768, 121, 553, 768, 121, 503, 503, 503, 503, 503, - 559, 768, 768, 768, 504, 504, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, - 121, 121, 768, 768, 768, 768, 768, 768, 564, 768, - 121, 121, 121, 121, 121, 121, 121, 768, 563, 121, - 121, 768, 121, 768, 768, 566, 121, 768, 121, 768, - 121, 768, 121, 121, 121, 121, 121, 768, 768, 121, - 768, 121, 768, 121, 768, 567, 568, 121, 768, 121, - 121, 121, 121, 121, 768, 768, 121, 569, 121, 768, - - 121, 768, 121, 768, 121, 768, 121, 121, 121, 121, - 121, 768, 768, 121, 768, 121, 768, 121, 768, 121, - 570, 121, 768, 121, 768, 121, 121, 121, 121, 121, - 571, 768, 121, 768, 768, 768, 768, 768, 121, 121, - 121, 121, 121, 121, 121, 768, 768, 121, 121, 572, - 121, 768, 768, 768, 121, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 121, 768, 768, 768, 573, 121, - 768, 121, 121, 121, 768, 121, 768, 768, 575, 574, - 121, 768, 121, 768, 121, 768, 121, 768, 121, 121, - 121, 121, 121, 768, 768, 121, 768, 121, 768, 576, - - 768, 121, 581, 121, 768, 121, 121, 121, 121, 121, - 768, 768, 768, 768, 121, 768, 121, 121, 121, 768, - 121, 768, 768, 121, 582, 121, 768, 121, 768, 121, - 768, 121, 768, 121, 121, 121, 121, 121, 768, 768, - 121, 768, 121, 584, 121, 768, 121, 768, 121, 768, - 121, 583, 121, 121, 121, 121, 121, 768, 768, 121, - 768, 768, 768, 768, 768, 121, 121, 121, 121, 121, - 121, 121, 586, 585, 121, 121, 768, 121, 768, 768, - 768, 121, 768, 121, 768, 121, 768, 121, 121, 121, - 121, 121, 768, 768, 121, 768, 121, 768, 590, 768, - - 121, 768, 121, 768, 121, 121, 121, 121, 121, 768, - 768, 121, 768, 121, 768, 121, 768, 121, 768, 121, - 768, 121, 587, 121, 121, 121, 121, 768, 768, 594, - 121, 768, 121, 768, 768, 595, 121, 768, 121, 768, - 121, 768, 121, 768, 121, 121, 121, 598, 121, 121, - 609, 121, 603, 603, 603, 603, 603, 768, 121, 121, - 121, 121, 121, 121, 768, 768, 768, 121, 121, 604, - 604, 604, 604, 604, 604, 604, 604, 121, 121, 768, - 768, 768, 768, 768, 608, 768, 768, 121, 121, 121, - 121, 121, 121, 121, 611, 768, 121, 121, 768, 768, - - 768, 768, 768, 121, 121, 121, 768, 121, 768, 768, - 121, 612, 121, 768, 121, 768, 613, 768, 121, 768, - 121, 121, 614, 121, 121, 616, 768, 121, 768, 121, - 768, 121, 768, 121, 615, 121, 768, 121, 768, 121, - 121, 121, 121, 768, 768, 121, 121, 768, 617, 768, - 768, 768, 121, 121, 121, 121, 121, 121, 768, 121, - 768, 121, 768, 121, 121, 121, 121, 121, 768, 121, - 768, 768, 121, 618, 768, 768, 121, 768, 121, 121, - 121, 121, 768, 121, 121, 121, 768, 623, 121, 768, - 121, 768, 768, 768, 121, 768, 121, 768, 121, 768, - - 121, 121, 121, 121, 121, 768, 768, 121, 768, 121, - 768, 121, 768, 121, 768, 121, 768, 121, 121, 121, - 121, 121, 768, 768, 121, 624, 121, 768, 121, 632, - 121, 768, 121, 768, 121, 121, 121, 121, 121, 768, - 768, 768, 625, 121, 768, 121, 121, 121, 768, 121, - 768, 768, 121, 768, 121, 768, 121, 768, 121, 768, - 121, 768, 121, 121, 121, 121, 121, 768, 768, 768, - 768, 121, 768, 635, 768, 121, 768, 121, 121, 768, - 768, 768, 121, 603, 603, 603, 603, 603, 121, 768, - 121, 645, 121, 768, 768, 768, 768, 121, 768, 768, - - 604, 604, 604, 604, 604, 604, 604, 604, 640, 640, - 640, 640, 640, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 121, 121, 604, 604, 604, 604, 604, - 604, 604, 604, 121, 121, 121, 121, 121, 121, 121, - 768, 768, 121, 121, 768, 121, 768, 768, 647, 121, - 768, 121, 768, 121, 768, 121, 646, 121, 121, 121, - 121, 121, 768, 768, 121, 648, 768, 768, 768, 768, - 121, 121, 121, 649, 121, 121, 121, 768, 651, 121, - 121, 768, 121, 768, 768, 768, 121, 768, 121, 768, - 121, 641, 652, 121, 121, 121, 121, 768, 768, 768, - - 768, 121, 768, 121, 121, 121, 768, 121, 768, 656, - 768, 768, 121, 768, 121, 121, 121, 657, 121, 768, - 768, 121, 658, 121, 768, 121, 768, 121, 768, 121, - 768, 121, 121, 121, 121, 121, 768, 768, 121, 768, - 121, 768, 121, 768, 674, 768, 121, 768, 121, 768, - 121, 121, 121, 121, 121, 675, 768, 121, 768, 768, - 768, 768, 768, 121, 121, 121, 121, 121, 121, 121, - 121, 768, 121, 121, 768, 768, 768, 768, 768, 121, - 121, 121, 121, 121, 121, 121, 676, 768, 121, 121, - 768, 121, 678, 768, 768, 121, 768, 121, 768, 121, - - 768, 121, 121, 121, 121, 121, 768, 768, 768, 768, - 121, 768, 121, 121, 682, 768, 121, 768, 768, 121, - 768, 121, 768, 121, 768, 121, 683, 121, 768, 121, - 121, 121, 121, 121, 768, 768, 121, 768, 121, 768, - 121, 768, 121, 768, 121, 768, 121, 121, 121, 121, - 121, 768, 768, 768, 768, 121, 768, 121, 121, 121, - 768, 121, 768, 768, 121, 699, 121, 768, 121, 768, - 121, 768, 121, 768, 121, 703, 704, 121, 121, 121, - 121, 768, 768, 121, 768, 768, 768, 768, 768, 121, - 121, 121, 121, 121, 121, 121, 121, 768, 121, 121, - - 768, 768, 719, 768, 768, 121, 121, 121, 121, 121, - 121, 768, 768, 768, 121, 121, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 65, 65, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 102, 102, 102, 102, - 768, 102, 102, 102, 102, 102, 102, 102, 109, 109, - 109, 768, 109, 768, 109, 180, 180, 768, 180, 180, - - 185, 185, 768, 768, 185, 185, 768, 185, 185, 185, - 185, 185, 189, 189, 189, 189, 768, 189, 189, 189, - 189, 189, 189, 189, 191, 191, 191, 191, 191, 191, - 191, 191, 768, 191, 191, 193, 768, 768, 768, 193, - 193, 193, 193, 193, 193, 193, 194, 768, 768, 768, - 194, 194, 194, 194, 194, 194, 194, 199, 199, 768, - 199, 199, 202, 202, 768, 202, 206, 206, 768, 206, - 206, 208, 208, 768, 208, 208, 218, 768, 218, 218, - 127, 127, 768, 127, 127, 286, 768, 286, 286, 294, - 768, 294, 294, 296, 768, 296, 298, 768, 298, 298, - - 299, 768, 299, 299, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 219, 219, 768, 219, - 219, 607, 607, 768, 607, 607, 607, 607, 607, 607, - 607, 607, 607, 19, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768 - } ; - -static yyconst flex_int16_t yy_chk[4723] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, - - 9, 3, 7, 8, 4, 9, 10, 5, 11, 12, - 6, 10, 7, 8, 31, 56, 31, 7, 8, 680, - 106, 21, 21, 21, 21, 21, 330, 142, 7, 8, - 21, 111, 11, 12, 766, 11, 12, 22, 22, 22, - 22, 22, 41, 41, 111, 765, 22, 26, 26, 26, - 26, 26, 106, 41, 680, 41, 26, 41, 28, 41, - 152, 157, 41, 56, 26, 26, 28, 28, 28, 28, - 28, 28, 28, 28, 84, 84, 84, 84, 84, 85, - 85, 85, 85, 85, 142, 143, 330, 59, 11, 12, - 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, - - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 95, 95, 95, 95, 95, 157, 152, 162, 13, 13, - 13, 13, 13, 29, 245, 292, 292, 13, 29, 43, - 143, 29, 29, 29, 29, 29, 29, 29, 29, 43, - 762, 43, 442, 43, 421, 174, 171, 442, 43, 13, - 13, 13, 32, 46, 32, 32, 32, 32, 32, 32, - 32, 32, 59, 46, 257, 46, 342, 46, 421, 246, - 162, 32, 46, 245, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 174, 46, - - 32, 171, 86, 211, 261, 211, 14, 14, 14, 14, - 14, 37, 278, 257, 37, 14, 211, 39, 37, 86, - 39, 37, 37, 37, 37, 37, 342, 39, 246, 39, - 37, 39, 195, 195, 37, 38, 39, 14, 14, 14, - 209, 38, 376, 195, 761, 38, 209, 38, 38, 38, - 760, 86, 376, 261, 38, 96, 96, 96, 96, 96, - 759, 278, 14, 14, 14, 14, 14, 14, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 17, 17, 17, 17, - 17, 351, 758, 17, 17, 44, 44, 361, 44, 17, - 17, 283, 17, 175, 284, 346, 44, 44, 44, 757, - 44, 17, 756, 44, 282, 44, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 40, 101, 101, 101, 101, 101, - 283, 175, 346, 351, 40, 40, 40, 284, 40, 361, - 45, 45, 49, 40, 175, 49, 40, 17, 45, 17, - 25, 45, 49, 45, 49, 45, 49, 304, 282, 304, - 45, 49, 196, 196, 196, 196, 196, 25, 755, 495, - 304, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 267, 367, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 33, 42, 33, 33, 33, 33, 33, 33, - 33, 33, 331, 42, 495, 42, 605, 42, 560, 47, - 47, 33, 42, 47, 484, 560, 754, 367, 480, 47, - 53, 47, 212, 47, 267, 42, 212, 368, 47, 753, - 53, 403, 53, 484, 53, 605, 42, 369, 47, 53, - 33, 36, 480, 751, 36, 36, 36, 36, 36, 36, - 36, 36, 212, 383, 331, 404, 53, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - - 36, 36, 36, 369, 403, 368, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 48, 48, - 489, 48, 305, 383, 438, 404, 305, 50, 402, 48, - 50, 48, 415, 48, 50, 48, 468, 50, 48, 50, - 51, 50, 419, 424, 437, 50, 50, 434, 51, 51, - 50, 749, 305, 430, 616, 748, 747, 52, 746, 51, - 744, 51, 48, 51, 743, 51, 489, 52, 51, 52, - 54, 52, 616, 402, 742, 52, 52, 54, 741, 438, - 54, 51, 54, 468, 54, 415, 121, 740, 424, 54, - - 58, 58, 58, 58, 58, 500, 121, 52, 121, 429, - 121, 436, 430, 434, 419, 121, 437, 58, 58, 58, - 58, 58, 58, 58, 58, 82, 181, 181, 181, 181, - 181, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 181, 181, 181, 181, 181, 181, 181, - 181, 82, 82, 82, 82, 82, 108, 108, 108, 108, - 108, 448, 467, 469, 734, 108, 500, 733, 481, 429, - 732, 436, 499, 108, 108, 439, 439, 439, 439, 439, - 510, 494, 82, 82, 82, 110, 122, 110, 110, 110, - 110, 110, 110, 110, 110, 731, 122, 528, 122, 577, - - 122, 527, 529, 122, 110, 122, 498, 501, 82, 548, - 82, 82, 82, 83, 448, 481, 469, 467, 502, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 528, 499, 110, 494, 527, 543, 510, 555, 83, - 83, 83, 83, 83, 112, 728, 112, 112, 112, 112, - 112, 112, 112, 112, 527, 498, 501, 83, 439, 529, - 541, 577, 565, 112, 548, 557, 556, 502, 593, 724, - 83, 83, 83, 115, 115, 115, 115, 115, 115, 115, - 115, 552, 551, 123, 587, 543, 591, 600, 599, 723, - 115, 555, 112, 123, 541, 123, 83, 123, 83, 83, - - 83, 116, 123, 116, 116, 116, 116, 116, 116, 116, - 116, 556, 558, 565, 580, 552, 117, 593, 117, 115, - 116, 117, 117, 117, 117, 117, 117, 117, 117, 118, - 557, 118, 118, 118, 118, 118, 118, 118, 118, 551, - 124, 125, 600, 632, 587, 599, 558, 591, 118, 116, - 124, 125, 124, 125, 124, 125, 126, 128, 578, 124, - 125, 579, 128, 124, 722, 580, 126, 128, 126, 128, - 126, 128, 620, 632, 126, 126, 128, 118, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - - 129, 130, 215, 215, 215, 215, 215, 215, 215, 215, - 129, 130, 129, 130, 129, 130, 131, 589, 129, 129, - 130, 620, 132, 579, 578, 596, 131, 601, 131, 131, - 131, 626, 132, 597, 132, 131, 132, 133, 133, 629, - 720, 132, 602, 134, 134, 718, 636, 717, 133, 716, - 133, 133, 133, 638, 134, 135, 134, 133, 134, 619, - 621, 601, 631, 134, 709, 135, 135, 135, 136, 135, - 653, 137, 136, 654, 135, 628, 596, 659, 136, 589, - 136, 137, 136, 137, 626, 137, 629, 136, 139, 139, - 137, 138, 138, 138, 637, 597, 631, 636, 139, 140, - - 139, 138, 139, 138, 602, 138, 139, 139, 634, 140, - 138, 140, 141, 140, 706, 638, 655, 144, 140, 619, - 621, 654, 141, 653, 141, 141, 141, 144, 637, 661, - 145, 141, 721, 145, 659, 628, 639, 144, 146, 144, - 145, 144, 145, 662, 145, 664, 144, 705, 146, 145, - 146, 763, 146, 147, 147, 763, 666, 146, 698, 670, - 697, 668, 695, 147, 148, 147, 690, 147, 634, 655, - 147, 147, 147, 679, 148, 149, 148, 148, 148, 681, - 763, 150, 661, 148, 688, 149, 684, 149, 721, 149, - 685, 150, 151, 150, 149, 150, 639, 149, 669, 687, - - 150, 689, 151, 662, 151, 153, 151, 664, 154, 666, - 686, 151, 670, 153, 691, 153, 694, 153, 154, 153, - 154, 155, 154, 668, 153, 693, 154, 154, 708, 156, - 679, 155, 158, 155, 692, 155, 681, 684, 700, 156, - 155, 156, 158, 156, 158, 159, 158, 156, 156, 702, - 158, 158, 687, 677, 701, 159, 160, 159, 669, 159, - 707, 689, 710, 745, 159, 159, 160, 686, 160, 161, - 160, 691, 161, 694, 712, 160, 161, 714, 693, 161, - 673, 161, 713, 161, 163, 163, 715, 708, 161, 700, - 725, 164, 672, 737, 692, 163, 735, 163, 671, 163, - - 702, 164, 165, 164, 163, 164, 164, 701, 166, 164, - 164, 707, 165, 730, 165, 710, 165, 168, 166, 167, - 166, 165, 166, 745, 166, 712, 165, 166, 667, 167, - 168, 167, 665, 167, 714, 713, 169, 715, 167, 663, - 168, 169, 168, 727, 168, 735, 169, 170, 169, 168, - 169, 737, 725, 172, 660, 169, 650, 170, 644, 170, - 172, 170, 643, 172, 730, 172, 170, 172, 176, 173, - 173, 642, 172, 173, 729, 633, 630, 627, 176, 173, - 176, 173, 176, 173, 738, 182, 176, 176, 173, 182, - 182, 182, 182, 182, 182, 182, 182, 183, 622, 610, - - 727, 183, 183, 183, 183, 183, 183, 183, 183, 213, - 607, 213, 213, 213, 213, 213, 213, 213, 213, 216, - 216, 216, 216, 216, 216, 216, 216, 220, 213, 606, - 220, 729, 592, 221, 588, 738, 561, 220, 739, 220, - 554, 220, 545, 221, 540, 221, 220, 221, 507, 222, - 223, 506, 221, 505, 486, 444, 443, 213, 218, 222, - 223, 222, 223, 222, 223, 224, 378, 764, 222, 223, - 377, 764, 375, 226, 306, 224, 227, 224, 224, 224, - 226, 299, 298, 226, 224, 226, 227, 226, 227, 739, - 227, 297, 226, 296, 295, 227, 764, 640, 640, 640, - - 640, 640, 294, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 228, 229, 293, 290, 286, - 225, 219, 210, 208, 206, 228, 229, 228, 229, 228, - 229, 230, 228, 204, 228, 229, 202, 200, 199, 231, - 194, 230, 232, 230, 192, 230, 231, 230, 187, 231, - 230, 231, 232, 231, 232, 233, 232, 184, 231, 232, - 180, 232, 127, 234, 119, 233, 113, 233, 109, 233, - 640, 107, 105, 234, 233, 234, 104, 234, 235, 235, - 234, 234, 234, 103, 100, 236, 235, 99, 236, 235, - - 98, 235, 97, 235, 90, 236, 237, 236, 235, 236, - 89, 88, 238, 75, 236, 72, 237, 68, 237, 237, - 237, 67, 238, 239, 238, 237, 238, 64, 63, 240, - 57, 238, 240, 239, 239, 239, 55, 239, 34, 240, - 241, 240, 239, 240, 30, 24, 242, 23, 240, 242, - 241, 20, 241, 241, 241, 19, 242, 243, 242, 241, - 242, 0, 0, 0, 0, 242, 0, 243, 244, 243, - 0, 243, 0, 0, 243, 0, 243, 0, 244, 244, - 244, 247, 244, 0, 0, 0, 0, 244, 0, 248, - 0, 247, 249, 247, 0, 247, 0, 0, 247, 248, - - 247, 248, 249, 248, 249, 249, 249, 250, 248, 0, - 251, 249, 0, 252, 0, 0, 252, 250, 0, 250, - 251, 250, 251, 252, 251, 252, 250, 252, 251, 251, - 253, 254, 252, 0, 0, 0, 0, 0, 0, 253, - 0, 254, 255, 254, 0, 254, 0, 0, 0, 253, - 254, 253, 255, 253, 255, 256, 255, 0, 253, 0, - 0, 255, 0, 258, 0, 256, 258, 256, 0, 256, - 0, 0, 0, 258, 256, 258, 259, 258, 0, 259, - 0, 0, 258, 0, 260, 0, 259, 262, 259, 0, - 259, 260, 0, 0, 260, 259, 260, 262, 260, 262, - - 263, 262, 0, 260, 0, 262, 262, 0, 264, 0, - 263, 0, 263, 0, 263, 0, 265, 0, 264, 263, - 264, 0, 264, 0, 266, 264, 265, 264, 265, 0, - 265, 0, 0, 265, 266, 265, 266, 268, 266, 269, - 269, 0, 0, 266, 266, 0, 0, 268, 270, 268, - 269, 268, 269, 0, 269, 0, 268, 0, 270, 269, - 270, 271, 270, 0, 0, 0, 0, 270, 0, 272, - 0, 271, 272, 271, 0, 271, 0, 273, 0, 272, - 271, 272, 0, 272, 273, 274, 0, 273, 272, 273, - 0, 273, 0, 0, 0, 274, 273, 274, 275, 274, - - 0, 0, 0, 274, 274, 0, 276, 0, 275, 0, - 275, 0, 275, 0, 0, 275, 276, 275, 276, 277, - 276, 0, 277, 276, 0, 276, 0, 279, 0, 277, - 0, 277, 0, 277, 0, 0, 281, 279, 277, 279, - 279, 279, 279, 280, 281, 0, 279, 279, 0, 0, - 0, 0, 0, 280, 281, 280, 281, 280, 281, 285, - 0, 280, 280, 281, 0, 285, 0, 0, 0, 285, - 0, 285, 0, 285, 0, 0, 0, 0, 285, 287, - 287, 287, 287, 287, 0, 0, 0, 288, 288, 288, - 288, 288, 0, 0, 0, 0, 287, 287, 287, 287, - - 287, 287, 287, 287, 288, 288, 288, 288, 288, 288, - 288, 288, 307, 308, 0, 0, 0, 0, 0, 0, - 308, 0, 307, 308, 307, 308, 307, 308, 309, 0, - 0, 307, 308, 0, 310, 0, 0, 0, 309, 309, - 309, 0, 309, 0, 310, 311, 310, 309, 310, 0, - 0, 312, 0, 310, 312, 311, 0, 311, 0, 311, - 0, 312, 0, 312, 311, 312, 313, 313, 314, 314, - 312, 0, 0, 0, 0, 0, 0, 313, 314, 313, - 314, 313, 314, 315, 0, 0, 313, 314, 0, 0, - 311, 316, 0, 315, 0, 315, 0, 315, 0, 317, - - 315, 316, 315, 316, 316, 316, 0, 0, 0, 317, - 316, 317, 319, 317, 318, 318, 0, 317, 317, 0, - 0, 0, 319, 320, 319, 318, 319, 318, 0, 318, - 0, 319, 0, 320, 318, 320, 321, 320, 321, 322, - 0, 322, 320, 0, 0, 0, 321, 0, 321, 322, - 321, 322, 0, 322, 323, 321, 0, 323, 322, 0, - 324, 0, 0, 0, 323, 0, 323, 0, 323, 0, - 324, 325, 324, 323, 324, 0, 0, 326, 325, 324, - 0, 325, 0, 325, 0, 325, 0, 326, 327, 326, - 325, 326, 0, 326, 0, 0, 326, 0, 327, 0, - - 327, 0, 327, 328, 327, 0, 328, 327, 0, 329, - 0, 0, 0, 328, 0, 328, 0, 328, 0, 329, - 332, 329, 328, 329, 0, 0, 333, 0, 329, 0, - 332, 0, 332, 0, 332, 0, 333, 0, 333, 332, - 333, 334, 335, 0, 333, 333, 0, 0, 334, 0, - 0, 334, 335, 334, 335, 334, 335, 336, 335, 0, - 334, 335, 337, 337, 0, 332, 0, 336, 0, 336, - 339, 336, 0, 337, 0, 337, 336, 337, 338, 337, - 0, 339, 337, 338, 0, 0, 0, 0, 338, 340, - 338, 339, 338, 339, 338, 339, 0, 338, 0, 340, - - 339, 340, 341, 340, 0, 0, 340, 0, 340, 0, - 343, 343, 341, 344, 341, 0, 341, 0, 0, 0, - 343, 341, 343, 344, 343, 344, 345, 344, 0, 343, - 348, 344, 344, 0, 347, 0, 345, 347, 345, 345, - 345, 0, 0, 0, 347, 345, 347, 348, 347, 0, - 0, 0, 0, 347, 0, 349, 0, 348, 349, 348, - 0, 348, 350, 350, 0, 349, 348, 349, 0, 349, - 0, 352, 0, 350, 349, 350, 0, 350, 0, 353, - 0, 352, 350, 352, 0, 352, 0, 0, 0, 353, - 352, 353, 354, 353, 0, 354, 0, 353, 353, 0, - - 355, 0, 354, 356, 354, 0, 354, 0, 0, 0, - 355, 354, 355, 356, 355, 356, 0, 356, 358, 355, - 357, 357, 356, 0, 359, 0, 0, 0, 358, 0, - 358, 357, 358, 357, 359, 357, 359, 358, 359, 360, - 357, 0, 362, 359, 0, 363, 0, 0, 0, 360, - 0, 360, 362, 360, 362, 363, 362, 363, 360, 363, - 0, 362, 364, 358, 363, 364, 0, 0, 365, 0, - 0, 0, 364, 0, 364, 0, 364, 0, 365, 366, - 365, 364, 365, 0, 0, 0, 0, 365, 0, 366, - 0, 366, 0, 366, 0, 370, 366, 0, 366, 371, - - 371, 371, 371, 371, 365, 370, 0, 370, 0, 370, - 0, 0, 0, 0, 370, 0, 371, 371, 371, 371, - 371, 371, 371, 371, 372, 372, 372, 372, 372, 0, - 0, 0, 373, 373, 373, 373, 373, 372, 0, 0, - 0, 372, 372, 372, 372, 372, 372, 372, 372, 373, - 373, 373, 373, 373, 373, 373, 373, 374, 0, 379, - 0, 374, 374, 374, 374, 374, 374, 374, 374, 379, - 0, 379, 0, 379, 380, 380, 0, 379, 379, 381, - 381, 0, 0, 0, 380, 0, 380, 0, 380, 0, - 381, 382, 381, 380, 381, 0, 0, 0, 0, 381, - - 0, 382, 0, 382, 0, 382, 0, 372, 384, 384, - 382, 0, 385, 385, 0, 386, 0, 0, 386, 384, - 0, 384, 385, 384, 385, 386, 385, 386, 384, 386, - 387, 385, 0, 388, 386, 0, 0, 0, 0, 0, - 387, 389, 387, 388, 387, 388, 0, 388, 0, 387, - 0, 389, 388, 389, 390, 389, 0, 389, 0, 0, - 389, 390, 391, 0, 390, 0, 390, 0, 390, 0, - 0, 0, 391, 390, 391, 392, 391, 0, 392, 0, - 0, 391, 392, 0, 0, 392, 393, 392, 393, 392, - 0, 0, 394, 0, 392, 394, 393, 0, 393, 394, - - 393, 0, 394, 395, 394, 393, 394, 0, 0, 0, - 0, 394, 0, 395, 396, 395, 0, 395, 0, 395, - 0, 0, 395, 0, 396, 0, 396, 0, 396, 397, - 397, 0, 396, 396, 0, 398, 0, 0, 0, 397, - 0, 397, 0, 397, 0, 398, 399, 398, 397, 398, - 0, 0, 400, 398, 398, 0, 399, 0, 399, 0, - 399, 0, 400, 399, 400, 399, 400, 401, 405, 0, - 0, 400, 0, 0, 0, 405, 0, 401, 405, 401, - 405, 401, 405, 0, 0, 407, 401, 405, 406, 406, - 0, 406, 0, 0, 0, 407, 0, 407, 406, 407, - - 406, 0, 406, 407, 407, 409, 408, 406, 408, 0, - 0, 0, 0, 0, 0, 409, 408, 409, 408, 409, - 408, 410, 0, 0, 409, 408, 0, 411, 0, 0, - 411, 410, 0, 410, 0, 410, 0, 411, 412, 411, - 410, 411, 413, 0, 0, 414, 411, 0, 412, 0, - 412, 413, 412, 0, 0, 412, 0, 412, 0, 416, - 0, 413, 414, 413, 0, 413, 0, 0, 0, 416, - 413, 416, 414, 416, 414, 417, 414, 416, 416, 0, - 0, 414, 0, 418, 0, 417, 0, 417, 0, 417, - 0, 420, 0, 418, 417, 418, 0, 418, 0, 422, - - 0, 420, 418, 420, 0, 420, 0, 420, 0, 422, - 420, 422, 423, 422, 0, 0, 0, 0, 422, 0, - 0, 0, 423, 0, 423, 425, 423, 0, 426, 0, - 423, 423, 425, 0, 0, 425, 427, 425, 426, 425, - 426, 427, 426, 0, 425, 0, 427, 426, 427, 428, - 427, 0, 0, 0, 0, 427, 0, 0, 0, 428, - 431, 428, 0, 428, 0, 0, 432, 0, 428, 432, - 431, 428, 431, 0, 431, 0, 432, 433, 432, 431, - 432, 0, 0, 0, 0, 432, 0, 433, 435, 433, - 0, 433, 0, 433, 0, 0, 433, 0, 435, 0, - - 435, 0, 435, 445, 0, 0, 0, 435, 440, 440, - 440, 440, 440, 445, 0, 445, 0, 445, 0, 0, - 0, 0, 445, 446, 446, 440, 440, 440, 440, 440, - 440, 440, 440, 435, 446, 447, 446, 0, 446, 0, - 0, 0, 0, 446, 0, 447, 449, 447, 0, 447, - 0, 0, 450, 447, 447, 0, 449, 0, 449, 0, - 449, 0, 450, 451, 450, 449, 450, 0, 0, 452, - 450, 450, 452, 451, 0, 451, 0, 451, 0, 452, - 0, 452, 451, 452, 453, 453, 454, 0, 452, 0, - 0, 0, 0, 0, 0, 453, 454, 453, 454, 453, - - 454, 455, 0, 0, 453, 454, 0, 0, 0, 0, - 0, 455, 456, 455, 456, 455, 0, 0, 457, 455, - 455, 0, 456, 0, 456, 0, 456, 0, 457, 0, - 457, 456, 457, 0, 0, 458, 457, 457, 458, 0, - 0, 459, 0, 459, 0, 458, 0, 458, 0, 458, - 0, 459, 460, 459, 458, 459, 0, 461, 461, 0, - 459, 0, 460, 0, 460, 0, 460, 0, 461, 462, - 461, 460, 461, 0, 0, 463, 0, 461, 0, 462, - 0, 462, 463, 462, 0, 463, 464, 463, 462, 463, - 0, 0, 465, 0, 463, 0, 464, 0, 464, 465, - - 464, 0, 465, 464, 465, 464, 465, 466, 466, 470, - 0, 465, 0, 470, 0, 0, 0, 0, 466, 470, - 466, 470, 466, 470, 471, 0, 0, 466, 470, 0, - 472, 471, 472, 0, 471, 0, 471, 0, 471, 0, - 472, 473, 472, 471, 472, 0, 0, 474, 0, 472, - 474, 473, 0, 473, 0, 473, 0, 474, 473, 474, - 473, 474, 475, 475, 0, 0, 474, 0, 476, 476, - 0, 0, 475, 0, 475, 0, 475, 0, 476, 477, - 476, 475, 476, 0, 0, 0, 0, 476, 0, 477, - 0, 477, 0, 477, 478, 477, 0, 478, 477, 0, - - 479, 0, 0, 0, 478, 0, 478, 0, 478, 0, - 479, 482, 479, 478, 479, 0, 0, 479, 0, 479, - 0, 482, 0, 482, 485, 482, 483, 483, 0, 0, - 482, 0, 0, 0, 485, 487, 485, 483, 485, 483, - 0, 483, 0, 485, 0, 487, 483, 487, 488, 487, - 0, 488, 0, 487, 487, 0, 490, 0, 488, 0, - 488, 0, 488, 0, 0, 0, 490, 488, 490, 0, - 490, 491, 491, 0, 492, 490, 490, 493, 0, 0, - 0, 491, 0, 491, 492, 491, 492, 493, 492, 493, - 491, 493, 496, 492, 0, 497, 493, 0, 0, 0, - - 0, 0, 496, 0, 496, 497, 496, 497, 0, 497, - 0, 496, 497, 0, 497, 503, 503, 503, 503, 503, - 504, 0, 0, 0, 504, 504, 504, 504, 504, 504, - 504, 504, 503, 503, 503, 503, 503, 503, 503, 503, - 508, 509, 0, 0, 0, 0, 0, 0, 509, 0, - 508, 509, 508, 509, 508, 509, 511, 0, 508, 508, - 509, 0, 512, 0, 0, 512, 511, 0, 511, 0, - 511, 0, 512, 513, 512, 511, 512, 0, 0, 514, - 0, 512, 0, 513, 0, 513, 514, 513, 0, 514, - 515, 514, 513, 514, 0, 0, 516, 515, 514, 0, - - 515, 0, 515, 0, 515, 0, 516, 517, 516, 515, - 516, 0, 0, 518, 0, 516, 0, 517, 0, 517, - 518, 517, 0, 518, 0, 518, 517, 518, 519, 520, - 519, 0, 518, 0, 0, 0, 0, 0, 519, 520, - 519, 520, 519, 520, 521, 0, 0, 519, 520, 521, - 522, 0, 0, 0, 521, 0, 521, 0, 521, 0, - 522, 523, 522, 521, 522, 0, 0, 0, 522, 522, - 0, 523, 524, 523, 0, 523, 0, 0, 525, 523, - 523, 0, 524, 0, 524, 0, 524, 0, 525, 526, - 525, 524, 525, 0, 0, 530, 0, 525, 0, 526, - - 0, 526, 530, 526, 0, 530, 531, 530, 526, 530, - 0, 0, 0, 0, 530, 0, 531, 532, 531, 0, - 531, 0, 0, 533, 531, 531, 0, 532, 0, 532, - 0, 532, 0, 533, 534, 533, 532, 533, 0, 0, - 535, 0, 533, 535, 534, 0, 534, 0, 534, 0, - 535, 534, 535, 534, 535, 536, 537, 0, 0, 535, - 0, 0, 0, 0, 0, 536, 537, 536, 537, 536, - 537, 538, 538, 536, 536, 537, 0, 539, 0, 0, - 0, 538, 0, 538, 0, 538, 0, 539, 542, 539, - 538, 539, 0, 0, 544, 0, 539, 0, 542, 0, - - 542, 0, 542, 0, 544, 546, 544, 542, 544, 0, - 0, 547, 0, 544, 0, 546, 0, 546, 0, 546, - 0, 547, 539, 547, 546, 547, 549, 0, 0, 549, - 547, 0, 550, 0, 0, 550, 549, 0, 549, 0, - 549, 0, 550, 0, 550, 549, 550, 553, 553, 564, - 564, 550, 559, 559, 559, 559, 559, 0, 553, 564, - 553, 564, 553, 564, 0, 0, 0, 553, 564, 559, - 559, 559, 559, 559, 559, 559, 559, 563, 566, 0, - 0, 0, 0, 0, 563, 0, 0, 563, 566, 563, - 566, 563, 566, 567, 566, 0, 563, 566, 0, 0, - - 0, 0, 0, 567, 568, 567, 0, 567, 0, 0, - 569, 567, 567, 0, 568, 0, 568, 0, 568, 0, - 569, 570, 569, 568, 569, 572, 0, 571, 0, 569, - 0, 570, 0, 570, 570, 570, 0, 571, 0, 571, - 570, 571, 572, 0, 0, 573, 571, 0, 573, 0, - 0, 0, 572, 574, 572, 573, 572, 573, 0, 573, - 0, 572, 0, 574, 573, 574, 575, 574, 0, 576, - 0, 0, 574, 575, 0, 0, 575, 0, 575, 576, - 575, 576, 0, 576, 581, 575, 0, 581, 576, 0, - 582, 0, 0, 0, 581, 0, 581, 0, 581, 0, - - 582, 583, 582, 581, 582, 0, 0, 584, 0, 582, - 0, 583, 0, 583, 0, 583, 0, 584, 585, 584, - 583, 584, 0, 0, 586, 585, 584, 0, 585, 594, - 585, 0, 585, 0, 586, 590, 586, 585, 586, 0, - 0, 0, 586, 586, 0, 590, 594, 590, 0, 590, - 0, 0, 595, 0, 590, 0, 594, 0, 594, 0, - 594, 0, 595, 598, 595, 594, 595, 0, 0, 0, - 0, 595, 0, 598, 0, 598, 0, 598, 608, 0, - 0, 0, 598, 603, 603, 603, 603, 603, 608, 0, - 608, 608, 608, 0, 0, 0, 0, 608, 0, 0, - - 603, 603, 603, 603, 603, 603, 603, 603, 604, 604, - 604, 604, 604, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 609, 611, 604, 604, 604, 604, 604, - 604, 604, 604, 609, 611, 609, 611, 609, 611, 612, - 0, 0, 609, 611, 0, 613, 0, 0, 613, 612, - 0, 612, 0, 612, 0, 613, 612, 613, 612, 613, - 614, 615, 0, 0, 613, 614, 0, 0, 0, 0, - 614, 615, 614, 615, 614, 615, 617, 0, 617, 614, - 615, 0, 618, 0, 0, 0, 617, 0, 617, 0, - 617, 604, 618, 623, 618, 617, 618, 0, 0, 0, - - 0, 618, 0, 623, 624, 623, 0, 623, 0, 623, - 0, 0, 623, 0, 624, 625, 624, 624, 624, 0, - 0, 635, 625, 624, 0, 625, 0, 625, 0, 625, - 0, 635, 645, 635, 625, 635, 0, 0, 646, 0, - 635, 0, 645, 0, 645, 0, 645, 0, 646, 0, - 646, 645, 646, 647, 648, 647, 0, 646, 0, 0, - 0, 0, 0, 647, 648, 647, 648, 647, 648, 649, - 651, 0, 647, 648, 0, 0, 0, 0, 0, 649, - 651, 649, 651, 649, 651, 652, 649, 0, 649, 651, - 0, 656, 652, 0, 0, 652, 0, 652, 0, 652, - - 0, 656, 657, 656, 652, 656, 0, 0, 0, 0, - 656, 0, 657, 658, 657, 0, 657, 0, 0, 674, - 0, 657, 0, 658, 0, 658, 658, 658, 0, 674, - 675, 674, 658, 674, 0, 0, 676, 0, 674, 0, - 675, 0, 675, 0, 675, 0, 676, 678, 676, 675, - 676, 0, 0, 0, 0, 676, 0, 678, 682, 678, - 0, 678, 0, 0, 683, 678, 678, 0, 682, 0, - 682, 0, 682, 0, 683, 682, 683, 682, 683, 699, - 703, 0, 0, 683, 0, 0, 0, 0, 0, 699, - 703, 699, 703, 699, 703, 704, 719, 0, 699, 703, - - 0, 0, 699, 0, 0, 704, 719, 704, 719, 704, - 719, 0, 0, 0, 704, 719, 769, 769, 769, 769, - 769, 769, 769, 769, 769, 769, 769, 769, 770, 770, - 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, - 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, - 771, 771, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 773, 773, 773, 773, 773, 773, - 773, 773, 773, 773, 773, 773, 774, 774, 774, 774, - 0, 774, 774, 774, 774, 774, 774, 774, 775, 775, - 775, 0, 775, 0, 775, 776, 776, 0, 776, 776, - - 777, 777, 0, 0, 777, 777, 0, 777, 777, 777, - 777, 777, 778, 778, 778, 778, 0, 778, 778, 778, - 778, 778, 778, 778, 779, 779, 779, 779, 779, 779, - 779, 779, 0, 779, 779, 780, 0, 0, 0, 780, - 780, 780, 780, 780, 780, 780, 781, 0, 0, 0, - 781, 781, 781, 781, 781, 781, 781, 782, 782, 0, - 782, 782, 783, 783, 0, 783, 784, 784, 0, 784, - 784, 785, 785, 0, 785, 785, 786, 0, 786, 786, - 787, 787, 0, 787, 787, 788, 0, 788, 788, 789, - 0, 789, 789, 790, 0, 790, 791, 0, 791, 791, - - 792, 0, 792, 792, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 794, 794, 0, 794, - 794, 795, 795, 0, 795, 795, 795, 795, 795, 795, - 795, 795, 795, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 768 - } ; - -/* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[143] = - { 0, -0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, - 1, 0, 0, }; - -extern int asn1p__flex_debug; -int asn1p__flex_debug = 1; - -static yyconst flex_int16_t yy_rule_linenum[142] = - { 0, - 98, 100, 101, 103, 106, 109, 115, 118, 120, 121, - 122, 125, 127, 128, 129, 141, 148, 155, 161, 170, - 178, 186, 187, 189, 208, 214, 215, 216, 217, 218, - 221, 227, 234, 241, 248, 255, 262, 263, 264, 272, - 273, 274, 280, 281, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 305, 306, 307, 308, 309, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 372, 373, 378, 379, 380, 383, 388, - 394, 402, 412, 417, 419, 420, 424, 429, 434, 440, - 441, 443, 449, 462, 465, 490, 534, 535, 537, 539, - 550 - } ; - -static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; -static char *yy_full_match; -static int yy_lp; -#define REJECT \ -{ \ -*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \ -yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ -++(yy_lp); \ -goto find_rule; \ -} - -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *asn1p_text; -#line 1 "asn1p_l.l" -#line 2 "asn1p_l.l" - -#include -#include -#include - -#include "asn1parser.h" -#include "asn1p_y.h" - -int asn1p_lex(void); -void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */ -void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */ -void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */ - -#define YY_FATAL_ERROR(msg) do { \ - fprintf(stderr, \ - "lexer error at line %d, " \ - "text \"%s\"\n", \ - asn1p_lineno, asn1p_text); \ - exit(1); \ - } while(0) - -int asn1p_lexer_pedantic_1990 = 0; -int asn1p_lexer_types_year = 0; -int asn1p_lexer_constructs_year = 0; -int asn1p_lexer_extended_values = 0; - -int asn1p_as_pointer; - -static asn1c_integer_t _lex_atoi(const char *ptr); -static double _lex_atod(const char *ptr); - -/* - * Check that the type is defined in the year of the standard choosen. - */ -#define TYPE_LIFETIME(fyr, lyr) \ - (!asn1p_lexer_types_year \ - || (fyr && fyr <= asn1p_lexer_types_year) \ - || (lyr && lyr > asn1p_lexer_types_year)) - -/* - * Check the the construction (or concept, i.e. CLASS) is defined in - * a given year. - */ -#define CONSTRUCT_LIFETIME(fyr, lyr) \ - (!asn1p_lexer_constructs_year \ - || (fyr && fyr <= asn1p_lexer_constructs_year) \ - || (lyr && lyr > asn1p_lexer_constructs_year)) - -/* - * Append quoted string. - */ -#define QAPPEND(text, tlen) do { \ - char *prev_text = asn1p_lval.tv_opaque.buf; \ - int prev_len = asn1p_lval.tv_opaque.len; \ - char *p; \ - \ - p = malloc((tlen) + prev_len + 1); \ - if(p == NULL) return -1; \ - \ - if(prev_text) memcpy(p, prev_text, prev_len); \ - memcpy(p + prev_len, text, tlen); \ - p[prev_len + (tlen)] = '\0'; \ - \ - free(asn1p_lval.tv_opaque.buf); \ - asn1p_lval.tv_opaque.buf = p; \ - asn1p_lval.tv_opaque.len = (tlen) + prev_len; \ - } while(0) - -#define YY_NO_INPUT 1 -/* Performance penalty is OK */ -/* Controlled from within application */ - - - - - - - - -/* Newline */ -/* White-space */ -#line 2134 "asn1p_l.c" - -#define INITIAL 0 -#define dash_comment 1 -#define idash_comment 2 -#define cpp_comment 3 -#define quoted 4 -#define opaque 5 -#define encoding_control 6 -#define with_syntax 7 -#define extended_values 8 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -/* %if-c-only */ -#include -/* %endif */ -/* %if-c++-only */ -/* %endif */ -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -/* %if-c-only Reentrant structure and macros (non-C++). */ -/* %if-reentrant */ -/* %if-c-only */ - -static int yy_init_globals (void ); - -/* %endif */ -/* %if-reentrant */ -/* %endif */ -/* %endif End reentrant structures and macros. */ - -/* Accessor methods to globals. - These are made visible to non-reentrant scanners for convenience. */ - -int asn1p_lex_destroy (void ); - -int asn1p_get_debug (void ); - -void asn1p_set_debug (int debug_flag ); - -YY_EXTRA_TYPE asn1p_get_extra (void ); - -void asn1p_set_extra (YY_EXTRA_TYPE user_defined ); - -FILE *asn1p_get_in (void ); - -void asn1p_set_in (FILE * in_str ); - -FILE *asn1p_get_out (void ); - -void asn1p_set_out (FILE * out_str ); - -yy_size_t asn1p_get_leng (void ); - -char *asn1p_get_text (void ); - -int asn1p_get_lineno (void ); - -void asn1p_set_lineno (int line_number ); - -/* %if-bison-bridge */ -/* %endif */ - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int asn1p_wrap (void ); -#else -extern int asn1p_wrap (void ); -#endif -#endif - -/* %not-for-header */ - - static void yyunput (int c,char *buf_ptr ); - -/* %ok-for-header */ - -/* %endif */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT -/* %if-c-only Standard (non-C++) definition */ -/* %not-for-header */ - -#ifdef __cplusplus -static int yyinput (void ); -#else -static int input (void ); -#endif -/* %ok-for-header */ - -/* %endif */ -#endif - -/* %if-c-only */ - - static int yy_start_stack_ptr = 0; - static int yy_start_stack_depth = 0; - static int *yy_start_stack = NULL; - - static void yy_push_state (int new_state ); - - static void yy_pop_state (void ); - - static int yy_top_state (void ); - -/* %endif */ - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -/* %if-c-only Standard (non-C++) definition */ -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out ) -/* %endif */ -/* %if-c++-only C++ definition */ -/* %endif */ -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ -/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\ - if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ - { \ - int c = '*'; \ - yy_size_t n; \ - for ( n = 0; n < max_size && \ - (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( asn1p_in ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else \ - { \ - errno=0; \ - while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(asn1p_in); \ - } \ - }\ -\ -/* %if-c++-only C++ definition \ */\ -/* %endif */ - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -/* %if-c-only */ -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -#endif - -/* %if-tables-serialization structures and prototypes */ -/* %not-for-header */ - -/* %ok-for-header */ - -/* %not-for-header */ - -/* %tables-yydmap generated elements */ -/* %endif */ -/* end tables serialization structures and prototypes */ - -/* %ok-for-header */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 -/* %if-c-only Standard (non-C++) definition */ - -extern int asn1p_lex (void); - -#define YY_DECL int asn1p_lex (void) -/* %endif */ -/* %if-c++-only C++ definition */ -/* %endif */ -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -/* %% [6.0] YY_RULE_SETUP definition goes here */ -#define YY_RULE_SETUP \ - YY_USER_ACTION - -/* %not-for-header */ - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -/* %% [7.0] user's declarations go here */ -#line 96 "asn1p_l.l" - - -#line 2397 "asn1p_l.c" - - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - /* Create the reject buffer large enough to save one state per allowed character. */ - if ( ! (yy_state_buf) ) - (yy_state_buf) = (yy_state_type *)asn1p_alloc(YY_STATE_BUF_SIZE ); - if ( ! (yy_state_buf) ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p_lex()" ); - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! asn1p_in ) -/* %if-c-only */ - asn1p_in = stdin; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! asn1p_out ) -/* %if-c-only */ - asn1p_out = stdout; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! YY_CURRENT_BUFFER ) { - asn1p_ensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); - } - - asn1p__load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { -/* %% [8.0] yymore()-related code goes here */ - yy_cp = (yy_c_buf_p); - - /* Support of asn1p_text. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - -/* %% [9.0] code to set up and find next match goes here */ - yy_current_state = (yy_start); - - (yy_state_ptr) = (yy_state_buf); - *(yy_state_ptr)++ = yy_current_state; - -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 769 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *(yy_state_ptr)++ = yy_current_state; - ++yy_cp; - } - while ( yy_current_state != 768 ); - -yy_find_action: -/* %% [10.0] code to find the action number goes here */ - yy_current_state = *--(yy_state_ptr); - (yy_lp) = yy_accept[yy_current_state]; -goto find_rule; /* Shut up GCC warning -Wall */ -find_rule: /* we branch to this label when backing up */ - for ( ; ; ) /* until we find what rule we matched */ - { - if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) - { - yy_act = yy_acclist[(yy_lp)]; - { - (yy_full_match) = yy_cp; - break; - } - } - --yy_cp; - yy_current_state = *--(yy_state_ptr); - (yy_lp) = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - -/* %% [11.0] code for asn1p_lineno update goes here */ - - if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) - { - yy_size_t yyl; - for ( yyl = 0; yyl < asn1p_leng; ++yyl ) - if ( asn1p_text[yyl] == '\n' ) - - asn1p_lineno++; -; - } - -do_action: /* This label is used only to access EOF actions. */ - -/* %% [12.0] debug code goes here */ - if ( asn1p__flex_debug ) - { - if ( yy_act == 0 ) - fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 142 ) - fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", - (long)yy_rule_linenum[yy_act], asn1p_text ); - else if ( yy_act == 142 ) - fprintf( stderr, "--accepting default rule (\"%s\")\n", - asn1p_text ); - else if ( yy_act == 143 ) - fprintf( stderr, "--(end of buffer or a NUL)\n" ); - else - fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); - } - - switch ( yy_act ) - { /* beginning of action switch */ -/* %% [13.0] actions go here */ -case 1: -YY_RULE_SETUP -#line 98 "asn1p_l.l" -return UTF8_BOM; - YY_BREAK -case 2: -/* rule 2 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ -YY_RULE_SETUP -#line 100 "asn1p_l.l" -/* Immediately terminated long comment */ - YY_BREAK -case 3: -*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ -YY_RULE_SETUP -#line 101 "asn1p_l.l" -yy_push_state(idash_comment); /* Incorrect, but acceptable */ - YY_BREAK - -case 4: -YY_RULE_SETUP -#line 103 "asn1p_l.l" -yy_pop_state(); /* Acceptable end of comment */ - YY_BREAK - -case 5: -YY_RULE_SETUP -#line 106 "asn1p_l.l" -asn1p_as_pointer = 1; - YY_BREAK - -case 6: -YY_RULE_SETUP -#line 109 "asn1p_l.l" -{ - yy_pop_state(); - return TOK_ExtValue_BIT_STRING; - } - YY_BREAK - -case 7: -YY_RULE_SETUP -#line 115 "asn1p_l.l" -yy_push_state(dash_comment); - YY_BREAK - -case 8: -/* rule 8 can match eol */ -YY_RULE_SETUP -#line 118 "asn1p_l.l" -yy_pop_state(); - YY_BREAK -case 9: -YY_RULE_SETUP -#line 120 "asn1p_l.l" -yy_pop_state(); /* End of comment */ - YY_BREAK -case 10: -YY_RULE_SETUP -#line 121 "asn1p_l.l" -/* Eat single dash */ - YY_BREAK -case 11: -YY_RULE_SETUP -#line 122 "asn1p_l.l" -/* Eat */ - YY_BREAK - -case 12: -YY_RULE_SETUP -#line 125 "asn1p_l.l" -yy_push_state(cpp_comment); - YY_BREAK - -case 13: -/* rule 13 can match eol */ -YY_RULE_SETUP -#line 127 "asn1p_l.l" -/* Eat */ - YY_BREAK -case 14: -YY_RULE_SETUP -#line 128 "asn1p_l.l" -yy_pop_state(); - YY_BREAK -case 15: -YY_RULE_SETUP -#line 129 "asn1p_l.l" -/* Eat */ - YY_BREAK - -/* - * This is state is being set from corresponding .y module when - * higher-level data is necessary to make proper parsing of the - * underlying data. Thus, we enter the state and save - * everything for later processing. - */ - -case 16: -YY_RULE_SETUP -#line 141 "asn1p_l.l" -{ - yy_push_state(opaque); - asn1p_lval.tv_opaque.buf = strdup(asn1p_text); - asn1p_lval.tv_opaque.len = asn1p_leng; - return TOK_opaque; - } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 148 "asn1p_l.l" -{ - yy_pop_state(); - asn1p_lval.tv_opaque.buf = strdup(asn1p_text); - asn1p_lval.tv_opaque.len = asn1p_leng; - return TOK_opaque; - } - YY_BREAK -case 18: -/* rule 18 can match eol */ -YY_RULE_SETUP -#line 155 "asn1p_l.l" -{ - asn1p_lval.tv_opaque.buf = strdup(asn1p_text); - asn1p_lval.tv_opaque.len = asn1p_leng; - return TOK_opaque; - } - YY_BREAK -case 19: -YY_RULE_SETUP -#line 161 "asn1p_l.l" -{ - fprintf(stderr, - "ASN.1 Parser synchronization failure: " - "\"%s\" at line %d must not appear " - "inside value definition\n", - asn1p_text, asn1p_lineno); - return -1; - } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 170 "asn1p_l.l" -{ - asn1p_lval.tv_opaque.buf = strdup(asn1p_text); - asn1p_lval.tv_opaque.len = asn1p_leng; - return TOK_opaque; - } - YY_BREAK - -case 21: -/* rule 21 can match eol */ -YY_RULE_SETUP -#line 178 "asn1p_l.l" -{ - asn1p_lval.tv_opaque.buf = 0; - asn1p_lval.tv_opaque.len = 0; - QAPPEND(asn1p_text+1, asn1p_leng-1); - yy_push_state(quoted); - } - YY_BREAK - -case 22: -YY_RULE_SETUP -#line 186 "asn1p_l.l" -{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */ - YY_BREAK -case 23: -/* rule 23 can match eol */ -YY_RULE_SETUP -#line 187 "asn1p_l.l" -{ QAPPEND(asn1p_text, asn1p_leng); } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 189 "asn1p_l.l" -{ - yy_pop_state(); - /* Do not append last quote: - // QAPPEND(asn1p_text, asn1p_leng); */ - - if(asn1p_lexer_pedantic_1990 - && strchr(asn1p_text, '\n')) { - fprintf(stderr, "%s: " - "Newlines are prohibited by ASN.1:1990\n", - asn1p_lval.tv_opaque.buf); - return -1; - } - - return TOK_cstring; - } - YY_BREAK - - -case 25: -YY_RULE_SETUP -#line 208 "asn1p_l.l" -{ - const char *s = "ENCODING-CONTROL"; - const char *p = s + sizeof("ENCODING-CONTROL") - 2; - for(; p >= s; p--) unput(*p); - yy_pop_state(); - } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 214 "asn1p_l.l" -unput('D'); unput('N'); unput('E'); yy_pop_state(); - YY_BREAK -case 27: -YY_RULE_SETUP -#line 215 "asn1p_l.l" - - YY_BREAK -case 28: -YY_RULE_SETUP -#line 216 "asn1p_l.l" - - YY_BREAK -case 29: -YY_RULE_SETUP -#line 217 "asn1p_l.l" -/* Eat everything else */ - YY_BREAK -case 30: -/* rule 30 can match eol */ -YY_RULE_SETUP -#line 218 "asn1p_l.l" - - YY_BREAK - -case 31: -/* rule 31 can match eol */ -YY_RULE_SETUP -#line 221 "asn1p_l.l" -{ - /* " \t\r\n" weren't allowed in ASN.1:1990. */ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_hstring; - } - YY_BREAK -case 32: -/* rule 32 can match eol */ -YY_RULE_SETUP -#line 227 "asn1p_l.l" -{ - /* " \t\r\n" weren't allowed in ASN.1:1990. */ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_bstring; - } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 234 "asn1p_l.l" -{ - asn1p_lval.a_int = _lex_atoi(asn1p_text); - if(errno == ERANGE) - return -1; - return TOK_number_negative; - } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 241 "asn1p_l.l" -{ - asn1p_lval.a_int = _lex_atoi(asn1p_text); - if(errno == ERANGE) - return -1; - return TOK_number; - } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 248 "asn1p_l.l" -{ - asn1p_lval.a_int = _lex_atoi(asn1p_text); - if(errno == ERANGE) - return -1; - return TOK_number; - } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 255 "asn1p_l.l" -{ - asn1p_lval.a_dbl = _lex_atod(asn1p_text); - if(errno == ERANGE) - return -1; - return TOK_realnumber; - } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 262 "asn1p_l.l" -return TOK_ABSENT; - YY_BREAK -case 38: -YY_RULE_SETUP -#line 263 "asn1p_l.l" -return TOK_ALL; - YY_BREAK -case 39: -YY_RULE_SETUP -#line 264 "asn1p_l.l" -{ - /* Appeared in 1990, removed in 1997 */ - if(TYPE_LIFETIME(1990, 1997)) - return TOK_ANY; - fprintf(stderr, "Keyword \"%s\" at line %d " - "is obsolete\n", asn1p_text, asn1p_lineno); - REJECT; - } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 272 "asn1p_l.l" -return TOK_APPLICATION; - YY_BREAK -case 41: -YY_RULE_SETUP -#line 273 "asn1p_l.l" -return TOK_AUTOMATIC; - YY_BREAK -case 42: -YY_RULE_SETUP -#line 274 "asn1p_l.l" -{ - if(asn1p_lexer_extended_values) { - yy_push_state(extended_values); - } - return TOK_BEGIN; - } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 280 "asn1p_l.l" -return TOK_BIT; - YY_BREAK -case 44: -YY_RULE_SETUP -#line 281 "asn1p_l.l" -{ - if(TYPE_LIFETIME(1994, 0)) - return TOK_BMPString; - REJECT; - } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 286 "asn1p_l.l" -return TOK_BOOLEAN; - YY_BREAK -case 46: -YY_RULE_SETUP -#line 287 "asn1p_l.l" -return TOK_BY; - YY_BREAK -case 47: -YY_RULE_SETUP -#line 288 "asn1p_l.l" -return TOK_CHARACTER; - YY_BREAK -case 48: -YY_RULE_SETUP -#line 289 "asn1p_l.l" -return TOK_CHOICE; - YY_BREAK -case 49: -YY_RULE_SETUP -#line 290 "asn1p_l.l" -return TOK_CLASS; - YY_BREAK -case 50: -YY_RULE_SETUP -#line 291 "asn1p_l.l" -return TOK_COMPONENT; - YY_BREAK -case 51: -YY_RULE_SETUP -#line 292 "asn1p_l.l" -return TOK_COMPONENTS; - YY_BREAK -case 52: -YY_RULE_SETUP -#line 293 "asn1p_l.l" -return TOK_CONSTRAINED; - YY_BREAK -case 53: -YY_RULE_SETUP -#line 294 "asn1p_l.l" -return TOK_CONTAINING; - YY_BREAK -case 54: -YY_RULE_SETUP -#line 295 "asn1p_l.l" -return TOK_DEFAULT; - YY_BREAK -case 55: -YY_RULE_SETUP -#line 296 "asn1p_l.l" -{ - /* Appeared in 1990, removed in 1997 */ - if(TYPE_LIFETIME(1990, 1997)) - return TOK_DEFINED; - fprintf(stderr, "Keyword \"%s\" at line %d " - "is obsolete\n", asn1p_text, asn1p_lineno); - /* Deprecated since */ - REJECT; - } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 305 "asn1p_l.l" -return TOK_DEFINITIONS; - YY_BREAK -case 57: -YY_RULE_SETUP -#line 306 "asn1p_l.l" -return TOK_EMBEDDED; - YY_BREAK -case 58: -YY_RULE_SETUP -#line 307 "asn1p_l.l" -return TOK_ENCODED; - YY_BREAK -case 59: -YY_RULE_SETUP -#line 308 "asn1p_l.l" -return TOK_ENCODING_CONTROL; - YY_BREAK -case 60: -YY_RULE_SETUP -#line 309 "asn1p_l.l" -{ - if(YYSTATE == extended_values) { - yy_pop_state(); - } - return TOK_END; - } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 315 "asn1p_l.l" -return TOK_ENUMERATED; - YY_BREAK -case 62: -YY_RULE_SETUP -#line 316 "asn1p_l.l" -return TOK_EXCEPT; - YY_BREAK -case 63: -YY_RULE_SETUP -#line 317 "asn1p_l.l" -return TOK_EXPLICIT; - YY_BREAK -case 64: -YY_RULE_SETUP -#line 318 "asn1p_l.l" -return TOK_EXPORTS; - YY_BREAK -case 65: -YY_RULE_SETUP -#line 319 "asn1p_l.l" -return TOK_EXTENSIBILITY; - YY_BREAK -case 66: -YY_RULE_SETUP -#line 320 "asn1p_l.l" -return TOK_EXTERNAL; - YY_BREAK -case 67: -YY_RULE_SETUP -#line 321 "asn1p_l.l" -return TOK_FALSE; - YY_BREAK -case 68: -YY_RULE_SETUP -#line 322 "asn1p_l.l" -return TOK_FROM; - YY_BREAK -case 69: -YY_RULE_SETUP -#line 323 "asn1p_l.l" -return TOK_GeneralizedTime; - YY_BREAK -case 70: -YY_RULE_SETUP -#line 324 "asn1p_l.l" -return TOK_GeneralString; - YY_BREAK -case 71: -YY_RULE_SETUP -#line 325 "asn1p_l.l" -return TOK_GraphicString; - YY_BREAK -case 72: -YY_RULE_SETUP -#line 326 "asn1p_l.l" -return TOK_IA5String; - YY_BREAK -case 73: -YY_RULE_SETUP -#line 327 "asn1p_l.l" -return TOK_IDENTIFIER; - YY_BREAK -case 74: -YY_RULE_SETUP -#line 328 "asn1p_l.l" -return TOK_IMPLICIT; - YY_BREAK -case 75: -YY_RULE_SETUP -#line 329 "asn1p_l.l" -return TOK_IMPLIED; - YY_BREAK -case 76: -YY_RULE_SETUP -#line 330 "asn1p_l.l" -return TOK_IMPORTS; - YY_BREAK -case 77: -YY_RULE_SETUP -#line 331 "asn1p_l.l" -return TOK_INCLUDES; - YY_BREAK -case 78: -YY_RULE_SETUP -#line 332 "asn1p_l.l" -return TOK_INSTANCE; - YY_BREAK -case 79: -YY_RULE_SETUP -#line 333 "asn1p_l.l" -return TOK_INSTRUCTIONS; - YY_BREAK -case 80: -YY_RULE_SETUP -#line 334 "asn1p_l.l" -return TOK_INTEGER; - YY_BREAK -case 81: -YY_RULE_SETUP -#line 335 "asn1p_l.l" -return TOK_INTERSECTION; - YY_BREAK -case 82: -YY_RULE_SETUP -#line 336 "asn1p_l.l" -return TOK_ISO646String; - YY_BREAK -case 83: -YY_RULE_SETUP -#line 337 "asn1p_l.l" -return TOK_MAX; - YY_BREAK -case 84: -YY_RULE_SETUP -#line 338 "asn1p_l.l" -return TOK_MIN; - YY_BREAK -case 85: -YY_RULE_SETUP -#line 339 "asn1p_l.l" -return TOK_MINUS_INFINITY; - YY_BREAK -case 86: -YY_RULE_SETUP -#line 340 "asn1p_l.l" -return TOK_NULL; - YY_BREAK -case 87: -YY_RULE_SETUP -#line 341 "asn1p_l.l" -return TOK_NumericString; - YY_BREAK -case 88: -YY_RULE_SETUP -#line 342 "asn1p_l.l" -return TOK_OBJECT; - YY_BREAK -case 89: -YY_RULE_SETUP -#line 343 "asn1p_l.l" -return TOK_ObjectDescriptor; - YY_BREAK -case 90: -YY_RULE_SETUP -#line 344 "asn1p_l.l" -return TOK_OCTET; - YY_BREAK -case 91: -YY_RULE_SETUP -#line 345 "asn1p_l.l" -return TOK_OF; - YY_BREAK -case 92: -YY_RULE_SETUP -#line 346 "asn1p_l.l" -return TOK_OPTIONAL; - YY_BREAK -case 93: -YY_RULE_SETUP -#line 347 "asn1p_l.l" -return TOK_PATTERN; - YY_BREAK -case 94: -YY_RULE_SETUP -#line 348 "asn1p_l.l" -return TOK_PDV; - YY_BREAK -case 95: -YY_RULE_SETUP -#line 349 "asn1p_l.l" -return TOK_PLUS_INFINITY; - YY_BREAK -case 96: -YY_RULE_SETUP -#line 350 "asn1p_l.l" -return TOK_PRESENT; - YY_BREAK -case 97: -YY_RULE_SETUP -#line 351 "asn1p_l.l" -return TOK_PrintableString; - YY_BREAK -case 98: -YY_RULE_SETUP -#line 352 "asn1p_l.l" -return TOK_PRIVATE; - YY_BREAK -case 99: -YY_RULE_SETUP -#line 353 "asn1p_l.l" -return TOK_REAL; - YY_BREAK -case 100: -YY_RULE_SETUP -#line 354 "asn1p_l.l" -return TOK_RELATIVE_OID; - YY_BREAK -case 101: -YY_RULE_SETUP -#line 355 "asn1p_l.l" -return TOK_SEQUENCE; - YY_BREAK -case 102: -YY_RULE_SETUP -#line 356 "asn1p_l.l" -return TOK_SET; - YY_BREAK -case 103: -YY_RULE_SETUP -#line 357 "asn1p_l.l" -return TOK_SIZE; - YY_BREAK -case 104: -YY_RULE_SETUP -#line 358 "asn1p_l.l" -return TOK_STRING; - YY_BREAK -case 105: -YY_RULE_SETUP -#line 359 "asn1p_l.l" -return TOK_SYNTAX; - YY_BREAK -case 106: -YY_RULE_SETUP -#line 360 "asn1p_l.l" -return TOK_T61String; - YY_BREAK -case 107: -YY_RULE_SETUP -#line 361 "asn1p_l.l" -return TOK_TAGS; - YY_BREAK -case 108: -YY_RULE_SETUP -#line 362 "asn1p_l.l" -return TOK_TeletexString; - YY_BREAK -case 109: -YY_RULE_SETUP -#line 363 "asn1p_l.l" -return TOK_TRUE; - YY_BREAK -case 110: -YY_RULE_SETUP -#line 364 "asn1p_l.l" -return TOK_UNION; - YY_BREAK -case 111: -YY_RULE_SETUP -#line 365 "asn1p_l.l" -return TOK_UNIQUE; - YY_BREAK -case 112: -YY_RULE_SETUP -#line 366 "asn1p_l.l" -return TOK_UNIVERSAL; - YY_BREAK -case 113: -YY_RULE_SETUP -#line 367 "asn1p_l.l" -{ - if(TYPE_LIFETIME(1994, 0)) - return TOK_UniversalString; - REJECT; - } - YY_BREAK -case 114: -YY_RULE_SETUP -#line 372 "asn1p_l.l" -return TOK_UTCTime; - YY_BREAK -case 115: -YY_RULE_SETUP -#line 373 "asn1p_l.l" -{ - if(TYPE_LIFETIME(1994, 0)) - return TOK_UTF8String; - REJECT; - } - YY_BREAK -case 116: -YY_RULE_SETUP -#line 378 "asn1p_l.l" -return TOK_VideotexString; - YY_BREAK -case 117: -YY_RULE_SETUP -#line 379 "asn1p_l.l" -return TOK_VisibleString; - YY_BREAK -case 118: -YY_RULE_SETUP -#line 380 "asn1p_l.l" -return TOK_WITH; - YY_BREAK -case 119: -YY_RULE_SETUP -#line 383 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_typefieldreference; - } - YY_BREAK -case 120: -YY_RULE_SETUP -#line 388 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_valuefieldreference; - } - YY_BREAK -case 121: -YY_RULE_SETUP -#line 394 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_identifier; - } - YY_BREAK -/* - * objectclassreference - */ -case 122: -YY_RULE_SETUP -#line 402 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_capitalreference; - } - YY_BREAK -/* - * typereference, modulereference - * NOTE: TOK_objectclassreference must be combined - * with this token to produce true typereference. - */ -case 123: -YY_RULE_SETUP -#line 412 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_typereference; - } - YY_BREAK -case 124: -YY_RULE_SETUP -#line 417 "asn1p_l.l" -return TOK_PPEQ; - YY_BREAK -case 125: -YY_RULE_SETUP -#line 419 "asn1p_l.l" -return TOK_ThreeDots; - YY_BREAK -case 126: -YY_RULE_SETUP -#line 420 "asn1p_l.l" -return TOK_TwoDots; - YY_BREAK - -case 127: -YY_RULE_SETUP -#line 424 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_Literal; - } - YY_BREAK -case 128: -YY_RULE_SETUP -#line 429 "asn1p_l.l" -{ - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_Literal; - } - YY_BREAK -case 129: -YY_RULE_SETUP -#line 434 "asn1p_l.l" -{ - yy_push_state(with_syntax); - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_Literal; - } - YY_BREAK -case 130: -YY_RULE_SETUP -#line 440 "asn1p_l.l" -return '['; - YY_BREAK -case 131: -YY_RULE_SETUP -#line 441 "asn1p_l.l" -return ']'; - YY_BREAK -case 132: -/* rule 132 can match eol */ -YY_RULE_SETUP -#line 443 "asn1p_l.l" -{ - asn1p_lval.tv_opaque.buf = strdup(asn1p_text); - asn1p_lval.tv_opaque.len = asn1p_leng; - return TOK_whitespace; - } - YY_BREAK -case 133: -YY_RULE_SETUP -#line 449 "asn1p_l.l" -{ - yy_pop_state(); - if(YYSTATE == with_syntax) { - asn1p_lval.tv_str = strdup(asn1p_text); - return TOK_Literal; - } else { - return '}'; - } - } - YY_BREAK - -case 134: -/* rule 134 can match eol */ -YY_RULE_SETUP -#line 462 "asn1p_l.l" -/* Ignore whitespace */ - YY_BREAK -case 135: -/* rule 135 can match eol */ -YY_RULE_SETUP -#line 465 "asn1p_l.l" -{ - asn1c_integer_t v1 = -1, v2 = -1; - char *p; - for(p = asn1p_text; *p; p++) - if(*p >= '0' && *p <= '9') - { v1 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; /* Skip digits */ - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v2 = _lex_atoi(p); break; } - if(v1 < 0 || v1 > 7) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.14 " - "mandates 0..7 range for Tuple's TableColumn\n", - asn1p_text, asn1p_lineno); - return -1; - } - if(v2 < 0 || v2 > 15) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.14 " - "mandates 0..15 range for Tuple's TableRow\n", - asn1p_text, asn1p_lineno); - return -1; - } - asn1p_lval.a_int = (v1 << 4) + v2; - return TOK_tuple; - } - YY_BREAK -case 136: -/* rule 136 can match eol */ -YY_RULE_SETUP -#line 490 "asn1p_l.l" -{ - asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1; - char *p; - for(p = asn1p_text; *p; p++) - if(*p >= '0' && *p <= '9') - { v1 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; /* Skip digits */ - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v2 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v3 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v4 = _lex_atoi(p); break; } - if(v1 < 0 || v1 > 127) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..127 range for Quadruple's Group\n", - asn1p_text, asn1p_lineno); - return -1; - } - if(v2 < 0 || v2 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Plane\n", - asn1p_text, asn1p_lineno); - return -1; - } - if(v3 < 0 || v3 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Row\n", - asn1p_text, asn1p_lineno); - return -1; - } - if(v4 < 0 || v4 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Cell\n", - asn1p_text, asn1p_lineno); - return -1; - } - asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4; - return TOK_quadruple; - } - YY_BREAK -case 137: -YY_RULE_SETUP -#line 534 "asn1p_l.l" -return TOK_VBracketLeft; - YY_BREAK -case 138: -YY_RULE_SETUP -#line 535 "asn1p_l.l" -return TOK_VBracketRight; - YY_BREAK -case 139: -YY_RULE_SETUP -#line 537 "asn1p_l.l" -return asn1p_text[0]; - YY_BREAK -case 140: -/* rule 140 can match eol */ -YY_RULE_SETUP -#line 539 "asn1p_l.l" -{ - if(TYPE_LIFETIME(1994, 0)) - fprintf(stderr, "ERROR: "); - fprintf(stderr, - "Symbol '%c' at line %d is prohibited " - "by ASN.1:1994 and ASN.1:1997\n", - asn1p_text[0], asn1p_lineno); - if(TYPE_LIFETIME(1994, 0)) - return -1; - } - YY_BREAK -case 141: -YY_RULE_SETUP -#line 550 "asn1p_l.l" -{ - fprintf(stderr, - "Unexpected token at line %d: \"%s\"\n", - asn1p_lineno, asn1p_text); - while(YYSTATE != INITIAL) - yy_pop_state(); - if(0) { - yy_top_state(); /* Just to use this function. */ - yy_fatal_error("Parse error"); - } - return -1; -} - YY_BREAK -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(dash_comment): -case YY_STATE_EOF(idash_comment): -case YY_STATE_EOF(cpp_comment): -case YY_STATE_EOF(quoted): -case YY_STATE_EOF(opaque): -case YY_STATE_EOF(encoding_control): -case YY_STATE_EOF(with_syntax): -case YY_STATE_EOF(extended_values): -#line 563 "asn1p_l.l" -{ - while(YYSTATE != INITIAL) - yy_pop_state(); - yyterminate(); - } - YY_BREAK -case 142: -YY_RULE_SETUP -#line 570 "asn1p_l.l" -YY_FATAL_ERROR( "flex scanner jammed" ); - YY_BREAK -#line 3545 "asn1p_l.c" - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed asn1p_in at a new source and called - * asn1p_lex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = asn1p_in; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { -/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */ - yy_cp = (yy_c_buf_p); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( asn1p_wrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * asn1p_text, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of asn1p_lex */ -/* %ok-for-header */ - -/* %if-c++-only */ -/* %not-for-header */ - -/* %ok-for-header */ - -/* %endif */ - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -/* %if-c-only */ -static int yy_get_next_buffer (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; - int ret_val; - - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - yy_size_t num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - asn1p_restart(asn1p_in ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) asn1p_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -/* %if-c-only */ -/* %not-for-header */ - - static yy_state_type yy_get_previous_state (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - register yy_state_type yy_current_state; - register char *yy_cp; - -/* %% [15.0] code to get the start state into yy_current_state goes here */ - yy_current_state = (yy_start); - - (yy_state_ptr) = (yy_state_buf); - *(yy_state_ptr)++ = yy_current_state; - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { -/* %% [16.0] code to find the next state goes here */ - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 769 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *(yy_state_ptr)++ = yy_current_state; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ -/* %if-c-only */ - static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - register int yy_is_jam; - /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - - register YY_CHAR yy_c = 1; - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 769 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 768); - if ( ! yy_is_jam ) - *(yy_state_ptr)++ = yy_current_state; - - return yy_is_jam ? 0 : yy_current_state; -} - -/* %if-c-only */ - - static void yyunput (int c, register char * yy_bp ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - register char *yy_cp; - - yy_cp = (yy_c_buf_p); - - /* undo effects of setting up asn1p_text */ - *yy_cp = (yy_hold_char); - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register yy_size_t number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - -/* %% [18.0] update asn1p_lineno here */ - - if ( c == '\n' ){ - --asn1p_lineno; - } - - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} -/* %if-c-only */ - -/* %endif */ - -/* %if-c-only */ -#ifndef YY_NO_INPUT -#ifdef __cplusplus - static int yyinput (void) -#else - static int input (void) -#endif - -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - asn1p_restart(asn1p_in ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( asn1p_wrap( ) ) - return 0; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve asn1p_text */ - (yy_hold_char) = *++(yy_c_buf_p); - -/* %% [19.0] update BOL and asn1p_lineno */ - if ( c == '\n' ) - - asn1p_lineno++; -; - - return c; -} -/* %if-c-only */ -#endif /* ifndef YY_NO_INPUT */ -/* %endif */ - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ -/* %if-c-only */ - void asn1p_restart (FILE * input_file ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - - if ( ! YY_CURRENT_BUFFER ){ - asn1p_ensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); - } - - asn1p__init_buffer(YY_CURRENT_BUFFER,input_file ); - asn1p__load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ -/* %if-c-only */ - void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - - /* TODO. We should be able to replace this entire function body - * with - * asn1p_pop_buffer_state(); - * asn1p_push_buffer_state(new_buffer); - */ - asn1p_ensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - asn1p__load_buffer_state( ); - - /* We don't actually know whether we did this switch during - * EOF (asn1p_wrap()) processing, but the only time this flag - * is looked at is after asn1p_wrap() is called, so it's safe - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - -/* %if-c-only */ -static void asn1p__load_buffer_state (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - asn1p_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ -/* %if-c-only */ - YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" ); - - b->yy_is_our_buffer = 1; - - asn1p__init_buffer(b,file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with asn1p__create_buffer() - * - */ -/* %if-c-only */ - void asn1p__delete_buffer (YY_BUFFER_STATE b ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - asn1p_free((void *) b->yy_ch_buf ); - - asn1p_free((void *) b ); -} - -/* %if-c-only */ - -/* %endif */ - -/* %if-c++-only */ -/* %endif */ - -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a asn1p_restart() or at EOF. - */ -/* %if-c-only */ - static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ - -{ - int oerrno = errno; - - asn1p__flush_buffer(b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - - /* If b is the current buffer, then asn1p__init_buffer was _probably_ - * called from asn1p_restart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - -/* %if-c-only */ - - b->yy_is_interactive = 0; - -/* %endif */ -/* %if-c++-only */ -/* %endif */ - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ -/* %if-c-only */ - void asn1p__flush_buffer (YY_BUFFER_STATE b ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - asn1p__load_buffer_state( ); -} - -/* %if-c-or-c++ */ -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -/* %if-c-only */ -void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - if (new_buffer == NULL) - return; - - asn1p_ensure_buffer_stack(); - - /* This block is copied from asn1p__switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from asn1p__switch_to_buffer. */ - asn1p__load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} -/* %endif */ - -/* %if-c-or-c++ */ -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -/* %if-c-only */ -void asn1p_pop_buffer_state (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - if (!YY_CURRENT_BUFFER) - return; - - asn1p__delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - asn1p__load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} -/* %endif */ - -/* %if-c-or-c++ */ -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -/* %if-c-only */ -static void asn1p_ensure_buffer_stack (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - yy_size_t num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} -/* %endif */ - -/* %if-c-only */ -/** Setup the input buffer state to scan directly from a user-specified character buffer. - * @param base the character buffer - * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size ) -{ - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - asn1p__switch_to_buffer(b ); - - return b; -} -/* %endif */ - -/* %if-c-only */ -/** Setup the input buffer state to scan a string. The next call to asn1p_lex() will - * scan from a @e copy of @a str. - * @param yystr a NUL-terminated string to scan - * - * @return the newly allocated buffer state object. - * @note If you want to scan bytes that may contain NUL values, then use - * asn1p__scan_bytes() instead. - */ -YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr ) -{ - - return asn1p__scan_bytes(yystr,strlen(yystr) ); -} -/* %endif */ - -/* %if-c-only */ -/** Setup the input buffer state to scan the given bytes. The next call to asn1p_lex() will - * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) -{ - YY_BUFFER_STATE b; - char *buf; - yy_size_t n, i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) asn1p_alloc(n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" ); - - for ( i = 0; i < _yybytes_len; ++i ) - buf[i] = yybytes[i]; - - buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - - b = asn1p__scan_buffer(buf,n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; -} -/* %endif */ - -/* %if-c-only */ - static void yy_push_state (int new_state ) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) - { - yy_size_t new_size; - - (yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = (yy_start_stack_depth) * sizeof( int ); - - if ( ! (yy_start_stack) ) - (yy_start_stack) = (int *) asn1p_alloc(new_size ); - - else - (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; - - BEGIN(new_state); -} - -/* %if-c-only */ - static void yy_pop_state (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - if ( --(yy_start_stack_ptr) < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); -} - -/* %if-c-only */ - static int yy_top_state (void) -/* %endif */ -/* %if-c++-only */ -/* %endif */ -{ - return (yy_start_stack)[(yy_start_stack_ptr) - 1]; -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -/* %if-c-only */ -static void yy_fatal_error (yyconst char* msg ) -{ - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); -} -/* %endif */ -/* %if-c++-only */ -/* %endif */ - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up asn1p_text. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - asn1p_text[asn1p_leng] = (yy_hold_char); \ - (yy_c_buf_p) = asn1p_text + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - asn1p_leng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/* %if-c-only */ -/* %if-reentrant */ -/* %endif */ - -/** Get the current line number. - * - */ -int asn1p_get_lineno (void) -{ - - return asn1p_lineno; -} - -/** Get the input stream. - * - */ -FILE *asn1p_get_in (void) -{ - return asn1p_in; -} - -/** Get the output stream. - * - */ -FILE *asn1p_get_out (void) -{ - return asn1p_out; -} - -/** Get the length of the current token. - * - */ -yy_size_t asn1p_get_leng (void) -{ - return asn1p_leng; -} - -/** Get the current token. - * - */ - -char *asn1p_get_text (void) -{ - return asn1p_text; -} - -/* %if-reentrant */ -/* %endif */ - -/** Set the current line number. - * @param line_number - * - */ -void asn1p_set_lineno (int line_number ) -{ - - asn1p_lineno = line_number; -} - -/** Set the input stream. This does not discard the current - * input buffer. - * @param in_str A readable stream. - * - * @see asn1p__switch_to_buffer - */ -void asn1p_set_in (FILE * in_str ) -{ - asn1p_in = in_str ; -} - -void asn1p_set_out (FILE * out_str ) -{ - asn1p_out = out_str ; -} - -int asn1p_get_debug (void) -{ - return asn1p__flex_debug; -} - -void asn1p_set_debug (int bdebug ) -{ - asn1p__flex_debug = bdebug ; -} - -/* %endif */ - -/* %if-reentrant */ -/* %if-bison-bridge */ -/* %endif */ -/* %endif if-c-only */ - -/* %if-c-only */ -static int yy_init_globals (void) -{ - /* Initialization is the same as for the non-reentrant scanner. - * This function is called from asn1p_lex_destroy(), so don't allocate here. - */ - - /* We do not touch asn1p_lineno unless the option is enabled. */ - asn1p_lineno = 1; - - (yy_buffer_stack) = 0; - (yy_buffer_stack_top) = 0; - (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; - (yy_init) = 0; - (yy_start) = 0; - - (yy_start_stack_ptr) = 0; - (yy_start_stack_depth) = 0; - (yy_start_stack) = NULL; - - (yy_state_buf) = 0; - (yy_state_ptr) = 0; - (yy_full_match) = 0; - (yy_lp) = 0; - -/* Defined in main.c */ -#ifdef YY_STDINIT - asn1p_in = stdin; - asn1p_out = stdout; -#else - asn1p_in = (FILE *) 0; - asn1p_out = (FILE *) 0; -#endif - - /* For future reference: Set errno on error, since we are called by - * asn1p_lex_init() - */ - return 0; -} -/* %endif */ - -/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ -/* asn1p_lex_destroy is for both reentrant and non-reentrant scanners. */ -int asn1p_lex_destroy (void) -{ - - /* Pop the buffer stack, destroying each element. */ - while(YY_CURRENT_BUFFER){ - asn1p__delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - asn1p_pop_buffer_state(); - } - - /* Destroy the stack itself. */ - asn1p_free((yy_buffer_stack) ); - (yy_buffer_stack) = NULL; - - /* Destroy the start condition stack. */ - asn1p_free((yy_start_stack) ); - (yy_start_stack) = NULL; - - asn1p_free ( (yy_state_buf) ); - (yy_state_buf) = NULL; - - /* Reset the globals. This is important in a non-reentrant scanner so the next time - * asn1p_lex() is called, initialization will occur. */ - yy_init_globals( ); - -/* %if-reentrant */ -/* %endif */ - return 0; -} -/* %endif */ - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *asn1p_alloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *asn1p_realloc (void * ptr, yy_size_t size ) -{ - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void asn1p_free (void * ptr ) -{ - free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */ -} - -/* %if-tables-serialization definitions */ -/* %define-yytables The name for this specific scanner's tables. */ -#define YYTABLES_NAME "yytables" -/* %endif */ - -/* %ok-for-header */ - -#line 570 "asn1p_l.l" - - - -/* - * Very dirty but wonderful hack allowing to rule states from within .y file. - */ -void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); } - -/* - * Another hack which disables recognizing some tokens when inside WITH SYNTAX. - */ -void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); } - -/* Yet another */ -void asn1p_lexer_hack_push_encoding_control() { - yy_push_state(encoding_control); -} - -static asn1c_integer_t -_lex_atoi(const char *ptr) { - asn1c_integer_t value; - if(asn1p_atoi(ptr, &value)) { - fprintf(stderr, - "Value \"%s\" at line %d is too large " - "for this compiler! Please contact the asn1c author.\n", - ptr, asn1p_lineno); - errno = ERANGE; - } - return value; -} - -static double -_lex_atod(const char *ptr) { - double value; - errno = 0; - value = strtod(ptr, 0); - if(errno) { - fprintf(stderr, - "Value \"%s\" at line %d is outside of `double` range " - "in this compiler! Please contact the asn1c author.\n", - ptr, asn1p_lineno); - errno = ERANGE; - } - return value; -} - - diff --git a/libasn1parser/asn1p_l.l b/libasn1parser/asn1p_l.l deleted file mode 100644 index 7757216..0000000 --- a/libasn1parser/asn1p_l.l +++ /dev/null @@ -1,614 +0,0 @@ -%{ - -#include -#include -#include - -#include "asn1parser.h" -#include "asn1p_y.h" - -int asn1p_lex(void); -void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */ -void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */ -void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */ - -#define YY_FATAL_ERROR(msg) do { \ - fprintf(stderr, \ - "lexer error at line %d, " \ - "text \"%s\"\n", \ - yylineno, yytext); \ - exit(1); \ - } while(0) - -int asn1p_lexer_pedantic_1990 = 0; -int asn1p_lexer_types_year = 0; -int asn1p_lexer_constructs_year = 0; -int asn1p_lexer_extended_values = 0; - -int asn1p_as_pointer; - -static asn1c_integer_t _lex_atoi(const char *ptr); -static double _lex_atod(const char *ptr); - -/* - * Check that the type is defined in the year of the standard choosen. - */ -#define TYPE_LIFETIME(fyr, lyr) \ - (!asn1p_lexer_types_year \ - || (fyr && fyr <= asn1p_lexer_types_year) \ - || (lyr && lyr > asn1p_lexer_types_year)) - -/* - * Check the the construction (or concept, i.e. CLASS) is defined in - * a given year. - */ -#define CONSTRUCT_LIFETIME(fyr, lyr) \ - (!asn1p_lexer_constructs_year \ - || (fyr && fyr <= asn1p_lexer_constructs_year) \ - || (lyr && lyr > asn1p_lexer_constructs_year)) - -/* - * Append quoted string. - */ -#define QAPPEND(text, tlen) do { \ - char *prev_text = asn1p_lval.tv_opaque.buf; \ - int prev_len = asn1p_lval.tv_opaque.len; \ - char *p; \ - \ - p = malloc((tlen) + prev_len + 1); \ - if(p == NULL) return -1; \ - \ - if(prev_text) memcpy(p, prev_text, prev_len); \ - memcpy(p + prev_len, text, tlen); \ - p[prev_len + (tlen)] = '\0'; \ - \ - free(asn1p_lval.tv_opaque.buf); \ - asn1p_lval.tv_opaque.buf = p; \ - asn1p_lval.tv_opaque.len = (tlen) + prev_len; \ - } while(0) - -%} - -%option never-interactive -%option noinput -%option noyywrap stack -/* Performance penalty is OK */ -%option yylineno -/* Controlled from within application */ -%option debug - -%pointer - -%x dash_comment -%x idash_comment -%x cpp_comment -%x quoted -%x opaque -%x encoding_control -%x with_syntax -%x extended_values - -/* Newline */ -NL [\r\v\f\n] -/* White-space */ -WSP [\t\r\v\f\n ] - -%% - -"\xef\xbb\xbf" return UTF8_BOM; - --{3,}/[\r\n] /* Immediately terminated long comment */ --{3,}/[^-\r\n] yy_push_state(idash_comment); /* Incorrect, but acceptable */ -{ - -{3,} yy_pop_state(); /* Acceptable end of comment */ -} - ---<[ \t]*ASN1C.RepresentAsPointer[ \t]*>-- asn1p_as_pointer = 1; - -{ - "#BIT STRING" { - yy_pop_state(); - return TOK_ExtValue_BIT_STRING; - } -} - --- yy_push_state(dash_comment); -{ - - {NL} yy_pop_state(); - - -- yy_pop_state(); /* End of comment */ - - /* Eat single dash */ - [^\r\v\f\n-]+ /* Eat */ -} - -"/*" yy_push_state(cpp_comment); -{ - [^*/<] /* Eat */ - "*/" yy_pop_state(); - . /* Eat */ -} - - - /* - * This is state is being set from corresponding .y module when - * higher-level data is necessary to make proper parsing of the - * underlying data. Thus, we enter the state and save - * everything for later processing. - */ -{ - - "{" { - yy_push_state(opaque); - asn1p_lval.tv_opaque.buf = strdup(yytext); - asn1p_lval.tv_opaque.len = yyleng; - return TOK_opaque; - } - - "}" { - yy_pop_state(); - asn1p_lval.tv_opaque.buf = strdup(yytext); - asn1p_lval.tv_opaque.len = yyleng; - return TOK_opaque; - } - - [^{}:=]+ { - asn1p_lval.tv_opaque.buf = strdup(yytext); - asn1p_lval.tv_opaque.len = yyleng; - return TOK_opaque; - } - - "::=" { - fprintf(stderr, - "ASN.1 Parser synchronization failure: " - "\"%s\" at line %d must not appear " - "inside value definition\n", - yytext, yylineno); - return -1; - } - - [:=] { - asn1p_lval.tv_opaque.buf = strdup(yytext); - asn1p_lval.tv_opaque.len = yyleng; - return TOK_opaque; - } - - } - -\"[^\"]* { - asn1p_lval.tv_opaque.buf = 0; - asn1p_lval.tv_opaque.len = 0; - QAPPEND(yytext+1, yyleng-1); - yy_push_state(quoted); - } -{ - - \"\" { QAPPEND(yytext, yyleng-1); } /* Add a single quote */ - [^\"]+ { QAPPEND(yytext, yyleng); } - - \" { - yy_pop_state(); - /* Do not append last quote: - // QAPPEND(yytext, yyleng); */ - - if(asn1p_lexer_pedantic_1990 - && strchr(yytext, '\n')) { - fprintf(stderr, "%s: " - "Newlines are prohibited by ASN.1:1990\n", - asn1p_lval.tv_opaque.buf); - return -1; - } - - return TOK_cstring; - } - - } - -{ - ENCODING-CONTROL { - const char *s = "ENCODING-CONTROL"; - const char *p = s + sizeof("ENCODING-CONTROL") - 2; - for(; p >= s; p--) unput(*p); - yy_pop_state(); - } - END unput('D'); unput('N'); unput('E'); yy_pop_state(); - [^{} \t\r\v\f\n]+ - [[:alnum:]]+ - . /* Eat everything else */ - "\n" - } - -'[0-9A-F \t\r\v\f\n]+'H { - /* " \t\r\n" weren't allowed in ASN.1:1990. */ - asn1p_lval.tv_str = strdup(yytext); - return TOK_hstring; - } - -'[01 \t\r\v\f\n]+'B { - /* " \t\r\n" weren't allowed in ASN.1:1990. */ - asn1p_lval.tv_str = strdup(yytext); - return TOK_bstring; - } - - --[1-9][0-9]* { - asn1p_lval.a_int = _lex_atoi(yytext); - if(errno == ERANGE) - return -1; - return TOK_number_negative; - } - -[1-9][0-9]* { - asn1p_lval.a_int = _lex_atoi(yytext); - if(errno == ERANGE) - return -1; - return TOK_number; - } - -"0" { - asn1p_lval.a_int = _lex_atoi(yytext); - if(errno == ERANGE) - return -1; - return TOK_number; - } - -[-+]?[0-9]+[.]?([eE][-+]?)?[0-9]+ { - asn1p_lval.a_dbl = _lex_atod(yytext); - if(errno == ERANGE) - return -1; - return TOK_realnumber; - } - -ABSENT return TOK_ABSENT; -ALL return TOK_ALL; -ANY { - /* Appeared in 1990, removed in 1997 */ - if(TYPE_LIFETIME(1990, 1997)) - return TOK_ANY; - fprintf(stderr, "Keyword \"%s\" at line %d " - "is obsolete\n", yytext, yylineno); - REJECT; - } -APPLICATION return TOK_APPLICATION; -AUTOMATIC return TOK_AUTOMATIC; -BEGIN { - if(asn1p_lexer_extended_values) { - yy_push_state(extended_values); - } - return TOK_BEGIN; - } -BIT return TOK_BIT; -BMPString { - if(TYPE_LIFETIME(1994, 0)) - return TOK_BMPString; - REJECT; - } -BOOLEAN return TOK_BOOLEAN; -BY return TOK_BY; -CHARACTER return TOK_CHARACTER; -CHOICE return TOK_CHOICE; -CLASS return TOK_CLASS; -COMPONENT return TOK_COMPONENT; -COMPONENTS return TOK_COMPONENTS; -CONSTRAINED return TOK_CONSTRAINED; -CONTAINING return TOK_CONTAINING; -DEFAULT return TOK_DEFAULT; -DEFINED { - /* Appeared in 1990, removed in 1997 */ - if(TYPE_LIFETIME(1990, 1997)) - return TOK_DEFINED; - fprintf(stderr, "Keyword \"%s\" at line %d " - "is obsolete\n", yytext, yylineno); - /* Deprecated since */ - REJECT; - } -DEFINITIONS return TOK_DEFINITIONS; -EMBEDDED return TOK_EMBEDDED; -ENCODED return TOK_ENCODED; -ENCODING-CONTROL return TOK_ENCODING_CONTROL; -END { - if(YYSTATE == extended_values) { - yy_pop_state(); - } - return TOK_END; - } -ENUMERATED return TOK_ENUMERATED; -EXCEPT return TOK_EXCEPT; -EXPLICIT return TOK_EXPLICIT; -EXPORTS return TOK_EXPORTS; -EXTENSIBILITY return TOK_EXTENSIBILITY; -EXTERNAL return TOK_EXTERNAL; -FALSE return TOK_FALSE; -FROM return TOK_FROM; -GeneralizedTime return TOK_GeneralizedTime; -GeneralString return TOK_GeneralString; -GraphicString return TOK_GraphicString; -IA5String return TOK_IA5String; -IDENTIFIER return TOK_IDENTIFIER; -IMPLICIT return TOK_IMPLICIT; -IMPLIED return TOK_IMPLIED; -IMPORTS return TOK_IMPORTS; -INCLUDES return TOK_INCLUDES; -INSTANCE return TOK_INSTANCE; -INSTRUCTIONS return TOK_INSTRUCTIONS; -INTEGER return TOK_INTEGER; -INTERSECTION return TOK_INTERSECTION; -ISO646String return TOK_ISO646String; -MAX return TOK_MAX; -MIN return TOK_MIN; -MINUS-INFINITY return TOK_MINUS_INFINITY; -NULL return TOK_NULL; -NumericString return TOK_NumericString; -OBJECT return TOK_OBJECT; -ObjectDescriptor return TOK_ObjectDescriptor; -OCTET return TOK_OCTET; -OF return TOK_OF; -OPTIONAL return TOK_OPTIONAL; -PATTERN return TOK_PATTERN; -PDV return TOK_PDV; -PLUS-INFINITY return TOK_PLUS_INFINITY; -PRESENT return TOK_PRESENT; -PrintableString return TOK_PrintableString; -PRIVATE return TOK_PRIVATE; -REAL return TOK_REAL; -RELATIVE-OID return TOK_RELATIVE_OID; -SEQUENCE return TOK_SEQUENCE; -SET return TOK_SET; -SIZE return TOK_SIZE; -STRING return TOK_STRING; -SYNTAX return TOK_SYNTAX; -T61String return TOK_T61String; -TAGS return TOK_TAGS; -TeletexString return TOK_TeletexString; -TRUE return TOK_TRUE; -UNION return TOK_UNION; -UNIQUE return TOK_UNIQUE; -UNIVERSAL return TOK_UNIVERSAL; -UniversalString { - if(TYPE_LIFETIME(1994, 0)) - return TOK_UniversalString; - REJECT; - } -UTCTime return TOK_UTCTime; -UTF8String { - if(TYPE_LIFETIME(1994, 0)) - return TOK_UTF8String; - REJECT; - } -VideotexString return TOK_VideotexString; -VisibleString return TOK_VisibleString; -WITH return TOK_WITH; - - -&[A-Z][A-Za-z0-9]*([-][A-Za-z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_typefieldreference; - } - -&[a-z][a-zA-Z0-9]*([-][a-zA-Z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_valuefieldreference; - } - - -[a-z][a-zA-Z0-9]*([-][a-zA-Z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_identifier; - } - - /* - * objectclassreference - */ -[A-Z][A-Z0-9]*([-][A-Z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_capitalreference; - } - - /* - * typereference, modulereference - * NOTE: TOK_objectclassreference must be combined - * with this token to produce true typereference. - */ -[A-Z][A-Za-z0-9]*([-][A-Za-z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_typereference; - } - -"::=" return TOK_PPEQ; - -"..." return TOK_ThreeDots; -".." return TOK_TwoDots; - -{ - - [A-Z][A-Za-z0-9]*([-][A-Za-z0-9]+)* { - asn1p_lval.tv_str = strdup(yytext); - return TOK_Literal; - } - - "," { - asn1p_lval.tv_str = strdup(yytext); - return TOK_Literal; - } - - "{" { - yy_push_state(with_syntax); - asn1p_lval.tv_str = strdup(yytext); - return TOK_Literal; - } - - "[" return '['; - "]" return ']'; - - {WSP}+ { - asn1p_lval.tv_opaque.buf = strdup(yytext); - asn1p_lval.tv_opaque.len = yyleng; - return TOK_whitespace; - } - - "}" { - yy_pop_state(); - if(YYSTATE == with_syntax) { - asn1p_lval.tv_str = strdup(yytext); - return TOK_Literal; - } else { - return '}'; - } - } - -} - - -{WSP}+ /* Ignore whitespace */ - - -[{][\t\r\v\f\n ]*[0-7][,][\t\r\v\f\n ]*[0-9]+[\t\r\v\f\n ]*[}] { - asn1c_integer_t v1 = -1, v2 = -1; - char *p; - for(p = yytext; *p; p++) - if(*p >= '0' && *p <= '9') - { v1 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; /* Skip digits */ - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v2 = _lex_atoi(p); break; } - if(v1 < 0 || v1 > 7) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.14 " - "mandates 0..7 range for Tuple's TableColumn\n", - yytext, yylineno); - return -1; - } - if(v2 < 0 || v2 > 15) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.14 " - "mandates 0..15 range for Tuple's TableRow\n", - yytext, yylineno); - return -1; - } - asn1p_lval.a_int = (v1 << 4) + v2; - return TOK_tuple; - } - -[{][\t\r\v\f\n ]*[0-9]+[,][\t\r\v\f\n ]*[0-9]+[,][\t\r\v\f\n ]*[0-9]+[,][\t\r\v\f\n ]*[0-9]+[\t\r\v\f\n ]*[}] { - asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1; - char *p; - for(p = yytext; *p; p++) - if(*p >= '0' && *p <= '9') - { v1 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; /* Skip digits */ - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v2 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v3 = _lex_atoi(p); break; } - while(*p >= '0' && *p <= '9') p++; - for(; *p; p++) if(*p >= '0' && *p <= '9') - { v4 = _lex_atoi(p); break; } - if(v1 < 0 || v1 > 127) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..127 range for Quadruple's Group\n", - yytext, yylineno); - return -1; - } - if(v2 < 0 || v2 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Plane\n", - yytext, yylineno); - return -1; - } - if(v3 < 0 || v3 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Row\n", - yytext, yylineno); - return -1; - } - if(v4 < 0 || v4 > 255) { - fprintf(stderr, "%s at line %d: X.680:2003, #37.12 " - "mandates 0..255 range for Quadruple's Cell\n", - yytext, yylineno); - return -1; - } - asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4; - return TOK_quadruple; - } - - -"[[" return TOK_VBracketLeft; -"]]" return TOK_VBracketRight; - -[(){},;:|!.&@\[\]^] return yytext[0]; - -[^A-Za-z0-9:=,{}<.@()[]'\"|&^*;!-] { - if(TYPE_LIFETIME(1994, 0)) - fprintf(stderr, "ERROR: "); - fprintf(stderr, - "Symbol '%c' at line %d is prohibited " - "by ASN.1:1994 and ASN.1:1997\n", - yytext[0], yylineno); - if(TYPE_LIFETIME(1994, 0)) - return -1; - } - -<*>. { - fprintf(stderr, - "Unexpected token at line %d: \"%s\"\n", - yylineno, yytext); - while(YYSTATE != INITIAL) - yy_pop_state(); - if(0) { - yy_top_state(); /* Just to use this function. */ - yy_fatal_error("Parse error"); - } - return -1; -} - -<*><> { - while(YYSTATE != INITIAL) - yy_pop_state(); - yyterminate(); - } - - -%% - -/* - * Very dirty but wonderful hack allowing to rule states from within .y file. - */ -void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); } - -/* - * Another hack which disables recognizing some tokens when inside WITH SYNTAX. - */ -void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); } - -/* Yet another */ -void asn1p_lexer_hack_push_encoding_control() { - yy_push_state(encoding_control); -} - -static asn1c_integer_t -_lex_atoi(const char *ptr) { - asn1c_integer_t value; - if(asn1p_atoi(ptr, &value)) { - fprintf(stderr, - "Value \"%s\" at line %d is too large " - "for this compiler! Please contact the asn1c author.\n", - ptr, yylineno); - errno = ERANGE; - } - return value; -} - -static double -_lex_atod(const char *ptr) { - double value; - errno = 0; - value = strtod(ptr, 0); - if(errno) { - fprintf(stderr, - "Value \"%s\" at line %d is outside of `double` range " - "in this compiler! Please contact the asn1c author.\n", - ptr, yylineno); - errno = ERANGE; - } - return value; -} - diff --git a/libasn1parser/asn1p_list.h b/libasn1parser/asn1p_list.h deleted file mode 100644 index 858f24d..0000000 --- a/libasn1parser/asn1p_list.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Singly linked tail queue support. - */ -#ifndef ASN1_PARSER_LIST_H -#define ASN1_PARSER_LIST_H - -#define TQ_HEAD(type) \ - struct { \ - type *tq_head; \ - type**tq_tail; \ - } - -#define TQ_MOVE(to, from) do { \ - if(&(TQ_FIRST(from)) == (from)->tq_tail) { \ - TQ_INIT(to); \ - } else { \ - (to)->tq_head = (from)->tq_head; \ - (to)->tq_tail = (from)->tq_tail; \ - } \ - TQ_INIT(from); \ - } while(0) - -#define TQ_ENTRY(type) \ - struct { \ - type *tq_next; \ - } - -#define TQ_FIRST(headp) ((headp)->tq_head) -#define TQ_NEXT(el, field) ((el)->field.tq_next) - -#define TQ_INIT(head) do { \ - TQ_FIRST((head)) = 0; \ - (head)->tq_tail = &TQ_FIRST((head)); \ - } while(0) - -#define TQ_FOR(var, head, field) \ - for((var) = TQ_FIRST((head)); \ - (var); (var) = TQ_NEXT((var), field)) - -/* MSVC does not have typeof(), cannot prevent side effects! */ -#define TQ_ADD(head, xel, field) do { \ - typeof(xel) __el = (xel); \ - assert(TQ_NEXT((__el), field) == 0); \ - *(head)->tq_tail = (__el); \ - (head)->tq_tail = &TQ_NEXT((__el), field); \ - } while(0) - -#define TQ_CONCAT(head1, head2, field) do { \ - if(TQ_FIRST(head2)) { \ - *(head1)->tq_tail = (head2)->tq_head; \ - (head1)->tq_tail = (head2)->tq_tail; \ - TQ_INIT(head2); \ - } \ - } while(0) - -/* - * Remove the first element and return it. - */ -#define TQ_REMOVE(head, field) ({ \ - typeof(TQ_FIRST((head))) __fel; \ - __fel = TQ_FIRST((head)); \ - if(__fel == 0 \ - || (TQ_FIRST((head)) = TQ_NEXT(__fel, field)) \ - == 0) { \ - (head)->tq_tail = &TQ_FIRST((head)); \ - } else { \ - TQ_NEXT(__fel, field) = 0; \ - } \ - __fel; }) - - -#endif /* ASN1_PARSER_LIST_H */ diff --git a/libasn1parser/asn1p_module.c b/libasn1parser/asn1p_module.c deleted file mode 100644 index 974668d..0000000 --- a/libasn1parser/asn1p_module.c +++ /dev/null @@ -1,98 +0,0 @@ -#include -#include -#include - -#include "asn1parser.h" - -/* - * Construct a new empty module. - */ -asn1p_module_t * -asn1p_module_new() { - asn1p_module_t *mod; - - mod = calloc(1, sizeof *mod); - if(mod) { - TQ_INIT(&(mod->exports)); - TQ_INIT(&(mod->imports)); - TQ_INIT(&(mod->members)); - - mod->members_hash = genhash_new(cmpf_string, hashf_string, NULL, NULL); - assert(mod->members_hash); - } - return mod; -} - -/* - * Destroy the module. - */ -void -asn1p_module_free(asn1p_module_t *mod) { - if(mod) { - asn1p_expr_t *expr; - asn1p_xports_t *xports; - - free(mod->ModuleName); - free(mod->source_file_name); - - asn1p_oid_free(mod->module_oid); - - while((xports = TQ_REMOVE(&(mod->exports), xp_next))) - asn1p_xports_free(xports); - - while((xports = TQ_REMOVE(&(mod->imports), xp_next))) - asn1p_xports_free(xports); - - while((expr = TQ_REMOVE(&(mod->members), next))) - asn1p_expr_free(expr); - - genhash_destroy(mod->members_hash); - mod->members_hash = NULL; - - free(mod); - } -} - -asn1p_t * -asn1p_new() { - asn1p_t *asn; - asn = calloc(1, sizeof(*asn)); - if(asn) { - TQ_INIT(&(asn->modules)); - } - return asn; -} - - -void -asn1p_delete(asn1p_t *asn) { - if(asn) { - asn1p_module_t *mod; - while((mod = TQ_REMOVE(&(asn->modules), mod_next))) - asn1p_module_free(mod); - free(asn); - } -} - - -void -asn1p_module_move_members(asn1p_module_t *to, asn1p_module_t *from) { - if(from) { - while(TQ_FIRST(&(from->members))) { - asn1p_expr_t *expr = TQ_REMOVE(&from->members, next); - TQ_ADD(&to->members, expr, next); - genhash_add(to->members_hash, expr->Identifier, expr); - } - assert(TQ_FIRST(&from->members) == 0); - - genhash_empty(from->members_hash, 0, 0); - } -} - -void -asn1p_module_member_add(asn1p_module_t *mod, asn1p_expr_t *expr) { - if(expr) { - TQ_ADD(&mod->members, expr, next); - genhash_add(mod->members_hash, expr->Identifier, expr); - } -} diff --git a/libasn1parser/asn1p_module.h b/libasn1parser/asn1p_module.h deleted file mode 100644 index 8315bf4..0000000 --- a/libasn1parser/asn1p_module.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * A Module definition structure used by the ASN.1 parser. - */ -#ifndef ASN1_PARSER_MODULE_H -#define ASN1_PARSER_MODULE_H - -struct asn1p_module_s; - -/* - * A simple container for several modules. - */ -typedef struct asn1p_s { - TQ_HEAD(struct asn1p_module_s) modules; -} asn1p_t; - -asn1p_t *asn1p_new(void); -void asn1p_delete(asn1p_t *asn); - -struct genhash_s; /* Forward declaration */ - -/* - * Flags specific to a module. - */ -typedef enum asn1p_module_flags { - MSF_NOFLAGS, - MSF_unk_INSTRUCTIONS = 0x001, - MSF_TAG_INSTRUCTIONS = 0x002, - MSF_XER_INSTRUCTIONS = 0x004, - MSF_EXPLICIT_TAGS = 0x010, - MSF_IMPLICIT_TAGS = 0x020, - MSF_AUTOMATIC_TAGS = 0x040, - MSF_EXTENSIBILITY_IMPLIED = 0x100, -} asn1p_module_flags_e; -#define MSF_MASK_INSTRUCTIONS 0x0f -#define MSF_MASK_TAGS 0xf0 - -/* - * === EXAMPLE === - * MySyntax DEFINITIONS AUTOMATIC TAGS ::= - * BEGIN - * ... - * END - * === EOF === - */ -typedef struct asn1p_module_s { - - /* - * Human-readable module reference. - */ - char *ModuleName; /* Must be the first field */ - - /* - * Name of the source file. - */ - char *source_file_name; - - /* - * Unique module identifier, OID. - */ - asn1p_oid_t *module_oid; /* Optional OID of the module */ - - /* - * Module flags. - */ - asn1p_module_flags_e module_flags; /* AUTOMATIC TAGS? */ - - /* - * List of everything that this module EXPORTS. - */ - TQ_HEAD(struct asn1p_xports_s) exports; - - /* - * List of everything that this module IMPORTS. - */ - TQ_HEAD(struct asn1p_xports_s) imports; - - /* - * List of everything that this module defines itself. - */ - TQ_HEAD(struct asn1p_expr_s) members; /* Do not access directly */ - struct genhash_s *members_hash; - - /* - * Next module in the list. - */ - TQ_ENTRY(struct asn1p_module_s) - mod_next; - - /* All modules */ - asn1p_t *asn1p; - - /* - * Internally useful properties. - */ - enum { - MT_STANDARD_MODULE = 0x01, /* Module came from standard-modules */ - } _tags; -} asn1p_module_t; - -/* - * Constructor and destructor. - */ -asn1p_module_t *asn1p_module_new(void); -void asn1p_module_free(asn1p_module_t *mod); - -void asn1p_module_move_members(asn1p_module_t *to, asn1p_module_t *from); -void asn1p_module_member_add(asn1p_module_t *mod, struct asn1p_expr_s *expr); - - -#endif /* ASN1_PARSER_MODULE_H */ diff --git a/libasn1parser/asn1p_oid.c b/libasn1parser/asn1p_oid.c deleted file mode 100644 index a71c8c4..0000000 --- a/libasn1parser/asn1p_oid.c +++ /dev/null @@ -1,114 +0,0 @@ -#include -#include -#include - -#include "asn1parser.h" - -asn1p_oid_t * -asn1p_oid_construct(asn1p_oid_arc_t *arc, int narcs) { - asn1p_oid_t *oid; - - if(narcs <= 0) - return NULL; - - oid = asn1p_oid_new(); - if(oid) { - for(; narcs--; arc++) { - if(asn1p_oid_add_arc(oid, arc)) { - asn1p_oid_free(oid); - return NULL; - } - } - } - - return oid; -} - -asn1p_oid_t * -asn1p_oid_new() { - return calloc(1, sizeof(asn1p_oid_t)); -} - -int -asn1p_oid_add_arc(asn1p_oid_t *oid, asn1p_oid_arc_t *template) { - void *p; - p = realloc(oid->arcs, (oid->arcs_count + 1) * sizeof(oid->arcs[0])); - if(p) { - oid->arcs = p; - oid->arcs[oid->arcs_count].name - = template->name?strdup(template->name):0; - oid->arcs[oid->arcs_count].number = template->number; - oid->arcs_count++; - return 0; - } else { - return -1; - } -} - -void -asn1p_oid_free(asn1p_oid_t *oid) { - if(oid) { - if(oid->arcs) { - while(oid->arcs_count--) { - free(oid->arcs[oid->arcs_count].name); - } - free(oid->arcs); - } - free(oid); - } -} - -asn1p_oid_arc_t * -asn1p_oid_arc_new(const char *optName, asn1c_integer_t optNumber /* = -1 */) { - asn1p_oid_arc_t *arc; - - arc = calloc(1, sizeof *arc); - if(arc) { - if(optName) - arc->name = strdup(optName); - arc->number = optNumber; - } - - return arc; -} - -void -asn1p_oid_arc_free(asn1p_oid_arc_t *arc) { - if(arc) { - free(arc->name); - free(arc); - } -} - -int -asn1p_oid_compare(const asn1p_oid_t *a, const asn1p_oid_t *b) { - int i; - - for(i = 0; ; i++) { - asn1c_integer_t cmp; - - if(b->arcs_count > i) { - if(a->arcs_count <= i) - return -1; - } else if(a->arcs_count > i) { - if(b->arcs_count <= i) - return 1; - } else if(b->arcs_count <= i && a->arcs_count <= i) { - cmp = b->arcs_count - a->arcs_count; - if(cmp < 0) - return -1; - else if(cmp > 0) - return 1; - return 0; - } - - cmp = b->arcs[i].number - a->arcs[i].number; - if(cmp < 0) - return -1; - else if(cmp > 0) - return 1; - } - -} - - diff --git a/libasn1parser/asn1p_oid.h b/libasn1parser/asn1p_oid.h deleted file mode 100644 index 1b7ba52..0000000 --- a/libasn1parser/asn1p_oid.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Object Identifier definition. - */ -#ifndef ASN1_PARSER_OID_H -#define ASN1_PARSER_OID_H - -/******************************** - * Single Object Identifier Arc * - ********************************/ - -/* - * Object identifier arc (one number in the hierarchy). - */ -typedef struct asn1p_oid_arc_s { - asn1c_integer_t number; /* -1 if not yet defined */ - char *name; /* 0 if not defined */ -} asn1p_oid_arc_t; - - -/* - * Arc constructor. - */ -asn1p_oid_arc_t *asn1p_oid_arc_new( - const char *optName, asn1c_integer_t optNumber /* = -1 */); -/* - * Arc destructor. - */ -void asn1p_oid_arc_free(asn1p_oid_arc_t *); - - -/************************************************** - * Object Identifier itself, a collection of arcs * - **************************************************/ - -/* - * Object Identifier as a collection of arcs. - */ -typedef struct asn1p_oid_s { - asn1p_oid_arc_t *arcs; - int arcs_count; -} asn1p_oid_t; - -/* - * OID constructors. - */ -asn1p_oid_t *asn1p_oid_new(void); -asn1p_oid_t *asn1p_oid_construct(asn1p_oid_arc_t *, int narcs); - -/* - * Add another arc using given one as a template - */ -int asn1p_oid_add_arc(asn1p_oid_t *, asn1p_oid_arc_t *template); - -/* - * OID destructor. - */ -void asn1p_oid_free(asn1p_oid_t *); - -/* - * RETURN VALUES: - * 0: The specified OIDs are equal. - * -1 or 1 otherwise. - */ -int asn1p_oid_compare(const asn1p_oid_t *a, const asn1p_oid_t *b); - - -#endif /* ASN1_PARSER_OID_H */ diff --git a/libasn1parser/asn1p_param.c b/libasn1parser/asn1p_param.c deleted file mode 100644 index df6054e..0000000 --- a/libasn1parser/asn1p_param.c +++ /dev/null @@ -1,110 +0,0 @@ -#include -#include -#include -#include -#include - -#include "asn1parser.h" - -/* - * Construct a new empty parameters list. - */ -asn1p_paramlist_t * -asn1p_paramlist_new(int _lineno) { - asn1p_paramlist_t *pl; - - pl = calloc(1, sizeof *pl); - if(pl) { - pl->_lineno = _lineno; - } - - return pl; -} - -void -asn1p_paramlist_free(asn1p_paramlist_t *pl) { - if(pl) { - if(pl->params) { - int i = pl->params_count; - while(i--) { - asn1p_ref_free(pl->params[i].governor); - free(pl->params[i].argument); - pl->params[i].governor = 0; - pl->params[i].argument = 0; - } - free(pl->params); - pl->params = 0; - } - - free(pl); - } -} - -int -asn1p_paramlist_add_param(asn1p_paramlist_t *pl, asn1p_ref_t *gov, char *arg) { - - if(!pl || !arg) { - errno = EINVAL; - return -1; - } - - /* - * Make sure there's enough space to insert a new element. - */ - if(pl->params_count == pl->params_size) { - int newsize = pl->params_size?pl->params_size<<2:4; - void *p; - p = realloc(pl->params, - newsize * sizeof(pl->params[0])); - if(p) { - pl->params = p; - pl->params_size = newsize; - memset(&pl->params[pl->params_count], 0, - (newsize - pl->params_size) - * sizeof(pl->params[0])); - } else { - return -1; - } - - } - - if(gov) { - pl->params[pl->params_count].governor = asn1p_ref_clone(gov); - if(pl->params[pl->params_count].governor == NULL) - return -1; - } else { - pl->params[pl->params_count].governor = 0; - } - - pl->params[pl->params_count].argument = strdup(arg); - if(pl->params[pl->params_count].argument) { - pl->params_count++; - return 0; - } else { - asn1p_ref_free(pl->params[pl->params_count].governor); - return -1; - } -} - -asn1p_paramlist_t * -asn1p_paramlist_clone(asn1p_paramlist_t *pl) { - asn1p_paramlist_t *newpl; - - newpl = asn1p_paramlist_new(pl->_lineno); - if(newpl) { - int i; - for(i = 0; i < pl->params_count; i++) { - if(asn1p_paramlist_add_param(newpl, - pl->params[i].governor, - pl->params[i].argument - )) { - asn1p_paramlist_free(newpl); - newpl = NULL; - break; - } - } - } - - return newpl; -} - diff --git a/libasn1parser/asn1p_param.h b/libasn1parser/asn1p_param.h deleted file mode 100644 index 93db90d..0000000 --- a/libasn1parser/asn1p_param.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Structures and prototypes related to parameterization - */ -#ifndef ASN1_PARSER_PARAMETERIZATION_H -#define ASN1_PARSER_PARAMETERIZATION_H - -struct asn1p_expr_s; /* Forward declaration */ - -typedef struct asn1p_paramlist_s { - struct asn1p_param_s { - /* Translated from */ - asn1p_ref_t *governor; - char *argument; - } *params; - int params_count; - int params_size; - int _lineno; -} asn1p_paramlist_t; - -/* - * Constructor and destructor. - */ -asn1p_paramlist_t *asn1p_paramlist_new(int _lineno); -void asn1p_paramlist_free(asn1p_paramlist_t *); - -asn1p_paramlist_t *asn1p_paramlist_clone(asn1p_paramlist_t *ref); - -int asn1p_paramlist_add_param(asn1p_paramlist_t *, - asn1p_ref_t *opt_gov, char *arg); - - -#endif /* ASN1_PARSER_PARAMETERIZATION_H */ diff --git a/libasn1parser/asn1p_value.c b/libasn1parser/asn1p_value.c deleted file mode 100644 index 957b9e4..0000000 --- a/libasn1parser/asn1p_value.c +++ /dev/null @@ -1,346 +0,0 @@ -#include -#include -#include -#include - -#include "asn1parser.h" -#include "asn1p_expr.h" - -void -asn1p_value_set_source(asn1p_value_t *value, asn1p_module_t *module, - int lineno) { - if(value) { - switch(value->type) { - case ATV_TYPE: - asn1p_expr_set_source(value->value.v_type, module, lineno); - break; - case ATV_REFERENCED: - asn1p_ref_set_source(value->value.reference, module, lineno); - break; - case ATV_VALUESET: - asn1p_constraint_set_source(value->value.constraint, module, - lineno); - break; - default: - break; - } - } -} - -int -asn1p_value_compare(const asn1p_value_t *a, const asn1p_value_t *b) { - if(a->type != b->type) { - return -1; - } - - switch(a->type) { - case ATV_NULL: - case ATV_NOVALUE: - case ATV_MAX: - case ATV_MIN: - case ATV_FALSE: - case ATV_TRUE: - break; - case ATV_TYPE: - return asn1p_expr_compare(a->value.v_type, b->value.v_type); - case ATV_REAL: - return (a->value.v_double == b->value.v_double) ? 0 : -1; - case ATV_INTEGER: - case ATV_TUPLE: - case ATV_QUADRUPLE: - return (a->value.v_integer == b->value.v_integer) ? 0 : -1; - case ATV_STRING: - case ATV_UNPARSED: - if(a->value.string.size != b->value.string.size - || memcmp(a->value.string.buf, b->value.string.buf, - a->value.string.size) - != 0) { - return -1; - } - return 0; - case ATV_BITVECTOR: - if(a->value.binary_vector.size_in_bits - != b->value.binary_vector.size_in_bits - || memcmp(a->value.binary_vector.bits, b->value.binary_vector.bits, - (a->value.binary_vector.size_in_bits+7) >> 3) - != 0) { - return -1; - } - return 0; - case ATV_VALUESET: - return asn1p_constraint_compare(a->value.constraint, - b->value.constraint); - case ATV_REFERENCED: - return asn1p_ref_compare(a->value.reference, b->value.reference); - case ATV_CHOICE_IDENTIFIER: - if(strcmp(a->value.choice_identifier.identifier, - b->value.choice_identifier.identifier) - != 0) { - return -1; - } - return asn1p_value_compare(a->value.choice_identifier.value, - b->value.choice_identifier.value); - } - - return 0; -} - -asn1p_value_t * -asn1p_value_fromref(asn1p_ref_t *ref, int do_copy) { - if(ref) { - asn1p_value_t *v = calloc(1, sizeof *v); - if(v) { - if(do_copy) { - v->value.reference = asn1p_ref_clone(ref); - if(v->value.reference == NULL) { - free(v); - return NULL; - } - } else { - v->value.reference = ref; - } - v->type = ATV_REFERENCED; - } - return v; - } else { - errno = EINVAL; - return NULL; - } -} - -asn1p_value_t * -asn1p_value_fromconstr(asn1p_constraint_t *ct, int do_copy) { - if(ct) { - asn1p_value_t *v = calloc(1, sizeof *v); - if(v) { - if(do_copy) { - v->value.constraint - = asn1p_constraint_clone(ct); - if(v->value.constraint == NULL) { - free(v); - return NULL; - } - } else { - v->value.constraint = ct; - } - v->type = ATV_VALUESET; - } - return v; - } else { - errno = EINVAL; - return NULL; - } -} - -asn1p_value_t * -asn1p_value_frombits(uint8_t *bits, int size_in_bits, int do_copy) { - if(bits) { - asn1p_value_t *v = calloc(1, sizeof *v); - assert(size_in_bits >= 0); - if(v) { - if(do_copy) { - int size = ((size_in_bits + 7) >> 3); - void *p; - p = malloc(size + 1); - if(p) { - memcpy(p, bits, size); - ((char *)p)[size] = '\0'; /* JIC */ - } else { - free(v); - return NULL; - } - v->value.binary_vector.bits = p; - } else { - v->value.binary_vector.bits = (void *)bits; - } - v->value.binary_vector.size_in_bits = size_in_bits; - v->type = ATV_BITVECTOR; - } - return v; - } else { - errno = EINVAL; - return NULL; - } -} - -asn1p_value_t * -asn1p_value_frombuf(char *buffer, int size, int do_copy) { - if(buffer) { - asn1p_value_t *v = calloc(1, sizeof *v); - assert(size >= 0); - if(v) { - if(do_copy) { - void *p = malloc(size + 1); - if(p) { - memcpy(p, buffer, size); - ((char *)p)[size] = '\0'; /* JIC */ - } else { - free(v); - return NULL; - } - v->value.string.buf = p; - } else { - v->value.string.buf = (uint8_t *)buffer; - } - v->value.string.size = size; - v->type = ATV_STRING; - } - return v; - } else { - errno = EINVAL; - return NULL; - } -} - -asn1p_value_t * -asn1p_value_fromdouble(double d) { - asn1p_value_t *v = calloc(1, sizeof *v); - if(v) { - v->value.v_double = d; - v->type = ATV_REAL; - } - return v; -} - -asn1p_value_t * -asn1p_value_fromint(asn1c_integer_t i) { - asn1p_value_t *v = calloc(1, sizeof *v); - if(v) { - v->value.v_integer = i; - v->type = ATV_INTEGER; - } - return v; -} - -asn1p_value_t * -asn1p_value_fromtype(asn1p_expr_t *expr) { - asn1p_value_t *v = calloc(1, sizeof *v); - if(v) { - v->value.v_type = expr; - v->type = ATV_TYPE; - expr->ref_cnt++; - } - return v; -} - -asn1p_value_t * -asn1p_value_clone(asn1p_value_t *v) { - return asn1p_value_clone_with_resolver(v, 0, 0); -} - -asn1p_value_t * -asn1p_value_clone_with_resolver(asn1p_value_t *v, - asn1p_value_t *(*resolver)(asn1p_value_t *, void *rarg), - void *rarg) { - asn1p_value_t *clone = NULL; - if(v) { - switch(v->type) { - case ATV_NOVALUE: - case ATV_NULL: - return calloc(1, sizeof(*clone)); - case ATV_REAL: - return asn1p_value_fromdouble(v->value.v_double); - case ATV_TYPE: - return asn1p_value_fromtype(v->value.v_type); - case ATV_INTEGER: - case ATV_MIN: - case ATV_MAX: - case ATV_FALSE: - case ATV_TRUE: - case ATV_TUPLE: - case ATV_QUADRUPLE: - clone = asn1p_value_fromint(v->value.v_integer); - if(clone) clone->type = v->type; - return clone; - case ATV_STRING: - clone = asn1p_value_frombuf((char *)v->value.string.buf, - v->value.string.size, 1); - if(clone) clone->type = v->type; - return clone; - case ATV_UNPARSED: - clone = asn1p_value_frombuf((char *)v->value.string.buf, - v->value.string.size, 1); - if(clone) clone->type = ATV_UNPARSED; - return clone; - case ATV_BITVECTOR: - return asn1p_value_frombits(v->value.binary_vector.bits, - v->value.binary_vector.size_in_bits, 1); - case ATV_REFERENCED: - if(resolver) { - clone = resolver(v, rarg); - if(clone) return clone; - else if(errno != ESRCH) return NULL; - } - return asn1p_value_fromref(v->value.reference, 1); - case ATV_VALUESET: - if(resolver) { - clone = resolver(v, rarg); - if(clone) return clone; - else if(errno != ESRCH) return NULL; - } - return asn1p_value_fromconstr(v->value.constraint, 1); - case ATV_CHOICE_IDENTIFIER: { - char *id = v->value.choice_identifier.identifier; - clone = calloc(1, sizeof(*clone)); - if(!clone) return NULL; - clone->type = v->type; - id = strdup(id); - if(!id) { asn1p_value_free(clone); return NULL; } - clone->value.choice_identifier.identifier = id; - v = asn1p_value_clone(v->value.choice_identifier.value); - if(!v) { asn1p_value_free(clone); return NULL; } - clone->value.choice_identifier.value = v; - return clone; - } - } - - assert(!"UNREACHABLE"); - } - return v; -} - -void -asn1p_value_free(asn1p_value_t *v) { - if(v) { - switch(v->type) { - case ATV_NOVALUE: - case ATV_NULL: - break; - case ATV_TYPE: - asn1p_expr_free(v->value.v_type); - break; - case ATV_REAL: - case ATV_INTEGER: - case ATV_MIN: - case ATV_MAX: - case ATV_FALSE: - case ATV_TRUE: - case ATV_TUPLE: - case ATV_QUADRUPLE: - /* No freeing necessary */ - break; - case ATV_STRING: - case ATV_UNPARSED: - assert(v->value.string.buf); - free(v->value.string.buf); - break; - case ATV_BITVECTOR: - assert(v->value.binary_vector.bits); - free(v->value.binary_vector.bits); - break; - case ATV_REFERENCED: - asn1p_ref_free(v->value.reference); - break; - case ATV_VALUESET: - asn1p_constraint_free(v->value.constraint); - break; - case ATV_CHOICE_IDENTIFIER: - free(v->value.choice_identifier.identifier); - asn1p_value_free(v->value.choice_identifier.value); - break; - } - memset(v, 0, sizeof(*v)); - free(v); - } -} - diff --git a/libasn1parser/asn1p_value.h b/libasn1parser/asn1p_value.h deleted file mode 100644 index c1167f3..0000000 --- a/libasn1parser/asn1p_value.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * A generic value of different syntaxes. - */ -#ifndef ASN1_PARSER_VALUE_H -#define ASN1_PARSER_VALUE_H - -struct asn1p_constraint_s; /* Forward declaration */ -struct asn1p_module_s; -struct asn1p_expr_s; - -/* - * A wrapper around various kinds of values. - */ -typedef struct asn1p_value_s { - /* - * The value of the element. - */ - enum { - ATV_NOVALUE, - ATV_TYPE, /* A type (as in CONTAINING Type) */ - ATV_NULL, /* A "NULL" value of type NULL. */ - ATV_REAL, /* A constant floating-point value */ - ATV_INTEGER, /* An integer constant */ - ATV_MAX, - ATV_MIN, - ATV_TRUE, - ATV_FALSE, - ATV_TUPLE, /* { 1, 15 } */ - ATV_QUADRUPLE, /* { 0, 14, 0, 255 } */ - ATV_STRING, /* "abcdef" */ - ATV_UNPARSED, - ATV_BITVECTOR, - ATV_VALUESET, /* { 1 | 2 | 3 } */ - ATV_REFERENCED, /* Reference to a value defined elsewhere */ - ATV_CHOICE_IDENTIFIER, /* ChoiceIdentifier value */ - } type; /* Value type and location */ - - union { - struct asn1p_constraint_s *constraint; /* ValueSet */ - struct asn1p_expr_s *v_type; /* Type */ - asn1p_ref_t *reference; - asn1c_integer_t v_integer; - double v_double; - /* - * Binary bits vector. - */ - struct { - uint8_t *buf; - int size; - } string; - struct { - uint8_t *bits; - int size_in_bits; - } binary_vector; - struct { - char *identifier; - struct asn1p_value_s *value; - } choice_identifier; - } value; -} asn1p_value_t; - -/* - * Destructor and constructors for value. - * If ref, bits or buffer are omitted, the corresponding function returns - * (asn1p_value_t *)0 with errno = EINVAL. - * Allocated value (where applicable) is guaranteed to be NUL-terminated. - */ -void asn1p_value_free(asn1p_value_t *); -asn1p_value_t *asn1p_value_fromref(asn1p_ref_t *ref, int do_copy); -asn1p_value_t *asn1p_value_fromconstr(struct asn1p_constraint_s *ct, int dc); -asn1p_value_t *asn1p_value_frombits(uint8_t *bits, int size_in_bits, int dc); -asn1p_value_t *asn1p_value_frombuf(char *buffer, int size, int do_copy); -asn1p_value_t *asn1p_value_fromdouble(double); -asn1p_value_t *asn1p_value_fromint(asn1c_integer_t); -asn1p_value_t *asn1p_value_fromtype(struct asn1p_expr_s *); -asn1p_value_t *asn1p_value_clone(asn1p_value_t *); -asn1p_value_t *asn1p_value_clone_with_resolver(asn1p_value_t *, - asn1p_value_t *(*resolver)(asn1p_value_t *, void *rarg), - void *rarg); -int asn1p_value_compare(const asn1p_value_t *, const asn1p_value_t *); -void asn1p_value_set_source(asn1p_value_t *, struct asn1p_module_s *, int line); - -#endif /* ASN1_PARSER_VALUE_H */ diff --git a/libasn1parser/asn1p_xports.c b/libasn1parser/asn1p_xports.c deleted file mode 100644 index 8ba511a..0000000 --- a/libasn1parser/asn1p_xports.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include - -#include "asn1parser.h" - -/* - * Construct a new structure that would hold the EXPORTS or IMPORTS - * clause data. - */ -asn1p_xports_t * -asn1p_xports_new() { - asn1p_xports_t *xp; - - xp = calloc(1, sizeof *xp); - if(xp) { - TQ_INIT(&(xp->xp_members)); - } - - return xp; -} - -/* - * Destroy the xports structure. - */ -void -asn1p_xports_free(asn1p_xports_t *xp) { - if(xp) { - asn1p_expr_t *expr; - - free(xp->fromModuleName); - asn1p_oid_free(xp->identifier.oid); - - while((expr = TQ_REMOVE(&(xp->xp_members), next))) - asn1p_expr_free(expr); - - free(xp); - } -} diff --git a/libasn1parser/asn1p_xports.h b/libasn1parser/asn1p_xports.h deleted file mode 100644 index 0c65be0..0000000 --- a/libasn1parser/asn1p_xports.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Imports and exports structure. - */ -#ifndef ASN1_PARSE_XPORTS_H -#define ASN1_PARSE_XPORTS_H - - -typedef struct asn1p_xports_s { - /* - * Type of the xports structure. - */ - enum asn1p_xports { - XPT_IMPORTS, - XPT_EXPORTS, - } xports_type; - - /* - * Module name and optional OID, occur after FROM. - */ - char *fromModuleName; /* Name of the module */ - struct AssignedIdentifier { - asn1p_oid_t *oid; /* Optional OID of the module */ - asn1p_value_t *value; /* DefinedValue */ - } identifier; - - /* - * Number of entities to import. - */ - TQ_HEAD(struct asn1p_expr_s) xp_members; - - /* - * Pointer to the next xports structure in whatever list. - */ - TQ_ENTRY(struct asn1p_xports_s) xp_next; -} asn1p_xports_t; - -/* - * Constructor and destructor. - */ -asn1p_xports_t *asn1p_xports_new(void); -void asn1p_xports_free(asn1p_xports_t *); - -#endif /* ASN1_PARSE_XPORTS_H */ diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c deleted file mode 100644 index ceacc38..0000000 --- a/libasn1parser/asn1p_y.c +++ /dev/null @@ -1,5323 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.3" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - -/* Substitute the variable and function names. */ -#define yyparse asn1p_parse -#define yylex asn1p_lex -#define yyerror asn1p_error -#define yylval asn1p_lval -#define yychar asn1p_char -#define yydebug asn1p_debug -#define yynerrs asn1p_nerrs - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - TOK_PPEQ = 258, - TOK_VBracketLeft = 259, - TOK_VBracketRight = 260, - TOK_whitespace = 261, - TOK_opaque = 262, - TOK_bstring = 263, - TOK_cstring = 264, - TOK_hstring = 265, - TOK_identifier = 266, - TOK_number = 267, - TOK_number_negative = 268, - TOK_realnumber = 269, - TOK_tuple = 270, - TOK_quadruple = 271, - TOK_typereference = 272, - TOK_capitalreference = 273, - TOK_typefieldreference = 274, - TOK_valuefieldreference = 275, - TOK_Literal = 276, - TOK_ExtValue_BIT_STRING = 277, - TOK_ABSENT = 278, - TOK_ABSTRACT_SYNTAX = 279, - TOK_ALL = 280, - TOK_ANY = 281, - TOK_APPLICATION = 282, - TOK_AUTOMATIC = 283, - TOK_BEGIN = 284, - TOK_BIT = 285, - TOK_BMPString = 286, - TOK_BOOLEAN = 287, - TOK_BY = 288, - TOK_CHARACTER = 289, - TOK_CHOICE = 290, - TOK_CLASS = 291, - TOK_COMPONENT = 292, - TOK_COMPONENTS = 293, - TOK_CONSTRAINED = 294, - TOK_CONTAINING = 295, - TOK_DEFAULT = 296, - TOK_DEFINITIONS = 297, - TOK_DEFINED = 298, - TOK_EMBEDDED = 299, - TOK_ENCODED = 300, - TOK_ENCODING_CONTROL = 301, - TOK_END = 302, - TOK_ENUMERATED = 303, - TOK_EXPLICIT = 304, - TOK_EXPORTS = 305, - TOK_EXTENSIBILITY = 306, - TOK_EXTERNAL = 307, - TOK_FALSE = 308, - TOK_FROM = 309, - TOK_GeneralizedTime = 310, - TOK_GeneralString = 311, - TOK_GraphicString = 312, - TOK_IA5String = 313, - TOK_IDENTIFIER = 314, - TOK_IMPLICIT = 315, - TOK_IMPLIED = 316, - TOK_IMPORTS = 317, - TOK_INCLUDES = 318, - TOK_INSTANCE = 319, - TOK_INSTRUCTIONS = 320, - TOK_INTEGER = 321, - TOK_ISO646String = 322, - TOK_MAX = 323, - TOK_MIN = 324, - TOK_MINUS_INFINITY = 325, - TOK_NULL = 326, - TOK_NumericString = 327, - TOK_OBJECT = 328, - TOK_ObjectDescriptor = 329, - TOK_OCTET = 330, - TOK_OF = 331, - TOK_OPTIONAL = 332, - TOK_PATTERN = 333, - TOK_PDV = 334, - TOK_PLUS_INFINITY = 335, - TOK_PRESENT = 336, - TOK_PrintableString = 337, - TOK_PRIVATE = 338, - TOK_REAL = 339, - TOK_RELATIVE_OID = 340, - TOK_SEQUENCE = 341, - TOK_SET = 342, - TOK_SIZE = 343, - TOK_STRING = 344, - TOK_SYNTAX = 345, - TOK_T61String = 346, - TOK_TAGS = 347, - TOK_TeletexString = 348, - TOK_TRUE = 349, - TOK_TYPE_IDENTIFIER = 350, - TOK_UNIQUE = 351, - TOK_UNIVERSAL = 352, - TOK_UniversalString = 353, - TOK_UTCTime = 354, - TOK_UTF8String = 355, - TOK_VideotexString = 356, - TOK_VisibleString = 357, - TOK_WITH = 358, - UTF8_BOM = 359, - TOK_EXCEPT = 360, - TOK_INTERSECTION = 361, - TOK_UNION = 362, - TOK_TwoDots = 363, - TOK_ThreeDots = 364 - }; -#endif -/* Tokens. */ -#define TOK_PPEQ 258 -#define TOK_VBracketLeft 259 -#define TOK_VBracketRight 260 -#define TOK_whitespace 261 -#define TOK_opaque 262 -#define TOK_bstring 263 -#define TOK_cstring 264 -#define TOK_hstring 265 -#define TOK_identifier 266 -#define TOK_number 267 -#define TOK_number_negative 268 -#define TOK_realnumber 269 -#define TOK_tuple 270 -#define TOK_quadruple 271 -#define TOK_typereference 272 -#define TOK_capitalreference 273 -#define TOK_typefieldreference 274 -#define TOK_valuefieldreference 275 -#define TOK_Literal 276 -#define TOK_ExtValue_BIT_STRING 277 -#define TOK_ABSENT 278 -#define TOK_ABSTRACT_SYNTAX 279 -#define TOK_ALL 280 -#define TOK_ANY 281 -#define TOK_APPLICATION 282 -#define TOK_AUTOMATIC 283 -#define TOK_BEGIN 284 -#define TOK_BIT 285 -#define TOK_BMPString 286 -#define TOK_BOOLEAN 287 -#define TOK_BY 288 -#define TOK_CHARACTER 289 -#define TOK_CHOICE 290 -#define TOK_CLASS 291 -#define TOK_COMPONENT 292 -#define TOK_COMPONENTS 293 -#define TOK_CONSTRAINED 294 -#define TOK_CONTAINING 295 -#define TOK_DEFAULT 296 -#define TOK_DEFINITIONS 297 -#define TOK_DEFINED 298 -#define TOK_EMBEDDED 299 -#define TOK_ENCODED 300 -#define TOK_ENCODING_CONTROL 301 -#define TOK_END 302 -#define TOK_ENUMERATED 303 -#define TOK_EXPLICIT 304 -#define TOK_EXPORTS 305 -#define TOK_EXTENSIBILITY 306 -#define TOK_EXTERNAL 307 -#define TOK_FALSE 308 -#define TOK_FROM 309 -#define TOK_GeneralizedTime 310 -#define TOK_GeneralString 311 -#define TOK_GraphicString 312 -#define TOK_IA5String 313 -#define TOK_IDENTIFIER 314 -#define TOK_IMPLICIT 315 -#define TOK_IMPLIED 316 -#define TOK_IMPORTS 317 -#define TOK_INCLUDES 318 -#define TOK_INSTANCE 319 -#define TOK_INSTRUCTIONS 320 -#define TOK_INTEGER 321 -#define TOK_ISO646String 322 -#define TOK_MAX 323 -#define TOK_MIN 324 -#define TOK_MINUS_INFINITY 325 -#define TOK_NULL 326 -#define TOK_NumericString 327 -#define TOK_OBJECT 328 -#define TOK_ObjectDescriptor 329 -#define TOK_OCTET 330 -#define TOK_OF 331 -#define TOK_OPTIONAL 332 -#define TOK_PATTERN 333 -#define TOK_PDV 334 -#define TOK_PLUS_INFINITY 335 -#define TOK_PRESENT 336 -#define TOK_PrintableString 337 -#define TOK_PRIVATE 338 -#define TOK_REAL 339 -#define TOK_RELATIVE_OID 340 -#define TOK_SEQUENCE 341 -#define TOK_SET 342 -#define TOK_SIZE 343 -#define TOK_STRING 344 -#define TOK_SYNTAX 345 -#define TOK_T61String 346 -#define TOK_TAGS 347 -#define TOK_TeletexString 348 -#define TOK_TRUE 349 -#define TOK_TYPE_IDENTIFIER 350 -#define TOK_UNIQUE 351 -#define TOK_UNIVERSAL 352 -#define TOK_UniversalString 353 -#define TOK_UTCTime 354 -#define TOK_UTF8String 355 -#define TOK_VideotexString 356 -#define TOK_VisibleString 357 -#define TOK_WITH 358 -#define UTF8_BOM 359 -#define TOK_EXCEPT 360 -#define TOK_INTERSECTION 361 -#define TOK_UNION 362 -#define TOK_TwoDots 363 -#define TOK_ThreeDots 364 - - - - -/* Copy the first part of user declarations. */ -#line 1 "asn1p_y.y" - - -#include -#include -#include -#include -#include -#include - -#include "asn1parser.h" - -#define YYPARSE_PARAM param -#define YYPARSE_PARAM_TYPE void ** -#define YYERROR_VERBOSE -#define YYDEBUG 1 -#define YYFPRINTF prefixed_fprintf - -/* - * Prefix parser debug with "PARSER: " for easier human eye scanning. - */ -static int -__attribute__((format(printf, 2, 3))) -prefixed_fprintf(FILE *f, const char *fmt, ...) { - static int line_ended = 1; - va_list ap; - va_start(ap, fmt); - if(line_ended) { - fprintf(f, "PARSER: "); - line_ended = 0; - } - size_t len = strlen(fmt); - if(len && fmt[len-1] == '\n') { - line_ended = 1; - } - int ret = vfprintf(f, fmt, ap); - va_end(ap); - return ret; -} - -int yylex(void); -static int yyerror(const char *msg); - -#ifdef YYBYACC -int yyparse(void **param); /* byacc does not produce a prototype */ -#endif -void asn1p_lexer_hack_push_opaque_state(void); -void asn1p_lexer_hack_enable_with_syntax(void); -void asn1p_lexer_hack_push_encoding_control(void); -#define yylineno asn1p_lineno -extern int asn1p_lineno; -const char *asn1p_parse_debug_filename; -#define ASN_FILENAME asn1p_parse_debug_filename -int ext_num = 1; - -/* - * Process directives as - */ -extern int asn1p_as_pointer; - -/* - * This temporary variable is used to solve the shortcomings of 1-lookahead - * parser. - */ -static struct AssignedIdentifier *saved_aid; - -static asn1p_value_t *_convert_bitstring2binary(char *str, int base); -static void _fixup_anonymous_identifier(asn1p_expr_t *expr); - -static asn1p_module_t *currentModule; -#define NEW_EXPR() (asn1p_expr_new(yylineno, currentModule)) - -#define checkmem(ptr) do { \ - if(!(ptr)) \ - return yyerror("Memory failure"); \ - } while(0) - -#define CONSTRAINT_INSERT(root, constr_type, arg1, arg2) do { \ - if(arg1->type != constr_type) { \ - int __ret; \ - root = asn1p_constraint_new(yylineno, currentModule); \ - checkmem(root); \ - root->type = constr_type; \ - __ret = asn1p_constraint_insert(root, \ - arg1); \ - checkmem(__ret == 0); \ - } else { \ - root = arg1; \ - } \ - if(arg2) { \ - int __ret \ - = asn1p_constraint_insert(root, arg2); \ - checkmem(__ret == 0); \ - } \ - } while(0) - -#ifdef AL_IMPORT -#error AL_IMPORT DEFINED ELSEWHERE! -#endif -#define AL_IMPORT(to, where, from, field) \ - do { \ - if(!(from)) break; \ - while(TQ_FIRST(&((from)->where))) { \ - TQ_ADD(&((to)->where), TQ_REMOVE(&((from)->where), field), field); \ - } \ - assert(TQ_FIRST(&((from)->where)) == 0); \ - } while(0) - - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 115 "asn1p_y.y" -{ - asn1p_t *a_grammar; - asn1p_module_flags_e a_module_flags; - asn1p_module_t *a_module; - asn1p_expr_type_e a_type; /* ASN.1 Type */ - asn1p_expr_t *a_expr; /* Constructed collection */ - asn1p_constraint_t *a_constr; /* Constraint */ - enum asn1p_constraint_type_e a_ctype;/* Constraint type */ - asn1p_xports_t *a_xports; /* IMports/EXports */ - struct AssignedIdentifier a_aid; /* Assigned Identifier */ - asn1p_oid_t *a_oid; /* Object Identifier */ - asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */ - struct asn1p_type_tag_s a_tag; /* A tag */ - asn1p_ref_t *a_ref; /* Reference to custom type */ - asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */ - asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */ - struct asn1p_ref_component_s a_refcomp; /* Component of a reference */ - asn1p_value_t *a_value; /* Number, DefinedValue, etc */ - struct asn1p_param_s a_parg; /* A parameter argument */ - asn1p_paramlist_t *a_plist; /* A pargs list */ - struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */ - enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */ - asn1c_integer_t a_int; - double a_dbl; - char *tv_str; - struct { - char *buf; - int len; - } tv_opaque; - struct { - char *name; - struct asn1p_type_tag_s tag; - } tv_nametag; -} -/* Line 193 of yacc.c. */ -#line 465 "asn1p_y.c" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations. */ - - -/* Line 216 of yacc.c. */ -#line 478 "asn1p_y.c" - -#ifdef short -# undef short -#endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; -#endif - -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; -#else -typedef short int yytype_int8; -#endif - -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif - -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ -#endif - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; -#endif -{ - return i; -} -#endif - -#if ! defined yyoverflow || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) - -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 9 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 919 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 126 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 147 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 342 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 522 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 365 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 122, 2, 2, 2, 2, 2, 2, - 115, 116, 2, 2, 118, 2, 123, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 119, 117, - 124, 2, 2, 2, 125, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 120, 2, 121, 106, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 113, 108, 114, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 107, 109, 110, 111, 112 -}; - -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 6, 8, 10, 13, 14, 24, 25, - 27, 31, 34, 36, 39, 41, 46, 48, 49, 51, - 53, 56, 59, 62, 65, 68, 71, 72, 74, 78, - 80, 83, 85, 87, 89, 90, 94, 96, 97, 99, - 103, 106, 107, 109, 111, 114, 115, 117, 122, 124, - 128, 130, 134, 136, 137, 139, 143, 147, 150, 152, - 156, 158, 162, 164, 168, 173, 175, 180, 184, 188, - 195, 202, 204, 208, 210, 214, 218, 222, 226, 228, - 232, 234, 236, 238, 240, 241, 243, 245, 249, 255, - 259, 262, 266, 268, 270, 274, 277, 279, 281, 287, - 288, 290, 292, 296, 299, 304, 308, 312, 316, 320, - 324, 325, 327, 328, 335, 337, 340, 342, 344, 346, - 350, 352, 356, 360, 362, 365, 368, 371, 375, 376, - 379, 381, 383, 385, 390, 395, 400, 407, 414, 416, - 421, 425, 427, 429, 433, 437, 441, 443, 447, 449, - 451, 453, 455, 459, 463, 465, 470, 472, 474, 475, - 479, 481, 483, 485, 487, 489, 491, 493, 495, 499, - 501, 503, 505, 507, 510, 512, 514, 516, 518, 520, - 523, 526, 528, 530, 533, 536, 538, 540, 542, 544, - 546, 548, 551, 553, 558, 563, 569, 574, 578, 580, - 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, - 602, 604, 606, 608, 610, 612, 614, 615, 617, 618, - 620, 621, 623, 625, 629, 631, 634, 636, 638, 640, - 642, 644, 648, 654, 656, 660, 662, 666, 668, 672, - 674, 678, 680, 684, 686, 688, 690, 692, 694, 696, - 698, 701, 704, 707, 710, 714, 716, 718, 720, 722, - 724, 726, 728, 731, 733, 737, 741, 743, 745, 747, - 751, 757, 759, 763, 767, 768, 770, 772, 774, 776, - 778, 780, 782, 783, 789, 792, 794, 797, 800, 804, - 806, 808, 812, 817, 819, 823, 826, 830, 832, 836, - 837, 839, 841, 844, 846, 850, 852, 854, 858, 863, - 868, 870, 874, 879, 884, 886, 888, 892, 894, 899, - 904, 906, 908, 910, 912, 914, 915, 917, 920, 925, - 926, 928, 930, 932, 933, 935, 937, 939, 941, 942, - 944, 946, 948 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int16 yyrhs[] = -{ - 127, 0, -1, 104, 128, -1, 128, -1, 129, -1, - 128, 129, -1, -1, 268, 130, 131, 42, 135, 3, - 29, 138, 47, -1, -1, 132, -1, 113, 133, 114, - -1, 113, 114, -1, 134, -1, 133, 134, -1, 270, - -1, 270, 115, 12, 116, -1, 12, -1, -1, 136, - -1, 137, -1, 136, 137, -1, 49, 92, -1, 60, - 92, -1, 28, 92, -1, 51, 61, -1, 18, 65, - -1, -1, 139, -1, 151, 143, 140, -1, 141, -1, - 140, 141, -1, 158, -1, 193, -1, 156, -1, -1, - 46, 18, 142, -1, 204, -1, -1, 144, -1, 62, - 145, 117, -1, 62, 54, -1, -1, 146, -1, 148, - -1, 146, 148, -1, -1, 132, -1, 149, 54, 268, - 147, -1, 150, -1, 149, 118, 150, -1, 268, -1, - 268, 113, 114, -1, 270, -1, -1, 152, -1, 50, - 153, 117, -1, 50, 25, 117, -1, 50, 117, -1, - 154, -1, 153, 118, 154, -1, 268, -1, 268, 113, - 114, -1, 270, -1, 113, 214, 114, -1, 268, 178, - 3, 155, -1, 187, -1, 187, 113, 161, 114, -1, - 268, 3, 178, -1, 268, 3, 168, -1, 268, 113, - 159, 114, 3, 178, -1, 268, 113, 159, 114, 3, - 168, -1, 160, -1, 159, 118, 160, -1, 268, -1, - 268, 119, 270, -1, 268, 119, 268, -1, 201, 119, - 270, -1, 201, 119, 268, -1, 162, -1, 161, 118, - 162, -1, 181, -1, 196, -1, 197, -1, 155, -1, - -1, 164, -1, 165, -1, 164, 118, 165, -1, 164, - 118, 4, 164, 5, -1, 270, 182, 250, -1, 182, - 250, -1, 38, 76, 182, -1, 177, -1, 167, -1, - 166, 118, 167, -1, 270, 182, -1, 177, -1, 182, - -1, 36, 113, 170, 114, 172, -1, -1, 96, -1, - 171, -1, 170, 118, 171, -1, 19, 250, -1, 20, - 178, 169, 250, -1, 20, 191, 250, -1, 20, 192, - 250, -1, 19, 191, 250, -1, 19, 178, 250, -1, - 19, 192, 250, -1, -1, 173, -1, -1, 103, 90, - 113, 174, 175, 114, -1, 176, -1, 175, 176, -1, - 6, -1, 21, -1, 190, -1, 120, 175, 121, -1, - 111, -1, 111, 122, 197, -1, 111, 122, 261, -1, - 179, -1, 263, 181, -1, 157, 208, -1, 185, 208, - -1, 263, 184, 208, -1, -1, 183, 185, -1, 186, - -1, 157, -1, 203, -1, 35, 113, 166, 114, -1, - 86, 113, 163, 114, -1, 87, 113, 163, 114, -1, - 86, 209, 76, 269, 263, 184, -1, 87, 209, 76, - 269, 263, 184, -1, 26, -1, 26, 43, 33, 270, - -1, 64, 76, 187, -1, 17, -1, 18, -1, 17, - 123, 268, -1, 18, 123, 268, -1, 18, 123, 188, - -1, 189, -1, 188, 123, 189, -1, 190, -1, 19, - -1, 20, -1, 19, -1, 191, 123, 19, -1, 191, - 123, 20, -1, 18, -1, 270, 178, 3, 194, -1, - 196, -1, 197, -1, -1, 113, 195, 199, -1, 71, - -1, 53, -1, 94, -1, 261, -1, 262, -1, 198, - -1, 228, -1, 272, -1, 268, 123, 270, -1, 9, - -1, 15, -1, 16, -1, 200, -1, 199, 7, -1, - 7, -1, 270, -1, 32, -1, 71, -1, 84, -1, - 75, 89, -1, 73, 59, -1, 85, -1, 52, -1, - 44, 79, -1, 34, 89, -1, 99, -1, 55, -1, - 204, -1, 202, -1, 66, -1, 48, -1, 30, 89, - -1, 201, -1, 66, 113, 254, 114, -1, 48, 113, - 258, 114, -1, 30, 89, 113, 256, 114, -1, 22, - 113, 252, 114, -1, 22, 113, 114, -1, 31, -1, - 56, -1, 57, -1, 58, -1, 67, -1, 72, -1, - 82, -1, 91, -1, 93, -1, 98, -1, 100, -1, - 101, -1, 102, -1, 74, -1, 108, -1, 109, -1, - 106, -1, 107, -1, -1, 210, -1, -1, 211, -1, - -1, 210, -1, 222, -1, 115, 212, 116, -1, 210, - -1, 211, 210, -1, 213, -1, 239, -1, 214, -1, - 111, -1, 215, -1, 215, 118, 111, -1, 215, 118, - 111, 118, 215, -1, 216, -1, 25, 105, 219, -1, - 217, -1, 216, 205, 217, -1, 218, -1, 217, 206, - 218, -1, 219, -1, 219, 105, 219, -1, 220, -1, - 115, 215, 116, -1, 227, -1, 229, -1, 221, -1, - 222, -1, 230, -1, 223, -1, 224, -1, 54, 210, - -1, 88, 210, -1, 78, 9, -1, 78, 270, -1, - 225, 243, 226, -1, 227, -1, 69, -1, 227, -1, - 68, -1, 194, -1, 8, -1, 10, -1, 63, 178, - -1, 180, -1, 103, 37, 231, -1, 103, 38, 232, - -1, 210, -1, 233, -1, 234, -1, 113, 235, 114, - -1, 113, 111, 118, 235, 114, -1, 236, -1, 235, - 118, 236, -1, 272, 207, 237, -1, -1, 238, -1, - 81, -1, 23, -1, 77, -1, 240, -1, 244, -1, - 242, -1, -1, 39, 33, 113, 241, 199, -1, 40, - 178, -1, 110, -1, 110, 124, -1, 124, 110, -1, - 124, 110, 124, -1, 245, -1, 246, -1, 113, 268, - 114, -1, 245, 113, 247, 114, -1, 248, -1, 247, - 118, 248, -1, 125, 249, -1, 125, 123, 249, -1, - 270, -1, 249, 123, 270, -1, -1, 251, -1, 77, - -1, 41, 194, -1, 253, -1, 252, 118, 253, -1, - 270, -1, 255, -1, 254, 118, 255, -1, 270, 115, - 261, 116, -1, 270, 115, 197, 116, -1, 257, -1, - 256, 118, 257, -1, 270, 115, 12, 116, -1, 270, - 115, 197, 116, -1, 259, -1, 260, -1, 259, 118, - 260, -1, 270, -1, 270, 115, 261, 116, -1, 270, - 115, 197, 116, -1, 261, -1, 111, -1, 12, -1, - 13, -1, 14, -1, -1, 264, -1, 265, 267, -1, - 120, 266, 12, 121, -1, -1, 97, -1, 27, -1, - 83, -1, -1, 60, -1, 49, -1, 17, -1, 18, - -1, -1, 270, -1, 11, -1, 270, -1, 271, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 414, 414, 417, 423, 428, 445, 445, 474, 475, - 479, 482, 488, 494, 503, 507, 511, 521, 522, 531, - 534, 543, 546, 549, 552, 556, 577, 578, 587, 600, - 603, 620, 627, 641, 649, 648, 662, 675, 676, 679, - 689, 695, 696, 699, 704, 711, 712, 716, 727, 732, - 739, 745, 751, 761, 762, 774, 777, 780, 788, 793, - 800, 806, 812, 821, 824, 844, 854, 874, 880, 896, - 902, 910, 919, 930, 934, 942, 950, 958, 969, 974, - 981, 982, 990, 998, 1021, 1022, 1025, 1030, 1034, 1042, - 1049, 1055, 1062, 1068, 1073, 1080, 1085, 1088, 1095, 1105, - 1106, 1110, 1117, 1127, 1137, 1148, 1158, 1169, 1179, 1190, - 1202, 1203, 1210, 1209, 1218, 1222, 1229, 1233, 1236, 1240, - 1246, 1254, 1263, 1274, 1277, 1284, 1307, 1330, 1354, 1361, - 1380, 1381, 1384, 1385, 1391, 1397, 1403, 1413, 1423, 1429, - 1441, 1456, 1464, 1472, 1483, 1494, 1516, 1524, 1533, 1537, - 1542, 1551, 1556, 1561, 1569, 1592, 1602, 1603, 1604, 1604, - 1612, 1617, 1622, 1627, 1628, 1629, 1630, 1634, 1635, 1653, - 1657, 1662, 1670, 1679, 1694, 1695, 1701, 1702, 1703, 1704, - 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1720, - 1721, 1722, 1726, 1732, 1737, 1742, 1747, 1752, 1761, 1762, - 1766, 1770, 1771, 1772, 1773, 1774, 1778, 1779, 1780, 1781, - 1785, 1786, 1793, 1793, 1794, 1794, 1798, 1799, 1803, 1804, - 1808, 1809, 1810, 1814, 1820, 1821, 1830, 1830, 1832, 1835, - 1839, 1840, 1846, 1857, 1858, 1864, 1865, 1871, 1872, 1879, - 1880, 1886, 1887, 1898, 1904, 1910, 1911, 1913, 1914, 1915, - 1920, 1925, 1930, 1935, 1947, 1956, 1957, 1963, 1964, 1969, - 1972, 1977, 1985, 1991, 2003, 2006, 2012, 2013, 2013, 2014, - 2016, 2029, 2034, 2040, 2054, 2055, 2059, 2062, 2065, 2073, - 2074, 2075, 2080, 2079, 2091, 2100, 2101, 2102, 2103, 2106, - 2109, 2118, 2134, 2140, 2146, 2160, 2171, 2187, 2190, 2210, - 2214, 2218, 2222, 2229, 2234, 2240, 2249, 2254, 2261, 2269, - 2279, 2284, 2291, 2299, 2309, 2324, 2329, 2336, 2343, 2351, - 2359, 2366, 2377, 2381, 2388, 2419, 2420, 2424, 2431, 2437, - 2438, 2439, 2440, 2444, 2445, 2446, 2450, 2454, 2462, 2463, - 2469, 2476, 2483 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "TOK_PPEQ", "TOK_VBracketLeft", - "TOK_VBracketRight", "TOK_whitespace", "TOK_opaque", "TOK_bstring", - "TOK_cstring", "TOK_hstring", "\"identifier\"", "\"number\"", - "\"negative number\"", "TOK_realnumber", "TOK_tuple", "TOK_quadruple", - "TOK_typereference", "TOK_capitalreference", "TOK_typefieldreference", - "TOK_valuefieldreference", "TOK_Literal", "TOK_ExtValue_BIT_STRING", - "TOK_ABSENT", "TOK_ABSTRACT_SYNTAX", "TOK_ALL", "TOK_ANY", - "TOK_APPLICATION", "TOK_AUTOMATIC", "TOK_BEGIN", "TOK_BIT", - "TOK_BMPString", "TOK_BOOLEAN", "TOK_BY", "TOK_CHARACTER", "TOK_CHOICE", - "TOK_CLASS", "TOK_COMPONENT", "TOK_COMPONENTS", "TOK_CONSTRAINED", - "TOK_CONTAINING", "TOK_DEFAULT", "TOK_DEFINITIONS", "TOK_DEFINED", - "TOK_EMBEDDED", "TOK_ENCODED", "TOK_ENCODING_CONTROL", "TOK_END", - "TOK_ENUMERATED", "TOK_EXPLICIT", "TOK_EXPORTS", "TOK_EXTENSIBILITY", - "TOK_EXTERNAL", "TOK_FALSE", "TOK_FROM", "TOK_GeneralizedTime", - "TOK_GeneralString", "TOK_GraphicString", "TOK_IA5String", - "TOK_IDENTIFIER", "TOK_IMPLICIT", "TOK_IMPLIED", "TOK_IMPORTS", - "TOK_INCLUDES", "TOK_INSTANCE", "TOK_INSTRUCTIONS", "TOK_INTEGER", - "TOK_ISO646String", "TOK_MAX", "TOK_MIN", "TOK_MINUS_INFINITY", - "TOK_NULL", "TOK_NumericString", "TOK_OBJECT", "TOK_ObjectDescriptor", - "TOK_OCTET", "TOK_OF", "TOK_OPTIONAL", "TOK_PATTERN", "TOK_PDV", - "TOK_PLUS_INFINITY", "TOK_PRESENT", "TOK_PrintableString", "TOK_PRIVATE", - "TOK_REAL", "TOK_RELATIVE_OID", "TOK_SEQUENCE", "TOK_SET", "TOK_SIZE", - "TOK_STRING", "TOK_SYNTAX", "TOK_T61String", "TOK_TAGS", - "TOK_TeletexString", "TOK_TRUE", "TOK_TYPE_IDENTIFIER", "TOK_UNIQUE", - "TOK_UNIVERSAL", "TOK_UniversalString", "TOK_UTCTime", "TOK_UTF8String", - "TOK_VideotexString", "TOK_VisibleString", "TOK_WITH", - "\"UTF-8 byte order mark\"", "TOK_EXCEPT", "'^'", "TOK_INTERSECTION", - "'|'", "TOK_UNION", "\"..\"", "\"...\"", "\"concrete TypeDeclaration\"", - "'{'", "'}'", "'('", "')'", "';'", "','", "':'", "'['", "']'", "'!'", - "'.'", "'<'", "'@'", "$accept", "ParsedGrammar", "ModuleList", - "ModuleDefinition", "@1", "optObjectIdentifier", "ObjectIdentifier", - "ObjectIdentifierBody", "ObjectIdentifierElement", - "optModuleDefinitionFlags", "ModuleDefinitionFlags", - "ModuleDefinitionFlag", "optModuleBody", "ModuleBody", "AssignmentList", - "Assignment", "@2", "optImports", "ImportsDefinition", - "optImportsBundleSet", "ImportsBundleSet", "AssignedIdentifier", - "ImportsBundle", "ImportsList", "ImportsElement", "optExports", - "ExportsDefinition", "ExportsBody", "ExportsElement", "ValueSet", - "ValueSetTypeAssignment", "DefinedType", "DataTypeReference", - "ParameterArgumentList", "ParameterArgumentName", "ActualParameterList", - "ActualParameter", "optComponentTypeLists", "ComponentTypeLists", - "ComponentType", "AlternativeTypeLists", "AlternativeType", - "ObjectClass", "optUNIQUE", "FieldSpec", "ClassField", "optWithSyntax", - "WithSyntax", "@3", "WithSyntaxList", "WithSyntaxToken", - "ExtensionAndException", "Type", "TaggedType", "DefinedUntaggedType", - "UntaggedType", "MaybeIndirectTaggedType", "NSTD_IndirectMarker", - "MaybeIndirectTypeDeclaration", "TypeDeclaration", - "ConcreteTypeDeclaration", "ComplexTypeReference", - "ComplexTypeReferenceAmpList", "ComplexTypeReferenceElement", - "PrimitiveFieldReference", "FieldName", "DefinedObjectClass", - "ValueAssignment", "Value", "@4", "SimpleValue", "DefinedValue", - "RestrictedCharacterStringValue", "Opaque", "OpaqueFirstToken", - "BasicTypeId", "BasicTypeId_UniverationCompatible", "BuiltinType", - "BasicString", "UnionMark", "IntersectionMark", "optConstraint", - "optManyConstraints", "optSizeOrConstraint", "Constraint", - "ManyConstraints", "ConstraintSpec", "SubtypeConstraint", - "ElementSetSpecs", "ElementSetSpec", "Unions", "Intersections", - "IntersectionElements", "Elements", "SubtypeElements", - "PermittedAlphabet", "SizeConstraint", "PatternConstraint", "ValueRange", - "LowerEndValue", "UpperEndValue", "SingleValue", "BitStringValue", - "ContainedSubtype", "InnerTypeConstraints", "SingleTypeConstraint", - "MultipleTypeConstraints", "FullSpecification", "PartialSpecification", - "TypeConstraints", "NamedConstraint", "optPresenceConstraint", - "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint", "@5", - "ContentsConstraint", "ConstraintRangeSpec", "TableConstraint", - "SimpleTableConstraint", "ComponentRelationConstraint", "AtNotationList", - "AtNotationElement", "ComponentIdList", "optMarker", "Marker", - "IdentifierList", "IdentifierElement", "NamedNumberList", "NamedNumber", - "NamedBitList", "NamedBit", "Enumerations", "UniverationList", - "UniverationElement", "SignedNumber", "RealValue", "optTag", "Tag", - "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName", "optIdentifier", - "Identifier", "IdentifierAsReference", "IdentifierAsValue", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 94, 361, 124, 362, - 363, 364, 365, 123, 125, 40, 41, 59, 44, 58, - 91, 93, 33, 46, 60, 64 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint16 yyr1[] = -{ - 0, 126, 127, 127, 128, 128, 130, 129, 131, 131, - 132, 132, 133, 133, 134, 134, 134, 135, 135, 136, - 136, 137, 137, 137, 137, 137, 138, 138, 139, 140, - 140, 141, 141, 141, 142, 141, 141, 143, 143, 144, - 144, 145, 145, 146, 146, 147, 147, 148, 149, 149, - 150, 150, 150, 151, 151, 152, 152, 152, 153, 153, - 154, 154, 154, 155, 156, 157, 157, 158, 158, 158, - 158, 159, 159, 160, 160, 160, 160, 160, 161, 161, - 162, 162, 162, 162, 163, 163, 164, 164, 164, 165, - 165, 165, 165, 166, 166, 167, 167, 167, 168, 169, - 169, 170, 170, 171, 171, 171, 171, 171, 171, 171, - 172, 172, 174, 173, 175, 175, 176, 176, 176, 176, - 177, 177, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 187, 187, 187, 187, 187, 188, 188, 189, 190, - 190, 191, 191, 191, 192, 193, 194, 194, 195, 194, - 196, 196, 196, 196, 196, 196, 196, 197, 197, 198, - 198, 198, 199, 199, 200, 200, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 202, - 202, 202, 203, 203, 203, 203, 203, 203, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, - 209, 209, 209, 210, 211, 211, 212, 212, 213, 214, - 214, 214, 214, 215, 215, 216, 216, 217, 217, 218, - 218, 219, 219, 220, 220, 220, 220, 220, 220, 220, - 221, 222, 223, 223, 224, 225, 225, 226, 226, 227, - 228, 228, 229, 229, 230, 230, 231, 232, 232, 233, - 234, 235, 235, 236, 237, 237, 238, 238, 238, 239, - 239, 239, 241, 240, 242, 243, 243, 243, 243, 244, - 244, 245, 246, 247, 247, 248, 248, 249, 249, 250, - 250, 251, 251, 252, 252, 253, 254, 254, 255, 255, - 256, 256, 257, 257, 258, 259, 259, 260, 260, 260, - 260, 260, 261, 261, 262, 263, 263, 264, 265, 266, - 266, 266, 266, 267, 267, 267, 268, 268, 269, 269, - 270, 271, 272 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 2, 1, 1, 2, 0, 9, 0, 1, - 3, 2, 1, 2, 1, 4, 1, 0, 1, 1, - 2, 2, 2, 2, 2, 2, 0, 1, 3, 1, - 2, 1, 1, 1, 0, 3, 1, 0, 1, 3, - 2, 0, 1, 1, 2, 0, 1, 4, 1, 3, - 1, 3, 1, 0, 1, 3, 3, 2, 1, 3, - 1, 3, 1, 3, 4, 1, 4, 3, 3, 6, - 6, 1, 3, 1, 3, 3, 3, 3, 1, 3, - 1, 1, 1, 1, 0, 1, 1, 3, 5, 3, - 2, 3, 1, 1, 3, 2, 1, 1, 5, 0, - 1, 1, 3, 2, 4, 3, 3, 3, 3, 3, - 0, 1, 0, 6, 1, 2, 1, 1, 1, 3, - 1, 3, 3, 1, 2, 2, 2, 3, 0, 2, - 1, 1, 1, 4, 4, 4, 6, 6, 1, 4, - 3, 1, 1, 3, 3, 3, 1, 3, 1, 1, - 1, 1, 3, 3, 1, 4, 1, 1, 0, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, - 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, - 1, 2, 1, 4, 4, 5, 4, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 0, 1, 1, 3, 1, 2, 1, 1, 1, 1, - 1, 3, 5, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 3, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 3, 3, 1, 1, 1, 3, - 5, 1, 3, 3, 0, 1, 1, 1, 1, 1, - 1, 1, 0, 5, 2, 1, 2, 2, 3, 1, - 1, 3, 4, 1, 3, 2, 3, 1, 3, 0, - 1, 1, 2, 1, 3, 1, 1, 3, 4, 4, - 1, 3, 4, 4, 1, 1, 3, 1, 4, 4, - 1, 1, 1, 1, 1, 0, 1, 2, 4, 0, - 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 1, 1, 1 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint16 yydefact[] = -{ - 0, 336, 337, 0, 0, 3, 4, 6, 2, 1, - 5, 8, 0, 0, 9, 340, 16, 11, 0, 12, - 14, 17, 10, 13, 0, 0, 0, 0, 0, 0, - 0, 18, 19, 0, 25, 23, 21, 24, 22, 0, - 20, 15, 53, 0, 0, 27, 37, 54, 0, 57, - 0, 58, 60, 62, 7, 41, 0, 38, 56, 55, - 0, 0, 40, 0, 42, 43, 0, 48, 50, 52, - 198, 0, 199, 200, 201, 202, 203, 211, 204, 205, - 206, 207, 208, 209, 210, 28, 29, 33, 31, 32, - 36, 325, 325, 59, 61, 39, 44, 0, 0, 0, - 34, 30, 325, 0, 329, 0, 123, 0, 326, 333, - 0, 45, 49, 51, 35, 0, 68, 67, 0, 176, - 0, 0, 190, 182, 186, 189, 177, 0, 0, 178, - 181, 185, 0, 71, 0, 188, 187, 73, 331, 332, - 330, 0, 0, 141, 142, 0, 138, 0, 0, 190, - 0, 189, 220, 220, 131, 124, 218, 130, 65, 192, - 132, 335, 334, 327, 0, 46, 47, 0, 191, 184, - 183, 180, 179, 0, 0, 0, 0, 0, 0, 64, - 0, 0, 0, 0, 191, 325, 0, 0, 0, 0, - 325, 0, 0, 221, 222, 325, 0, 126, 224, 219, - 0, 260, 169, 261, 322, 323, 324, 170, 171, 161, - 160, 162, 158, 155, 156, 157, 165, 166, 163, 164, - 0, 341, 342, 167, 325, 325, 0, 101, 325, 72, - 77, 76, 75, 74, 328, 141, 142, 0, 0, 325, - 256, 0, 0, 229, 0, 218, 263, 259, 0, 230, - 233, 235, 237, 239, 241, 245, 246, 248, 249, 0, - 243, 244, 247, 143, 149, 150, 145, 146, 148, 144, - 197, 0, 303, 305, 0, 0, 120, 0, 93, 96, - 97, 128, 325, 321, 0, 314, 315, 320, 317, 140, - 0, 306, 0, 251, 0, 0, 85, 86, 92, 299, - 325, 0, 325, 158, 0, 226, 228, 227, 279, 281, - 280, 289, 290, 338, 0, 338, 225, 160, 83, 0, - 78, 80, 81, 82, 0, 0, 154, 151, 0, 301, - 299, 299, 299, 103, 300, 99, 299, 299, 110, 0, - 70, 69, 0, 250, 262, 252, 253, 0, 0, 0, - 125, 63, 0, 212, 213, 0, 214, 215, 0, 0, - 285, 0, 0, 0, 196, 0, 139, 0, 310, 0, - 0, 133, 325, 0, 218, 95, 194, 0, 0, 193, - 0, 0, 325, 134, 325, 90, 299, 0, 284, 0, - 223, 0, 325, 339, 135, 325, 66, 0, 174, 159, - 172, 175, 168, 302, 108, 0, 107, 109, 100, 299, - 105, 106, 0, 98, 111, 102, 234, 266, 264, 0, - 265, 267, 268, 242, 231, 236, 238, 240, 286, 287, - 258, 254, 257, 147, 304, 195, 0, 0, 121, 122, - 94, 129, 127, 316, 0, 0, 307, 0, 0, 91, - 325, 87, 89, 282, 291, 0, 0, 293, 128, 128, - 79, 173, 152, 153, 104, 0, 0, 0, 271, 216, - 0, 288, 311, 0, 0, 319, 318, 309, 308, 0, - 0, 0, 295, 297, 292, 0, 136, 137, 112, 0, - 269, 0, 274, 217, 232, 312, 313, 88, 283, 296, - 0, 294, 0, 0, 272, 277, 278, 276, 273, 275, - 298, 116, 117, 0, 0, 114, 118, 270, 0, 113, - 115, 119 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 4, 5, 6, 11, 13, 14, 18, 19, 30, - 31, 32, 44, 45, 85, 86, 114, 56, 57, 63, - 64, 166, 65, 66, 67, 46, 47, 50, 51, 318, - 87, 245, 88, 132, 133, 319, 320, 295, 296, 297, - 277, 278, 116, 409, 226, 227, 413, 414, 502, 514, - 515, 298, 105, 106, 246, 321, 299, 373, 374, 156, - 157, 158, 266, 267, 516, 331, 332, 89, 247, 324, - 214, 215, 216, 399, 400, 159, 135, 160, 136, 355, - 358, 492, 197, 192, 198, 199, 304, 305, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 431, 260, 217, 261, 262, 418, 420, 421, 422, 467, - 468, 508, 509, 307, 308, 480, 309, 362, 310, 311, - 312, 456, 457, 482, 333, 334, 271, 272, 290, 291, - 367, 368, 284, 285, 286, 218, 219, 281, 108, 109, - 141, 163, 220, 392, 221, 222, 223 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -296 -static const yytype_int16 yypact[] = -{ - 51, -296, -296, 217, 41, 217, -296, -296, 217, -296, - -296, -63, 53, 43, -296, -296, -296, -296, 70, -296, - -45, 204, -296, -296, 79, 32, 30, 38, 110, 87, - 200, 204, -296, 95, -296, -296, -296, -296, -296, 198, - -296, -296, 247, 12, 178, -296, 174, -296, 134, -296, - 140, -296, 183, -296, -296, 72, 663, -296, -296, -296, - 213, 173, -296, 187, 213, -296, 50, -296, 211, -296, - -296, 293, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, 663, -296, -296, -296, -296, - -296, 19, 219, -296, -296, -296, -296, 217, 213, 227, - -296, -296, -2, 817, 68, 340, -296, 740, -296, 120, - 356, -63, -296, -296, -296, 249, -296, -296, 272, -296, - 274, 285, -296, -296, -296, -296, -296, 307, 278, -296, - -296, -296, 13, -296, 250, -296, -296, 251, -296, -296, - -296, 359, 260, 264, 265, 261, 346, 301, 279, 281, - 315, 294, 113, 135, -296, -296, 280, -296, 295, -296, - -296, -296, -296, -296, 510, -296, -296, 290, -296, -296, - -296, -296, -296, 406, 817, 213, 213, 289, 368, -296, - 217, 309, 14, 378, 299, 29, 108, 318, 403, 280, - 61, 229, 339, -296, -296, 61, 341, -296, -296, 280, - 604, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, - 296, -296, -296, -296, 84, 28, 98, -296, -2, -296, - -296, -296, -296, -296, -296, 264, 265, 311, 280, 219, - -296, 104, 300, -296, 388, 280, -296, -296, 304, 302, - 237, 241, -296, 320, -296, -296, -296, -296, -296, -18, - -17, -296, -296, -296, -296, -296, 303, -296, -296, -296, - -296, 138, -296, -296, 403, 403, 305, 167, -296, -296, - -296, -296, 219, -296, 314, 312, -296, -296, 308, -296, - 170, -296, 317, -296, 353, 319, 316, -296, -296, -3, - 219, 402, 219, 217, 324, -296, -296, -296, -296, -296, - -296, 323, -296, 403, 331, 403, -296, 329, -296, 172, - -296, -296, -296, -296, 282, 403, -296, -296, 510, -296, - -3, 10, -3, -296, -296, 351, 10, -3, 345, 290, - -296, -296, 496, -296, -296, -296, -296, 280, 336, 334, - -296, -296, 342, -296, -296, 496, -296, -296, 496, 496, - 328, 344, 262, 330, -296, 403, -296, 181, -296, 343, - 248, -296, 29, 740, 280, -296, -296, 108, 248, -296, - 403, 248, 219, -296, 24, -296, -3, 347, -296, 349, - -296, 348, 219, -296, -296, 219, -296, 604, -296, 448, - -296, -296, -296, -296, -296, 332, -296, -296, -296, -3, - -296, -296, 371, -296, -296, -296, -296, -296, -296, 25, - -296, -296, -296, -296, 352, 241, -296, -296, -296, 350, - -296, -296, -296, -296, -296, -296, 403, 196, -296, -296, - -296, -296, -296, -296, 361, 362, -296, 364, 369, -296, - 42, -296, -296, -296, -296, 22, 188, -296, -296, -296, - -296, -296, -296, -296, -296, 354, 357, 202, -296, 280, - 388, -296, -296, 370, 373, -296, -296, -296, -296, 16, - 282, 403, 367, -296, -296, 348, -296, -296, -296, 403, - -296, 403, 77, -296, -296, -296, -296, -296, 448, 367, - 403, -296, 57, 207, -296, -296, -296, -296, -296, -296, - -296, -296, -296, 57, 36, -296, -296, -296, 39, -296, - -296, -296 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yytype_int16 yypgoto[] = -{ - -296, -296, 461, 326, -296, -296, 376, -296, 447, -296, - -296, 441, -296, -296, -296, 399, -296, -296, -296, -296, - -296, -296, 428, -296, 395, -296, -296, -296, 434, 355, - -296, -106, -296, -296, 321, -296, 99, 322, 48, 115, - -296, 128, 287, -296, -296, 163, -296, -296, -296, 3, - -196, -172, -82, -296, -296, 422, -177, -296, -104, 157, - -296, 358, -296, 168, -164, 310, 313, -296, -140, -296, - -191, -188, -296, 52, -296, -76, -296, -296, -24, -296, - -296, -296, -227, 380, -150, -296, -296, -296, 360, -237, - -296, 179, 182, -258, -296, -296, 205, -296, -296, -296, - -296, 175, -296, -296, -296, -296, -296, -296, -296, 47, - 55, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, 54, 60, -220, -296, -296, 177, -296, 164, - -296, 107, -296, -296, 171, -160, -296, -87, -296, -296, - -296, -296, 11, 232, -12, -296, -295 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -300 -static const yytype_int16 yytable[] = -{ - 20, 154, 193, 193, 107, 107, 20, 349, 280, 322, - 110, 7, 323, 279, 7, 107, 7, 268, 350, 7, - 117, 497, 102, 15, 213, 15, 287, 134, 450, 1, - 2, 53, 90, 15, 115, 15, 15, 48, 328, 293, - 15, 9, 511, 69, 92, 511, 326, 327, 53, 316, - 12, 328, 69, 15, 52, 264, 265, 512, 264, 265, - 512, 90, 294, 511, 15, 16, 68, 91, 1, 2, - 24, 52, 15, 92, 329, 68, 264, 265, 512, 385, - 294, 15, 16, 15, 416, 21, 69, 329, 343, 1, - 2, 33, 360, -255, 154, 138, 91, 34, 134, 294, - 505, 427, 326, 327, 97, 375, 361, -255, 111, 68, - 404, 406, 407, 345, 137, 15, 410, 411, 104, 15, - 204, 205, 35, 386, 469, 328, 62, 173, 270, 49, - 36, 174, 103, 405, 384, 276, 466, 107, 107, 104, - 276, 107, 330, 335, 104, 481, 341, 442, 104, 104, - 519, 139, 107, 276, 506, 3, 513, 344, 507, 513, - 521, 329, 104, 231, 233, 140, 452, 17, 98, 161, - 273, 37, 276, 282, 288, -84, 292, 513, 300, 38, - 162, 104, 438, 300, 22, 137, 230, 232, 403, 464, - 444, 263, 269, 447, 469, 280, 469, 417, -299, 268, - 279, 189, -299, 39, 104, 449, 322, 15, 473, 323, - 439, 41, 338, 1, 2, 107, 339, 287, 445, 283, - 388, 448, 25, 189, 15, 54, 190, 42, 191, 346, - 1, 2, 26, 494, 1, 2, 55, 201, 202, 203, - 15, 204, 205, 206, 207, 208, 235, 236, 195, 474, - 191, 58, 364, 27, 237, 28, 365, 59, 60, 15, - 204, 205, 366, 369, 29, 1, 2, 154, 301, 302, - 201, 202, 203, 15, 204, 205, 206, 207, 208, 1, - 2, 371, 209, 238, 379, 372, 396, 94, 380, 398, - 397, 154, 239, 15, -26, 435, 61, 43, 240, 436, - 210, 393, 484, 393, 95, 458, 485, 241, 459, 224, - 225, 100, 401, 402, 389, 209, 490, 189, 520, 493, - 491, 517, 520, 211, 99, 491, 1, 2, 264, 265, - 430, 10, 242, 210, 10, 143, 144, 347, 348, 104, - 243, 113, 303, 142, 244, 353, 354, 356, 357, 264, - 265, 462, 463, 273, 486, 487, 211, 194, 194, 164, - 282, 168, 167, 169, 170, 288, 171, 172, 292, 175, - 176, 177, 300, 178, 182, 212, 201, 202, 203, 15, - 204, 205, 206, 207, 208, 235, 236, 180, 181, 183, - 184, 187, 185, 237, 186, 191, 201, 202, 203, 15, - 204, 205, 206, 207, 208, 235, 236, 188, 200, 228, - 234, 274, 275, 237, 15, 313, 342, 315, 351, 325, - 352, 209, 238, 378, 369, 359, 363, 370, 376, 382, - 377, 239, 381, 383, 384, 387, 391, 240, 300, 210, - 390, 209, 238, 483, -177, 394, 241, 408, 412, 419, - 423, 239, 428, 424, 429, 461, 189, 240, 437, 210, - 453, 465, 211, 454, 8, 23, 241, 488, 401, 483, - 470, 242, 40, 455, 471, 489, 189, 475, 476, 243, - 477, 212, 211, 244, 101, 478, 495, 165, 510, 496, - 500, 242, 96, 112, 93, 229, 460, 179, 479, 451, - 440, 212, 415, 244, 201, 202, 203, 15, 204, 205, - 206, 207, 208, 235, 236, 340, 518, 314, 201, 202, - 203, 15, 204, 205, 206, 207, 208, 1, 2, 155, - 441, 433, 498, 196, 425, 336, 503, 432, 337, 501, - 426, 499, 434, 472, 446, 289, 504, 395, 443, 209, - 238, 306, 0, 0, 0, 0, 0, 0, 0, 239, - 0, 0, 0, 209, 0, 240, 0, 210, 0, 0, - 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, - 0, 210, 0, 0, 189, 0, 0, 0, 0, 0, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 242, - 0, 0, 0, 0, 211, 0, 0, 0, 0, 212, - 0, 244, 201, 202, 203, 15, 204, 205, 206, 207, - 208, 235, 236, 212, 0, 0, 145, 0, 0, 0, - 146, 0, 0, 0, 147, 70, 119, 0, 120, 148, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 149, 0, 0, 0, 123, 209, 0, 124, - 72, 73, 74, 0, 0, 0, 0, 0, 150, 0, - 151, 75, 0, 0, 15, 317, 76, 127, 77, 128, - 1, 2, 0, 0, 0, 0, 78, 0, 129, 130, - 152, 153, 0, 0, 70, 79, 0, 80, 211, 0, - 0, 0, 81, 131, 82, 83, 84, 0, 0, 71, - 0, 0, 0, 0, 0, 0, 0, 178, 0, 72, - 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 0, 0, 0, 0, 76, 0, 77, 0, 0, - 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 80, 143, 144, 0, - 0, 81, 145, 82, 83, 84, 146, 0, 0, 0, - 147, 70, 119, 0, 120, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 149, 0, - 0, 0, 123, 0, 0, 124, 72, 73, 74, 0, - 0, 0, 0, 0, 150, 0, 151, 75, 0, 0, - 0, 126, 76, 127, 77, 128, 0, 0, 0, 0, - 0, 0, 78, 0, 129, 130, 152, 153, 0, 0, - 0, 79, 0, 80, 1, 2, 0, 0, 81, 131, - 82, 83, 84, 0, 0, 0, 0, 118, 70, 119, - 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 121, 0, 0, 0, 122, 0, 0, 0, 123, - 0, 0, 124, 72, 73, 74, 0, 0, 0, 0, - 0, 0, 0, 125, 75, 0, 0, 0, 126, 76, - 127, 77, 128, 0, 0, 0, 0, 0, 0, 78, - 0, 129, 130, 0, 0, 0, 0, 0, 79, 0, - 80, 0, 0, 0, 0, 81, 131, 82, 83, 84 -}; - -static const yytype_int16 yycheck[] = -{ - 12, 107, 152, 153, 91, 92, 18, 244, 185, 200, - 92, 0, 200, 185, 3, 102, 5, 181, 245, 8, - 102, 5, 3, 11, 164, 11, 186, 103, 4, 17, - 18, 43, 56, 11, 36, 11, 11, 25, 41, 189, - 11, 0, 6, 55, 56, 6, 18, 19, 60, 199, - 113, 41, 64, 11, 43, 19, 20, 21, 19, 20, - 21, 85, 38, 6, 11, 12, 55, 56, 17, 18, - 115, 60, 11, 85, 77, 64, 19, 20, 21, 299, - 38, 11, 12, 11, 342, 42, 98, 77, 238, 17, - 18, 12, 110, 110, 200, 27, 85, 65, 174, 38, - 23, 359, 18, 19, 54, 282, 124, 124, 97, 98, - 330, 331, 332, 9, 103, 11, 336, 337, 120, 11, - 12, 13, 92, 300, 419, 41, 54, 114, 114, 117, - 92, 118, 113, 123, 118, 111, 111, 224, 225, 120, - 111, 228, 224, 225, 120, 123, 228, 374, 120, 120, - 114, 83, 239, 111, 77, 104, 120, 239, 81, 120, - 121, 77, 120, 175, 176, 97, 386, 114, 118, 49, - 182, 61, 111, 185, 186, 114, 188, 120, 190, 92, - 60, 120, 370, 195, 114, 174, 175, 176, 328, 409, - 378, 180, 181, 381, 489, 372, 491, 347, 114, 363, - 372, 88, 118, 3, 120, 382, 397, 11, 12, 397, - 370, 116, 114, 17, 18, 302, 118, 377, 378, 111, - 302, 381, 18, 88, 11, 47, 113, 29, 115, 241, - 17, 18, 28, 470, 17, 18, 62, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 113, 437, - 115, 117, 114, 49, 25, 51, 118, 117, 118, 11, - 12, 13, 274, 275, 60, 17, 18, 373, 39, 40, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 114, 53, 54, 114, 118, 114, 114, 118, 7, - 118, 397, 63, 11, 47, 114, 113, 50, 69, 118, - 71, 313, 114, 315, 117, 392, 118, 78, 395, 19, - 20, 18, 324, 325, 303, 53, 114, 88, 514, 469, - 118, 114, 518, 94, 113, 118, 17, 18, 19, 20, - 68, 5, 103, 71, 8, 17, 18, 37, 38, 120, - 111, 114, 113, 3, 115, 108, 109, 106, 107, 19, - 20, 19, 20, 365, 458, 459, 94, 152, 153, 3, - 372, 89, 113, 89, 79, 377, 59, 89, 380, 119, - 119, 12, 384, 113, 113, 113, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 123, 123, 43, - 89, 76, 113, 25, 113, 115, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 113, 113, 3, - 121, 33, 113, 25, 11, 76, 105, 76, 114, 123, - 118, 53, 54, 115, 436, 105, 123, 122, 114, 76, - 118, 63, 115, 114, 118, 33, 113, 69, 450, 71, - 116, 53, 54, 455, 115, 114, 78, 96, 103, 113, - 116, 63, 124, 111, 110, 7, 88, 69, 115, 71, - 113, 90, 94, 114, 3, 18, 78, 113, 480, 481, - 118, 103, 31, 125, 124, 118, 88, 116, 116, 111, - 116, 113, 94, 115, 85, 116, 116, 111, 500, 116, - 123, 103, 64, 98, 60, 174, 397, 142, 450, 384, - 372, 113, 339, 115, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 228, 513, 195, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 107, - 373, 363, 480, 153, 355, 225, 489, 362, 225, 485, - 358, 481, 365, 436, 380, 187, 491, 315, 377, 53, - 54, 191, -1, -1, -1, -1, -1, -1, -1, 63, - -1, -1, -1, 53, -1, 69, -1, 71, -1, -1, - -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, - -1, 71, -1, -1, 88, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, -1, -1, 103, - -1, -1, -1, -1, 94, -1, -1, -1, -1, 113, - -1, 115, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 113, -1, -1, 22, -1, -1, -1, - 26, -1, -1, -1, 30, 31, 32, -1, 34, 35, - -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, - -1, -1, 48, -1, -1, -1, 52, 53, -1, 55, - 56, 57, 58, -1, -1, -1, -1, -1, 64, -1, - 66, 67, -1, -1, 11, 71, 72, 73, 74, 75, - 17, 18, -1, -1, -1, -1, 82, -1, 84, 85, - 86, 87, -1, -1, 31, 91, -1, 93, 94, -1, - -1, -1, 98, 99, 100, 101, 102, -1, -1, 46, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 56, - 57, 58, -1, -1, -1, -1, -1, -1, -1, -1, - 67, -1, -1, -1, -1, 72, -1, 74, -1, -1, - -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, - -1, -1, -1, -1, 91, -1, 93, 17, 18, -1, - -1, 98, 22, 100, 101, 102, 26, -1, -1, -1, - 30, 31, 32, -1, 34, 35, -1, -1, -1, -1, - -1, -1, -1, -1, 44, -1, -1, -1, 48, -1, - -1, -1, 52, -1, -1, 55, 56, 57, 58, -1, - -1, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, 73, 74, 75, -1, -1, -1, -1, - -1, -1, 82, -1, 84, 85, 86, 87, -1, -1, - -1, 91, -1, 93, 17, 18, -1, -1, 98, 99, - 100, 101, 102, -1, -1, -1, -1, 30, 31, 32, - -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 44, -1, -1, -1, 48, -1, -1, -1, 52, - -1, -1, 55, 56, 57, 58, -1, -1, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, 71, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, 82, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - 93, -1, -1, -1, -1, 98, 99, 100, 101, 102 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint16 yystos[] = -{ - 0, 17, 18, 104, 127, 128, 129, 268, 128, 0, - 129, 130, 113, 131, 132, 11, 12, 114, 133, 134, - 270, 42, 114, 134, 115, 18, 28, 49, 51, 60, - 135, 136, 137, 12, 65, 92, 92, 61, 92, 3, - 137, 116, 29, 50, 138, 139, 151, 152, 25, 117, - 153, 154, 268, 270, 47, 62, 143, 144, 117, 117, - 118, 113, 54, 145, 146, 148, 149, 150, 268, 270, - 31, 46, 56, 57, 58, 67, 72, 74, 82, 91, - 93, 98, 100, 101, 102, 140, 141, 156, 158, 193, - 204, 268, 270, 154, 114, 117, 148, 54, 118, 113, - 18, 141, 3, 113, 120, 178, 179, 263, 264, 265, - 178, 268, 150, 114, 142, 36, 168, 178, 30, 32, - 34, 44, 48, 52, 55, 66, 71, 73, 75, 84, - 85, 99, 159, 160, 201, 202, 204, 268, 27, 83, - 97, 266, 3, 17, 18, 22, 26, 30, 35, 48, - 64, 66, 86, 87, 157, 181, 185, 186, 187, 201, - 203, 49, 60, 267, 3, 132, 147, 113, 89, 89, - 79, 59, 89, 114, 118, 119, 119, 12, 113, 155, - 123, 123, 113, 43, 89, 113, 113, 76, 113, 88, - 113, 115, 209, 210, 222, 113, 209, 208, 210, 211, - 113, 8, 9, 10, 12, 13, 14, 15, 16, 53, - 71, 94, 113, 194, 196, 197, 198, 228, 261, 262, - 268, 270, 271, 272, 19, 20, 170, 171, 3, 160, - 268, 270, 268, 270, 121, 17, 18, 25, 54, 63, - 69, 78, 103, 111, 115, 157, 180, 194, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 227, 229, 230, 268, 19, 20, 188, 189, 190, 268, - 114, 252, 253, 270, 33, 113, 111, 166, 167, 177, - 182, 263, 270, 111, 258, 259, 260, 261, 270, 187, - 254, 255, 270, 210, 38, 163, 164, 165, 177, 182, - 270, 39, 40, 113, 212, 213, 214, 239, 240, 242, - 244, 245, 246, 76, 163, 76, 210, 71, 155, 161, - 162, 181, 196, 197, 195, 123, 18, 19, 41, 77, - 178, 191, 192, 250, 251, 178, 191, 192, 114, 118, - 168, 178, 105, 210, 178, 9, 270, 37, 38, 215, - 208, 114, 118, 108, 109, 205, 106, 107, 206, 105, - 110, 124, 243, 123, 114, 118, 270, 256, 257, 270, - 122, 114, 118, 183, 184, 182, 114, 118, 115, 114, - 118, 115, 76, 114, 118, 250, 182, 33, 178, 268, - 116, 113, 269, 270, 114, 269, 114, 118, 7, 199, - 200, 270, 270, 194, 250, 123, 250, 250, 96, 169, - 250, 250, 103, 172, 173, 171, 219, 210, 231, 113, - 232, 233, 234, 116, 111, 217, 218, 219, 124, 110, - 68, 226, 227, 189, 253, 114, 118, 115, 197, 261, - 167, 185, 208, 260, 197, 261, 255, 197, 261, 182, - 4, 165, 250, 113, 114, 125, 247, 248, 263, 263, - 162, 7, 19, 20, 250, 90, 111, 235, 236, 272, - 118, 124, 257, 12, 197, 116, 116, 116, 116, 164, - 241, 123, 249, 270, 114, 118, 184, 184, 113, 118, - 114, 118, 207, 210, 215, 116, 116, 5, 199, 249, - 123, 248, 174, 235, 236, 23, 77, 81, 237, 238, - 270, 6, 21, 120, 175, 176, 190, 114, 175, 114, - 176, 121 -}; - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ - -#define YYFAIL goto yyerrlab - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) - - -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) -#else -static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif -{ - int yynrhs = yyr2[yyrule]; - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static YYSIZE_T -yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static char * -yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; - - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } -} -#endif /* YYERROR_VERBOSE */ - - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - YYUSE (yyvaluep); - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } -} - - -/* Prevent warnings from -Wmissing-prototypes. */ - -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The look-ahead symbol. */ -int yychar; - -/* The semantic value of the look-ahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ -int yynerrs; - - - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void) -#else -int -yyparse () - -#endif -#endif -{ - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss; - yyvsp = yyvs; - - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - - /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ - - /* First try to decide what to do without reference to look-ahead token. */ - yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a look-ahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - if (yyn == YYFINAL) - YYACCEPT; - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - yystate = yyn; - *++yyvsp = yylval; - - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -#line 414 "asn1p_y.y" - { - *(void **)param = (yyvsp[(2) - (2)].a_grammar); - } - break; - - case 3: -#line 417 "asn1p_y.y" - { - *(void **)param = (yyvsp[(1) - (1)].a_grammar); - } - break; - - case 4: -#line 423 "asn1p_y.y" - { - (yyval.a_grammar) = asn1p_new(); - checkmem((yyval.a_grammar)); - TQ_ADD(&((yyval.a_grammar)->modules), (yyvsp[(1) - (1)].a_module), mod_next); - } - break; - - case 5: -#line 428 "asn1p_y.y" - { - (yyval.a_grammar) = (yyvsp[(1) - (2)].a_grammar); - TQ_ADD(&((yyval.a_grammar)->modules), (yyvsp[(2) - (2)].a_module), mod_next); - } - break; - - case 6: -#line 445 "asn1p_y.y" - { currentModule = asn1p_module_new(); } - break; - - case 7: -#line 450 "asn1p_y.y" - { - - (yyval.a_module) = currentModule; - - if((yyvsp[(8) - (9)].a_module)) { - asn1p_module_t tmp = *((yyval.a_module)); - *((yyval.a_module)) = *((yyvsp[(8) - (9)].a_module)); - *((yyvsp[(8) - (9)].a_module)) = tmp; - asn1p_module_free((yyvsp[(8) - (9)].a_module)); - } else { - /* There's a chance that a module is just plain empty */ - } - - (yyval.a_module)->ModuleName = (yyvsp[(1) - (9)].tv_str); - (yyval.a_module)->module_oid = (yyvsp[(3) - (9)].a_oid); - (yyval.a_module)->module_flags = (yyvsp[(5) - (9)].a_module_flags); - } - break; - - case 8: -#line 474 "asn1p_y.y" - { (yyval.a_oid) = 0; } - break; - - case 9: -#line 475 "asn1p_y.y" - { (yyval.a_oid) = (yyvsp[(1) - (1)].a_oid); } - break; - - case 10: -#line 479 "asn1p_y.y" - { - (yyval.a_oid) = (yyvsp[(2) - (3)].a_oid); - } - break; - - case 11: -#line 482 "asn1p_y.y" - { - (yyval.a_oid) = 0; - } - break; - - case 12: -#line 488 "asn1p_y.y" - { - (yyval.a_oid) = asn1p_oid_new(); - asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(1) - (1)].a_oid_arc)); - if((yyvsp[(1) - (1)].a_oid_arc).name) - free((yyvsp[(1) - (1)].a_oid_arc).name); - } - break; - - case 13: -#line 494 "asn1p_y.y" - { - (yyval.a_oid) = (yyvsp[(1) - (2)].a_oid); - asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(2) - (2)].a_oid_arc)); - if((yyvsp[(2) - (2)].a_oid_arc).name) - free((yyvsp[(2) - (2)].a_oid_arc).name); - } - break; - - case 14: -#line 503 "asn1p_y.y" - { /* iso */ - (yyval.a_oid_arc).name = (yyvsp[(1) - (1)].tv_str); - (yyval.a_oid_arc).number = -1; - } - break; - - case 15: -#line 507 "asn1p_y.y" - { /* iso(1) */ - (yyval.a_oid_arc).name = (yyvsp[(1) - (4)].tv_str); - (yyval.a_oid_arc).number = (yyvsp[(3) - (4)].a_int); - } - break; - - case 16: -#line 511 "asn1p_y.y" - { /* 1 */ - (yyval.a_oid_arc).name = 0; - (yyval.a_oid_arc).number = (yyvsp[(1) - (1)].a_int); - } - break; - - case 17: -#line 521 "asn1p_y.y" - { (yyval.a_module_flags) = MSF_NOFLAGS; } - break; - - case 18: -#line 522 "asn1p_y.y" - { - (yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags); - } - break; - - case 19: -#line 531 "asn1p_y.y" - { - (yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags); - } - break; - - case 20: -#line 534 "asn1p_y.y" - { - (yyval.a_module_flags) = (yyvsp[(1) - (2)].a_module_flags) | (yyvsp[(2) - (2)].a_module_flags); - } - break; - - case 21: -#line 543 "asn1p_y.y" - { - (yyval.a_module_flags) = MSF_EXPLICIT_TAGS; - } - break; - - case 22: -#line 546 "asn1p_y.y" - { - (yyval.a_module_flags) = MSF_IMPLICIT_TAGS; - } - break; - - case 23: -#line 549 "asn1p_y.y" - { - (yyval.a_module_flags) = MSF_AUTOMATIC_TAGS; - } - break; - - case 24: -#line 552 "asn1p_y.y" - { - (yyval.a_module_flags) = MSF_EXTENSIBILITY_IMPLIED; - } - break; - - case 25: -#line 556 "asn1p_y.y" - { - /* X.680Amd1 specifies TAG and XER */ - if(strcmp((yyvsp[(1) - (2)].tv_str), "TAG") == 0) { - (yyval.a_module_flags) = MSF_TAG_INSTRUCTIONS; - } else if(strcmp((yyvsp[(1) - (2)].tv_str), "XER") == 0) { - (yyval.a_module_flags) = MSF_XER_INSTRUCTIONS; - } else { - fprintf(stderr, - "WARNING: %s INSTRUCTIONS at %s:%d: " - "Unrecognized encoding reference\n", - (yyvsp[(1) - (2)].tv_str), ASN_FILENAME, yylineno); - (yyval.a_module_flags) = MSF_unk_INSTRUCTIONS; - } - free((yyvsp[(1) - (2)].tv_str)); - } - break; - - case 26: -#line 577 "asn1p_y.y" - { (yyval.a_module) = 0; } - break; - - case 27: -#line 578 "asn1p_y.y" - { - (yyval.a_module) = (yyvsp[(1) - (1)].a_module); - } - break; - - case 28: -#line 587 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - AL_IMPORT((yyval.a_module), exports, (yyvsp[(1) - (3)].a_module), xp_next); - AL_IMPORT((yyval.a_module), imports, (yyvsp[(2) - (3)].a_module), xp_next); - asn1p_module_move_members((yyval.a_module), (yyvsp[(3) - (3)].a_module)); - - asn1p_module_free((yyvsp[(1) - (3)].a_module)); - asn1p_module_free((yyvsp[(2) - (3)].a_module)); - asn1p_module_free((yyvsp[(3) - (3)].a_module)); - } - break; - - case 29: -#line 600 "asn1p_y.y" - { - (yyval.a_module) = (yyvsp[(1) - (1)].a_module); - } - break; - - case 30: -#line 603 "asn1p_y.y" - { - if((yyvsp[(1) - (2)].a_module)) { - (yyval.a_module) = (yyvsp[(1) - (2)].a_module); - } else { - (yyval.a_module) = (yyvsp[(2) - (2)].a_module); - break; - } - asn1p_module_move_members((yyval.a_module), (yyvsp[(2) - (2)].a_module)); - asn1p_module_free((yyvsp[(2) - (2)].a_module)); - } - break; - - case 31: -#line 620 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - checkmem((yyval.a_module)); - assert((yyvsp[(1) - (1)].a_expr)->expr_type != A1TC_INVALID); - assert((yyvsp[(1) - (1)].a_expr)->meta_type != AMT_INVALID); - asn1p_module_member_add((yyval.a_module), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 32: -#line 627 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - checkmem((yyval.a_module)); - assert((yyvsp[(1) - (1)].a_expr)->expr_type != A1TC_INVALID); - assert((yyvsp[(1) - (1)].a_expr)->meta_type != AMT_INVALID); - asn1p_module_member_add((yyval.a_module), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 33: -#line 641 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - checkmem((yyval.a_module)); - assert((yyvsp[(1) - (1)].a_expr)->expr_type != A1TC_INVALID); - assert((yyvsp[(1) - (1)].a_expr)->meta_type != AMT_INVALID); - asn1p_module_member_add((yyval.a_module), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 34: -#line 649 "asn1p_y.y" - { asn1p_lexer_hack_push_encoding_control(); } - break; - - case 35: -#line 650 "asn1p_y.y" - { - fprintf(stderr, - "WARNING: ENCODING-CONTROL %s " - "specification at %s:%d ignored\n", - (yyvsp[(2) - (3)].tv_str), ASN_FILENAME, yylineno); - free((yyvsp[(2) - (3)].tv_str)); - (yyval.a_module) = 0; - } - break; - - case 36: -#line 662 "asn1p_y.y" - { - return yyerror( - "Attempt to redefine a standard basic string type, " - "please comment out or remove this type redefinition."); - } - break; - - case 37: -#line 675 "asn1p_y.y" - { (yyval.a_module) = 0; } - break; - - case 39: -#line 679 "asn1p_y.y" - { - if(!saved_aid && 0) - return yyerror("Unterminated IMPORTS FROM, " - "expected semicolon ';'"); - saved_aid = 0; - (yyval.a_module) = (yyvsp[(2) - (3)].a_module); - } - break; - - case 40: -#line 689 "asn1p_y.y" - { - return yyerror("Empty IMPORTS list"); - } - break; - - case 41: -#line 695 "asn1p_y.y" - { (yyval.a_module) = asn1p_module_new(); } - break; - - case 43: -#line 699 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - checkmem((yyval.a_module)); - TQ_ADD(&((yyval.a_module)->imports), (yyvsp[(1) - (1)].a_xports), xp_next); - } - break; - - case 44: -#line 704 "asn1p_y.y" - { - (yyval.a_module) = (yyvsp[(1) - (2)].a_module); - TQ_ADD(&((yyval.a_module)->imports), (yyvsp[(2) - (2)].a_xports), xp_next); - } - break; - - case 45: -#line 711 "asn1p_y.y" - { memset(&(yyval.a_aid), 0, sizeof((yyval.a_aid))); } - break; - - case 46: -#line 712 "asn1p_y.y" - { (yyval.a_aid).oid = (yyvsp[(1) - (1)].a_oid); } - break; - - case 47: -#line 716 "asn1p_y.y" - { - (yyval.a_xports) = (yyvsp[(1) - (4)].a_xports); - (yyval.a_xports)->fromModuleName = (yyvsp[(3) - (4)].tv_str); - (yyval.a_xports)->identifier = (yyvsp[(4) - (4)].a_aid); - /* This stupid thing is used for look-back hack. */ - saved_aid = (yyval.a_xports)->identifier.oid ? 0 : &((yyval.a_xports)->identifier); - checkmem((yyval.a_xports)); - } - break; - - case 48: -#line 727 "asn1p_y.y" - { - (yyval.a_xports) = asn1p_xports_new(); - checkmem((yyval.a_xports)); - TQ_ADD(&((yyval.a_xports)->xp_members), (yyvsp[(1) - (1)].a_expr), next); - } - break; - - case 49: -#line 732 "asn1p_y.y" - { - (yyval.a_xports) = (yyvsp[(1) - (3)].a_xports); - TQ_ADD(&((yyval.a_xports)->xp_members), (yyvsp[(3) - (3)].a_expr), next); - } - break; - - case 50: -#line 739 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - } - break; - - case 51: -#line 745 "asn1p_y.y" - { /* Completely equivalent to above */ - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - } - break; - - case 52: -#line 751 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - } - break; - - case 53: -#line 761 "asn1p_y.y" - { (yyval.a_module) = 0; } - break; - - case 54: -#line 762 "asn1p_y.y" - { - (yyval.a_module) = asn1p_module_new(); - checkmem((yyval.a_module)); - if((yyvsp[(1) - (1)].a_xports)) { - TQ_ADD(&((yyval.a_module)->exports), (yyvsp[(1) - (1)].a_xports), xp_next); - } else { - /* "EXPORTS ALL;" */ - } - } - break; - - case 55: -#line 774 "asn1p_y.y" - { - (yyval.a_xports) = (yyvsp[(2) - (3)].a_xports); - } - break; - - case 56: -#line 777 "asn1p_y.y" - { - (yyval.a_xports) = 0; - } - break; - - case 57: -#line 780 "asn1p_y.y" - { - /* Empty EXPORTS clause effectively prohibits export. */ - (yyval.a_xports) = asn1p_xports_new(); - checkmem((yyval.a_xports)); - } - break; - - case 58: -#line 788 "asn1p_y.y" - { - (yyval.a_xports) = asn1p_xports_new(); - assert((yyval.a_xports)); - TQ_ADD(&((yyval.a_xports)->xp_members), (yyvsp[(1) - (1)].a_expr), next); - } - break; - - case 59: -#line 793 "asn1p_y.y" - { - (yyval.a_xports) = (yyvsp[(1) - (3)].a_xports); - TQ_ADD(&((yyval.a_xports)->xp_members), (yyvsp[(3) - (3)].a_expr), next); - } - break; - - case 60: -#line 800 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - (yyval.a_expr)->expr_type = A1TC_EXPORTVAR; - } - break; - - case 61: -#line 806 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->expr_type = A1TC_EXPORTVAR; - } - break; - - case 62: -#line 812 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - (yyval.a_expr)->expr_type = A1TC_EXPORTVAR; - } - break; - - case 63: -#line 821 "asn1p_y.y" - { (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); } - break; - - case 64: -#line 824 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (4)].a_expr); - assert((yyval.a_expr)->Identifier == 0); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->meta_type = AMT_VALUESET; - (yyval.a_expr)->constraints = (yyvsp[(4) - (4)].a_constr); - } - break; - - case 65: -#line 844 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->reference = (yyvsp[(1) - (1)].a_ref); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - (yyval.a_expr)->meta_type = AMT_TYPEREF; - } - break; - - case 66: -#line 854 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->reference = (yyvsp[(1) - (4)].a_ref); - (yyval.a_expr)->rhs_pspecs = (yyvsp[(3) - (4)].a_expr); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - (yyval.a_expr)->meta_type = AMT_TYPEREF; - } - break; - - case 67: -#line 874 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (3)].a_expr); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - assert((yyval.a_expr)->expr_type); - assert((yyval.a_expr)->meta_type); - } - break; - - case 68: -#line 880 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (3)].a_expr); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - assert((yyval.a_expr)->expr_type == A1TC_CLASSDEF); - assert((yyval.a_expr)->meta_type == AMT_OBJECTCLASS); - } - break; - - case 69: -#line 896 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(6) - (6)].a_expr); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str); - (yyval.a_expr)->lhs_params = (yyvsp[(3) - (6)].a_plist); - } - break; - - case 70: -#line 902 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(6) - (6)].a_expr); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str); - (yyval.a_expr)->lhs_params = (yyvsp[(3) - (6)].a_plist); - } - break; - - case 71: -#line 910 "asn1p_y.y" - { - int ret; - (yyval.a_plist) = asn1p_paramlist_new(yylineno); - checkmem((yyval.a_plist)); - ret = asn1p_paramlist_add_param((yyval.a_plist), (yyvsp[(1) - (1)].a_parg).governor, (yyvsp[(1) - (1)].a_parg).argument); - checkmem(ret == 0); - asn1p_ref_free((yyvsp[(1) - (1)].a_parg).governor); - free((yyvsp[(1) - (1)].a_parg).argument); - } - break; - - case 72: -#line 919 "asn1p_y.y" - { - int ret; - (yyval.a_plist) = (yyvsp[(1) - (3)].a_plist); - ret = asn1p_paramlist_add_param((yyval.a_plist), (yyvsp[(3) - (3)].a_parg).governor, (yyvsp[(3) - (3)].a_parg).argument); - checkmem(ret == 0); - asn1p_ref_free((yyvsp[(3) - (3)].a_parg).governor); - free((yyvsp[(3) - (3)].a_parg).argument); - } - break; - - case 73: -#line 930 "asn1p_y.y" - { - (yyval.a_parg).governor = NULL; - (yyval.a_parg).argument = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 74: -#line 934 "asn1p_y.y" - { - int ret; - (yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_parg).governor, (yyvsp[(1) - (3)].tv_str), 0); - checkmem(ret == 0); - (yyval.a_parg).argument = (yyvsp[(3) - (3)].tv_str); - free((yyvsp[(1) - (3)].tv_str)); - } - break; - - case 75: -#line 942 "asn1p_y.y" - { - int ret; - (yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_parg).governor, (yyvsp[(1) - (3)].tv_str), 0); - checkmem(ret == 0); - (yyval.a_parg).argument = (yyvsp[(3) - (3)].tv_str); - free((yyvsp[(1) - (3)].tv_str)); - } - break; - - case 76: -#line 950 "asn1p_y.y" - { - int ret; - (yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_parg).governor, - ASN_EXPR_TYPE2STR((yyvsp[(1) - (3)].a_type)), 1); - checkmem(ret == 0); - (yyval.a_parg).argument = (yyvsp[(3) - (3)].tv_str); - } - break; - - case 77: -#line 958 "asn1p_y.y" - { - int ret; - (yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_parg).governor, - ASN_EXPR_TYPE2STR((yyvsp[(1) - (3)].a_type)), 1); - checkmem(ret == 0); - (yyval.a_parg).argument = (yyvsp[(3) - (3)].tv_str); - } - break; - - case 78: -#line 969 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 79: -#line 974 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 81: -#line 982 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("?"); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->value = (yyvsp[(1) - (1)].a_value); - } - break; - - case 82: -#line 990 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("?"); - (yyval.a_expr)->expr_type = A1TC_REFERENCE; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->value = (yyvsp[(1) - (1)].a_value); - } - break; - - case 83: -#line 998 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - (yyval.a_expr)->expr_type = A1TC_VALUESET; - (yyval.a_expr)->meta_type = AMT_VALUESET; - (yyval.a_expr)->constraints = (yyvsp[(1) - (1)].a_constr); - } - break; - - case 84: -#line 1021 "asn1p_y.y" - { (yyval.a_expr) = NEW_EXPR(); } - break; - - case 85: -#line 1022 "asn1p_y.y" - { (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); } - break; - - case 86: -#line 1025 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 87: -#line 1030 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 88: -#line 1034 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (5)].a_expr); - (yyvsp[(4) - (5)].a_expr)->meta_type = AMT_TYPE; - (yyvsp[(4) - (5)].a_expr)->expr_type = ASN_CONSTR_SEQUENCE; - (yyvsp[(4) - (5)].a_expr)->marker.flags |= EM_OPTIONAL; - asn1p_expr_add((yyval.a_expr), (yyvsp[(4) - (5)].a_expr)); - } - break; - - case 89: -#line 1042 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (3)].a_expr); - assert((yyval.a_expr)->Identifier == 0); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyvsp[(3) - (3)].a_marker).flags |= (yyval.a_expr)->marker.flags; - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 90: -#line 1049 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (2)].a_expr); - (yyvsp[(2) - (2)].a_marker).flags |= (yyval.a_expr)->marker.flags; - (yyval.a_expr)->marker = (yyvsp[(2) - (2)].a_marker); - _fixup_anonymous_identifier((yyval.a_expr)); - } - break; - - case 91: -#line 1055 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->meta_type = (yyvsp[(3) - (3)].a_expr)->meta_type; - (yyval.a_expr)->expr_type = A1TC_COMPONENTS_OF; - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 92: -#line 1062 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); - } - break; - - case 93: -#line 1068 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 94: -#line 1073 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 95: -#line 1080 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (2)].a_expr); - assert((yyval.a_expr)->Identifier == 0); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (2)].tv_str); - } - break; - - case 96: -#line 1085 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); - } - break; - - case 97: -#line 1088 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); - _fixup_anonymous_identifier((yyval.a_expr)); - } - break; - - case 98: -#line 1095 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (5)].a_expr); - checkmem((yyval.a_expr)); - (yyval.a_expr)->with_syntax = (yyvsp[(5) - (5)].a_wsynt); - assert((yyval.a_expr)->expr_type == A1TC_CLASSDEF); - assert((yyval.a_expr)->meta_type == AMT_OBJECTCLASS); - } - break; - - case 99: -#line 1105 "asn1p_y.y" - { (yyval.a_int) = 0; } - break; - - case 100: -#line 1106 "asn1p_y.y" - { (yyval.a_int) = 1; } - break; - - case 101: -#line 1110 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_CLASSDEF; - (yyval.a_expr)->meta_type = AMT_OBJECTCLASS; - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 102: -#line 1117 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 103: -#line 1127 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (2)].tv_str); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_TFS; /* TypeFieldSpec */ - (yyval.a_expr)->marker = (yyvsp[(2) - (2)].a_marker); - } - break; - - case 104: -#line 1137 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_FTVFS; /* FixedTypeValueFieldSpec */ - (yyval.a_expr)->unique = (yyvsp[(3) - (4)].a_int); - (yyval.a_expr)->marker = (yyvsp[(4) - (4)].a_marker); - asn1p_expr_add((yyval.a_expr), (yyvsp[(2) - (4)].a_expr)); - } - break; - - case 105: -#line 1148 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_VTVFS; - (yyval.a_expr)->reference = (yyvsp[(2) - (3)].a_ref); - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 106: -#line 1158 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->reference = (yyvsp[(2) - (3)].a_ref); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_OFS; - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 107: -#line 1169 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_VTVSFS; - (yyval.a_expr)->reference = (yyvsp[(2) - (3)].a_ref); - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 108: -#line 1179 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_FTVSFS; - asn1p_expr_add((yyval.a_expr), (yyvsp[(2) - (3)].a_expr)); - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 109: -#line 1190 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str); - (yyval.a_expr)->reference = (yyvsp[(2) - (3)].a_ref); - (yyval.a_expr)->meta_type = AMT_OBJECTFIELD; - (yyval.a_expr)->expr_type = A1TC_CLASSFIELD_OSFS; - (yyval.a_expr)->marker = (yyvsp[(3) - (3)].a_marker); - } - break; - - case 110: -#line 1202 "asn1p_y.y" - { (yyval.a_wsynt) = 0; } - break; - - case 111: -#line 1203 "asn1p_y.y" - { - (yyval.a_wsynt) = (yyvsp[(1) - (1)].a_wsynt); - } - break; - - case 112: -#line 1210 "asn1p_y.y" - { asn1p_lexer_hack_enable_with_syntax(); } - break; - - case 113: -#line 1212 "asn1p_y.y" - { - (yyval.a_wsynt) = (yyvsp[(5) - (6)].a_wsynt); - } - break; - - case 114: -#line 1218 "asn1p_y.y" - { - (yyval.a_wsynt) = asn1p_wsyntx_new(); - TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(1) - (1)].a_wchunk), next); - } - break; - - case 115: -#line 1222 "asn1p_y.y" - { - (yyval.a_wsynt) = (yyvsp[(1) - (2)].a_wsynt); - TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(2) - (2)].a_wchunk), next); - } - break; - - case 116: -#line 1229 "asn1p_y.y" - { - (yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_opaque).buf, 0); - (yyval.a_wchunk)->type = WC_WHITESPACE; - } - break; - - case 117: -#line 1233 "asn1p_y.y" - { - (yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_str), 0); - } - break; - - case 118: -#line 1236 "asn1p_y.y" - { - (yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].a_refcomp).name, 0); - (yyval.a_wchunk)->type = WC_FIELD; - } - break; - - case 119: -#line 1240 "asn1p_y.y" - { - (yyval.a_wchunk) = asn1p_wsyntx_chunk_fromsyntax((yyvsp[(2) - (3)].a_wsynt)); - } - break; - - case 120: -#line 1246 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("..."); - checkmem((yyval.a_expr)->Identifier); - (yyval.a_expr)->expr_type = A1TC_EXTENSIBLE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 121: -#line 1254 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("..."); - checkmem((yyval.a_expr)->Identifier); - (yyval.a_expr)->value = (yyvsp[(3) - (3)].a_value); - (yyval.a_expr)->expr_type = A1TC_EXTENSIBLE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 122: -#line 1263 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("..."); - (yyval.a_expr)->value = (yyvsp[(3) - (3)].a_value); - checkmem((yyval.a_expr)->Identifier); - (yyval.a_expr)->expr_type = A1TC_EXTENSIBLE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 124: -#line 1277 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (2)].a_expr); - (yyval.a_expr)->tag = (yyvsp[(1) - (2)].a_tag); - } - break; - - case 125: -#line 1284 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (2)].a_expr); - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if((yyval.a_expr)->expr_type == ASN_CONSTR_SEQUENCE_OF - || (yyval.a_expr)->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&((yyval.a_expr)->members))->constraints); - TQ_FIRST(&((yyval.a_expr)->members))->constraints = (yyvsp[(2) - (2)].a_constr); - } else { - if((yyval.a_expr)->constraints) { - assert(!(yyvsp[(2) - (2)].a_constr)); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free((yyvsp[(2) - (2)].a_constr)); - } else { - (yyval.a_expr)->constraints = (yyvsp[(2) - (2)].a_constr); - } - } - } - break; - - case 126: -#line 1307 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (2)].a_expr); - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if((yyval.a_expr)->expr_type == ASN_CONSTR_SEQUENCE_OF - || (yyval.a_expr)->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&((yyval.a_expr)->members))->constraints); - TQ_FIRST(&((yyval.a_expr)->members))->constraints = (yyvsp[(2) - (2)].a_constr); - } else { - if((yyval.a_expr)->constraints) { - assert(!(yyvsp[(2) - (2)].a_constr)); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free((yyvsp[(2) - (2)].a_constr)); - } else { - (yyval.a_expr)->constraints = (yyvsp[(2) - (2)].a_constr); - } - } - } - break; - - case 127: -#line 1330 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (3)].a_expr); - (yyval.a_expr)->tag = (yyvsp[(1) - (3)].a_tag); - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if((yyval.a_expr)->expr_type == ASN_CONSTR_SEQUENCE_OF - || (yyval.a_expr)->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&((yyval.a_expr)->members))->constraints); - TQ_FIRST(&((yyval.a_expr)->members))->constraints = (yyvsp[(3) - (3)].a_constr); - } else { - if((yyval.a_expr)->constraints) { - assert(!(yyvsp[(2) - (3)].a_expr)); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free((yyvsp[(3) - (3)].a_constr)); - } else { - (yyval.a_expr)->constraints = (yyvsp[(3) - (3)].a_constr); - } - } - } - break; - - case 128: -#line 1354 "asn1p_y.y" - { - (yyval.a_int) = asn1p_as_pointer ? EM_INDIRECT : 0; - asn1p_as_pointer = 0; - } - break; - - case 129: -#line 1361 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (2)].a_expr); - (yyval.a_expr)->marker.flags |= (yyvsp[(1) - (2)].a_int); - - if(((yyval.a_expr)->marker.flags & EM_INDIRECT) - && ((yyval.a_expr)->marker.flags & EM_OPTIONAL) != EM_OPTIONAL) { - fprintf(stderr, - "INFO: Directive " - "applied to %s at %s:%d\n", - ASN_EXPR_TYPE2STR((yyval.a_expr)->expr_type) - ? ASN_EXPR_TYPE2STR((yyval.a_expr)->expr_type) - : "member", - ASN_FILENAME, (yyval.a_expr)->_lineno - ); - } - } - break; - - case 133: -#line 1385 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - assert((yyval.a_expr)->expr_type == A1TC_INVALID); - (yyval.a_expr)->expr_type = ASN_CONSTR_CHOICE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 134: -#line 1391 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - assert((yyval.a_expr)->expr_type == A1TC_INVALID); - (yyval.a_expr)->expr_type = ASN_CONSTR_SEQUENCE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 135: -#line 1397 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - assert((yyval.a_expr)->expr_type == A1TC_INVALID); - (yyval.a_expr)->expr_type = ASN_CONSTR_SET; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 136: -#line 1403 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->constraints = (yyvsp[(2) - (6)].a_constr); - (yyval.a_expr)->expr_type = ASN_CONSTR_SEQUENCE_OF; - (yyval.a_expr)->meta_type = AMT_TYPE; - (yyvsp[(6) - (6)].a_expr)->Identifier = (yyvsp[(4) - (6)].tv_str); - (yyvsp[(6) - (6)].a_expr)->tag = (yyvsp[(5) - (6)].a_tag); - asn1p_expr_add((yyval.a_expr), (yyvsp[(6) - (6)].a_expr)); - } - break; - - case 137: -#line 1413 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->constraints = (yyvsp[(2) - (6)].a_constr); - (yyval.a_expr)->expr_type = ASN_CONSTR_SET_OF; - (yyval.a_expr)->meta_type = AMT_TYPE; - (yyvsp[(6) - (6)].a_expr)->Identifier = (yyvsp[(4) - (6)].tv_str); - (yyvsp[(6) - (6)].a_expr)->tag = (yyvsp[(5) - (6)].a_tag); - asn1p_expr_add((yyval.a_expr), (yyvsp[(6) - (6)].a_expr)); - } - break; - - case 138: -#line 1423 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = ASN_TYPE_ANY; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 139: -#line 1429 "asn1p_y.y" - { - int ret; - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->reference = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_expr)->reference, - (yyvsp[(4) - (4)].tv_str), RLT_lowercase); - checkmem(ret == 0); - (yyval.a_expr)->expr_type = ASN_TYPE_ANY; - (yyval.a_expr)->meta_type = AMT_TYPE; - free((yyvsp[(4) - (4)].tv_str)); - } - break; - - case 140: -#line 1441 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->reference = (yyvsp[(3) - (3)].a_ref); - (yyval.a_expr)->expr_type = A1TC_INSTANCE; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 141: -#line 1456 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - checkmem((yyval.a_ref)); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 142: -#line 1464 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - checkmem((yyval.a_ref)); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_CAPITALS); - free((yyvsp[(1) - (1)].tv_str)); - checkmem(ret == 0); - } - break; - - case 143: -#line 1472 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - checkmem((yyval.a_ref)); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - free((yyvsp[(1) - (3)].tv_str)); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 144: -#line 1483 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - checkmem((yyval.a_ref)); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - free((yyvsp[(1) - (3)].tv_str)); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 145: -#line 1494 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = (yyvsp[(3) - (3)].a_ref); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_CAPITALS); - free((yyvsp[(1) - (3)].tv_str)); - checkmem(ret == 0); - /* - * Move the last element infront. - */ - { - struct asn1p_ref_component_s tmp_comp; - tmp_comp = (yyval.a_ref)->components[(yyval.a_ref)->comp_count-1]; - memmove(&(yyval.a_ref)->components[1], - &(yyval.a_ref)->components[0], - sizeof((yyval.a_ref)->components[0]) - * ((yyval.a_ref)->comp_count - 1)); - (yyval.a_ref)->components[0] = tmp_comp; - } - } - break; - - case 146: -#line 1516 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - checkmem((yyval.a_ref)); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].a_refcomp).name, (yyvsp[(1) - (1)].a_refcomp).lex_type); - free((yyvsp[(1) - (1)].a_refcomp).name); - checkmem(ret == 0); - } - break; - - case 147: -#line 1524 "asn1p_y.y" - { - int ret; - (yyval.a_ref) = (yyvsp[(1) - (3)].a_ref); - ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].a_refcomp).name, (yyvsp[(3) - (3)].a_refcomp).lex_type); - free((yyvsp[(3) - (3)].a_refcomp).name); - checkmem(ret == 0); - } - break; - - case 149: -#line 1537 "asn1p_y.y" - { - (yyval.a_refcomp).lex_type = RLT_AmpUppercase; - (yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 150: -#line 1542 "asn1p_y.y" - { - (yyval.a_refcomp).lex_type = RLT_Amplowercase; - (yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 151: -#line 1551 "asn1p_y.y" - { - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_AmpUppercase); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 152: -#line 1556 "asn1p_y.y" - { - (yyval.a_ref) = (yyval.a_ref); - asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_AmpUppercase); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 153: -#line 1561 "asn1p_y.y" - { - (yyval.a_ref) = (yyval.a_ref); - asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_Amplowercase); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 154: -#line 1569 "asn1p_y.y" - { - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_CAPITALS); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 155: -#line 1592 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(2) - (4)].a_expr); - assert((yyval.a_expr)->Identifier == NULL); - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->value = (yyvsp[(4) - (4)].a_value); - } - break; - - case 158: -#line 1604 "asn1p_y.y" - { asn1p_lexer_hack_push_opaque_state(); } - break; - - case 159: -#line 1604 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_frombuf((yyvsp[(3) - (3)].tv_opaque).buf, (yyvsp[(3) - (3)].tv_opaque).len, 0); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_UNPARSED; - } - break; - - case 160: -#line 1612 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint(0); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_NULL; - } - break; - - case 161: -#line 1617 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint(0); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_FALSE; - } - break; - - case 162: -#line 1622 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint(1); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_TRUE; - } - break; - - case 168: -#line 1635 "asn1p_y.y" - { - asn1p_ref_t *ref; - int ret; - ref = asn1p_ref_new(yylineno, currentModule); - checkmem(ref); - ret = asn1p_ref_add_component(ref, (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component(ref, (yyvsp[(3) - (3)].tv_str), RLT_lowercase); - checkmem(ret == 0); - (yyval.a_value) = asn1p_value_fromref(ref, 0); - checkmem((yyval.a_value)); - free((yyvsp[(1) - (3)].tv_str)); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 169: -#line 1653 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_frombuf((yyvsp[(1) - (1)].tv_opaque).buf, (yyvsp[(1) - (1)].tv_opaque).len, 0); - checkmem((yyval.a_value)); - } - break; - - case 170: -#line 1657 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int)); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_TUPLE; - } - break; - - case 171: -#line 1662 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int)); - checkmem((yyval.a_value)); - (yyval.a_value)->type = ATV_QUADRUPLE; - } - break; - - case 172: -#line 1670 "asn1p_y.y" - { - (yyval.tv_opaque).len = (yyvsp[(1) - (1)].tv_opaque).len + 1; - (yyval.tv_opaque).buf = malloc(1 + (yyval.tv_opaque).len + 1); - checkmem((yyval.tv_opaque).buf); - (yyval.tv_opaque).buf[0] = '{'; - memcpy((yyval.tv_opaque).buf + 1, (yyvsp[(1) - (1)].tv_opaque).buf, (yyvsp[(1) - (1)].tv_opaque).len); - (yyval.tv_opaque).buf[(yyval.tv_opaque).len] = '\0'; - free((yyvsp[(1) - (1)].tv_opaque).buf); - } - break; - - case 173: -#line 1679 "asn1p_y.y" - { - int newsize = (yyvsp[(1) - (2)].tv_opaque).len + (yyvsp[(2) - (2)].tv_opaque).len; - char *p = malloc(newsize + 1); - checkmem(p); - memcpy(p , (yyvsp[(1) - (2)].tv_opaque).buf, (yyvsp[(1) - (2)].tv_opaque).len); - memcpy(p + (yyvsp[(1) - (2)].tv_opaque).len, (yyvsp[(2) - (2)].tv_opaque).buf, (yyvsp[(2) - (2)].tv_opaque).len); - p[newsize] = '\0'; - free((yyvsp[(1) - (2)].tv_opaque).buf); - free((yyvsp[(2) - (2)].tv_opaque).buf); - (yyval.tv_opaque).buf = p; - (yyval.tv_opaque).len = newsize; - } - break; - - case 175: -#line 1695 "asn1p_y.y" - { - (yyval.tv_opaque).len = strlen((yyvsp[(1) - (1)].tv_str)); - (yyval.tv_opaque).buf = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 176: -#line 1701 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_BOOLEAN; } - break; - - case 177: -#line 1702 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_NULL; } - break; - - case 178: -#line 1703 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_REAL; } - break; - - case 179: -#line 1704 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_OCTET_STRING; } - break; - - case 180: -#line 1705 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_OBJECT_IDENTIFIER; } - break; - - case 181: -#line 1706 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_RELATIVE_OID; } - break; - - case 182: -#line 1707 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_EXTERNAL; } - break; - - case 183: -#line 1708 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_EMBEDDED_PDV; } - break; - - case 184: -#line 1709 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_CHARACTER_STRING; } - break; - - case 185: -#line 1710 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_UTCTime; } - break; - - case 186: -#line 1711 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_GeneralizedTime; } - break; - - case 189: -#line 1720 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_INTEGER; } - break; - - case 190: -#line 1721 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_ENUMERATED; } - break; - - case 191: -#line 1722 "asn1p_y.y" - { (yyval.a_type) = ASN_BASIC_BIT_STRING; } - break; - - case 192: -#line 1726 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = (yyvsp[(1) - (1)].a_type); - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 193: -#line 1732 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - (yyval.a_expr)->expr_type = ASN_BASIC_INTEGER; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 194: -#line 1737 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - (yyval.a_expr)->expr_type = ASN_BASIC_ENUMERATED; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 195: -#line 1742 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(4) - (5)].a_expr); - (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 196: -#line 1747 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr); - (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 197: -#line 1752 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING; - (yyval.a_expr)->meta_type = AMT_TYPE; - } - break; - - case 198: -#line 1761 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_BMPString; } - break; - - case 199: -#line 1762 "asn1p_y.y" - { - (yyval.a_type) = ASN_STRING_GeneralString; - fprintf(stderr, "WARNING: GeneralString is not fully supported\n"); - } - break; - - case 200: -#line 1766 "asn1p_y.y" - { - (yyval.a_type) = ASN_STRING_GraphicString; - fprintf(stderr, "WARNING: GraphicString is not fully supported\n"); - } - break; - - case 201: -#line 1770 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_IA5String; } - break; - - case 202: -#line 1771 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_ISO646String; } - break; - - case 203: -#line 1772 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_NumericString; } - break; - - case 204: -#line 1773 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_PrintableString; } - break; - - case 205: -#line 1774 "asn1p_y.y" - { - (yyval.a_type) = ASN_STRING_T61String; - fprintf(stderr, "WARNING: T61String is not fully supported\n"); - } - break; - - case 206: -#line 1778 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_TeletexString; } - break; - - case 207: -#line 1779 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_UniversalString; } - break; - - case 208: -#line 1780 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_UTF8String; } - break; - - case 209: -#line 1781 "asn1p_y.y" - { - (yyval.a_type) = ASN_STRING_VideotexString; - fprintf(stderr, "WARNING: VideotexString is not fully supported\n"); - } - break; - - case 210: -#line 1785 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_VisibleString; } - break; - - case 211: -#line 1786 "asn1p_y.y" - { (yyval.a_type) = ASN_STRING_ObjectDescriptor; } - break; - - case 216: -#line 1798 "asn1p_y.y" - { (yyval.a_constr) = 0; } - break; - - case 218: -#line 1803 "asn1p_y.y" - { (yyval.a_constr) = 0; } - break; - - case 220: -#line 1808 "asn1p_y.y" - { (yyval.a_constr) = 0; } - break; - - case 223: -#line 1814 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(2) - (3)].a_constr), 0); - } - break; - - case 225: -#line 1821 "asn1p_y.y" - { - if((yyvsp[(2) - (2)].a_constr)->type == ACT_CA_SET && (yyvsp[(2) - (2)].a_constr)->el_count == 1) { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (2)].a_constr), (yyvsp[(2) - (2)].a_constr)->elements[0]); - } else { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (2)].a_constr), (yyvsp[(2) - (2)].a_constr)); - } - } - break; - - case 229: -#line 1835 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_EL_EXT; - } - break; - - case 231: -#line 1840 "asn1p_y.y" - { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - ct->type = ACT_EL_EXT; - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (3)].a_constr), ct); - } - break; - - case 232: -#line 1846 "asn1p_y.y" - { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - ct->type = ACT_EL_EXT; - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (5)].a_constr), ct); - ct = (yyval.a_constr); - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, ct, (yyvsp[(5) - (5)].a_constr)); - } - break; - - case 234: -#line 1858 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_AEX, (yyvsp[(3) - (3)].a_constr), 0); - } - break; - - case 236: -#line 1865 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_UNI, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr)); - } - break; - - case 238: -#line 1872 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_INT, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr)); - } - break; - - case 240: -#line 1880 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_EXC, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr)); - } - break; - - case 242: -#line 1887 "asn1p_y.y" - { - int ret; - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_CA_SET; - ret = asn1p_constraint_insert((yyval.a_constr), (yyvsp[(2) - (3)].a_constr)); - checkmem(ret == 0); - } - break; - - case 243: -#line 1898 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_EL_VALUE; - (yyval.a_constr)->value = (yyvsp[(1) - (1)].a_value); - } - break; - - case 244: -#line 1904 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_EL_TYPE; - (yyval.a_constr)->containedSubtype = (yyvsp[(1) - (1)].a_value); - } - break; - - case 250: -#line 1920 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_FROM, (yyvsp[(2) - (2)].a_constr), 0); - } - break; - - case 251: -#line 1925 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_SIZE, (yyvsp[(2) - (2)].a_constr), 0); - } - break; - - case 252: -#line 1930 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_CT_PATTERN; - (yyval.a_constr)->value = asn1p_value_frombuf((yyvsp[(2) - (2)].tv_opaque).buf, (yyvsp[(2) - (2)].tv_opaque).len, 0); - } - break; - - case 253: -#line 1935 "asn1p_y.y" - { - asn1p_ref_t *ref; - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_CT_PATTERN; - ref = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component(ref, (yyvsp[(2) - (2)].tv_str), RLT_lowercase); - (yyval.a_constr)->value = asn1p_value_fromref(ref, 0); - free((yyvsp[(2) - (2)].tv_str)); - } - break; - - case 254: -#line 1947 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype); - (yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value); - (yyval.a_constr)->range_stop = (yyvsp[(3) - (3)].a_value); - } - break; - - case 256: -#line 1957 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint(-123); - (yyval.a_value)->type = ATV_MIN; - } - break; - - case 258: -#line 1964 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint(321); - (yyval.a_value)->type = ATV_MAX; - } - break; - - case 260: -#line 1972 "asn1p_y.y" - { - (yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'B'); - checkmem((yyval.a_value)); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 261: -#line 1977 "asn1p_y.y" - { - (yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'H'); - checkmem((yyval.a_value)); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 262: -#line 1985 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromtype((yyvsp[(2) - (2)].a_expr)); - checkmem((yyval.a_value)); - asn1p_expr_free((yyvsp[(2) - (2)].a_expr)); - } - break; - - case 263: -#line 1991 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromtype((yyvsp[(1) - (1)].a_expr)); - checkmem((yyval.a_value)); - asn1p_expr_free((yyvsp[(1) - (1)].a_expr)); - } - break; - - case 264: -#line 2003 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_WCOMP, (yyvsp[(3) - (3)].a_constr), 0); - } - break; - - case 265: -#line 2006 "asn1p_y.y" - { - assert((yyvsp[(3) - (3)].a_constr)->type == ACT_CA_CSV); - (yyvsp[(3) - (3)].a_constr)->type = ACT_CT_WCOMPS; - (yyval.a_constr) = (yyvsp[(3) - (3)].a_constr); - } - break; - - case 269: -#line 2014 "asn1p_y.y" - { (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); } - break; - - case 270: -#line 2016 "asn1p_y.y" - { - assert((yyvsp[(4) - (5)].a_constr)->type == ACT_CA_CSV); - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_CA_CSV; - asn1p_constraint_t *ct = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - ct->type = ACT_EL_EXT; - asn1p_constraint_insert((yyval.a_constr), ct); - for(unsigned i = 0; i < (yyvsp[(4) - (5)].a_constr)->el_count; i++) { - asn1p_constraint_insert((yyval.a_constr), (yyvsp[(4) - (5)].a_constr)->elements[i]); - } - } - break; - - case 271: -#line 2029 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_CA_CSV; - asn1p_constraint_insert((yyval.a_constr), (yyvsp[(1) - (1)].a_constr)); - } - break; - - case 272: -#line 2034 "asn1p_y.y" - { - (yyval.a_constr) = (yyvsp[(1) - (3)].a_constr); - asn1p_constraint_insert((yyval.a_constr), (yyvsp[(3) - (3)].a_constr)); - } - break; - - case 273: -#line 2040 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_EL_VALUE; - (yyval.a_constr)->value = (yyvsp[(1) - (3)].a_value); - if((yyvsp[(2) - (3)].a_constr)) asn1p_constraint_insert((yyval.a_constr), (yyvsp[(2) - (3)].a_constr)); - (yyval.a_constr)->presence = (yyvsp[(3) - (3)].a_pres); - } - break; - - case 274: -#line 2054 "asn1p_y.y" - { (yyval.a_pres) = ACPRES_DEFAULT; } - break; - - case 275: -#line 2055 "asn1p_y.y" - { (yyval.a_pres) = (yyvsp[(1) - (1)].a_pres); } - break; - - case 276: -#line 2059 "asn1p_y.y" - { - (yyval.a_pres) = ACPRES_PRESENT; - } - break; - - case 277: -#line 2062 "asn1p_y.y" - { - (yyval.a_pres) = ACPRES_ABSENT; - } - break; - - case 278: -#line 2065 "asn1p_y.y" - { - (yyval.a_pres) = ACPRES_OPTIONAL; - } - break; - - case 282: -#line 2080 "asn1p_y.y" - { asn1p_lexer_hack_push_opaque_state(); } - break; - - case 283: -#line 2080 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_CT_CTDBY; - (yyval.a_constr)->value = asn1p_value_frombuf((yyvsp[(5) - (5)].tv_opaque).buf, (yyvsp[(5) - (5)].tv_opaque).len, 0); - checkmem((yyval.a_constr)->value); - (yyval.a_constr)->value->type = ATV_UNPARSED; - } - break; - - case 284: -#line 2091 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - (yyval.a_constr)->type = ACT_CT_CTNG; - (yyval.a_constr)->value = asn1p_value_fromtype((yyvsp[(2) - (2)].a_expr)); - asn1p_expr_free((yyvsp[(2) - (2)].a_expr)); - } - break; - - case 285: -#line 2100 "asn1p_y.y" - { (yyval.a_ctype) = ACT_EL_RANGE; } - break; - - case 286: -#line 2101 "asn1p_y.y" - { (yyval.a_ctype) = ACT_EL_RLRANGE; } - break; - - case 287: -#line 2102 "asn1p_y.y" - { (yyval.a_ctype) = ACT_EL_LLRANGE; } - break; - - case 288: -#line 2103 "asn1p_y.y" - { (yyval.a_ctype) = ACT_EL_ULRANGE; } - break; - - case 289: -#line 2106 "asn1p_y.y" - { - (yyval.a_constr) = (yyvsp[(1) - (1)].a_constr); - } - break; - - case 290: -#line 2109 "asn1p_y.y" - { - (yyval.a_constr) = (yyvsp[(1) - (1)].a_constr); - } - break; - - case 291: -#line 2118 "asn1p_y.y" - { - asn1p_ref_t *ref = asn1p_ref_new(yylineno, currentModule); - asn1p_constraint_t *ct; - int ret; - ret = asn1p_ref_add_component(ref, (yyvsp[(2) - (3)].tv_str), 0); - checkmem(ret == 0); - ct = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - ct->type = ACT_EL_VALUE; - ct->value = asn1p_value_fromref(ref, 0); - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CRC, ct, 0); - free((yyvsp[(2) - (3)].tv_str)); - } - break; - - case 292: -#line 2134 "asn1p_y.y" - { - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CRC, (yyvsp[(1) - (4)].a_constr), (yyvsp[(3) - (4)].a_constr)); - } - break; - - case 293: -#line 2140 "asn1p_y.y" - { - (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule); - checkmem((yyval.a_constr)); - (yyval.a_constr)->type = ACT_EL_VALUE; - (yyval.a_constr)->value = asn1p_value_fromref((yyvsp[(1) - (1)].a_ref), 0); - } - break; - - case 294: -#line 2146 "asn1p_y.y" - { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - checkmem(ct); - ct->type = ACT_EL_VALUE; - ct->value = asn1p_value_fromref((yyvsp[(3) - (3)].a_ref), 0); - CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (3)].a_constr), ct); - } - break; - - case 295: -#line 2160 "asn1p_y.y" - { - char *p = malloc(strlen((yyvsp[(2) - (2)].tv_str)) + 2); - int ret; - *p = '@'; - strcpy(p + 1, (yyvsp[(2) - (2)].tv_str)); - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_ref), p, 0); - checkmem(ret == 0); - free(p); - free((yyvsp[(2) - (2)].tv_str)); - } - break; - - case 296: -#line 2171 "asn1p_y.y" - { - char *p = malloc(strlen((yyvsp[(3) - (3)].tv_str)) + 3); - int ret; - p[0] = '@'; - p[1] = '.'; - strcpy(p + 2, (yyvsp[(3) - (3)].tv_str)); - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component((yyval.a_ref), p, 0); - checkmem(ret == 0); - free(p); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 297: -#line 2187 "asn1p_y.y" - { - (yyval.tv_str) = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 298: -#line 2190 "asn1p_y.y" - { - int l1 = strlen((yyvsp[(1) - (3)].tv_str)); - int l3 = strlen((yyvsp[(3) - (3)].tv_str)); - (yyval.tv_str) = malloc(l1 + 1 + l3 + 1); - memcpy((yyval.tv_str), (yyvsp[(1) - (3)].tv_str), l1); - (yyval.tv_str)[l1] = '.'; - memcpy((yyval.tv_str) + l1 + 1, (yyvsp[(3) - (3)].tv_str), l3); - (yyval.tv_str)[l1 + 1 + l3] = '\0'; - free((yyvsp[(1) - (3)].tv_str)); - free((yyvsp[(3) - (3)].tv_str)); - } - break; - - case 299: -#line 2210 "asn1p_y.y" - { - (yyval.a_marker).flags = EM_NOMARK; - (yyval.a_marker).default_value = 0; - } - break; - - case 300: -#line 2214 "asn1p_y.y" - { (yyval.a_marker) = (yyvsp[(1) - (1)].a_marker); } - break; - - case 301: -#line 2218 "asn1p_y.y" - { - (yyval.a_marker).flags = EM_OPTIONAL | EM_INDIRECT; - (yyval.a_marker).default_value = 0; - } - break; - - case 302: -#line 2222 "asn1p_y.y" - { - (yyval.a_marker).flags = EM_DEFAULT; - (yyval.a_marker).default_value = (yyvsp[(2) - (2)].a_value); - } - break; - - case 303: -#line 2229 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 304: -#line 2234 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 305: -#line 2240 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 306: -#line 2249 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 307: -#line 2254 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 308: -#line 2261 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value); - } - break; - - case 309: -#line 2269 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value); - } - break; - - case 310: -#line 2279 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 311: -#line 2284 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 312: -#line 2291 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = asn1p_value_fromint((yyvsp[(3) - (4)].a_int)); - } - break; - - case 313: -#line 2299 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value); - } - break; - - case 314: -#line 2309 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); - asn1p_expr_t *first_memb = TQ_FIRST(&((yyval.a_expr)->members)); - if(first_memb) { - if(first_memb->expr_type == A1TC_EXTENSIBLE) { - return yyerror( - "The ENUMERATION cannot start with extension (...)."); - } - } else { - return yyerror( - "The ENUMERATION list cannot be empty."); - } - } - break; - - case 315: -#line 2324 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr)); - } - break; - - case 316: -#line 2329 "asn1p_y.y" - { - (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr); - asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr)); - } - break; - - case 317: -#line 2336 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 318: -#line 2343 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value); - } - break; - - case 319: -#line 2351 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str); - (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value); - } - break; - - case 320: -#line 2359 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->expr_type = A1TC_UNIVERVAL; - (yyval.a_expr)->meta_type = AMT_VALUE; - (yyval.a_expr)->value = (yyvsp[(1) - (1)].a_value); - } - break; - - case 321: -#line 2366 "asn1p_y.y" - { - (yyval.a_expr) = NEW_EXPR(); - checkmem((yyval.a_expr)); - (yyval.a_expr)->Identifier = strdup("..."); - checkmem((yyval.a_expr)->Identifier); - (yyval.a_expr)->expr_type = A1TC_EXTENSIBLE; - (yyval.a_expr)->meta_type = AMT_VALUE; - } - break; - - case 322: -#line 2377 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int)); - checkmem((yyval.a_value)); - } - break; - - case 323: -#line 2381 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int)); - checkmem((yyval.a_value)); - } - break; - - case 324: -#line 2388 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromdouble((yyvsp[(1) - (1)].a_dbl)); - checkmem((yyval.a_value)); - } - break; - - case 325: -#line 2419 "asn1p_y.y" - { memset(&(yyval.a_tag), 0, sizeof((yyval.a_tag))); } - break; - - case 326: -#line 2420 "asn1p_y.y" - { (yyval.a_tag) = (yyvsp[(1) - (1)].a_tag); } - break; - - case 327: -#line 2424 "asn1p_y.y" - { - (yyval.a_tag) = (yyvsp[(1) - (2)].a_tag); - (yyval.a_tag).tag_mode = (yyvsp[(2) - (2)].a_tag).tag_mode; - } - break; - - case 328: -#line 2431 "asn1p_y.y" - { - (yyval.a_tag) = (yyvsp[(2) - (4)].a_tag); - (yyval.a_tag).tag_value = (yyvsp[(3) - (4)].a_int); - } - break; - - case 329: -#line 2437 "asn1p_y.y" - { (yyval.a_tag).tag_class = TC_CONTEXT_SPECIFIC; } - break; - - case 330: -#line 2438 "asn1p_y.y" - { (yyval.a_tag).tag_class = TC_UNIVERSAL; } - break; - - case 331: -#line 2439 "asn1p_y.y" - { (yyval.a_tag).tag_class = TC_APPLICATION; } - break; - - case 332: -#line 2440 "asn1p_y.y" - { (yyval.a_tag).tag_class = TC_PRIVATE; } - break; - - case 333: -#line 2444 "asn1p_y.y" - { (yyval.a_tag).tag_mode = TM_DEFAULT; } - break; - - case 334: -#line 2445 "asn1p_y.y" - { (yyval.a_tag).tag_mode = TM_IMPLICIT; } - break; - - case 335: -#line 2446 "asn1p_y.y" - { (yyval.a_tag).tag_mode = TM_EXPLICIT; } - break; - - case 336: -#line 2450 "asn1p_y.y" - { - checkmem((yyvsp[(1) - (1)].tv_str)); - (yyval.tv_str) = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 337: -#line 2454 "asn1p_y.y" - { - checkmem((yyvsp[(1) - (1)].tv_str)); - (yyval.tv_str) = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 338: -#line 2462 "asn1p_y.y" - { (yyval.tv_str) = 0; } - break; - - case 339: -#line 2463 "asn1p_y.y" - { - (yyval.tv_str) = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 340: -#line 2469 "asn1p_y.y" - { - checkmem((yyvsp[(1) - (1)].tv_str)); - (yyval.tv_str) = (yyvsp[(1) - (1)].tv_str); - } - break; - - case 341: -#line 2476 "asn1p_y.y" - { - (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_lowercase); - free((yyvsp[(1) - (1)].tv_str)); - } - break; - - case 342: -#line 2483 "asn1p_y.y" - { - (yyval.a_value) = asn1p_value_fromref((yyvsp[(1) - (1)].a_ref), 0); - } - break; - - -/* Line 1267 of yacc.c. */ -#line 4957 "asn1p_y.c" - default: break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse look-ahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - if (yyn == YYFINAL) - YYACCEPT; - - *++yyvsp = yylval; - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - /* Make sure YYID is used. */ - return YYID (yyresult); -} - - -#line 2487 "asn1p_y.y" - - - -/* - * Convert Xstring ('0101'B or '5'H) to the binary vector. - */ -static asn1p_value_t * -_convert_bitstring2binary(char *str, int base) { - asn1p_value_t *val; - int slen; - int memlen; - int baselen; - int bits; - uint8_t *binary_vector; - uint8_t *bv_ptr; - uint8_t cur_val; - - assert(str); - assert(str[0] == '\''); - - switch(base) { - case 'B': - baselen = 1; - break; - case 'H': - baselen = 4; - break; - default: - assert(base == 'B' || base == 'H'); - errno = EINVAL; - return NULL; - } - - slen = strlen(str); - assert(str[slen - 1] == base); - assert(str[slen - 2] == '\''); - - memlen = slen / (8 / baselen); /* Conservative estimate */ - - bv_ptr = binary_vector = malloc(memlen + 1); - if(bv_ptr == NULL) - /* ENOMEM */ - return NULL; - - cur_val = 0; - bits = 0; - while(*(++str) != '\'') { - switch(baselen) { - case 1: - switch(*str) { - case '1': - cur_val |= 1 << (7 - (bits % 8)); - case '0': - break; - default: - assert(!"_y UNREACH1"); - case ' ': case '\r': case '\n': - continue; - } - break; - case 4: - switch(*str) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - cur_val |= (*str - '0') << (4 - (bits % 8)); - break; - case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': - cur_val |= ((*str - 'A') + 10) - << (4 - (bits % 8)); - break; - default: - assert(!"_y UNREACH2"); - case ' ': case '\r': case '\n': - continue; - } - break; - } - - bits += baselen; - if((bits % 8) == 0) { - *bv_ptr++ = cur_val; - cur_val = 0; - } - } - - *bv_ptr = cur_val; - assert((bv_ptr - binary_vector) <= memlen); - - val = asn1p_value_frombits(binary_vector, bits, 0); - if(val == NULL) { - free(binary_vector); - } - - return val; -} - -/* - * For unnamed types (used in old X.208 compliant modules) - * generate some sort of interim names, to not to force human being to fix - * the specification's compliance to modern ASN.1 standards. - */ -static void -_fixup_anonymous_identifier(asn1p_expr_t *expr) { - char *p; - assert(expr->Identifier == 0); - - /* - * Try to figure out the type name - * without going too much into details - */ - expr->Identifier = ASN_EXPR_TYPE2STR(expr->expr_type); - if(expr->reference && expr->reference->comp_count > 0) - expr->Identifier = expr->reference->components[0].name; - - fprintf(stderr, - "WARNING: Line %d: expected lower-case member identifier, " - "found an unnamed %s.\n" - "WARNING: Obsolete X.208 syntax detected, " - "please give the member a name.\n", - yylineno, expr->Identifier ? expr->Identifier : "type"); - - if(!expr->Identifier) - expr->Identifier = "unnamed"; - expr->Identifier = strdup(expr->Identifier); - assert(expr->Identifier); - /* Make a lowercase identifier from the type name */ - for(p = expr->Identifier; *p; p++) { - switch(*p) { - case 'A' ... 'Z': *p += 32; break; - case ' ': *p = '_'; break; - case '-': *p = '_'; break; - } - } - fprintf(stderr, "NOTE: Assigning temporary identifier \"%s\". " - "Name clash may occur later.\n", - expr->Identifier); -} - -static int -yyerror(const char *msg) { - extern char *asn1p_text; - fprintf(stderr, - "ASN.1 grammar parse error " - "near %s:%d (token \"%s\"): %s\n", - ASN_FILENAME, yylineno, asn1p_text, msg); - return -1; -} - - diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h deleted file mode 100644 index 8581bc8..0000000 --- a/libasn1parser/asn1p_y.h +++ /dev/null @@ -1,309 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - TOK_PPEQ = 258, - TOK_VBracketLeft = 259, - TOK_VBracketRight = 260, - TOK_whitespace = 261, - TOK_opaque = 262, - TOK_bstring = 263, - TOK_cstring = 264, - TOK_hstring = 265, - TOK_identifier = 266, - TOK_number = 267, - TOK_number_negative = 268, - TOK_realnumber = 269, - TOK_tuple = 270, - TOK_quadruple = 271, - TOK_typereference = 272, - TOK_capitalreference = 273, - TOK_typefieldreference = 274, - TOK_valuefieldreference = 275, - TOK_Literal = 276, - TOK_ExtValue_BIT_STRING = 277, - TOK_ABSENT = 278, - TOK_ABSTRACT_SYNTAX = 279, - TOK_ALL = 280, - TOK_ANY = 281, - TOK_APPLICATION = 282, - TOK_AUTOMATIC = 283, - TOK_BEGIN = 284, - TOK_BIT = 285, - TOK_BMPString = 286, - TOK_BOOLEAN = 287, - TOK_BY = 288, - TOK_CHARACTER = 289, - TOK_CHOICE = 290, - TOK_CLASS = 291, - TOK_COMPONENT = 292, - TOK_COMPONENTS = 293, - TOK_CONSTRAINED = 294, - TOK_CONTAINING = 295, - TOK_DEFAULT = 296, - TOK_DEFINITIONS = 297, - TOK_DEFINED = 298, - TOK_EMBEDDED = 299, - TOK_ENCODED = 300, - TOK_ENCODING_CONTROL = 301, - TOK_END = 302, - TOK_ENUMERATED = 303, - TOK_EXPLICIT = 304, - TOK_EXPORTS = 305, - TOK_EXTENSIBILITY = 306, - TOK_EXTERNAL = 307, - TOK_FALSE = 308, - TOK_FROM = 309, - TOK_GeneralizedTime = 310, - TOK_GeneralString = 311, - TOK_GraphicString = 312, - TOK_IA5String = 313, - TOK_IDENTIFIER = 314, - TOK_IMPLICIT = 315, - TOK_IMPLIED = 316, - TOK_IMPORTS = 317, - TOK_INCLUDES = 318, - TOK_INSTANCE = 319, - TOK_INSTRUCTIONS = 320, - TOK_INTEGER = 321, - TOK_ISO646String = 322, - TOK_MAX = 323, - TOK_MIN = 324, - TOK_MINUS_INFINITY = 325, - TOK_NULL = 326, - TOK_NumericString = 327, - TOK_OBJECT = 328, - TOK_ObjectDescriptor = 329, - TOK_OCTET = 330, - TOK_OF = 331, - TOK_OPTIONAL = 332, - TOK_PATTERN = 333, - TOK_PDV = 334, - TOK_PLUS_INFINITY = 335, - TOK_PRESENT = 336, - TOK_PrintableString = 337, - TOK_PRIVATE = 338, - TOK_REAL = 339, - TOK_RELATIVE_OID = 340, - TOK_SEQUENCE = 341, - TOK_SET = 342, - TOK_SIZE = 343, - TOK_STRING = 344, - TOK_SYNTAX = 345, - TOK_T61String = 346, - TOK_TAGS = 347, - TOK_TeletexString = 348, - TOK_TRUE = 349, - TOK_TYPE_IDENTIFIER = 350, - TOK_UNIQUE = 351, - TOK_UNIVERSAL = 352, - TOK_UniversalString = 353, - TOK_UTCTime = 354, - TOK_UTF8String = 355, - TOK_VideotexString = 356, - TOK_VisibleString = 357, - TOK_WITH = 358, - UTF8_BOM = 359, - TOK_EXCEPT = 360, - TOK_INTERSECTION = 361, - TOK_UNION = 362, - TOK_TwoDots = 363, - TOK_ThreeDots = 364 - }; -#endif -/* Tokens. */ -#define TOK_PPEQ 258 -#define TOK_VBracketLeft 259 -#define TOK_VBracketRight 260 -#define TOK_whitespace 261 -#define TOK_opaque 262 -#define TOK_bstring 263 -#define TOK_cstring 264 -#define TOK_hstring 265 -#define TOK_identifier 266 -#define TOK_number 267 -#define TOK_number_negative 268 -#define TOK_realnumber 269 -#define TOK_tuple 270 -#define TOK_quadruple 271 -#define TOK_typereference 272 -#define TOK_capitalreference 273 -#define TOK_typefieldreference 274 -#define TOK_valuefieldreference 275 -#define TOK_Literal 276 -#define TOK_ExtValue_BIT_STRING 277 -#define TOK_ABSENT 278 -#define TOK_ABSTRACT_SYNTAX 279 -#define TOK_ALL 280 -#define TOK_ANY 281 -#define TOK_APPLICATION 282 -#define TOK_AUTOMATIC 283 -#define TOK_BEGIN 284 -#define TOK_BIT 285 -#define TOK_BMPString 286 -#define TOK_BOOLEAN 287 -#define TOK_BY 288 -#define TOK_CHARACTER 289 -#define TOK_CHOICE 290 -#define TOK_CLASS 291 -#define TOK_COMPONENT 292 -#define TOK_COMPONENTS 293 -#define TOK_CONSTRAINED 294 -#define TOK_CONTAINING 295 -#define TOK_DEFAULT 296 -#define TOK_DEFINITIONS 297 -#define TOK_DEFINED 298 -#define TOK_EMBEDDED 299 -#define TOK_ENCODED 300 -#define TOK_ENCODING_CONTROL 301 -#define TOK_END 302 -#define TOK_ENUMERATED 303 -#define TOK_EXPLICIT 304 -#define TOK_EXPORTS 305 -#define TOK_EXTENSIBILITY 306 -#define TOK_EXTERNAL 307 -#define TOK_FALSE 308 -#define TOK_FROM 309 -#define TOK_GeneralizedTime 310 -#define TOK_GeneralString 311 -#define TOK_GraphicString 312 -#define TOK_IA5String 313 -#define TOK_IDENTIFIER 314 -#define TOK_IMPLICIT 315 -#define TOK_IMPLIED 316 -#define TOK_IMPORTS 317 -#define TOK_INCLUDES 318 -#define TOK_INSTANCE 319 -#define TOK_INSTRUCTIONS 320 -#define TOK_INTEGER 321 -#define TOK_ISO646String 322 -#define TOK_MAX 323 -#define TOK_MIN 324 -#define TOK_MINUS_INFINITY 325 -#define TOK_NULL 326 -#define TOK_NumericString 327 -#define TOK_OBJECT 328 -#define TOK_ObjectDescriptor 329 -#define TOK_OCTET 330 -#define TOK_OF 331 -#define TOK_OPTIONAL 332 -#define TOK_PATTERN 333 -#define TOK_PDV 334 -#define TOK_PLUS_INFINITY 335 -#define TOK_PRESENT 336 -#define TOK_PrintableString 337 -#define TOK_PRIVATE 338 -#define TOK_REAL 339 -#define TOK_RELATIVE_OID 340 -#define TOK_SEQUENCE 341 -#define TOK_SET 342 -#define TOK_SIZE 343 -#define TOK_STRING 344 -#define TOK_SYNTAX 345 -#define TOK_T61String 346 -#define TOK_TAGS 347 -#define TOK_TeletexString 348 -#define TOK_TRUE 349 -#define TOK_TYPE_IDENTIFIER 350 -#define TOK_UNIQUE 351 -#define TOK_UNIVERSAL 352 -#define TOK_UniversalString 353 -#define TOK_UTCTime 354 -#define TOK_UTF8String 355 -#define TOK_VideotexString 356 -#define TOK_VisibleString 357 -#define TOK_WITH 358 -#define UTF8_BOM 359 -#define TOK_EXCEPT 360 -#define TOK_INTERSECTION 361 -#define TOK_UNION 362 -#define TOK_TwoDots 363 -#define TOK_ThreeDots 364 - - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 115 "asn1p_y.y" -{ - asn1p_t *a_grammar; - asn1p_module_flags_e a_module_flags; - asn1p_module_t *a_module; - asn1p_expr_type_e a_type; /* ASN.1 Type */ - asn1p_expr_t *a_expr; /* Constructed collection */ - asn1p_constraint_t *a_constr; /* Constraint */ - enum asn1p_constraint_type_e a_ctype;/* Constraint type */ - asn1p_xports_t *a_xports; /* IMports/EXports */ - struct AssignedIdentifier a_aid; /* Assigned Identifier */ - asn1p_oid_t *a_oid; /* Object Identifier */ - asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */ - struct asn1p_type_tag_s a_tag; /* A tag */ - asn1p_ref_t *a_ref; /* Reference to custom type */ - asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */ - asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */ - struct asn1p_ref_component_s a_refcomp; /* Component of a reference */ - asn1p_value_t *a_value; /* Number, DefinedValue, etc */ - struct asn1p_param_s a_parg; /* A parameter argument */ - asn1p_paramlist_t *a_plist; /* A pargs list */ - struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */ - enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */ - asn1c_integer_t a_int; - double a_dbl; - char *tv_str; - struct { - char *buf; - int len; - } tv_opaque; - struct { - char *name; - struct asn1p_type_tag_s tag; - } tv_nametag; -} -/* Line 1529 of yacc.c. */ -#line 302 "asn1p_y.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - -extern YYSTYPE asn1p_lval; - diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y deleted file mode 100644 index 16c55de..0000000 --- a/libasn1parser/asn1p_y.y +++ /dev/null @@ -1,2637 +0,0 @@ -%{ - -#include -#include -#include -#include -#include -#include - -#include "asn1parser.h" - -#define YYPARSE_PARAM param -#define YYPARSE_PARAM_TYPE void ** -#define YYERROR_VERBOSE -#define YYDEBUG 1 -#define YYFPRINTF prefixed_fprintf - -/* - * Prefix parser debug with "PARSER: " for easier human eye scanning. - */ -static int -__attribute__((format(printf, 2, 3))) -prefixed_fprintf(FILE *f, const char *fmt, ...) { - static int line_ended = 1; - va_list ap; - va_start(ap, fmt); - if(line_ended) { - fprintf(f, "PARSER: "); - line_ended = 0; - } - size_t len = strlen(fmt); - if(len && fmt[len-1] == '\n') { - line_ended = 1; - } - int ret = vfprintf(f, fmt, ap); - va_end(ap); - return ret; -} - -int yylex(void); -static int yyerror(const char *msg); - -#ifdef YYBYACC -int yyparse(void **param); /* byacc does not produce a prototype */ -#endif -void asn1p_lexer_hack_push_opaque_state(void); -void asn1p_lexer_hack_enable_with_syntax(void); -void asn1p_lexer_hack_push_encoding_control(void); -#define yylineno asn1p_lineno -extern int asn1p_lineno; -const char *asn1p_parse_debug_filename; -#define ASN_FILENAME asn1p_parse_debug_filename - -/* - * Process directives as - */ -extern int asn1p_as_pointer; - -/* - * This temporary variable is used to solve the shortcomings of 1-lookahead - * parser. - */ -static struct AssignedIdentifier *saved_aid; - -static asn1p_value_t *_convert_bitstring2binary(char *str, int base); -static void _fixup_anonymous_identifier(asn1p_expr_t *expr); - -static asn1p_module_t *currentModule; -#define NEW_EXPR() (asn1p_expr_new(yylineno, currentModule)) - -#define checkmem(ptr) do { \ - if(!(ptr)) \ - return yyerror("Memory failure"); \ - } while(0) - -#define CONSTRAINT_INSERT(root, constr_type, arg1, arg2) do { \ - if(arg1->type != constr_type) { \ - int __ret; \ - root = asn1p_constraint_new(yylineno, currentModule); \ - checkmem(root); \ - root->type = constr_type; \ - __ret = asn1p_constraint_insert(root, \ - arg1); \ - checkmem(__ret == 0); \ - } else { \ - root = arg1; \ - } \ - if(arg2) { \ - int __ret \ - = asn1p_constraint_insert(root, arg2); \ - checkmem(__ret == 0); \ - } \ - } while(0) - -#ifdef AL_IMPORT -#error AL_IMPORT DEFINED ELSEWHERE! -#endif -#define AL_IMPORT(to, where, from, field) \ - do { \ - if(!(from)) break; \ - while(TQ_FIRST(&((from)->where))) { \ - TQ_ADD(&((to)->where), TQ_REMOVE(&((from)->where), field), field); \ - } \ - assert(TQ_FIRST(&((from)->where)) == 0); \ - } while(0) - -%} - - -/* - * Token value definition. - * a_*: ASN-specific types. - * tv_*: Locally meaningful types. - */ -%union { - asn1p_t *a_grammar; - asn1p_module_flags_e a_module_flags; - asn1p_module_t *a_module; - asn1p_expr_type_e a_type; /* ASN.1 Type */ - asn1p_expr_t *a_expr; /* Constructed collection */ - asn1p_constraint_t *a_constr; /* Constraint */ - enum asn1p_constraint_type_e a_ctype;/* Constraint type */ - asn1p_xports_t *a_xports; /* IMports/EXports */ - struct AssignedIdentifier a_aid; /* Assigned Identifier */ - asn1p_oid_t *a_oid; /* Object Identifier */ - asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */ - struct asn1p_type_tag_s a_tag; /* A tag */ - asn1p_ref_t *a_ref; /* Reference to custom type */ - asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */ - asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */ - struct asn1p_ref_component_s a_refcomp; /* Component of a reference */ - asn1p_value_t *a_value; /* Number, DefinedValue, etc */ - struct asn1p_param_s a_parg; /* A parameter argument */ - asn1p_paramlist_t *a_plist; /* A pargs list */ - struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */ - enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */ - asn1c_integer_t a_int; - double a_dbl; - char *tv_str; - struct { - char *buf; - int len; - } tv_opaque; - struct { - char *name; - struct asn1p_type_tag_s tag; - } tv_nametag; -}; - -/* - * Token types returned by scanner. - */ -%token TOK_PPEQ /* "::=", Pseudo Pascal EQuality */ -%token TOK_VBracketLeft TOK_VBracketRight /* "[[", "]]" */ -%token TOK_whitespace /* A span of whitespace */ -%token TOK_opaque /* opaque data (driven from .y) */ -%token TOK_bstring -%token TOK_cstring -%token TOK_hstring -%token TOK_identifier "identifier" -%token TOK_number "number" -%token TOK_number_negative "negative number" -%token TOK_realnumber -%token TOK_tuple -%token TOK_quadruple -%token TOK_typereference -%token TOK_capitalreference /* "CLASS1" */ -%token TOK_typefieldreference /* "&Pork" */ -%token TOK_valuefieldreference /* "&id" */ -%token TOK_Literal /* "BY" */ - -/* - * Tokens available with asn1p_lexer_hack_push_extended_values(). - */ -%token TOK_ExtValue_BIT_STRING - -/* - * Token types representing ASN.1 standard keywords. - */ -%token TOK_ABSENT -%token TOK_ABSTRACT_SYNTAX -%token TOK_ALL -%token TOK_ANY -%token TOK_APPLICATION -%token TOK_AUTOMATIC -%token TOK_BEGIN -%token TOK_BIT -%token TOK_BMPString -%token TOK_BOOLEAN -%token TOK_BY -%token TOK_CHARACTER -%token TOK_CHOICE -%token TOK_CLASS -%token TOK_COMPONENT -%token TOK_COMPONENTS -%token TOK_CONSTRAINED -%token TOK_CONTAINING -%token TOK_DEFAULT -%token TOK_DEFINITIONS -%token TOK_DEFINED -%token TOK_EMBEDDED -%token TOK_ENCODED -%token TOK_ENCODING_CONTROL -%token TOK_END -%token TOK_ENUMERATED -%token TOK_EXPLICIT -%token TOK_EXPORTS -%token TOK_EXTENSIBILITY -%token TOK_EXTERNAL -%token TOK_FALSE -%token TOK_FROM -%token TOK_GeneralizedTime -%token TOK_GeneralString -%token TOK_GraphicString -%token TOK_IA5String -%token TOK_IDENTIFIER -%token TOK_IMPLICIT -%token TOK_IMPLIED -%token TOK_IMPORTS -%token TOK_INCLUDES -%token TOK_INSTANCE -%token TOK_INSTRUCTIONS -%token TOK_INTEGER -%token TOK_ISO646String -%token TOK_MAX -%token TOK_MIN -%token TOK_MINUS_INFINITY -%token TOK_NULL -%token TOK_NumericString -%token TOK_OBJECT -%token TOK_ObjectDescriptor -%token TOK_OCTET -%token TOK_OF -%token TOK_OPTIONAL -%token TOK_PATTERN -%token TOK_PDV -%token TOK_PLUS_INFINITY -%token TOK_PRESENT -%token TOK_PrintableString -%token TOK_PRIVATE -%token TOK_REAL -%token TOK_RELATIVE_OID -%token TOK_SEQUENCE -%token TOK_SET -%token TOK_SIZE -%token TOK_STRING -%token TOK_SYNTAX -%token TOK_T61String -%token TOK_TAGS -%token TOK_TeletexString -%token TOK_TRUE -%token TOK_TYPE_IDENTIFIER -%token TOK_UNIQUE -%token TOK_UNIVERSAL -%token TOK_UniversalString -%token TOK_UTCTime -%token TOK_UTF8String -%token TOK_VideotexString -%token TOK_VisibleString -%token TOK_WITH -%token UTF8_BOM "UTF-8 byte order mark" - -%nonassoc TOK_EXCEPT -%left '^' TOK_INTERSECTION -%left '|' TOK_UNION - -/* Misc tags */ -%token TOK_TwoDots ".." -%token TOK_ThreeDots "..." - - -/* - * Types defined herein. - */ -%type ModuleList -%type ModuleDefinition -%type ModuleBody -%type AssignmentList -%type Assignment -%type optModuleBody /* Optional */ -%type optModuleDefinitionFlags -%type ModuleDefinitionFlags /* Set of FL */ -%type ModuleDefinitionFlag /* Single FL */ -%type optImports -%type optExports -%type ImportsDefinition -%type optImportsBundleSet -%type ImportsBundleSet -%type ImportsBundle -%type ImportsList -%type ExportsDefinition -%type ExportsBody -%type ImportsElement -%type ExportsElement -%type ExtensionAndException -%type Type -%type TaggedType -%type MaybeIndirectTaggedType -%type UntaggedType -%type DefinedUntaggedType -%type ConcreteTypeDeclaration "concrete TypeDeclaration" -%type TypeDeclaration -%type MaybeIndirectTypeDeclaration -%type ComplexTypeReference -%type ComplexTypeReferenceAmpList -%type ComplexTypeReferenceElement -%type PrimitiveFieldReference -%type FieldSpec -%type FieldName -%type DefinedObjectClass -%type ClassField -%type ObjectClass -%type DataTypeReference /* Type1 ::= Type2 */ -%type DefinedType -%type ValueSet /* {a|b|c}*/ -%type ValueSetTypeAssignment /* Val INTEGER ::= {1|2} */ -%type ValueAssignment /* val INTEGER ::= 1*/ -%type Value -%type SimpleValue -%type DefinedValue -%type SignedNumber -%type RealValue -%type BitStringValue -%type optComponentTypeLists -%type ComponentTypeLists -%type ComponentType -%type AlternativeTypeLists -%type AlternativeType -%type UniverationList -%type Enumerations -%type NamedBitList -%type NamedBit -%type NamedNumberList -%type NamedNumber -%type IdentifierList -%type IdentifierElement -%type UniverationElement -%type TypeRefName -%type Identifier -%type IdentifierAsReference -%type IdentifierAsValue -%type optIdentifier -%type ParameterArgumentName -%type ParameterArgumentList -%type ActualParameter -%type ActualParameterList -%type AssignedIdentifier /* OID/DefinedValue */ -%type ObjectIdentifier /* OID */ -%type optObjectIdentifier /* Optional OID */ -%type ObjectIdentifierBody -%type ObjectIdentifierElement -%type BuiltinType -%type BasicTypeId -%type BasicTypeId_UniverationCompatible -%type BasicString -%type Opaque -%type OpaqueFirstToken -%type Tag /* [UNIVERSAL 0] IMPLICIT */ -%type TagClass TagTypeValue TagPlicit -%type optTag /* [UNIVERSAL 0] IMPLICIT */ -%type optConstraint -%type optManyConstraints /* Only for Type */ -%type ManyConstraints -%type optSizeOrConstraint -%type Constraint -%type PermittedAlphabet -%type SizeConstraint -%type SingleTypeConstraint -%type MultipleTypeConstraints -%type NamedConstraint -%type FullSpecification -%type PartialSpecification -%type TypeConstraints -%type ConstraintSpec -%type SubtypeConstraint -%type GeneralConstraint -%type ElementSetSpecs /* 1..2,...,3 */ -%type ElementSetSpec /* 1..2 */ -%type Unions -%type Intersections -%type IntersectionElements -%type Elements -%type SubtypeElements /* 1..2 */ -%type SimpleTableConstraint -%type UserDefinedConstraint -%type TableConstraint -%type ContentsConstraint -%type PatternConstraint -%type InnerTypeConstraints -%type ValueRange -%type ComponentRelationConstraint -%type AtNotationList -%type AtNotationElement -%type SingleValue -%type LowerEndValue -%type UpperEndValue -%type ContainedSubtype -%type ConstraintRangeSpec -%type RestrictedCharacterStringValue -%type optWithSyntax -%type WithSyntax -%type WithSyntaxList -%type WithSyntaxToken -%type optMarker Marker -%type optUNIQUE -%type optPresenceConstraint PresenceConstraint -%type ComponentIdList -%type NSTD_IndirectMarker - -%% - - -ParsedGrammar: - UTF8_BOM ModuleList { - *(void **)param = $2; - } - | ModuleList { - *(void **)param = $1; - } - ; - -ModuleList: - ModuleDefinition { - $$ = asn1p_new(); - checkmem($$); - TQ_ADD(&($$->modules), $1, mod_next); - } - | ModuleList ModuleDefinition { - $$ = $1; - TQ_ADD(&($$->modules), $2, mod_next); - } - ; - -/* - * ASN module definition. - * === EXAMPLE === - * MySyntax DEFINITIONS AUTOMATIC TAGS ::= - * BEGIN - * ... - * END - * === EOF === - */ - -ModuleDefinition: - TypeRefName { currentModule = asn1p_module_new(); } - optObjectIdentifier TOK_DEFINITIONS - optModuleDefinitionFlags - TOK_PPEQ TOK_BEGIN - optModuleBody - TOK_END { - - $$ = currentModule; - - if($8) { - asn1p_module_t tmp = *($$); - *($$) = *($8); - *($8) = tmp; - asn1p_module_free($8); - } else { - /* There's a chance that a module is just plain empty */ - } - - $$->ModuleName = $1; - $$->module_oid = $3; - $$->module_flags = $5; - } - ; - -/* - * Object Identifier Definition - * { iso member-body(2) 3 } - */ -optObjectIdentifier: - { $$ = 0; } - | ObjectIdentifier { $$ = $1; } - ; - -ObjectIdentifier: - '{' ObjectIdentifierBody '}' { - $$ = $2; - } - | '{' '}' { - $$ = 0; - } - ; - -ObjectIdentifierBody: - ObjectIdentifierElement { - $$ = asn1p_oid_new(); - asn1p_oid_add_arc($$, &$1); - if($1.name) - free($1.name); - } - | ObjectIdentifierBody ObjectIdentifierElement { - $$ = $1; - asn1p_oid_add_arc($$, &$2); - if($2.name) - free($2.name); - } - ; - -ObjectIdentifierElement: - Identifier { /* iso */ - $$.name = $1; - $$.number = -1; - } - | Identifier '(' TOK_number ')' { /* iso(1) */ - $$.name = $1; - $$.number = $3; - } - | TOK_number { /* 1 */ - $$.name = 0; - $$.number = $1; - } - ; - -/* - * Optional module flags. - */ -optModuleDefinitionFlags: - { $$ = MSF_NOFLAGS; } - | ModuleDefinitionFlags { - $$ = $1; - } - ; - -/* - * Module flags. - */ -ModuleDefinitionFlags: - ModuleDefinitionFlag { - $$ = $1; - } - | ModuleDefinitionFlags ModuleDefinitionFlag { - $$ = $1 | $2; - } - ; - -/* - * Single module flag. - */ -ModuleDefinitionFlag: - TOK_EXPLICIT TOK_TAGS { - $$ = MSF_EXPLICIT_TAGS; - } - | TOK_IMPLICIT TOK_TAGS { - $$ = MSF_IMPLICIT_TAGS; - } - | TOK_AUTOMATIC TOK_TAGS { - $$ = MSF_AUTOMATIC_TAGS; - } - | TOK_EXTENSIBILITY TOK_IMPLIED { - $$ = MSF_EXTENSIBILITY_IMPLIED; - } - /* EncodingReferenceDefault */ - | TOK_capitalreference TOK_INSTRUCTIONS { - /* X.680Amd1 specifies TAG and XER */ - if(strcmp($1, "TAG") == 0) { - $$ = MSF_TAG_INSTRUCTIONS; - } else if(strcmp($1, "XER") == 0) { - $$ = MSF_XER_INSTRUCTIONS; - } else { - fprintf(stderr, - "WARNING: %s INSTRUCTIONS at %s:%d: " - "Unrecognized encoding reference\n", - $1, ASN_FILENAME, yylineno); - $$ = MSF_unk_INSTRUCTIONS; - } - free($1); - } - ; - -/* - * Optional module body. - */ -optModuleBody: - { $$ = 0; } - | ModuleBody { - $$ = $1; - } - ; - -/* - * ASN.1 Module body. - */ -ModuleBody: - optExports optImports AssignmentList { - $$ = asn1p_module_new(); - AL_IMPORT($$, exports, $1, xp_next); - AL_IMPORT($$, imports, $2, xp_next); - asn1p_module_move_members($$, $3); - - asn1p_module_free($1); - asn1p_module_free($2); - asn1p_module_free($3); - } - ; - -AssignmentList: - Assignment { - $$ = $1; - } - | AssignmentList Assignment { - if($1) { - $$ = $1; - } else { - $$ = $2; - break; - } - asn1p_module_move_members($$, $2); - asn1p_module_free($2); - } - ; - - -/* - * One of the elements of ASN.1 module specification. - */ -Assignment: - DataTypeReference { - $$ = asn1p_module_new(); - checkmem($$); - assert($1->expr_type != A1TC_INVALID); - assert($1->meta_type != AMT_INVALID); - asn1p_module_member_add($$, $1); - } - | ValueAssignment { - $$ = asn1p_module_new(); - checkmem($$); - assert($1->expr_type != A1TC_INVALID); - assert($1->meta_type != AMT_INVALID); - asn1p_module_member_add($$, $1); - } - /* - * Value set definition - * === EXAMPLE === - * EvenNumbers INTEGER ::= { 2 | 4 | 6 | 8 } - * === EOF === - * Also ObjectClassSet. - */ - | ValueSetTypeAssignment { - $$ = asn1p_module_new(); - checkmem($$); - assert($1->expr_type != A1TC_INVALID); - assert($1->meta_type != AMT_INVALID); - asn1p_module_member_add($$, $1); - } - | TOK_ENCODING_CONTROL TOK_capitalreference - { asn1p_lexer_hack_push_encoding_control(); } - { - fprintf(stderr, - "WARNING: ENCODING-CONTROL %s " - "specification at %s:%d ignored\n", - $2, ASN_FILENAME, yylineno); - free($2); - $$ = 0; - } - - /* - * Erroneous attemps - */ - | BasicString { - return yyerror( - "Attempt to redefine a standard basic string type, " - "please comment out or remove this type redefinition."); - } - ; - -/* - * === EXAMPLE === - * IMPORTS Type1, value FROM Module { iso standard(0) } ; - * === EOF === - */ -optImports: - { $$ = 0; } - | ImportsDefinition; - -ImportsDefinition: - TOK_IMPORTS optImportsBundleSet ';' { - if(!saved_aid && 0) - return yyerror("Unterminated IMPORTS FROM, " - "expected semicolon ';'"); - saved_aid = 0; - $$ = $2; - } - /* - * Some error cases. - */ - | TOK_IMPORTS TOK_FROM /* ... */ { - return yyerror("Empty IMPORTS list"); - } - ; - -optImportsBundleSet: - { $$ = asn1p_module_new(); } - | ImportsBundleSet; - -ImportsBundleSet: - ImportsBundle { - $$ = asn1p_module_new(); - checkmem($$); - TQ_ADD(&($$->imports), $1, xp_next); - } - | ImportsBundleSet ImportsBundle { - $$ = $1; - TQ_ADD(&($$->imports), $2, xp_next); - } - ; - -AssignedIdentifier: - { memset(&$$, 0, sizeof($$)); } - | ObjectIdentifier { $$.oid = $1; }; - /* | DefinedValue { $$.value = $1; }; // Handled through saved_aid */ - -ImportsBundle: - ImportsList TOK_FROM TypeRefName AssignedIdentifier { - $$ = $1; - $$->fromModuleName = $3; - $$->identifier = $4; - /* This stupid thing is used for look-back hack. */ - saved_aid = $$->identifier.oid ? 0 : &($$->identifier); - checkmem($$); - } - ; - -ImportsList: - ImportsElement { - $$ = asn1p_xports_new(); - checkmem($$); - TQ_ADD(&($$->xp_members), $1, next); - } - | ImportsList ',' ImportsElement { - $$ = $1; - TQ_ADD(&($$->xp_members), $3, next); - } - ; - -ImportsElement: - TypeRefName { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_REFERENCE; - } - | TypeRefName '{' '}' { /* Completely equivalent to above */ - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_REFERENCE; - } - | Identifier { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_REFERENCE; - } - ; - - -optExports: - { $$ = 0; } - | ExportsDefinition { - $$ = asn1p_module_new(); - checkmem($$); - if($1) { - TQ_ADD(&($$->exports), $1, xp_next); - } else { - /* "EXPORTS ALL;" */ - } - } - ; - -ExportsDefinition: - TOK_EXPORTS ExportsBody ';' { - $$ = $2; - } - | TOK_EXPORTS TOK_ALL ';' { - $$ = 0; - } - | TOK_EXPORTS ';' { - /* Empty EXPORTS clause effectively prohibits export. */ - $$ = asn1p_xports_new(); - checkmem($$); - } - ; - -ExportsBody: - ExportsElement { - $$ = asn1p_xports_new(); - assert($$); - TQ_ADD(&($$->xp_members), $1, next); - } - | ExportsBody ',' ExportsElement { - $$ = $1; - TQ_ADD(&($$->xp_members), $3, next); - } - ; - -ExportsElement: - TypeRefName { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_EXPORTVAR; - } - | TypeRefName '{' '}' { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_EXPORTVAR; - } - | Identifier { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->expr_type = A1TC_EXPORTVAR; - } - ; - - -ValueSet: '{' ElementSetSpecs '}' { $$ = $2; }; - -ValueSetTypeAssignment: - TypeRefName Type TOK_PPEQ ValueSet { - $$ = $2; - assert($$->Identifier == 0); - $$->Identifier = $1; - $$->meta_type = AMT_VALUESET; - $$->constraints = $4; - } - ; - -DefinedType: - /* - * A DefinedType reference. - * "CLASS1.&id.&id2" - * or - * "Module.Type" - * or - * "Module.identifier" - * or - * "Type" - */ - ComplexTypeReference { - $$ = NEW_EXPR(); - checkmem($$); - $$->reference = $1; - $$->expr_type = A1TC_REFERENCE; - $$->meta_type = AMT_TYPEREF; - } - /* - * A parameterized assignment. - */ - | ComplexTypeReference '{' ActualParameterList '}' { - $$ = NEW_EXPR(); - checkmem($$); - $$->reference = $1; - $$->rhs_pspecs = $3; - $$->expr_type = A1TC_REFERENCE; - $$->meta_type = AMT_TYPEREF; - } - ; - -/* - * Data Type Reference. - * === EXAMPLE === - * Type3 ::= CHOICE { a Type1, b Type 2 } - * === EOF === - */ -DataTypeReference: - /* - * Optionally tagged type definition. - */ - TypeRefName TOK_PPEQ Type { - $$ = $3; - $$->Identifier = $1; - assert($$->expr_type); - assert($$->meta_type); - } - | TypeRefName TOK_PPEQ ObjectClass { - $$ = $3; - $$->Identifier = $1; - assert($$->expr_type == A1TC_CLASSDEF); - assert($$->meta_type == AMT_OBJECTCLASS); - } - /* - * Parameterized declaration: - * === EXAMPLE === - * SIGNED { ToBeSigned } ::= SEQUENCE { - * toBeSigned ToBeSigned, - * algorithm AlgorithmIdentifier, - * signature BIT STRING - * } - * === EOF === - */ - | TypeRefName '{' ParameterArgumentList '}' TOK_PPEQ Type { - $$ = $6; - $$->Identifier = $1; - $$->lhs_params = $3; - } - /* Parameterized CLASS declaration */ - | TypeRefName '{' ParameterArgumentList '}' TOK_PPEQ ObjectClass { - $$ = $6; - $$->Identifier = $1; - $$->lhs_params = $3; - } - ; - -ParameterArgumentList: - ParameterArgumentName { - int ret; - $$ = asn1p_paramlist_new(yylineno); - checkmem($$); - ret = asn1p_paramlist_add_param($$, $1.governor, $1.argument); - checkmem(ret == 0); - asn1p_ref_free($1.governor); - free($1.argument); - } - | ParameterArgumentList ',' ParameterArgumentName { - int ret; - $$ = $1; - ret = asn1p_paramlist_add_param($$, $3.governor, $3.argument); - checkmem(ret == 0); - asn1p_ref_free($3.governor); - free($3.argument); - } - ; - -ParameterArgumentName: - TypeRefName { - $$.governor = NULL; - $$.argument = $1; - } - | TypeRefName ':' Identifier { - int ret; - $$.governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$.governor, $1, 0); - checkmem(ret == 0); - $$.argument = $3; - free($1); - } - | TypeRefName ':' TypeRefName { - int ret; - $$.governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$.governor, $1, 0); - checkmem(ret == 0); - $$.argument = $3; - free($1); - } - | BasicTypeId ':' Identifier { - int ret; - $$.governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$.governor, - ASN_EXPR_TYPE2STR($1), 1); - checkmem(ret == 0); - $$.argument = $3; - } - | BasicTypeId ':' TypeRefName { - int ret; - $$.governor = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$.governor, - ASN_EXPR_TYPE2STR($1), 1); - checkmem(ret == 0); - $$.argument = $3; - } - ; - -ActualParameterList: - ActualParameter { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | ActualParameterList ',' ActualParameter { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - -ActualParameter: - UntaggedType /* act. Type */ - | SimpleValue { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("?"); - $$->expr_type = A1TC_REFERENCE; - $$->meta_type = AMT_VALUE; - $$->value = $1; - } - | DefinedValue { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("?"); - $$->expr_type = A1TC_REFERENCE; - $$->meta_type = AMT_VALUE; - $$->value = $1; - } - | ValueSet { - $$ = NEW_EXPR(); - $$->expr_type = A1TC_VALUESET; - $$->meta_type = AMT_VALUESET; - $$->constraints = $1; - } - ; - -/* - | '{' ActualParameter '}' { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $2); - $$->expr_type = A1TC_PARAMETRIZED; - $$->meta_type = AMT_TYPE; - } - ; -*/ - -/* - * A collection of constructed data type members. - */ -optComponentTypeLists: - { $$ = NEW_EXPR(); } - | ComponentTypeLists { $$ = $1; }; - -ComponentTypeLists: - ComponentType { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | ComponentTypeLists ',' ComponentType { - $$ = $1; - asn1p_expr_add($$, $3); - } - | ComponentTypeLists ',' TOK_VBracketLeft ComponentTypeLists TOK_VBracketRight { - $$ = $1; - $4->meta_type = AMT_TYPE; - $4->expr_type = ASN_CONSTR_SEQUENCE; - $4->marker.flags |= EM_OPTIONAL; - asn1p_expr_add($$, $4); - } - ; - -ComponentType: - Identifier MaybeIndirectTaggedType optMarker { - $$ = $2; - assert($$->Identifier == 0); - $$->Identifier = $1; - $3.flags |= $$->marker.flags; - $$->marker = $3; - } - | MaybeIndirectTaggedType optMarker { - $$ = $1; - $2.flags |= $$->marker.flags; - $$->marker = $2; - _fixup_anonymous_identifier($$); - } - | TOK_COMPONENTS TOK_OF MaybeIndirectTaggedType { - $$ = NEW_EXPR(); - checkmem($$); - $$->meta_type = $3->meta_type; - $$->expr_type = A1TC_COMPONENTS_OF; - asn1p_expr_add($$, $3); - } - | ExtensionAndException { - $$ = $1; - } - ; - -AlternativeTypeLists: - AlternativeType { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | AlternativeTypeLists ',' AlternativeType { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - -AlternativeType: - Identifier MaybeIndirectTaggedType { - $$ = $2; - assert($$->Identifier == 0); - $$->Identifier = $1; - } - | ExtensionAndException { - $$ = $1; - } - | MaybeIndirectTaggedType { - $$ = $1; - _fixup_anonymous_identifier($$); - } - ; - -ObjectClass: - TOK_CLASS '{' FieldSpec '}' optWithSyntax { - $$ = $3; - checkmem($$); - $$->with_syntax = $5; - assert($$->expr_type == A1TC_CLASSDEF); - assert($$->meta_type == AMT_OBJECTCLASS); - } - ; - -optUNIQUE: - { $$ = 0; } - | TOK_UNIQUE { $$ = 1; } - ; - -FieldSpec: - ClassField { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_CLASSDEF; - $$->meta_type = AMT_OBJECTCLASS; - asn1p_expr_add($$, $1); - } - | FieldSpec ',' ClassField { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - - /* X.681 */ -ClassField: - - /* TypeFieldSpec ::= typefieldreference TypeOptionalitySpec? */ - TOK_typefieldreference optMarker { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_TFS; /* TypeFieldSpec */ - $$->marker = $2; - } - - /* FixedTypeValueFieldSpec ::= valuefieldreference Type UNIQUE ? ValueOptionalitySpec ? */ - | TOK_valuefieldreference Type optUNIQUE optMarker { - $$ = NEW_EXPR(); - $$->Identifier = $1; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_FTVFS; /* FixedTypeValueFieldSpec */ - $$->unique = $3; - $$->marker = $4; - asn1p_expr_add($$, $2); - } - - /* VariableTypeValueFieldSpec ::= valuefieldreference FieldName ValueOptionalitySpec ? */ - | TOK_valuefieldreference FieldName optMarker { - $$ = NEW_EXPR(); - $$->Identifier = $1; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_VTVFS; - $$->reference = $2; - $$->marker = $3; - } - - /* ObjectFieldSpec ::= objectfieldreference DefinedObjectClass ObjectOptionalitySpec ? */ - | TOK_valuefieldreference DefinedObjectClass optMarker { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->reference = $2; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_OFS; - $$->marker = $3; - } - - /* VariableTypeValueSetFieldSpec ::= valuesetfieldreference FieldName ValueOptionalitySpec ? */ - | TOK_typefieldreference FieldName optMarker { - $$ = NEW_EXPR(); - $$->Identifier = $1; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_VTVSFS; - $$->reference = $2; - $$->marker = $3; - } - - /* FixedTypeValueSetFieldSpec ::= valuesetfieldreference Type ValueSetOptionalitySpec ? */ - | TOK_typefieldreference Type optMarker { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_FTVSFS; - asn1p_expr_add($$, $2); - $$->marker = $3; - } - - /* ObjectSetFieldSpec ::= objectsetfieldreference DefinedObjectClass ObjectOptionalitySpec ? */ - | TOK_typefieldreference DefinedObjectClass optMarker { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = $1; - $$->reference = $2; - $$->meta_type = AMT_OBJECTFIELD; - $$->expr_type = A1TC_CLASSFIELD_OSFS; - $$->marker = $3; - } - ; - -optWithSyntax: - { $$ = 0; } - | WithSyntax { - $$ = $1; - } - ; - -WithSyntax: - TOK_WITH TOK_SYNTAX '{' - { asn1p_lexer_hack_enable_with_syntax(); } - WithSyntaxList - '}' { - $$ = $5; - } - ; - -WithSyntaxList: - WithSyntaxToken { - $$ = asn1p_wsyntx_new(); - TQ_ADD(&($$->chunks), $1, next); - } - | WithSyntaxList WithSyntaxToken { - $$ = $1; - TQ_ADD(&($$->chunks), $2, next); - } - ; - -WithSyntaxToken: - TOK_whitespace { - $$ = asn1p_wsyntx_chunk_fromstring($1.buf, 0); - $$->type = WC_WHITESPACE; - } - | TOK_Literal { - $$ = asn1p_wsyntx_chunk_fromstring($1, 0); - } - | PrimitiveFieldReference { - $$ = asn1p_wsyntx_chunk_fromstring($1.name, 0); - $$->type = WC_FIELD; - } - | '[' WithSyntaxList ']' { - $$ = asn1p_wsyntx_chunk_fromsyntax($2); - } - ; - -ExtensionAndException: - TOK_ThreeDots { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("..."); - checkmem($$->Identifier); - $$->expr_type = A1TC_EXTENSIBLE; - $$->meta_type = AMT_TYPE; - } - | TOK_ThreeDots '!' DefinedValue { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("..."); - checkmem($$->Identifier); - $$->value = $3; - $$->expr_type = A1TC_EXTENSIBLE; - $$->meta_type = AMT_TYPE; - } - | TOK_ThreeDots '!' SignedNumber { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("..."); - $$->value = $3; - checkmem($$->Identifier); - $$->expr_type = A1TC_EXTENSIBLE; - $$->meta_type = AMT_TYPE; - } - ; - -Type: TaggedType; - -TaggedType: - optTag UntaggedType { - $$ = $2; - $$->tag = $1; - } - ; - -DefinedUntaggedType: - DefinedType optManyConstraints { - $$ = $1; - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if($$->expr_type == ASN_CONSTR_SEQUENCE_OF - || $$->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&($$->members))->constraints); - TQ_FIRST(&($$->members))->constraints = $2; - } else { - if($$->constraints) { - assert(!$2); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free($2); - } else { - $$->constraints = $2; - } - } - } - ; - -UntaggedType: - TypeDeclaration optManyConstraints { - $$ = $1; - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if($$->expr_type == ASN_CONSTR_SEQUENCE_OF - || $$->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&($$->members))->constraints); - TQ_FIRST(&($$->members))->constraints = $2; - } else { - if($$->constraints) { - assert(!$2); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free($2); - } else { - $$->constraints = $2; - } - } - } - ; - -MaybeIndirectTaggedType: - optTag MaybeIndirectTypeDeclaration optManyConstraints { - $$ = $2; - $$->tag = $1; - /* - * Outer constraint for SEQUENCE OF and SET OF applies - * to the inner type. - */ - if($$->expr_type == ASN_CONSTR_SEQUENCE_OF - || $$->expr_type == ASN_CONSTR_SET_OF) { - assert(!TQ_FIRST(&($$->members))->constraints); - TQ_FIRST(&($$->members))->constraints = $3; - } else { - if($$->constraints) { - assert(!$2); - /* Check this : optManyConstraints is not used ?! */ - asn1p_constraint_free($3); - } else { - $$->constraints = $3; - } - } - } - ; - -NSTD_IndirectMarker: - { - $$ = asn1p_as_pointer ? EM_INDIRECT : 0; - asn1p_as_pointer = 0; - } - ; - -MaybeIndirectTypeDeclaration: - NSTD_IndirectMarker TypeDeclaration { - $$ = $2; - $$->marker.flags |= $1; - - if(($$->marker.flags & EM_INDIRECT) - && ($$->marker.flags & EM_OPTIONAL) != EM_OPTIONAL) { - fprintf(stderr, - "INFO: Directive " - "applied to %s at %s:%d\n", - ASN_EXPR_TYPE2STR($$->expr_type) - ? ASN_EXPR_TYPE2STR($$->expr_type) - : "member", - ASN_FILENAME, $$->_lineno - ); - } - } - ; - -TypeDeclaration: - ConcreteTypeDeclaration - | DefinedType; - -ConcreteTypeDeclaration: - BuiltinType - | TOK_CHOICE '{' AlternativeTypeLists '}' { - $$ = $3; - assert($$->expr_type == A1TC_INVALID); - $$->expr_type = ASN_CONSTR_CHOICE; - $$->meta_type = AMT_TYPE; - } - | TOK_SEQUENCE '{' optComponentTypeLists '}' { - $$ = $3; - assert($$->expr_type == A1TC_INVALID); - $$->expr_type = ASN_CONSTR_SEQUENCE; - $$->meta_type = AMT_TYPE; - } - | TOK_SET '{' optComponentTypeLists '}' { - $$ = $3; - assert($$->expr_type == A1TC_INVALID); - $$->expr_type = ASN_CONSTR_SET; - $$->meta_type = AMT_TYPE; - } - | TOK_SEQUENCE optSizeOrConstraint TOK_OF optIdentifier optTag MaybeIndirectTypeDeclaration { - $$ = NEW_EXPR(); - checkmem($$); - $$->constraints = $2; - $$->expr_type = ASN_CONSTR_SEQUENCE_OF; - $$->meta_type = AMT_TYPE; - $6->Identifier = $4; - $6->tag = $5; - asn1p_expr_add($$, $6); - } - | TOK_SET optSizeOrConstraint TOK_OF optIdentifier optTag MaybeIndirectTypeDeclaration { - $$ = NEW_EXPR(); - checkmem($$); - $$->constraints = $2; - $$->expr_type = ASN_CONSTR_SET_OF; - $$->meta_type = AMT_TYPE; - $6->Identifier = $4; - $6->tag = $5; - asn1p_expr_add($$, $6); - } - | TOK_ANY { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = ASN_TYPE_ANY; - $$->meta_type = AMT_TYPE; - } - | TOK_ANY TOK_DEFINED TOK_BY Identifier { - int ret; - $$ = NEW_EXPR(); - checkmem($$); - $$->reference = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$->reference, - $4, RLT_lowercase); - checkmem(ret == 0); - $$->expr_type = ASN_TYPE_ANY; - $$->meta_type = AMT_TYPE; - free($4); - } - | TOK_INSTANCE TOK_OF ComplexTypeReference { - $$ = NEW_EXPR(); - checkmem($$); - $$->reference = $3; - $$->expr_type = A1TC_INSTANCE; - $$->meta_type = AMT_TYPE; - } - ; - -/* - * A type name consisting of several components. - * === EXAMPLE === - * === EOF === - */ -ComplexTypeReference: - TOK_typereference { - int ret; - $$ = asn1p_ref_new(yylineno, currentModule); - checkmem($$); - ret = asn1p_ref_add_component($$, $1, RLT_UNKNOWN); - checkmem(ret == 0); - free($1); - } - | TOK_capitalreference { - int ret; - $$ = asn1p_ref_new(yylineno, currentModule); - checkmem($$); - ret = asn1p_ref_add_component($$, $1, RLT_CAPITALS); - free($1); - checkmem(ret == 0); - } - | TOK_typereference '.' TypeRefName { - int ret; - $$ = asn1p_ref_new(yylineno, currentModule); - checkmem($$); - ret = asn1p_ref_add_component($$, $1, RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component($$, $3, RLT_UNKNOWN); - checkmem(ret == 0); - free($1); - free($3); - } - | TOK_capitalreference '.' TypeRefName { - int ret; - $$ = asn1p_ref_new(yylineno, currentModule); - checkmem($$); - ret = asn1p_ref_add_component($$, $1, RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component($$, $3, RLT_UNKNOWN); - checkmem(ret == 0); - free($1); - free($3); - } - | TOK_capitalreference '.' ComplexTypeReferenceAmpList { - int ret; - $$ = $3; - ret = asn1p_ref_add_component($$, $1, RLT_CAPITALS); - free($1); - checkmem(ret == 0); - /* - * Move the last element infront. - */ - { - struct asn1p_ref_component_s tmp_comp; - tmp_comp = $$->components[$$->comp_count-1]; - memmove(&$$->components[1], - &$$->components[0], - sizeof($$->components[0]) - * ($$->comp_count - 1)); - $$->components[0] = tmp_comp; - } - } - ; - -ComplexTypeReferenceAmpList: - ComplexTypeReferenceElement { - int ret; - $$ = asn1p_ref_new(yylineno, currentModule); - checkmem($$); - ret = asn1p_ref_add_component($$, $1.name, $1.lex_type); - free($1.name); - checkmem(ret == 0); - } - | ComplexTypeReferenceAmpList '.' ComplexTypeReferenceElement { - int ret; - $$ = $1; - ret = asn1p_ref_add_component($$, $3.name, $3.lex_type); - free($3.name); - checkmem(ret == 0); - } - ; - -ComplexTypeReferenceElement: PrimitiveFieldReference; - -PrimitiveFieldReference: - /* "&Type1" */ - TOK_typefieldreference { - $$.lex_type = RLT_AmpUppercase; - $$.name = $1; - } - /* "&id" */ - | TOK_valuefieldreference { - $$.lex_type = RLT_Amplowercase; - $$.name = $1; - } - ; - - -FieldName: - /* "&Type1" */ - TOK_typefieldreference { - $$ = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component($$, $1, RLT_AmpUppercase); - free($1); - } - | FieldName '.' TOK_typefieldreference { - $$ = $$; - asn1p_ref_add_component($$, $3, RLT_AmpUppercase); - free($3); - } - | FieldName '.' TOK_valuefieldreference { - $$ = $$; - asn1p_ref_add_component($$, $3, RLT_Amplowercase); - free($3); - } - ; - -DefinedObjectClass: - TOK_capitalreference { - $$ = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component($$, $1, RLT_CAPITALS); - free($1); - } -/* - | TypeRefName '.' TOK_capitalreference { - $$ = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component($$, $1, RLT_AmpUppercase); - asn1p_ref_add_component($$, $3, RLT_CAPITALS); - free($1); - free($3); - } -*/ - ; - - -/* - * === EXAMPLE === - * value INTEGER ::= 1 - * === EOF === - */ -ValueAssignment: - Identifier Type TOK_PPEQ Value { - $$ = $2; - assert($$->Identifier == NULL); - $$->Identifier = $1; - $$->meta_type = AMT_VALUE; - $$->value = $4; - } - ; - -Value: - SimpleValue - | DefinedValue - | '{' { asn1p_lexer_hack_push_opaque_state(); } Opaque { - $$ = asn1p_value_frombuf($3.buf, $3.len, 0); - checkmem($$); - $$->type = ATV_UNPARSED; - } - ; - -SimpleValue: - TOK_NULL { - $$ = asn1p_value_fromint(0); - checkmem($$); - $$->type = ATV_NULL; - } - | TOK_FALSE { - $$ = asn1p_value_fromint(0); - checkmem($$); - $$->type = ATV_FALSE; - } - | TOK_TRUE { - $$ = asn1p_value_fromint(1); - checkmem($$); - $$->type = ATV_TRUE; - } - | SignedNumber - | RealValue - | RestrictedCharacterStringValue - | BitStringValue - ; - -DefinedValue: - IdentifierAsValue - | TypeRefName '.' Identifier { - asn1p_ref_t *ref; - int ret; - ref = asn1p_ref_new(yylineno, currentModule); - checkmem(ref); - ret = asn1p_ref_add_component(ref, $1, RLT_UNKNOWN); - checkmem(ret == 0); - ret = asn1p_ref_add_component(ref, $3, RLT_lowercase); - checkmem(ret == 0); - $$ = asn1p_value_fromref(ref, 0); - checkmem($$); - free($1); - free($3); - } - ; - - -RestrictedCharacterStringValue: - TOK_cstring { - $$ = asn1p_value_frombuf($1.buf, $1.len, 0); - checkmem($$); - } - | TOK_tuple { - $$ = asn1p_value_fromint($1); - checkmem($$); - $$->type = ATV_TUPLE; - } - | TOK_quadruple { - $$ = asn1p_value_fromint($1); - checkmem($$); - $$->type = ATV_QUADRUPLE; - } - ; - -Opaque: - OpaqueFirstToken { - $$.len = $1.len + 1; - $$.buf = malloc(1 + $$.len + 1); - checkmem($$.buf); - $$.buf[0] = '{'; - memcpy($$.buf + 1, $1.buf, $1.len); - $$.buf[$$.len] = '\0'; - free($1.buf); - } - | Opaque TOK_opaque { - int newsize = $1.len + $2.len; - char *p = malloc(newsize + 1); - checkmem(p); - memcpy(p , $1.buf, $1.len); - memcpy(p + $1.len, $2.buf, $2.len); - p[newsize] = '\0'; - free($1.buf); - free($2.buf); - $$.buf = p; - $$.len = newsize; - } - ; - -OpaqueFirstToken: - TOK_opaque - | Identifier { - $$.len = strlen($1); - $$.buf = $1; - }; - -BasicTypeId: - TOK_BOOLEAN { $$ = ASN_BASIC_BOOLEAN; } - | TOK_NULL { $$ = ASN_BASIC_NULL; } - | TOK_REAL { $$ = ASN_BASIC_REAL; } - | TOK_OCTET TOK_STRING { $$ = ASN_BASIC_OCTET_STRING; } - | TOK_OBJECT TOK_IDENTIFIER { $$ = ASN_BASIC_OBJECT_IDENTIFIER; } - | TOK_RELATIVE_OID { $$ = ASN_BASIC_RELATIVE_OID; } - | TOK_EXTERNAL { $$ = ASN_BASIC_EXTERNAL; } - | TOK_EMBEDDED TOK_PDV { $$ = ASN_BASIC_EMBEDDED_PDV; } - | TOK_CHARACTER TOK_STRING { $$ = ASN_BASIC_CHARACTER_STRING; } - | TOK_UTCTime { $$ = ASN_BASIC_UTCTime; } - | TOK_GeneralizedTime { $$ = ASN_BASIC_GeneralizedTime; } - | BasicString - | BasicTypeId_UniverationCompatible - ; - -/* - * A type identifier which may be used with "{ a(1), b(2) }" clause. - */ -BasicTypeId_UniverationCompatible: - TOK_INTEGER { $$ = ASN_BASIC_INTEGER; } - | TOK_ENUMERATED { $$ = ASN_BASIC_ENUMERATED; } - | TOK_BIT TOK_STRING { $$ = ASN_BASIC_BIT_STRING; } - ; - -BuiltinType: - BasicTypeId { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = $1; - $$->meta_type = AMT_TYPE; - } - | TOK_INTEGER '{' NamedNumberList '}' { - $$ = $3; - $$->expr_type = ASN_BASIC_INTEGER; - $$->meta_type = AMT_TYPE; - } - | TOK_ENUMERATED '{' Enumerations '}' { - $$ = $3; - $$->expr_type = ASN_BASIC_ENUMERATED; - $$->meta_type = AMT_TYPE; - } - | TOK_BIT TOK_STRING '{' NamedBitList '}' { - $$ = $4; - $$->expr_type = ASN_BASIC_BIT_STRING; - $$->meta_type = AMT_TYPE; - } - | TOK_ExtValue_BIT_STRING '{' IdentifierList '}' { - $$ = $3; - $$->expr_type = ASN_BASIC_BIT_STRING; - $$->meta_type = AMT_TYPE; - } - | TOK_ExtValue_BIT_STRING '{' '}' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = ASN_BASIC_BIT_STRING; - $$->meta_type = AMT_TYPE; - } - ; - -BasicString: - TOK_BMPString { $$ = ASN_STRING_BMPString; } - | TOK_GeneralString { - $$ = ASN_STRING_GeneralString; - fprintf(stderr, "WARNING: GeneralString is not fully supported\n"); - } - | TOK_GraphicString { - $$ = ASN_STRING_GraphicString; - fprintf(stderr, "WARNING: GraphicString is not fully supported\n"); - } - | TOK_IA5String { $$ = ASN_STRING_IA5String; } - | TOK_ISO646String { $$ = ASN_STRING_ISO646String; } - | TOK_NumericString { $$ = ASN_STRING_NumericString; } - | TOK_PrintableString { $$ = ASN_STRING_PrintableString; } - | TOK_T61String { - $$ = ASN_STRING_T61String; - fprintf(stderr, "WARNING: T61String is not fully supported\n"); - } - | TOK_TeletexString { $$ = ASN_STRING_TeletexString; } - | TOK_UniversalString { $$ = ASN_STRING_UniversalString; } - | TOK_UTF8String { $$ = ASN_STRING_UTF8String; } - | TOK_VideotexString { - $$ = ASN_STRING_VideotexString; - fprintf(stderr, "WARNING: VideotexString is not fully supported\n"); - } - | TOK_VisibleString { $$ = ASN_STRING_VisibleString; } - | TOK_ObjectDescriptor { $$ = ASN_STRING_ObjectDescriptor; } - ; - - -/* - * Data type constraints. - */ -UnionMark: '|' | TOK_UNION; -IntersectionMark: '^' | TOK_INTERSECTION; - -/* empty | Constraint */ -optConstraint: - { $$ = 0; } - | Constraint; - -/* empty | Constraint... */ -optManyConstraints: - { $$ = 0; } - | ManyConstraints; - -/* empty | Constraint | SIZE(...) */ -optSizeOrConstraint: - { $$ = 0; } - | Constraint - | SizeConstraint - ; - -Constraint: - '(' ConstraintSpec ')' { - CONSTRAINT_INSERT($$, ACT_CA_SET, $2, 0); - } - ; - -ManyConstraints: - Constraint - | ManyConstraints Constraint { - if($2->type == ACT_CA_SET && $2->el_count == 1) { - CONSTRAINT_INSERT($$, ACT_CA_SET, $1, $2->elements[0]); - } else { - CONSTRAINT_INSERT($$, ACT_CA_SET, $1, $2); - } - } - ; - -ConstraintSpec: SubtypeConstraint | GeneralConstraint; - -SubtypeConstraint: ElementSetSpecs; - -ElementSetSpecs: - TOK_ThreeDots { - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_EL_EXT; - } - | ElementSetSpec - | ElementSetSpec ',' TOK_ThreeDots { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - ct->type = ACT_EL_EXT; - CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct); - } - | ElementSetSpec ',' TOK_ThreeDots ',' ElementSetSpec { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - ct->type = ACT_EL_EXT; - CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct); - ct = $$; - CONSTRAINT_INSERT($$, ACT_CA_CSV, ct, $5); - } -; - -ElementSetSpec: - Unions - | TOK_ALL TOK_EXCEPT Elements { - CONSTRAINT_INSERT($$, ACT_CA_AEX, $3, 0); - } - ; - -Unions: - Intersections - | Unions UnionMark Intersections { - CONSTRAINT_INSERT($$, ACT_CA_UNI, $1, $3); - } - ; - -Intersections: - IntersectionElements - | Intersections IntersectionMark IntersectionElements { - CONSTRAINT_INSERT($$, ACT_CA_INT, $1, $3); - } - ; - - -IntersectionElements: - Elements - | Elements TOK_EXCEPT Elements { - CONSTRAINT_INSERT($$, ACT_CA_EXC, $1, $3); - } - ; - -Elements: - SubtypeElements - | '(' ElementSetSpec ')' { - int ret; - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_CA_SET; - ret = asn1p_constraint_insert($$, $2); - checkmem(ret == 0); - } - ; - -SubtypeElements: - SingleValue { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_EL_VALUE; - $$->value = $1; - } - | ContainedSubtype { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_EL_TYPE; - $$->containedSubtype = $1; - } - | PermittedAlphabet /* FROM ... */ - | SizeConstraint /* SIZE ... */ - /* | TypeConstraint is via ContainedSubtype */ - | InnerTypeConstraints /* WITH COMPONENT[S] ... */ - | PatternConstraint /* PATTERN ... */ - | ValueRange - ; - - -PermittedAlphabet: - TOK_FROM Constraint { - CONSTRAINT_INSERT($$, ACT_CT_FROM, $2, 0); - }; - -SizeConstraint: - TOK_SIZE Constraint { - CONSTRAINT_INSERT($$, ACT_CT_SIZE, $2, 0); - }; - -PatternConstraint: - TOK_PATTERN TOK_cstring { - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_CT_PATTERN; - $$->value = asn1p_value_frombuf($2.buf, $2.len, 0); - } - | TOK_PATTERN Identifier { - asn1p_ref_t *ref; - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_CT_PATTERN; - ref = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component(ref, $2, RLT_lowercase); - $$->value = asn1p_value_fromref(ref, 0); - free($2); - } - ; - -ValueRange: - LowerEndValue ConstraintRangeSpec UpperEndValue { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = $2; - $$->range_start = $1; - $$->range_stop = $3; - }; - -LowerEndValue: - SingleValue - | TOK_MIN { - $$ = asn1p_value_fromint(-123); - $$->type = ATV_MIN; - }; - -UpperEndValue: - SingleValue - | TOK_MAX { - $$ = asn1p_value_fromint(321); - $$->type = ATV_MAX; - }; - -SingleValue: Value; - -BitStringValue: - TOK_bstring { - $$ = _convert_bitstring2binary($1, 'B'); - checkmem($$); - free($1); - } - | TOK_hstring { - $$ = _convert_bitstring2binary($1, 'H'); - checkmem($$); - free($1); - } - ; - -ContainedSubtype: - TOK_INCLUDES Type { - $$ = asn1p_value_fromtype($2); - checkmem($$); - asn1p_expr_free($2); - } - /* Can't put Type here because of conflicts. Simplified subset */ - | DefinedUntaggedType { - $$ = asn1p_value_fromtype($1); - checkmem($$); - asn1p_expr_free($1); - } - ; - -/* - * X.680 08/2015 - * #51.8.5 - */ -InnerTypeConstraints: - TOK_WITH TOK_COMPONENT SingleTypeConstraint { - CONSTRAINT_INSERT($$, ACT_CT_WCOMP, $3, 0); - } - | TOK_WITH TOK_COMPONENTS MultipleTypeConstraints { - assert($3->type == ACT_CA_CSV); - $3->type = ACT_CT_WCOMPS; - $$ = $3; - } - ; -SingleTypeConstraint: Constraint; -MultipleTypeConstraints: FullSpecification | PartialSpecification; -FullSpecification: '{' TypeConstraints '}' { $$ = $2; }; -PartialSpecification: - '{' TOK_ThreeDots ',' TypeConstraints '}' { - assert($4->type == ACT_CA_CSV); - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_CA_CSV; - asn1p_constraint_t *ct = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - ct->type = ACT_EL_EXT; - asn1p_constraint_insert($$, ct); - for(unsigned i = 0; i < $4->el_count; i++) { - asn1p_constraint_insert($$, $4->elements[i]); - } - }; -TypeConstraints: - NamedConstraint { - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_CA_CSV; - asn1p_constraint_insert($$, $1); - } - | TypeConstraints ',' NamedConstraint { - $$ = $1; - asn1p_constraint_insert($$, $3); - } - ; -NamedConstraint: - IdentifierAsValue optConstraint optPresenceConstraint { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_EL_VALUE; - $$->value = $1; - if($2) asn1p_constraint_insert($$, $2); - $$->presence = $3; - } - ; - -/* - * presence constraint for NamedConstraint - */ -optPresenceConstraint: - { $$ = ACPRES_DEFAULT; } - | PresenceConstraint { $$ = $1; } - ; - -PresenceConstraint: - TOK_PRESENT { - $$ = ACPRES_PRESENT; - } - | TOK_ABSENT { - $$ = ACPRES_ABSENT; - } - | TOK_OPTIONAL { - $$ = ACPRES_OPTIONAL; - } - ; - - -/* X.682 */ -GeneralConstraint: - UserDefinedConstraint - | TableConstraint - | ContentsConstraint - ; - -UserDefinedConstraint: - TOK_CONSTRAINED TOK_BY '{' - { asn1p_lexer_hack_push_opaque_state(); } Opaque /* '}' */ { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_CT_CTDBY; - $$->value = asn1p_value_frombuf($5.buf, $5.len, 0); - checkmem($$->value); - $$->value->type = ATV_UNPARSED; - } - ; - -ContentsConstraint: - TOK_CONTAINING Type { - $$ = asn1p_constraint_new(yylineno, currentModule); - $$->type = ACT_CT_CTNG; - $$->value = asn1p_value_fromtype($2); - asn1p_expr_free($2); - } - ; - -ConstraintRangeSpec: - TOK_TwoDots { $$ = ACT_EL_RANGE; } - | TOK_TwoDots '<' { $$ = ACT_EL_RLRANGE; } - | '<' TOK_TwoDots { $$ = ACT_EL_LLRANGE; } - | '<' TOK_TwoDots '<' { $$ = ACT_EL_ULRANGE; } - ; -TableConstraint: - SimpleTableConstraint { - $$ = $1; - } - | ComponentRelationConstraint { - $$ = $1; - } - ; - -/* - * "{ExtensionSet}" - */ -SimpleTableConstraint: - '{' TypeRefName '}' { - asn1p_ref_t *ref = asn1p_ref_new(yylineno, currentModule); - asn1p_constraint_t *ct; - int ret; - ret = asn1p_ref_add_component(ref, $2, 0); - checkmem(ret == 0); - ct = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - ct->type = ACT_EL_VALUE; - ct->value = asn1p_value_fromref(ref, 0); - CONSTRAINT_INSERT($$, ACT_CA_CRC, ct, 0); - free($2); - } - ; - -ComponentRelationConstraint: - SimpleTableConstraint '{' AtNotationList '}' { - CONSTRAINT_INSERT($$, ACT_CA_CRC, $1, $3); - } - ; - -AtNotationList: - AtNotationElement { - $$ = asn1p_constraint_new(yylineno, currentModule); - checkmem($$); - $$->type = ACT_EL_VALUE; - $$->value = asn1p_value_fromref($1, 0); - } - | AtNotationList ',' AtNotationElement { - asn1p_constraint_t *ct; - ct = asn1p_constraint_new(yylineno, currentModule); - checkmem(ct); - ct->type = ACT_EL_VALUE; - ct->value = asn1p_value_fromref($3, 0); - CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct); - } - ; - -/* - * @blah - */ -AtNotationElement: - '@' ComponentIdList { - char *p = malloc(strlen($2) + 2); - int ret; - *p = '@'; - strcpy(p + 1, $2); - $$ = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$, p, 0); - checkmem(ret == 0); - free(p); - free($2); - } - | '@' '.' ComponentIdList { - char *p = malloc(strlen($3) + 3); - int ret; - p[0] = '@'; - p[1] = '.'; - strcpy(p + 2, $3); - $$ = asn1p_ref_new(yylineno, currentModule); - ret = asn1p_ref_add_component($$, p, 0); - checkmem(ret == 0); - free(p); - free($3); - } - ; - -/* identifier "." ... */ -ComponentIdList: - Identifier { - $$ = $1; - } - | ComponentIdList '.' Identifier { - int l1 = strlen($1); - int l3 = strlen($3); - $$ = malloc(l1 + 1 + l3 + 1); - memcpy($$, $1, l1); - $$[l1] = '.'; - memcpy($$ + l1 + 1, $3, l3); - $$[l1 + 1 + l3] = '\0'; - free($1); - free($3); - } - ; - - - -/* - * MARKERS - */ - -optMarker: - { - $$.flags = EM_NOMARK; - $$.default_value = 0; - } - | Marker { $$ = $1; } - ; - -Marker: - TOK_OPTIONAL { - $$.flags = EM_OPTIONAL | EM_INDIRECT; - $$.default_value = 0; - } - | TOK_DEFAULT Value { - $$.flags = EM_DEFAULT; - $$.default_value = $2; - } - ; - -IdentifierList: - IdentifierElement { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | IdentifierList ',' IdentifierElement { - $$ = $1; - asn1p_expr_add($$, $3); - }; - -IdentifierElement: - Identifier { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - } - -NamedNumberList: - NamedNumber { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | NamedNumberList ',' NamedNumber { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - -NamedNumber: - Identifier '(' SignedNumber ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = $3; - } - | Identifier '(' DefinedValue ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = $3; - }; - -NamedBitList: - NamedBit { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | NamedBitList ',' NamedBit { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - -NamedBit: - Identifier '(' TOK_number ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = asn1p_value_fromint($3); - } - | Identifier '(' DefinedValue ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = $3; - }; - -Enumerations: - UniverationList { - $$ = $1; - asn1p_expr_t *first_memb = TQ_FIRST(&($$->members)); - if(first_memb) { - if(first_memb->expr_type == A1TC_EXTENSIBLE) { - return yyerror( - "The ENUMERATION cannot start with extension (...)."); - } - } else { - return yyerror( - "The ENUMERATION list cannot be empty."); - } - } - -UniverationList: - UniverationElement { - $$ = NEW_EXPR(); - checkmem($$); - asn1p_expr_add($$, $1); - } - | UniverationList ',' UniverationElement { - $$ = $1; - asn1p_expr_add($$, $3); - } - ; - -UniverationElement: - Identifier { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - } - | Identifier '(' SignedNumber ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = $3; - } - | Identifier '(' DefinedValue ')' { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->Identifier = $1; - $$->value = $3; - } - | SignedNumber { - $$ = NEW_EXPR(); - checkmem($$); - $$->expr_type = A1TC_UNIVERVAL; - $$->meta_type = AMT_VALUE; - $$->value = $1; - } - | TOK_ThreeDots { - $$ = NEW_EXPR(); - checkmem($$); - $$->Identifier = strdup("..."); - checkmem($$->Identifier); - $$->expr_type = A1TC_EXTENSIBLE; - $$->meta_type = AMT_VALUE; - } - ; - -SignedNumber: - TOK_number { - $$ = asn1p_value_fromint($1); - checkmem($$); - } - | TOK_number_negative { - $$ = asn1p_value_fromint($1); - checkmem($$); - } - ; - -RealValue: - TOK_realnumber { - $$ = asn1p_value_fromdouble($1); - checkmem($$); - } - ; - -/* - * SEQUENCE definition. - * === EXAMPLE === - * Struct1 ::= SEQUENCE { - * memb1 Struct2, - * memb2 SEQUENCE OF { - * memb2-1 Struct 3 - * } - * } - * === EOF === - */ - - - -/* - * SET definition. - * === EXAMPLE === - * Person ::= SET { - * name [0] PrintableString (SIZE(1..20)), - * country [1] PrintableString (SIZE(1..20)) DEFAULT default-country, - * } - * === EOF === - */ - -optTag: - { memset(&$$, 0, sizeof($$)); } - | Tag { $$ = $1; } - ; - -Tag: - TagTypeValue TagPlicit { - $$ = $1; - $$.tag_mode = $2.tag_mode; - } - ; - -TagTypeValue: - '[' TagClass TOK_number ']' { - $$ = $2; - $$.tag_value = $3; - }; - -TagClass: - { $$.tag_class = TC_CONTEXT_SPECIFIC; } - | TOK_UNIVERSAL { $$.tag_class = TC_UNIVERSAL; } - | TOK_APPLICATION { $$.tag_class = TC_APPLICATION; } - | TOK_PRIVATE { $$.tag_class = TC_PRIVATE; } - ; - -TagPlicit: - { $$.tag_mode = TM_DEFAULT; } - | TOK_IMPLICIT { $$.tag_mode = TM_IMPLICIT; } - | TOK_EXPLICIT { $$.tag_mode = TM_EXPLICIT; } - ; - -TypeRefName: - TOK_typereference { - checkmem($1); - $$ = $1; - } - | TOK_capitalreference { - checkmem($1); - $$ = $1; - } - ; - - -optIdentifier: - { $$ = 0; } - | Identifier { - $$ = $1; - } - ; - -Identifier: - TOK_identifier { - checkmem($1); - $$ = $1; - } - ; - -IdentifierAsReference: - Identifier { - $$ = asn1p_ref_new(yylineno, currentModule); - asn1p_ref_add_component($$, $1, RLT_lowercase); - free($1); - }; - -IdentifierAsValue: - IdentifierAsReference { - $$ = asn1p_value_fromref($1, 0); - }; - -%% - - -/* - * Convert Xstring ('0101'B or '5'H) to the binary vector. - */ -static asn1p_value_t * -_convert_bitstring2binary(char *str, int base) { - asn1p_value_t *val; - int slen; - int memlen; - int baselen; - int bits; - uint8_t *binary_vector; - uint8_t *bv_ptr; - uint8_t cur_val; - - assert(str); - assert(str[0] == '\''); - - switch(base) { - case 'B': - baselen = 1; - break; - case 'H': - baselen = 4; - break; - default: - assert(base == 'B' || base == 'H'); - errno = EINVAL; - return NULL; - } - - slen = strlen(str); - assert(str[slen - 1] == base); - assert(str[slen - 2] == '\''); - - memlen = slen / (8 / baselen); /* Conservative estimate */ - - bv_ptr = binary_vector = malloc(memlen + 1); - if(bv_ptr == NULL) - /* ENOMEM */ - return NULL; - - cur_val = 0; - bits = 0; - while(*(++str) != '\'') { - switch(baselen) { - case 1: - switch(*str) { - case '1': - cur_val |= 1 << (7 - (bits % 8)); - case '0': - break; - default: - assert(!"_y UNREACH1"); - case ' ': case '\r': case '\n': - continue; - } - break; - case 4: - switch(*str) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - cur_val |= (*str - '0') << (4 - (bits % 8)); - break; - case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': - cur_val |= ((*str - 'A') + 10) - << (4 - (bits % 8)); - break; - default: - assert(!"_y UNREACH2"); - case ' ': case '\r': case '\n': - continue; - } - break; - } - - bits += baselen; - if((bits % 8) == 0) { - *bv_ptr++ = cur_val; - cur_val = 0; - } - } - - *bv_ptr = cur_val; - assert((bv_ptr - binary_vector) <= memlen); - - val = asn1p_value_frombits(binary_vector, bits, 0); - if(val == NULL) { - free(binary_vector); - } - - return val; -} - -/* - * For unnamed types (used in old X.208 compliant modules) - * generate some sort of interim names, to not to force human being to fix - * the specification's compliance to modern ASN.1 standards. - */ -static void -_fixup_anonymous_identifier(asn1p_expr_t *expr) { - char *p; - assert(expr->Identifier == 0); - - /* - * Try to figure out the type name - * without going too much into details - */ - expr->Identifier = ASN_EXPR_TYPE2STR(expr->expr_type); - if(expr->reference && expr->reference->comp_count > 0) - expr->Identifier = expr->reference->components[0].name; - - fprintf(stderr, - "WARNING: Line %d: expected lower-case member identifier, " - "found an unnamed %s.\n" - "WARNING: Obsolete X.208 syntax detected, " - "please give the member a name.\n", - yylineno, expr->Identifier ? expr->Identifier : "type"); - - if(!expr->Identifier) - expr->Identifier = "unnamed"; - expr->Identifier = strdup(expr->Identifier); - assert(expr->Identifier); - /* Make a lowercase identifier from the type name */ - for(p = expr->Identifier; *p; p++) { - switch(*p) { - case 'A' ... 'Z': *p += 32; break; - case ' ': *p = '_'; break; - case '-': *p = '_'; break; - } - } - fprintf(stderr, "NOTE: Assigning temporary identifier \"%s\". " - "Name clash may occur later.\n", - expr->Identifier); -} - -static int -yyerror(const char *msg) { - extern char *asn1p_text; - fprintf(stderr, - "ASN.1 grammar parse error " - "near %s:%d (token \"%s\"): %s\n", - ASN_FILENAME, yylineno, asn1p_text, msg); - return -1; -} - diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c deleted file mode 100644 index fcc59b1..0000000 --- a/libasn1parser/asn1parser.c +++ /dev/null @@ -1,183 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "asn1parser.h" -#include "asn1p_list.h" - -int asn1p_parse(void **param); - -void *asn1p__scan_bytes(const char *, int len); -void *asn1p__delete_buffer(void *); -void *asn1p_restart(FILE *); - -extern int asn1p_lineno; - -static int _asn1p_set_flags(enum asn1p_flags flags); -static int _asn1p_fix_modules(asn1p_t *a, const char *fname); - -/* - * Parse the given buffer. - */ -asn1p_t * -asn1p_parse_buffer(const char *buffer, int size /* = -1 */, const char *debug_filename, int initial_lineno, enum asn1p_flags flags) { - asn1p_t *a = 0; - void *ap; - void *ybuf; - int ret; - - if(_asn1p_set_flags(flags)) { - /* EINVAL */ - return 0; - } - - if(size < 0) - size = (int)strlen(buffer); - - ybuf = asn1p__scan_bytes(buffer, size); - if(!ybuf) { - assert(ybuf); - return 0; - } - - asn1p_lineno = initial_lineno; - - ap = (void *)&a; - asn1p_parse_debug_filename = debug_filename; - ret = asn1p_parse(ap); - asn1p_parse_debug_filename = NULL; - - asn1p__delete_buffer(ybuf); - - if(ret == 0) { - assert(a); - if(_asn1p_fix_modules(a, "-")) { - asn1p_delete(a); - return NULL; /* FIXME: destroy (a) */ - } - } else if(a) { - asn1p_delete(a); - a = NULL; - } - - return a; -} - - -/* - * Parse the file identified by its name. - */ -asn1p_t * -asn1p_parse_file(const char *filename, enum asn1p_flags flags) { -#ifndef _WIN32 - struct stat sb; -#endif - asn1p_t *a = 0; - void *ap; - FILE *fp; - int ret; - - if(_asn1p_set_flags(flags)) { - /* EINVAL */ - return 0; - } - - fp = fopen(filename, "r"); - if(fp == NULL) { - perror(filename); - return NULL; - } - -#ifndef _WIN32 - if(fstat(fileno(fp), &sb) - || !S_ISREG(sb.st_mode)) { - fclose(fp); - fprintf(stderr, "%s file not recognized: Bad file format\n", - filename); - errno = EINVAL; - return NULL; - } -#endif /* _WIN32 */ - - asn1p_lineno = 1; - - asn1p_restart(fp); - - ap = (void *)&a; - asn1p_parse_debug_filename = filename; - ret = asn1p_parse(ap); - asn1p_parse_debug_filename = NULL; - - fclose(fp); - - if(ret == 0) { - assert(a); - if(_asn1p_fix_modules(a, filename)) { - asn1p_delete(a); - return NULL; /* FIXME: destroy (a) */ - } - } else if(a) { - asn1p_delete(a); - a = NULL; - } - - return a; -} - -extern int asn1p_lexer_types_year; -extern int asn1p_lexer_constructs_year; -extern int asn1p_lexer_extended_values; -extern int asn1p__flex_debug; -extern int asn1p_debug; - -static int -_asn1p_set_flags(enum asn1p_flags flags) { - - asn1p_lexer_types_year = 0; - asn1p_lexer_constructs_year = 0; - asn1p__flex_debug = 0; - asn1p_debug = 0; - - if(flags & A1P_DEBUG_LEXER) { - flags &= ~A1P_DEBUG_LEXER; - asn1p__flex_debug = 1; - } - - if(flags & A1P_DEBUG_PARSER) { - flags &= ~A1P_DEBUG_PARSER; - asn1p_debug = 1; - } - - if(flags & A1P_EXTENDED_VALUES) { - flags &= ~A1P_EXTENDED_VALUES; - asn1p_lexer_extended_values = 1; - } else { - asn1p_lexer_extended_values = 0; - } - - /* - * Check that we haven't missed an unknown flag. - */ - if(flags) { - errno = EINVAL; - return -1; - } - - return 0; -} - -static int -_asn1p_fix_modules(asn1p_t *a, const char *fname) { - asn1p_module_t *mod; - TQ_FOR(mod, &(a->modules), mod_next) { - mod->source_file_name = strdup(fname); - if(mod->source_file_name == NULL) - return -1; - mod->asn1p = a; - } - return 0; -} diff --git a/libasn1parser/asn1parser.h b/libasn1parser/asn1parser.h deleted file mode 100644 index 0819816..0000000 --- a/libasn1parser/asn1parser.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This is a parser of the ASN.1 grammar. - */ -#ifndef ASN1PARSER_H -#define ASN1PARSER_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include "asn1_ref.h" -#include "asn1_buffer.h" -#include "asn1_namespace.h" - -#include "asn1p_integer.h" -#include "asn1p_list.h" -#include "asn1p_oid.h" /* Object identifiers (OIDs) */ -#include "asn1p_module.h" /* ASN.1 definition module */ -#include "asn1p_value.h" /* Value definition */ -#include "asn1p_param.h" /* Parameterization */ -#include "asn1p_constr.h" /* Type Constraints */ -#include "asn1p_xports.h" /* IMports/EXports */ -#include "asn1p_class.h" /* CLASS-related stuff */ -#include "asn1p_expr.h" /* A single ASN.1 expression */ - -/* - * Parser flags. - */ -enum asn1p_flags { - A1P_NOFLAGS, - /* - * Enable verbose debugging output from lexer and parser. - */ - A1P_DEBUG_LEXER = 0x01, - A1P_DEBUG_PARSER = 0x02, - /* - * Unlock internal helper value types. - */ - A1P_EXTENDED_VALUES = 0x04 -}; - -/* - * Perform low-level parsing of ASN.1 module[s] - * and return a list of module trees. - */ -asn1p_t *asn1p_parse_file(const char *filename, - enum asn1p_flags); -asn1p_t *asn1p_parse_buffer(const char *buffer, int size /* = -1 */, - const char *debug_filename, int initial_lineno, - enum asn1p_flags); - -extern const char *asn1p_parse_debug_filename; - -int asn1p_lex_destroy(); - -#endif /* ASN1PARSER_H */ diff --git a/libasn1parser/check_asn1p_integer.c b/libasn1parser/check_asn1p_integer.c deleted file mode 100644 index cb479ff..0000000 --- a/libasn1parser/check_asn1p_integer.c +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "asn1p_integer.h" - -static void check(int lineno, asn1c_integer_t value, const char *expected); - -struct { - uint8_t *buf; size_t size; -} ff = { - (uint8_t *)"sdf", 3 -}; - -int main() { - - check(__LINE__, 0, "{ (uint8_t *)\"\\x00\\0\", 1 }"); - check(__LINE__, 1, "{ (uint8_t *)\"\\x01\\0\", 1 }"); - check(__LINE__, 127, "{ (uint8_t *)\"\\x7f\\0\", 1 }"); - check(__LINE__, 128, "{ (uint8_t *)\"\\x00\\x80\\0\", 2 }"); - check(__LINE__, 129, "{ (uint8_t *)\"\\x00\\x81\\0\", 2 }"); - - check(__LINE__, -1, "{ (uint8_t *)\"\\xff\\0\", 1 }"); - check(__LINE__, -2, "{ (uint8_t *)\"\\xfe\\0\", 1 }"); - check(__LINE__, -127, "{ (uint8_t *)\"\\x81\\0\", 1 }"); - check(__LINE__, -128, "{ (uint8_t *)\"\\x80\\0\", 1 }"); - check(__LINE__, -129, "{ (uint8_t *)\"\\xff\\x7f\\0\", 2 }"); - check(__LINE__, -254, "{ (uint8_t *)\"\\xff\\x02\\0\", 2 }"); - check(__LINE__, -255, "{ (uint8_t *)\"\\xff\\x01\\0\", 2 }"); - check(__LINE__, -256, "{ (uint8_t *)\"\\xff\\x00\\0\", 2 }"); - check(__LINE__, -257, "{ (uint8_t *)\"\\xfe\\xff\\0\", 2 }"); - - check(__LINE__, ~(asn1c_integer_t)0, "{ (uint8_t *)\"\\xff\\0\", 1 }"); - - switch(sizeof(asn1c_integer_t)) { - case 4: - check(__LINE__, - ~(asn1c_integer_t)0 - & ~((asn1c_integer_t)1 << (8 * sizeof(asn1c_integer_t) - 1)), - "{ (uint8_t *)\"" - "\\x7f\\xff\\xff\\xff" - "\\0\", 4 }"); - break; - case 8: - check(__LINE__, - ~(asn1c_integer_t)0 - & ~((asn1c_integer_t)1 << (8 * sizeof(asn1c_integer_t) - 1)), - "{ (uint8_t *)\"" - "\\x7f\\xff\\xff\\xff\\xff\\xff\\xff\\xff" - "\\0\", 8 }"); - break; - case 16: - check(__LINE__, - ~(asn1c_integer_t)0 - & ~((asn1c_integer_t)1 << (8 * sizeof(asn1c_integer_t) - 1)), - "{ (uint8_t *)\"" - "\\x7f\\xff\\xff\\xff\\xff\\xff\\xff\\xff" - "\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff" - "\\0\", 16 }"); - - break; - default: - assert(!"Unreachable"); - } - - return 0; -} - -static void check(int lineno, asn1c_integer_t value, const char *expected) { - abuf *ab; - ab = asn1p_integer_as_INTEGER(value); - assert(ab); - if(strcmp(ab->buffer, expected)) { - fprintf(stderr, "%02d: %s -> [%s], expected [%s]\n", lineno, - asn1p_itoa(value), ab->buffer, expected); - assert(strcmp(ab->buffer, expected) == 0); - } - printf("%02d: %s -> %s\n", lineno, asn1p_itoa(value), ab->buffer); - abuf_free(ab); -} diff --git a/libasn1parser/expr-h.pl b/libasn1parser/expr-h.pl deleted file mode 100755 index 99520b6..0000000 --- a/libasn1parser/expr-h.pl +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env perl - - -print< - -#ifndef __GNUC__ -#define __attribute__(x) /* unused */ -#endif - -static char *asn1p_expr_type2str[] __attribute__ ((unused)) = { -EOM - -while(<>) { - chomp; - next if(/TYPE_MAX/); - next unless(/^[ \t]+(ASN_[A-Z]+_([A-Za-z0-9_]+))/); - - print "\t[ $1 ]\t = "; - - $_ = $2; - if($_ eq "RELATIVE_OID") { - print '"RELATIVE-OID"'; - } else { - s/_/ /; - print '"'.$_.'"'; - } - - print ",\n"; -} - -print<= 0); - if(type < sizeof(asn1p_expr_type2str)/sizeof(asn1p_expr_type2str[0])) - return asn1p_expr_type2str[type]; - return NULL; -} - -#endif /* ASN1_PARSER_EXPR_STR_H */ -EOM diff --git a/libasn1print/.deps/asn1print.Plo b/libasn1print/.deps/asn1print.Plo deleted file mode 100644 index c72bcb5..0000000 --- a/libasn1print/.deps/asn1print.Plo +++ /dev/null @@ -1,181 +0,0 @@ -asn1print.lo: asn1print.c /usr/include/stdc-predef.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ - /usr/include/x86_64-linux-gnu/bits/stdio.h \ - /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ - /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ - /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/assert.h ../libasn1common/asn1_buffer.h \ - ../libasn1common/asn1_namespace.h ../libasn1parser/asn1parser.h \ - ../config.h ../libasn1common/asn1_ref.h ../libasn1parser/asn1p_integer.h \ - /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/sigset.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/select2.h \ - /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ - /usr/include/inttypes.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h \ - /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/wchar.h \ - ../libasn1parser/asn1p_list.h ../libasn1parser/asn1p_oid.h \ - ../libasn1parser/asn1p_module.h ../libasn1parser/asn1p_value.h \ - ../libasn1parser/asn1p_param.h ../libasn1parser/asn1p_constr.h \ - ../libasn1parser/asn1p_xports.h ../libasn1parser/asn1p_class.h \ - ../libasn1parser/asn1p_expr.h ../libasn1parser/asn1p_expr_str.h \ - ../libasn1parser/asn1p_expr2uclass.h ../libasn1fix/asn1fix_export.h \ - ../libasn1fix/asn1fix_tags.h ../libasn1fix/asn1fix_crange.h asn1print.h - -/usr/include/stdc-predef.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: - -/usr/include/x86_64-linux-gnu/bits/stdio.h: - -/usr/include/x86_64-linux-gnu/bits/stdio2.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/x86_64-linux-gnu/bits/string.h: - -/usr/include/x86_64-linux-gnu/bits/string2.h: - -/usr/include/endian.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/string3.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/assert.h: - -../libasn1common/asn1_buffer.h: - -../libasn1common/asn1_namespace.h: - -../libasn1parser/asn1parser.h: - -../config.h: - -../libasn1common/asn1_ref.h: - -../libasn1parser/asn1p_integer.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/time.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sigset.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/x86_64-linux-gnu/bits/select2.h: - -/usr/include/x86_64-linux-gnu/sys/sysmacros.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -../libasn1parser/asn1p_list.h: - -../libasn1parser/asn1p_oid.h: - -../libasn1parser/asn1p_module.h: - -../libasn1parser/asn1p_value.h: - -../libasn1parser/asn1p_param.h: - -../libasn1parser/asn1p_constr.h: - -../libasn1parser/asn1p_xports.h: - -../libasn1parser/asn1p_class.h: - -../libasn1parser/asn1p_expr.h: - -../libasn1parser/asn1p_expr_str.h: - -../libasn1parser/asn1p_expr2uclass.h: - -../libasn1fix/asn1fix_export.h: - -../libasn1fix/asn1fix_tags.h: - -../libasn1fix/asn1fix_crange.h: - -asn1print.h: diff --git a/libasn1print/Makefile b/libasn1print/Makefile deleted file mode 100644 index 4e4b02d..0000000 --- a/libasn1print/Makefile +++ /dev/null @@ -1,624 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# libasn1print/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = libasn1print -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1print_la_DEPENDENCIES = \ - $(top_builddir)/libasn1common/libasn1common.la -am_libasn1print_la_OBJECTS = asn1print.lo -libasn1print_la_OBJECTS = $(am_libasn1print_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1print_la_SOURCES) -DIST_SOURCES = $(libasn1print_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/libasn1print -abs_srcdir = /home/nokia/mouse07410/asn1c/libasn1print -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -AM_CFLAGS = -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1print.la -libasn1print_la_LIBADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1print_la_SOURCES = \ - asn1print.c asn1print.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1print/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1print/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1print.la: $(libasn1print_la_OBJECTS) $(libasn1print_la_DEPENDENCIES) $(EXTRA_libasn1print_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1print_la_OBJECTS) $(libasn1print_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/asn1print.Plo - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1print/Makefile.am b/libasn1print/Makefile.am deleted file mode 100644 index a1bae71..0000000 --- a/libasn1print/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ - -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1print.la - -libasn1print_la_LIBADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1print_la_SOURCES = \ - asn1print.c asn1print.h - diff --git a/libasn1print/Makefile.in b/libasn1print/Makefile.in deleted file mode 100644 index 9e56947..0000000 --- a/libasn1print/Makefile.in +++ /dev/null @@ -1,624 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = libasn1print -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libasn1print_la_DEPENDENCIES = \ - $(top_builddir)/libasn1common/libasn1common.la -am_libasn1print_la_OBJECTS = asn1print.lo -libasn1print_la_OBJECTS = $(am_libasn1print_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1print_la_SOURCES) -DIST_SOURCES = $(libasn1print_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/libasn1common \ - -I$(top_srcdir)/libasn1parser \ - -I$(top_srcdir)/libasn1fix - -noinst_LTLIBRARIES = libasn1print.la -libasn1print_la_LIBADD = $(top_builddir)/libasn1common/libasn1common.la -libasn1print_la_SOURCES = \ - asn1print.c asn1print.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libasn1print/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libasn1print/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1print.la: $(libasn1print_la_OBJECTS) $(libasn1print_la_DEPENDENCIES) $(EXTRA_libasn1print_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libasn1print_la_OBJECTS) $(libasn1print_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1print.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libasn1print/README b/libasn1print/README deleted file mode 100644 index 5c1071c..0000000 --- a/libasn1print/README +++ /dev/null @@ -1,4 +0,0 @@ - -Ad hoc ASN tree printing procedures. Use for debugging purposes, this library -isn't thought through enough to be universally useful or even accurate. - diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c deleted file mode 100644 index 61b9528..0000000 --- a/libasn1print/asn1print.c +++ /dev/null @@ -1,1052 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "asn1print.h" - -static abuf all_output_; - -typedef enum { - PRINT_STDOUT, - GLOBAL_BUFFER, -} print_method_e; -static print_method_e print_method_; - -#define INDENT(fmt, args...) do { \ - if(!(flags & APF_NOINDENT)) { \ - int tmp_i = level; \ - while(tmp_i--) safe_printf(" "); \ - } \ - safe_printf(fmt, ##args); \ - } while(0) - -static int asn1print_module(asn1p_t *asn, asn1p_module_t *mod, enum asn1print_flags flags); -static int asn1print_oid(int prior_len, asn1p_oid_t *oid, enum asn1print_flags flags); -static int asn1print_ref(const asn1p_ref_t *ref, enum asn1print_flags flags); -static int asn1print_tag(const asn1p_expr_t *tc, enum asn1print_flags flags); -static int asn1print_params(const asn1p_paramlist_t *pl,enum asn1print_flags flags); -static int asn1print_with_syntax(const asn1p_wsyntx_t *wx, enum asn1print_flags flags); -static int asn1print_constraint(const asn1p_constraint_t *, enum asn1print_flags); -static int asn1print_value(const asn1p_value_t *val, enum asn1print_flags flags); -static int asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1print_flags flags, int level); -static int asn1print_expr_dtd(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1print_flags flags, int level); - -/* Check printf's error code, to be pedantic. */ -static int safe_printf(const char *fmt, ...) { - int ret = 0; - va_list ap; - va_start(ap, fmt); - - switch(print_method_) { - case PRINT_STDOUT: - ret = vprintf(fmt, ap); - break; - case GLOBAL_BUFFER: - ret = abuf_vprintf(&all_output_, fmt, ap); - break; - } - assert(ret >= 0); - va_end(ap); - - return ret; -} - -/* Pedantically check fwrite's return value. */ -static size_t safe_fwrite(const void *ptr, size_t size) { - size_t ret; - - switch(print_method_) { - case PRINT_STDOUT: - ret = fwrite(ptr, 1, size, stdout); - assert(ret == size); - break; - case GLOBAL_BUFFER: - abuf_add_bytes(&all_output_, ptr, size); - ret = size; - break; - } - - return ret; -} - -/* - * Print the contents of the parsed ASN tree. - */ -int -asn1print(asn1p_t *asn, enum asn1print_flags flags) { - asn1p_module_t *mod; - int modno = 0; - - if(asn == NULL) { - errno = EINVAL; - return -1; - } - - if(flags & APF_PRINT_XML_DTD) - safe_printf("\n\n"); - - TQ_FOR(mod, &(asn->modules), mod_next) { - if(mod->_tags & MT_STANDARD_MODULE) - return 0; /* Ignore modules imported from skeletons */ - if(modno++) safe_printf("\n"); - asn1print_module(asn, mod, flags); - } - - if(flags & APF_PRINT_XML_DTD) { - /* Values for BOOLEAN */ - safe_printf("\n"); - safe_printf("\n"); - } - - return 0; -} - -static int -asn1print_module(asn1p_t *asn, asn1p_module_t *mod, enum asn1print_flags flags) { - asn1p_expr_t *tc; - - if(flags & APF_PRINT_XML_DTD) - safe_printf("\n\n"); - - TQ_FOR(tc, &(mod->members), next) { - asn1print_expr_dtd(asn, mod, tc, flags, 0); - } - - return 0; - } - - safe_printf("DEFINITIONS"); - - if(mod->module_flags & MSF_TAG_INSTRUCTIONS) - safe_printf(" TAG INSTRUCTIONS"); - if(mod->module_flags & MSF_XER_INSTRUCTIONS) - safe_printf(" XER INSTRUCTIONS"); - if(mod->module_flags & MSF_EXPLICIT_TAGS) - safe_printf(" EXPLICIT TAGS"); - if(mod->module_flags & MSF_IMPLICIT_TAGS) - safe_printf(" IMPLICIT TAGS"); - if(mod->module_flags & MSF_AUTOMATIC_TAGS) - safe_printf(" AUTOMATIC TAGS"); - if(mod->module_flags & MSF_EXTENSIBILITY_IMPLIED) - safe_printf(" EXTENSIBILITY IMPLIED"); - - safe_printf(" ::=\n"); - safe_printf("BEGIN\n\n"); - - TQ_FOR(tc, &(mod->members), next) { - asn1print_expr(asn, mod, tc, flags, 0); - if(flags & APF_PRINT_CONSTRAINTS) - safe_printf("\n"); - else - safe_printf("\n\n"); - } - - safe_printf("END\n"); - - return 0; -} - -static int -asn1print_oid(int prior_len, asn1p_oid_t *oid, enum asn1print_flags flags) { - size_t accum = prior_len; - int ac; - - (void)flags; /* Unused argument */ - - safe_printf("{"); - for(ac = 0; ac < oid->arcs_count; ac++) { - const char *arcname = oid->arcs[ac].name; - - if(accum + strlen(arcname ? arcname : "") > 72) { - safe_printf("\n\t"); - accum = 8; - } else { - accum += safe_printf(" "); - } - - if(arcname) { - accum += safe_printf("%s", arcname); - if(oid->arcs[ac].number >= 0) { - accum += safe_printf("(%s)", - asn1p_itoa(oid->arcs[ac].number)); - } - } else { - accum += safe_printf("%s", asn1p_itoa(oid->arcs[ac].number)); - } - } - safe_printf(" }"); - - return 0; -} - -static int -asn1print_ref(const asn1p_ref_t *ref, enum asn1print_flags flags) { - - (void)flags; /* Unused argument */ - - for(size_t cc = 0; cc < ref->comp_count; cc++) { - if(cc) safe_printf("."); - safe_printf("%s", ref->components[cc].name); - } - - return 0; -} - -static int -asn1print_tag(const asn1p_expr_t *tc, enum asn1print_flags flags) { - const struct asn1p_type_tag_s *tag = &tc->tag; - - (void)flags; /* Unused argument */ - - safe_printf("%s", asn1p_tag2string(tag, 0)); - - return 0; -} - -static int -asn1print_value(const asn1p_value_t *val, enum asn1print_flags flags) { - - if(val == NULL) - return 0; - - switch(val->type) { - case ATV_NOVALUE: - break; - case ATV_NULL: - safe_printf("NULL"); - return 0; - case ATV_REAL: - safe_printf("%f", val->value.v_double); - return 0; - case ATV_TYPE: - asn1print_expr(val->value.v_type->module->asn1p, - val->value.v_type->module, - val->value.v_type, flags, 0); - return 0; - case ATV_INTEGER: - safe_printf("%s", asn1p_itoa(val->value.v_integer)); - return 0; - case ATV_MIN: safe_printf("MIN"); return 0; - case ATV_MAX: safe_printf("MAX"); return 0; - case ATV_FALSE: safe_printf("FALSE"); return 0; - case ATV_TRUE: safe_printf("TRUE"); return 0; - case ATV_TUPLE: - safe_printf("{%d, %d}", - (int)(val->value.v_integer >> 4), - (int)(val->value.v_integer & 0x0f)); - return 0; - case ATV_QUADRUPLE: - safe_printf("{%d, %d, %d, %d}", - (int)((val->value.v_integer >> 24) & 0xff), - (int)((val->value.v_integer >> 16) & 0xff), - (int)((val->value.v_integer >> 8) & 0xff), - (int)((val->value.v_integer >> 0) & 0xff) - ); - return 0; - case ATV_STRING: - { - char *p = (char *)val->value.string.buf; - safe_printf("\""); - if(strchr(p, '"')) { - /* Mask quotes */ - for(; *p; p++) { - if(*p == '"') - safe_printf("%c", *p); - safe_printf("%c", *p); - } - } else { - safe_printf("%s", p); - } - safe_printf("\""); - } - return 0; - case ATV_UNPARSED: - safe_printf("%s", (char *)val->value.string.buf); - return 0; - case ATV_BITVECTOR: - { - uint8_t *bitvector; - int bits; - int i; - - bitvector = val->value.binary_vector.bits; - bits = val->value.binary_vector.size_in_bits; - - safe_printf("'"); - if(bits%8) { - for(i = 0; i < bits; i++) { - uint8_t uc; - uc = bitvector[i>>3]; - safe_printf("%c", ((uc >> (7-(i%8)))&1)?'1':'0'); - } - safe_printf("'B"); - } else { - char hextable[16] = "0123456789ABCDEF"; - for(i = 0; i < (bits>>3); i++) { - safe_printf("%c", hextable[bitvector[i] >> 4]); - safe_printf("%c", hextable[bitvector[i] & 0x0f]); - } - safe_printf("'H"); - } - return 0; - } - case ATV_REFERENCED: - return asn1print_ref(val->value.reference, flags); - case ATV_VALUESET: - return asn1print_constraint(val->value.constraint, flags); - case ATV_CHOICE_IDENTIFIER: - safe_printf("%s: ", val->value.choice_identifier.identifier); - return asn1print_value(val->value.choice_identifier.value, flags); - } - - assert(val->type || !"Unknown"); - - return 0; -} - -const char * -asn1p_constraint_string(const asn1p_constraint_t *ct) { - size_t old_len = all_output_.length; - print_method_e old_method = print_method_; - print_method_ = GLOBAL_BUFFER; - asn1print_constraint(ct, APF_NOINDENT); - print_method_ = old_method; - return &all_output_.buffer[old_len]; -} - -static int -asn1print_constraint(const asn1p_constraint_t *ct, enum asn1print_flags flags) { - int symno = 0; - int perhaps_subconstraints = 0; - - if(ct == 0) return 0; - - switch(ct->type) { - case ACT_EL_TYPE: - asn1print_value(ct->containedSubtype, flags); - perhaps_subconstraints = 1; - break; - case ACT_EL_VALUE: - asn1print_value(ct->value, flags); - perhaps_subconstraints = 1; - break; - case ACT_EL_RANGE: - case ACT_EL_LLRANGE: - case ACT_EL_RLRANGE: - case ACT_EL_ULRANGE: - asn1print_value(ct->range_start, flags); - switch(ct->type) { - case ACT_EL_RANGE: safe_printf(".."); break; - case ACT_EL_LLRANGE: safe_printf("<.."); break; - case ACT_EL_RLRANGE: safe_printf("..<"); break; - case ACT_EL_ULRANGE: safe_printf("<..<"); break; - default: safe_printf("?..?"); break; - } - asn1print_value(ct->range_stop, flags); - break; - case ACT_EL_EXT: - safe_printf("..."); - break; - case ACT_CT_SIZE: - case ACT_CT_FROM: - switch(ct->type) { - case ACT_CT_SIZE: safe_printf("SIZE"); break; - case ACT_CT_FROM: safe_printf("FROM"); break; - default: safe_printf("??? "); break; - } - assert(ct->el_count != 0); - assert(ct->el_count == 1); - asn1print_constraint(ct->elements[0], flags); - break; - case ACT_CT_WCOMP: - assert(ct->el_count != 0); - assert(ct->el_count == 1); - safe_printf("WITH COMPONENT"); - perhaps_subconstraints = 1; - break; - case ACT_CT_WCOMPS: { - unsigned int i; - safe_printf("WITH COMPONENTS { "); - for(i = 0; i < ct->el_count; i++) { - asn1p_constraint_t *cel = ct->elements[i]; - if(i) safe_printf(", "); - asn1print_constraint(cel, flags); - switch(cel->presence) { - case ACPRES_DEFAULT: break; - case ACPRES_PRESENT: safe_printf(" PRESENT"); break; - case ACPRES_ABSENT: safe_printf(" ABSENT"); break; - case ACPRES_OPTIONAL: safe_printf(" OPTIONAL");break; - } - } - safe_printf(" }"); - } - break; - case ACT_CT_CTDBY: - safe_printf("CONSTRAINED BY "); - assert(ct->value->type == ATV_UNPARSED); - safe_fwrite(ct->value->value.string.buf, ct->value->value.string.size); - break; - case ACT_CT_CTNG: - safe_printf("CONTAINING "); - asn1print_expr(ct->value->value.v_type->module->asn1p, - ct->value->value.v_type->module, - ct->value->value.v_type, - flags, 1); - break; - case ACT_CT_PATTERN: - safe_printf("PATTERN "); - asn1print_value(ct->value, flags); - break; - case ACT_CA_SET: symno++; /* Fall through */ - case ACT_CA_CRC: symno++; /* Fall through */ - case ACT_CA_CSV: symno++; /* Fall through */ - case ACT_CA_UNI: symno++; /* Fall through */ - case ACT_CA_INT: symno++; /* Fall through */ - case ACT_CA_EXC: - { - char *symtable[] = { " EXCEPT ", " ^ ", " | ", ",", - "", "(" }; - unsigned int i; - if(ct->type == ACT_CA_SET) safe_printf("("); - for(i = 0; i < ct->el_count; i++) { - if(i) safe_printf("%s", symtable[symno]); - if(ct->type == ACT_CA_CRC) safe_printf("{"); - asn1print_constraint(ct->elements[i], flags); - if(ct->type == ACT_CA_CRC) safe_printf("}"); - if(ct->type == ACT_CA_SET && i+1 < ct->el_count) - safe_printf(") "); - } - if(ct->type == ACT_CA_SET) safe_printf(")"); - } - break; - case ACT_CA_AEX: - assert(ct->el_count == 1); - safe_printf("ALL EXCEPT"); - perhaps_subconstraints = 1; - break; - case ACT_INVALID: - assert(ct->type != ACT_INVALID); - break; - } - - if(perhaps_subconstraints && ct->el_count) { - safe_printf(" "); - assert(ct->el_count == 1); - asn1print_constraint(ct->elements[0], flags); - } - - return 0; -} - -static int -asn1print_params(const asn1p_paramlist_t *pl, enum asn1print_flags flags) { - if(pl) { - int i; - safe_printf("{"); - for(i = 0; i < pl->params_count; i++) { - if(i) safe_printf(", "); - if(pl->params[i].governor) { - asn1print_ref(pl->params[i].governor, flags); - safe_printf(":"); - } - safe_printf("%s", pl->params[i].argument); - } - safe_printf("}"); - } - - return 0; -} - -static int -asn1print_with_syntax(const asn1p_wsyntx_t *wx, enum asn1print_flags flags) { - if(wx) { - const asn1p_wsyntx_chunk_t *wc; - TQ_FOR(wc, &(wx->chunks), next) { - switch(wc->type) { - case WC_LITERAL: - case WC_WHITESPACE: - case WC_FIELD: - safe_printf("%s", wc->content.token); - break; - case WC_OPTIONALGROUP: - safe_printf("["); - asn1print_with_syntax(wc->content.syntax,flags); - safe_printf("]"); - break; - } - } - } - - return 0; -} - -static int -asn1print_crange_value(const asn1cnst_edge_t *edge, int as_char) { - switch(edge->type) { - case ARE_MIN: safe_printf("MIN"); break; - case ARE_MAX: safe_printf("MAX"); break; - case ARE_VALUE: - if(as_char) { - safe_printf("\"%c\"", (unsigned char)edge->value); - } else { - safe_printf("%s", asn1p_itoa(edge->value)); - } - } - return 0; -} - -static int -asn1print_constraint_explain_type(const char *dbg_name, asn1p_expr_type_e expr_type, asn1p_constraint_t *ct, enum asn1p_constraint_type_e type, enum cpr_flags cpr) { - asn1cnst_range_t *range; - int as_char = (type==ACT_CT_FROM); - int i; - - range = asn1constraint_compute_constraint_range(dbg_name, expr_type, ct, type, 0, 0, cpr); - if(!range) return -1; - - if(range->incompatible) return 0; - - if((cpr & CPR_strict_OER_visibility) && range->not_OER_visible) { - asn1constraint_range_free(range); - return 0; - } - - if((cpr & CPR_strict_PER_visibility) && range->not_PER_visible) { - asn1constraint_range_free(range); - return 0; - } - - switch(type) { - case ACT_CT_FROM: safe_printf("(FROM("); break; - case ACT_CT_SIZE: safe_printf("(SIZE("); break; - default: safe_printf("("); break; - } - for(i = -1; i < range->el_count; i++) { - asn1cnst_range_t *r; - if(i == -1) { - if(range->el_count) continue; - r = range; - } else { - r = range->elements[i]; - } - if(i > 0) { - safe_printf(" | "); - } - asn1print_crange_value(&r->left, as_char); - if(r->left.type != r->right.type - || r->left.value != r->right.value) { - safe_printf(".."); - asn1print_crange_value(&r->right, as_char); - } - } - if(range->extensible) - safe_printf(",..."); - safe_printf(type==ACT_EL_RANGE?")":"))"); - - if(range->empty_constraint) - safe_printf(":Empty!"); - - asn1constraint_range_free(range); - return 0; -} - -static int -asn1print_constraint_explain(const char *dbg_name, asn1p_expr_type_e expr_type, - asn1p_constraint_t *ct, enum cpr_flags cpr) { - - asn1print_constraint_explain_type(dbg_name, expr_type, ct, ACT_EL_RANGE, cpr); - safe_printf(" "); - asn1print_constraint_explain_type(dbg_name, expr_type, ct, ACT_CT_SIZE, cpr); - safe_printf(" "); - asn1print_constraint_explain_type(dbg_name, expr_type, ct, ACT_CT_FROM, cpr); - - return 0; -} - -static int -asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1print_flags flags, int level) { - int SEQ_OF = 0; - int has_space = 0; - -#define HAS_SPACE() \ - do { \ - has_space = 1; \ - } while(0) -#define ENSURE_SPACE() \ - do { \ - if(!has_space) { \ - has_space = 1; \ - safe_printf(" "); \ - } \ - } while(0) -#define WANT_SPACE() \ - do { \ - has_space = 0; \ - } while(0) - - if(flags & APF_LINE_COMMENTS && !(flags & APF_NOINDENT)) - INDENT("-- #line %d\n", tc->_lineno); - - /* Reconstruct compiler directive information */ - if((tc->marker.flags & EM_INDIRECT) - && (tc->marker.flags & EM_OMITABLE) != EM_OMITABLE) { - if((flags & APF_NOINDENT)) - safe_printf(" ---- "); - else - INDENT("----\n"); - } - - if(tc->Identifier - && (!(tc->meta_type == AMT_VALUE && tc->expr_type == A1TC_REFERENCE) - || level == 0)) { - INDENT("%s", tc->Identifier); - WANT_SPACE(); - } - - if(tc->lhs_params) { - asn1print_params(tc->lhs_params, flags); - } - - if(tc->meta_type != AMT_VALUE - && tc->meta_type != AMT_VALUESET - && tc->expr_type != A1TC_EXTENSIBLE) { - if(level) { - if(tc->Identifier && !(flags & APF_NOINDENT)) - safe_printf("\t"); - } else if(tc->Identifier) { - ENSURE_SPACE(); - safe_printf("::="); - WANT_SPACE(); - } - } - - if(tc->tag.tag_class) { - ENSURE_SPACE(); - asn1print_tag(tc, flags); - WANT_SPACE(); - } - - switch(tc->expr_type) { - case A1TC_EXTENSIBLE: - if(tc->value) { - safe_printf("!"); - asn1print_value(tc->value, flags); - } - break; - case A1TC_COMPONENTS_OF: - SEQ_OF = 1; /* Equivalent to SET OF for printint purposes */ - safe_printf(" COMPONENTS OF"); - WANT_SPACE(); - break; - case A1TC_REFERENCE: - case A1TC_UNIVERVAL: - break; - case A1TC_CLASSDEF: - safe_printf(" CLASS"); - WANT_SPACE(); - break; - case A1TC_CLASSFIELD_TFS ... A1TC_CLASSFIELD_OSFS: - /* Nothing to print here */ - break; - case ASN_CONSTR_SET_OF: - case ASN_CONSTR_SEQUENCE_OF: - SEQ_OF = 1; - ENSURE_SPACE(); - if(tc->expr_type == ASN_CONSTR_SET_OF) - safe_printf("SET"); - else - safe_printf("SEQUENCE"); - if(tc->constraints) { - safe_printf(" "); - asn1print_constraint(tc->constraints, flags); - } - safe_printf(" OF"); - WANT_SPACE(); - break; - case A1TC_VALUESET: - break; - default: - { - char *p = ASN_EXPR_TYPE2STR(tc->expr_type); - ENSURE_SPACE(); - safe_printf("%s", p?p:""); - WANT_SPACE(); - } - break; - } - - /* - * Put the name of the referred type. - */ - if(tc->reference) { - ENSURE_SPACE(); - asn1print_ref(tc->reference, flags); - WANT_SPACE(); - } - - if(tc->meta_type == AMT_VALUESET && level == 0) { - ENSURE_SPACE(); - safe_printf("::="); - WANT_SPACE(); - } - - /* - * Display the descendants (children) of the current type. - */ - if(TQ_FIRST(&(tc->members)) - || (tc->expr_type & ASN_CONSTR_MASK) - || tc->meta_type == AMT_OBJECT - || tc->meta_type == AMT_OBJECTCLASS - || tc->meta_type == AMT_OBJECTFIELD - ) { - asn1p_expr_t *se; /* SubExpression */ - int put_braces = (!SEQ_OF) /* Don't need 'em, if SET OF... */ - && (tc->meta_type != AMT_OBJECTFIELD); - - if(put_braces) { - if(flags & APF_NOINDENT) { - safe_printf("{"); - if(!TQ_FIRST(&tc->members)) - safe_printf("}"); - } else { - safe_printf(" {"); - if(TQ_FIRST(&tc->members)) - safe_printf("\n"); - else - safe_printf(" }"); - } - } - - TQ_FOR(se, &(tc->members), next) { - /* - * Print the expression as it were a stand-alone type. - */ - asn1print_expr(asn, mod, se, flags, level + 1); - if((se->marker.flags & EM_DEFAULT) == EM_DEFAULT) { - safe_printf(" DEFAULT "); - asn1print_value(se->marker.default_value, flags); - } else if((se->marker.flags & EM_OPTIONAL) - == EM_OPTIONAL) { - safe_printf(" OPTIONAL"); - } - if(TQ_NEXT(se, next)) { - safe_printf(","); - if(!(flags & APF_NOINDENT)) - INDENT("\n"); - } - } - - if(put_braces && TQ_FIRST(&tc->members)) { - if(!(flags & APF_NOINDENT)) - safe_printf("\n"); - INDENT("}"); - } - } - - if(tc->with_syntax) { - safe_printf(" WITH SYNTAX {"); - asn1print_with_syntax(tc->with_syntax, flags); - safe_printf("}\n"); - } - - /* Right hand specialization */ - if(tc->rhs_pspecs) { - asn1p_expr_t *se; - safe_printf("{"); - TQ_FOR(se, &(tc->rhs_pspecs->members), next) { - asn1print_expr(asn, mod, se, flags, level + 1); - if(TQ_NEXT(se, next)) safe_printf(", "); - } - safe_printf("}"); - } - - if(!SEQ_OF && tc->constraints) { - safe_printf(" "); - if(tc->meta_type == AMT_VALUESET) - safe_printf("{"); - asn1print_constraint(tc->constraints, flags); - if(tc->meta_type == AMT_VALUESET) - safe_printf("}"); - } - - if(tc->unique) { - safe_printf(" UNIQUE"); - } - - if(tc->meta_type == AMT_VALUE - && tc->expr_type != A1TC_EXTENSIBLE) { - if(tc->expr_type == A1TC_UNIVERVAL) { - if(tc->value) { - safe_printf("("); - asn1print_value(tc->value, flags); - safe_printf(")"); - } - } else { - if(level == 0 && tc->Identifier) safe_printf(" ::= "); - asn1print_value(tc->value, flags); - } - } - - /* - * The following section exists entirely for debugging. - */ - if(flags & APF_PRINT_CONSTRAINTS - && tc->expr_type != A1TC_EXTENSIBLE) { - asn1p_expr_t *top_parent; - - if(tc->combined_constraints) { - safe_printf("\n-- Combined constraints: "); - asn1print_constraint(tc->combined_constraints, flags); - } - - top_parent = WITH_MODULE_NAMESPACE( - tc->module, tc_ns, asn1f_find_terminal_type_ex(asn, tc_ns, tc)); - if(top_parent) { - safe_printf("\n-- Practical constraints (%s): ", - top_parent->Identifier); - asn1print_constraint_explain(top_parent->Identifier, - top_parent->expr_type, - tc->combined_constraints, 0); - safe_printf("\n-- OER-visible constraints (%s): ", - top_parent->Identifier); - asn1print_constraint_explain(top_parent->Identifier, - top_parent->expr_type, - tc->combined_constraints, CPR_strict_OER_visibility); - safe_printf("\n-- PER-visible constraints (%s): ", - top_parent->Identifier); - asn1print_constraint_explain(top_parent->Identifier, - top_parent->expr_type, - tc->combined_constraints, CPR_strict_PER_visibility); - } - safe_printf("\n"); - } - - if(flags & APF_PRINT_CLASS_MATRIX) do { - size_t col, maxidlen; - if(tc->ioc_table == NULL) { - if(tc->expr_type == A1TC_CLASSDEF) { - safe_printf("\n-- Information Object Class table is empty"); - } - break; - } - safe_printf("\n-- Information Object Set has %d entr%s:\n", - tc->ioc_table->rows, - tc->ioc_table->rows==1 ? "y" : "ies"); - maxidlen = asn1p_ioc_table_max_identifier_length(tc->ioc_table); - for(ssize_t r = -1; r < (ssize_t)tc->ioc_table->rows; r++) { - asn1p_ioc_row_t *row; - row = tc->ioc_table->row[r<0?0:r]; - if(r < 0) safe_printf("-- %s", r > 9 ? " " : ""); - else - safe_printf("-- [%*d]", (tc->ioc_table->rows > 9) + 1, r + 1); - for(col = 0; col < row->columns; col++) { - struct asn1p_ioc_cell_s *cell; - cell = &row->column[col]; - if(r < 0) { - safe_printf("[%*s]", maxidlen, - cell->field->Identifier); - continue; - } - if(!cell->value) { - safe_printf(" %*s ", maxidlen, ""); - continue; - } - safe_printf(" %*s ", maxidlen, - cell->value->Identifier); - } - safe_printf("\n"); - } - if(tc->ioc_table->extensible) { - safe_printf("-- [%*s] ...\n", (tc->ioc_table->rows>9)+1, ""); - } - } while(0); - - if(flags & APF_PRINT_CLASS_MATRIX - && tc->lhs_params) do { - int i; - if(tc->specializations.pspecs_count == 0) { - safe_printf("\n-- No specializations found\n"); - break; - } - safe_printf("\n-- Specializations list has %d entr%s:\n", - tc->specializations.pspecs_count, - tc->specializations.pspecs_count == 1 ? "y" : "ies"); - for(i = 0; i < tc->specializations.pspecs_count; i++) { - asn1p_expr_t *se; - struct asn1p_pspec_s *pspec; - pspec = &tc->specializations.pspec[i]; - safe_printf("-- "); - TQ_FOR(se, &(pspec->rhs_pspecs->members), next) { - asn1print_expr(asn, mod, se, flags, level+1); - } - safe_printf("\n"); - } - } while(0); - - return 0; -} - - -static int -asn1print_expr_dtd(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *expr, enum asn1print_flags flags, int level) { - asn1p_expr_t *se; - int expr_unordered = 0; - int dont_involve_children = 0; - - switch(expr->meta_type) { - case AMT_TYPE: - case AMT_TYPEREF: - break; - default: - if(expr->expr_type == A1TC_UNIVERVAL) - break; - return 0; - } - - if(!expr->Identifier) return 0; - - if(flags & APF_LINE_COMMENTS) - INDENT("\n", expr->_lineno); - INDENT("Identifier); - - if(expr->expr_type == A1TC_REFERENCE) { - se = WITH_MODULE_NAMESPACE(expr->module, expr_ns, asn1f_find_terminal_type_ex(asn, expr_ns, expr)); - if(!se) { - safe_printf(" (ANY)"); - return 0; - } - expr = se; - dont_involve_children = 1; - } - - if(expr->expr_type == ASN_CONSTR_CHOICE - || expr->expr_type == ASN_CONSTR_SEQUENCE_OF - || expr->expr_type == ASN_CONSTR_SET_OF - || expr->expr_type == ASN_CONSTR_SET - || expr->expr_type == ASN_BASIC_INTEGER - || expr->expr_type == ASN_BASIC_ENUMERATED) { - expr_unordered = 1; - } - - if(TQ_FIRST(&expr->members)) { - int extensible = 0; - if(expr->expr_type == ASN_BASIC_BIT_STRING) - dont_involve_children = 1; - safe_printf(" ("); - TQ_FOR(se, &(expr->members), next) { - if(se->expr_type == A1TC_EXTENSIBLE) { - extensible = 1; - continue; - } else if(!se->Identifier - && se->expr_type == A1TC_REFERENCE) { - asn1print_ref(se->reference, flags); - } else if(se->Identifier) { - safe_printf("%s", se->Identifier); - } else { - safe_printf("ANY"); - } - if(expr->expr_type != ASN_CONSTR_SET - && expr->expr_type != ASN_CONSTR_CHOICE - && expr->expr_type != ASN_BASIC_INTEGER - && expr->expr_type != ASN_BASIC_ENUMERATED) { - if(expr_unordered) - safe_printf("*"); - else if(se->marker.flags) - safe_printf("?"); - else if(expr->expr_type == ASN_BASIC_BIT_STRING) - safe_printf("?"); - } - if(TQ_NEXT(se, next) - && TQ_NEXT(se, next)->expr_type != A1TC_EXTENSIBLE) { - safe_printf(expr_unordered?"|":", "); - } - } - if(extensible) { - safe_printf(expr_unordered?"|":", "); - safe_printf("ANY"); - if(expr->expr_type != ASN_CONSTR_SET - && expr->expr_type != ASN_CONSTR_CHOICE - && expr->expr_type != ASN_BASIC_INTEGER - && expr->expr_type != ASN_BASIC_ENUMERATED) - safe_printf("*"); - } - - safe_printf(")"); - if(expr->expr_type == ASN_CONSTR_SET) - safe_printf("*"); - - } else switch(expr->expr_type) { - case ASN_BASIC_BOOLEAN: - safe_printf(" (true|false)"); - break; - case ASN_CONSTR_CHOICE: - case ASN_CONSTR_SET: - case ASN_CONSTR_SET_OF: - case ASN_CONSTR_SEQUENCE: - case ASN_CONSTR_SEQUENCE_OF: - case ASN_BASIC_NULL: - case A1TC_UNIVERVAL: - safe_printf(" EMPTY"); - break; - case ASN_TYPE_ANY: - safe_printf(" ANY"); - break; - case ASN_BASIC_BIT_STRING: - case ASN_BASIC_OCTET_STRING: - case ASN_BASIC_OBJECT_IDENTIFIER: - case ASN_BASIC_RELATIVE_OID: - case ASN_BASIC_INTEGER: - case ASN_BASIC_UTCTime: - case ASN_BASIC_GeneralizedTime: - case ASN_STRING_NumericString: - case ASN_STRING_PrintableString: - safe_printf(" (#PCDATA)"); - break; - case ASN_STRING_VisibleString: - case ASN_STRING_ISO646String: - /* Entity references, but not XML elements may be present */ - safe_printf(" (#PCDATA)"); - break; - case ASN_BASIC_REAL: /* e.g. */ - case ASN_BASIC_ENUMERATED: /* e.g. */ - default: - /* - * XML elements are allowed. - * For example, a UTF8String may contain "". - */ - safe_printf(" ANY"); - } - safe_printf(">\n"); - - /* - * Display the descendants (children) of the current type. - */ - if(!dont_involve_children) { - TQ_FOR(se, &(expr->members), next) { - if(se->expr_type == A1TC_EXTENSIBLE) continue; - asn1print_expr_dtd(asn, mod, se, flags, level + 1); - } - } - - return 0; -} diff --git a/libasn1print/asn1print.h b/libasn1print/asn1print.h deleted file mode 100644 index 1666b99..0000000 --- a/libasn1print/asn1print.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef ASN1PRINT_H -#define ASN1PRINT_H - -enum asn1print_flags { - APF_NOFLAGS, - APF_NOINDENT = 0x01, /* Disable indentation */ - APF_LINE_COMMENTS = 0x02, /* Include line comments */ - APF_PRINT_XML_DTD = 0x04, /* Generate XML DTD */ - APF_PRINT_CONSTRAINTS = 0x08, /* Explain constraints */ - APF_PRINT_CLASS_MATRIX = 0x10, /* Dump class matrix */ -}; - -/* - * Print the contents of the parsed ASN.1 syntax tree. - */ -int asn1print(asn1p_t *asn, enum asn1print_flags flags); - -const char *asn1p_constraint_string(const asn1p_constraint_t *ct); - -#endif /* ASN1PRINT_H */ diff --git a/m4/ax_check_compile_and_link_flag.m4 b/m4/ax_check_compile_and_link_flag.m4 deleted file mode 100644 index 36d7eae..0000000 --- a/m4/ax_check_compile_and_link_flag.m4 +++ /dev/null @@ -1,72 +0,0 @@ -# SYNOPSIS -# -# AX_CHECK_COMPILE_AND_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -# -# DESCRIPTION -# -# Check whether the given FLAG works with the current language's compiler -# or gives an error. (Warnings, however, are ignored) -# -# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -# success/failure. -# -# If EXTRA-FLAGS is defined, it is added to the current language's default -# flags (e.g. CFLAGS) when the check is done. The check is thus made with -# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -# force the compiler to issue an error when a bad flag is given. -# -# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# Copyright (c) 2017 Lev Walkin -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 1 - -AC_DEFUN([AX_CHECK_COMPILE_AND_LINK_FLAG], -[AC_PREREQ(2.61)dnl -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]clflags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler and linker accept $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl AX_CHECK_COMPILE_AND_LINK_FLAG - diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 deleted file mode 100644 index 51df0c0..0000000 --- a/m4/ax_check_compile_flag.m4 +++ /dev/null @@ -1,74 +0,0 @@ -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -# -# DESCRIPTION -# -# Check whether the given FLAG works with the current language's compiler -# or gives an error. (Warnings, however, are ignored) -# -# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -# success/failure. -# -# If EXTRA-FLAGS is defined, it is added to the current language's default -# flags (e.g. CFLAGS) when the check is done. The check is thus made with -# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -# force the compiler to issue an error when a bad flag is given. -# -# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 3 - -AC_DEFUN([AX_CHECK_COMPILE_FLAG], -[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl AX_CHECK_COMPILE_FLAGS diff --git a/m4/ax_code_coverage.m4 b/m4/ax_code_coverage.m4 deleted file mode 100644 index 869d470..0000000 --- a/m4/ax_code_coverage.m4 +++ /dev/null @@ -1,266 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CODE_COVERAGE() -# -# DESCRIPTION -# -# Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS, -# CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included -# in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every -# build target (program or library) which should be built with code -# coverage support. Also defines CODE_COVERAGE_RULES which should be -# substituted in your Makefile; and $enable_code_coverage which can be -# used in subsequent configure output. CODE_COVERAGE_ENABLED is defined -# and substituted, and corresponds to the value of the -# --enable-code-coverage option, which defaults to being disabled. -# -# Test also for gcov program and create GCOV variable that could be -# substituted. -# -# Note that all optimization flags in CFLAGS must be disabled when code -# coverage is enabled. -# -# Usage example: -# -# configure.ac: -# -# AX_CODE_COVERAGE -# -# Makefile.am: -# -# @CODE_COVERAGE_RULES@ -# my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ... -# my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ... -# my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ... -# my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ... -# -# This results in a "check-code-coverage" rule being added to any -# Makefile.am which includes "@CODE_COVERAGE_RULES@" (assuming the module -# has been configured with --enable-code-coverage). Running `make -# check-code-coverage` in that directory will run the module's test suite -# (`make check`) and build a code coverage report detailing the code which -# was touched, then print the URI for the report. -# -# This code was derived from Makefile.decl in GLib, originally licenced -# under LGPLv2.1+. -# -# LICENSE -# -# Copyright (c) 2012, 2016 Philip Withnall -# Copyright (c) 2012 Xan Lopez -# Copyright (c) 2012 Christian Persch -# Copyright (c) 2012 Paolo Borelli -# Copyright (c) 2012 Dan Winship -# Copyright (c) 2015 Bastien ROUCARIES -# -# This library is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at -# your option) any later version. -# -# This library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . - -#serial 23 - -AC_DEFUN([AX_CODE_COVERAGE],[ - dnl Check for --enable-code-coverage - AC_REQUIRE([AC_PROG_SED]) - - # allow to override gcov location - AC_ARG_WITH([gcov], - [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) - - AC_MSG_CHECKING([whether to build with code coverage support]) - AC_ARG_ENABLE([code-coverage], - AS_HELP_STRING([--enable-code-coverage], - [enable code coverage statistics collection]),, - enable_code_coverage=no) - - AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) - AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) - AC_MSG_RESULT($enable_code_coverage) - - AS_IF([ test "$enable_code_coverage" = "yes" ], [ - # check for gcov - AC_CHECK_TOOL([GCOV], - [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], - [:]) - AS_IF([test "X$GCOV" = "X:"], - [AC_MSG_ERROR([gcov is needed to do coverage])]) - AC_SUBST([GCOV]) - - dnl Check if gcc is being used - AS_IF([ test "$GCC" = "no" ], [ - AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) - ]) - - AC_CHECK_PROG([LCOV], [lcov], [lcov]) - AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) - - AS_IF([ test -z "$LCOV" ], [ - AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) - ]) - - AS_IF([ test -z "$GENHTML" ], [ - AC_MSG_ERROR([Could not find genhtml from the lcov package]) - ]) - - dnl Build the code coverage flags - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - AX_CHECK_COMPILE_FLAG([-coverage], [ - CODE_COVERAGE_CFLAGS="-O0 -g -coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -coverage" - CODE_COVERAGE_LDFLAGS="-coverage" - CODE_COVERAGE_LIBS="" - ], [ - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - ]) - - AC_SUBST([CODE_COVERAGE_CPPFLAGS]) - AC_SUBST([CODE_COVERAGE_CFLAGS]) - AC_SUBST([CODE_COVERAGE_CXXFLAGS]) - AC_SUBST([CODE_COVERAGE_LIBS]) - AC_SUBST([CODE_COVERAGE_LDFLAGS]) - - [CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -'] - [CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -'] - [CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -'] - ], [ - [CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -'] - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - ]) - -[CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -'] - - AC_SUBST([CODE_COVERAGE_RULES]) - m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) -]) diff --git a/m4/libtool.m4 b/m4/libtool.m4 deleted file mode 100644 index 10ab284..0000000 --- a/m4/libtool.m4 +++ /dev/null @@ -1,8388 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -]) - -# serial 58 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_PREPARE_CC_BASENAME -# ----------------------- -m4_defun([_LT_PREPARE_CC_BASENAME], [ -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} -])# _LT_PREPARE_CC_BASENAME - - -# _LT_CC_BASENAME(CC) -# ------------------- -# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, -# but that macro is also expanded into generated libtool script, which -# arranges for $SED and $ECHO to be set by different means. -m4_defun([_LT_CC_BASENAME], -[m4_require([_LT_PREPARE_CC_BASENAME])dnl -AC_REQUIRE([_LT_DECL_SED])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl -func_cc_basename $1 -cc_basename=$func_cc_basename_result -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl -m4_require([_LT_CMD_TRUNCATE])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from 'configure', and 'config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# 'config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain=$ac_aux_dir/ltmain.sh -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the 'libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to 'config.status' so that its -# declaration there will have the same value as in 'configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags='_LT_TAGS'dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into 'config.status', and then the shell code to quote escape them in -# for loops in 'config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# '#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test 0 = "$lt_write_fail" && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -_LT_COPYING -_LT_LIBTOOL_TAGS - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -_LT_PREPARE_MUNGE_PATH_LIST -_LT_PREPARE_CC_BASENAME - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS=$save_LDFLAGS - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test yes = "$lt_cv_ld_force_load"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - m4_if([$1], [CXX], -[ if test yes != "$lt_cv_apple_cc_single_mod"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script that will find a shell with a builtin -# printf (that we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case $ECHO in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes = "$cross_compiling"; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links=nottested -if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test no = "$hard_links"; then - AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", - [Define to the sub-directory where libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then - - # We can hardcode non-existent directories. - if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && - test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || - test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_PREPARE_MUNGE_PATH_LIST -# --------------------------- -# Make sure func_munge_path_list() is defined correctly. -m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], -[[# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} -]])# _LT_PREPARE_PATH_LIST - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -AC_ARG_VAR([LT_SYS_LIBRARY_PATH], -[User-defined run-time library search path.]) - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a[(]lib.so.V[)]' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], - [Detected run-time system search path for libraries]) -_LT_DECL([], [configure_time_lt_sys_library_path], [2], - [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program that can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program that can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], -[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi]) -rm -f conftest.i conftest2.i conftest.out]) -])# _LT_PATH_DD - - -# _LT_CMD_TRUNCATE -# ---------------- -# find command to truncate a binary pipe -m4_defun([_LT_CMD_TRUNCATE], -[m4_require([_LT_PATH_DD]) -AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], -[printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) -_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], - [Command to truncate a binary pipe]) -])# _LT_CMD_TRUNCATE - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[[4-9]]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[[45]]*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# _LT_DLL_DEF_P([FILE]) -# --------------------- -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with func_dll_def_p in the libtool script -AC_DEFUN([_LT_DLL_DEF_P], -[dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -])# _LT_DLL_DEF_P - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], - [Transform the output of nm into a list of symbols to manually relocate]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], - [The name lister interface]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test yes = "$GCC"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS=$save_LDFLAGS]) - if test yes = "$lt_cv_irix_exported_symbol"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(ld_shlibs, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - osf3*) - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting $shlibpath_var if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC=$CC -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report what library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC=$lt_save_CC -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - - _LT_TAGVAR(GCC, $1)=$GXX - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)=$prev$p - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)=$p - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)=$p - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$G77 - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f "$lt_ac_sed" && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test 10 -lt "$lt_ac_count" && break - lt_ac_count=`expr $lt_ac_count + 1` - if test "$lt_ac_count" -gt "$lt_ac_max"; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine what file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 deleted file mode 100644 index 94b0829..0000000 --- a/m4/ltoptions.m4 +++ /dev/null @@ -1,437 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 8 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option '$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl 'shared' nor 'disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], - [_LT_WITH_AIX_SONAME([aix])]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the 'shared' and -# 'disable-shared' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the 'static' and -# 'disable-static' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the 'fast-install' -# and 'disable-fast-install' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_AIX_SONAME([DEFAULT]) -# ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. -m4_define([_LT_WITH_AIX_SONAME], -[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl -shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[[5-9]]*,yes) - AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) - AC_MSG_RESULT([$with_aix_soname]) - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - -_LT_DECL([], [shared_archive_member_spec], [0], - [Shared archive member basename, for filename based shared library versioning on AIX])dnl -])# _LT_WITH_AIX_SONAME - -LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' -# LT_INIT options. -# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [pic_mode=m4_default([$1], [default])]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 deleted file mode 100644 index 48bc934..0000000 --- a/m4/ltsugar.m4 +++ /dev/null @@ -1,124 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 deleted file mode 100644 index fa04b52..0000000 --- a/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 4179 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 deleted file mode 100644 index c6b26f8..0000000 --- a/m4/lt~obsolete.m4 +++ /dev/null @@ -1,99 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/skeletons/.deps/check_converter_c89_32_example-converter-example.Po b/skeletons/.deps/check_converter_c89_32_example-converter-example.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/check_converter_c89_32_example-converter-example.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/check_converter_c89_example-converter-example.Po b/skeletons/.deps/check_converter_c89_example-converter-example.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/check_converter_c89_example-converter-example.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/check_converter_example-converter-example.Po b/skeletons/.deps/check_converter_example-converter-example.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/check_converter_example-converter-example.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ANY.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ANY.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ANY.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-BMPString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-BMPString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-BMPString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-BOOLEAN.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-BOOLEAN.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-BOOLEAN.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ENUMERATED.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ENUMERATED.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ENUMERATED.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-GraphicString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-GraphicString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-GraphicString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-IA5String.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-IA5String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-IA5String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ISO646String.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ISO646String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ISO646String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NULL.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NULL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NULL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeReal.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeReal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NativeReal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-NumericString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-NumericString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-NumericString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-PrintableString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-PrintableString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-PrintableString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-REAL.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-REAL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-REAL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-T61String.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-T61String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-T61String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-TeletexString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-TeletexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-TeletexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-UTCTime.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-UTCTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-UTCTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-UTF8String.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-UTF8String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-UTF8String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-UniversalString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-UniversalString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-UniversalString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-VideotexString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-VideotexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-VideotexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-VisibleString.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-VisibleString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-VisibleString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_application.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_application.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_application.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_bit_data.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_bit_data.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_bit_data.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_internal.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_internal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_internal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_random_fill.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_random_fill.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-asn_random_fill.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constr_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-constraints.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-constraints.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-constraints.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-der_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-der_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-der_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-oer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-per_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-per_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_opentype.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-per_opentype.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_opentype.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-per_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-per_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_32_la-xer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ANY.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ANY.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ANY.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-BMPString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-BMPString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-BMPString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-BOOLEAN.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-BOOLEAN.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-BOOLEAN.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ENUMERATED.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ENUMERATED.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ENUMERATED.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-GeneralString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-GeneralString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-GeneralString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-GeneralizedTime.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-GeneralizedTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-GeneralizedTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-GraphicString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-GraphicString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-GraphicString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-IA5String.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-IA5String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-IA5String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-INTEGER_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ISO646String.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ISO646String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ISO646String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NULL.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NULL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NULL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NativeInteger_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NativeReal.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NativeReal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NativeReal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-NumericString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-NumericString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-NumericString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ObjectDescriptor.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ObjectDescriptor.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ObjectDescriptor.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-PrintableString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-PrintableString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-PrintableString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-REAL.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-REAL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-REAL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-RELATIVE-OID.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-RELATIVE-OID.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-RELATIVE-OID.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-T61String.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-T61String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-T61String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-TeletexString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-TeletexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-TeletexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-UTCTime.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-UTCTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-UTCTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-UTF8String.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-UTF8String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-UTF8String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-UniversalString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-UniversalString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-UniversalString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-VideotexString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-VideotexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-VideotexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-VisibleString.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-VisibleString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-VisibleString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_application.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_application.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_application.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_bit_data.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_bit_data.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_bit_data.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_codecs_prim.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_codecs_prim.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_codecs_prim.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_internal.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_internal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_internal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-asn_random_fill.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-asn_random_fill.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-asn_random_fill.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ber_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ber_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ber_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_length.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_length.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_length.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_tag.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_tag.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-ber_tlv_tag.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constr_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constr_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constr_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-constraints.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-constraints.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-constraints.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-der_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-der_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-der_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-oer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-oer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-oer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-oer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-oer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-oer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-oer_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-oer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-oer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-per_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-per_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-per_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-per_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-per_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-per_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-per_opentype.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-per_opentype.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-per_opentype.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-per_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-per_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-per_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-xer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-xer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-xer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-xer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-xer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-xer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_c89_la-xer_support.Plo b/skeletons/.deps/libasn1cskeletons_c89_la-xer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_c89_la-xer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ANY.Plo b/skeletons/.deps/libasn1cskeletons_la-ANY.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ANY.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-BIT_STRING.Plo b/skeletons/.deps/libasn1cskeletons_la-BIT_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-BIT_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-BIT_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-BIT_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-BIT_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-BMPString.Plo b/skeletons/.deps/libasn1cskeletons_la-BMPString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-BMPString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-BOOLEAN.Plo b/skeletons/.deps/libasn1cskeletons_la-BOOLEAN.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-BOOLEAN.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ENUMERATED.Plo b/skeletons/.deps/libasn1cskeletons_la-ENUMERATED.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ENUMERATED.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-GeneralString.Plo b/skeletons/.deps/libasn1cskeletons_la-GeneralString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-GeneralString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-GeneralizedTime.Plo b/skeletons/.deps/libasn1cskeletons_la-GeneralizedTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-GeneralizedTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-GraphicString.Plo b/skeletons/.deps/libasn1cskeletons_la-GraphicString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-GraphicString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-IA5String.Plo b/skeletons/.deps/libasn1cskeletons_la-IA5String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-IA5String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-INTEGER.Plo b/skeletons/.deps/libasn1cskeletons_la-INTEGER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-INTEGER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-INTEGER_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-INTEGER_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-INTEGER_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ISO646String.Plo b/skeletons/.deps/libasn1cskeletons_la-ISO646String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ISO646String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NULL.Plo b/skeletons/.deps/libasn1cskeletons_la-NULL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NULL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated.Plo b/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NativeEnumerated_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NativeInteger.Plo b/skeletons/.deps/libasn1cskeletons_la-NativeInteger.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NativeInteger.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NativeInteger_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-NativeInteger_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NativeInteger_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NativeReal.Plo b/skeletons/.deps/libasn1cskeletons_la-NativeReal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NativeReal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-NumericString.Plo b/skeletons/.deps/libasn1cskeletons_la-NumericString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-NumericString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo b/skeletons/.deps/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING.Plo b/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-OCTET_STRING_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-OPEN_TYPE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ObjectDescriptor.Plo b/skeletons/.deps/libasn1cskeletons_la-ObjectDescriptor.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ObjectDescriptor.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-PrintableString.Plo b/skeletons/.deps/libasn1cskeletons_la-PrintableString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-PrintableString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-REAL.Plo b/skeletons/.deps/libasn1cskeletons_la-REAL.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-REAL.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-RELATIVE-OID.Plo b/skeletons/.deps/libasn1cskeletons_la-RELATIVE-OID.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-RELATIVE-OID.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-T61String.Plo b/skeletons/.deps/libasn1cskeletons_la-T61String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-T61String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-TeletexString.Plo b/skeletons/.deps/libasn1cskeletons_la-TeletexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-TeletexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-UTCTime.Plo b/skeletons/.deps/libasn1cskeletons_la-UTCTime.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-UTCTime.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-UTF8String.Plo b/skeletons/.deps/libasn1cskeletons_la-UTF8String.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-UTF8String.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-UniversalString.Plo b/skeletons/.deps/libasn1cskeletons_la-UniversalString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-UniversalString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-VideotexString.Plo b/skeletons/.deps/libasn1cskeletons_la-VideotexString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-VideotexString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-VisibleString.Plo b/skeletons/.deps/libasn1cskeletons_la-VisibleString.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-VisibleString.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_application.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_application.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_application.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_bit_data.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_bit_data.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_bit_data.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_codecs_prim.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_codecs_prim.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_codecs_prim.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_internal.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_internal.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_internal.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-asn_random_fill.Plo b/skeletons/.deps/libasn1cskeletons_la-asn_random_fill.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-asn_random_fill.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ber_decoder.Plo b/skeletons/.deps/libasn1cskeletons_la-ber_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ber_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ber_tlv_length.Plo b/skeletons/.deps/libasn1cskeletons_la-ber_tlv_length.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ber_tlv_length.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-ber_tlv_tag.Plo b/skeletons/.deps/libasn1cskeletons_la-ber_tlv_tag.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-ber_tlv_tag.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_CHOICE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SET.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SET.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SET.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF_oer.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF_oer.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_SET_OF_oer.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constr_TYPE.Plo b/skeletons/.deps/libasn1cskeletons_la-constr_TYPE.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constr_TYPE.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-constraints.Plo b/skeletons/.deps/libasn1cskeletons_la-constraints.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-constraints.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-der_encoder.Plo b/skeletons/.deps/libasn1cskeletons_la-der_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-der_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-oer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_la-oer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-oer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-oer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_la-oer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-oer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-oer_support.Plo b/skeletons/.deps/libasn1cskeletons_la-oer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-oer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-per_decoder.Plo b/skeletons/.deps/libasn1cskeletons_la-per_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-per_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-per_encoder.Plo b/skeletons/.deps/libasn1cskeletons_la-per_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-per_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-per_opentype.Plo b/skeletons/.deps/libasn1cskeletons_la-per_opentype.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-per_opentype.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-per_support.Plo b/skeletons/.deps/libasn1cskeletons_la-per_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-per_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-xer_decoder.Plo b/skeletons/.deps/libasn1cskeletons_la-xer_decoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-xer_decoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-xer_encoder.Plo b/skeletons/.deps/libasn1cskeletons_la-xer_encoder.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-xer_encoder.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/.deps/libasn1cskeletons_la-xer_support.Plo b/skeletons/.deps/libasn1cskeletons_la-xer_support.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/skeletons/.deps/libasn1cskeletons_la-xer_support.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/skeletons/ANY.c b/skeletons/ANY.c deleted file mode 100644 index 0b81557..0000000 --- a/skeletons/ANY.c +++ /dev/null @@ -1,450 +0,0 @@ -/* - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = { - sizeof(ANY_t), - offsetof(ANY_t, _asn_ctx), - ASN_OSUBV_ANY -}; -asn_TYPE_operation_t asn_OP_ANY = { - OCTET_STRING_free, - OCTET_STRING_print, - OCTET_STRING_compare, - OCTET_STRING_decode_ber, - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - ANY_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - 0, - 0, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, 0, 0, 0, -#else - ANY_decode_uper, - ANY_encode_uper, - ANY_decode_aper, - ANY_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - 0, /* Random fill is not defined for ANY type */ - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_ANY = { - "ANY", - "ANY", - &asn_OP_ANY, - 0, 0, 0, 0, - { 0, 0, asn_generic_no_constraint }, /* No constraints */ - 0, 0, /* No members */ - &asn_SPC_ANY_specs, -}; - -#undef RETURN -#define RETURN(_code) \ - do { \ - asn_dec_rval_t tmprval; \ - tmprval.code = _code; \ - tmprval.consumed = consumed_myself; \ - return tmprval; \ - } while(0) - -asn_enc_rval_t -ANY_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - if(flags & XER_F_CANONICAL) { - /* - * Canonical XER-encoding of ANY type is not supported. - */ - ASN__ENCODE_FAILED; - } - - /* Dump as binary */ - return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key); -} - -struct _callback_arg { - uint8_t *buffer; - size_t offset; - size_t size; -}; - -static int ANY__consume_bytes(const void *buffer, size_t size, void *key); - -int -ANY_fromType(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { - struct _callback_arg arg; - asn_enc_rval_t erval = {0,0,0}; - - if(!st || !td) { - errno = EINVAL; - return -1; - } - - if(!sptr) { - if(st->buf) FREEMEM(st->buf); - st->size = 0; - return 0; - } - - arg.offset = arg.size = 0; - arg.buffer = 0; - - erval = der_encode(td, sptr, ANY__consume_bytes, &arg); - if(erval.encoded == -1) { - if(arg.buffer) FREEMEM(arg.buffer); - return -1; - } - assert((size_t)erval.encoded == arg.offset); - - if(st->buf) FREEMEM(st->buf); - st->buf = arg.buffer; - st->size = arg.offset; - - return 0; -} - -int -ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { - uint8_t *buffer = NULL; - ssize_t erval; - - if(!st || !td) { - errno = EINVAL; - return -1; - } - - if(!sptr) { - if(st->buf) FREEMEM(st->buf); - st->size = 0; - return 0; - } - - erval = aper_encode_to_new_buffer(td, td->encoding_constraints.per_constraints, sptr, (void**)&buffer); - - if(erval == -1) { - if(buffer) FREEMEM(buffer); - return -1; - } - assert((size_t)erval > 0); - - if(st->buf) FREEMEM(st->buf); - st->buf = buffer; - st->size = erval; - - return 0; -} - -ANY_t * -ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) { - ANY_t tmp; - ANY_t *st; - - if(!td || !sptr) { - errno = EINVAL; - return 0; - } - - memset(&tmp, 0, sizeof(tmp)); - - if(ANY_fromType(&tmp, td, sptr)) return 0; - - st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); - if(st) { - *st = tmp; - return st; - } else { - FREEMEM(tmp.buf); - return 0; - } -} - -ANY_t * -ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) { - ANY_t tmp; - ANY_t *st; - - if(!td || !sptr) { - errno = EINVAL; - return 0; - } - - memset(&tmp, 0, sizeof(tmp)); - - if(ANY_fromType_aper(&tmp, td, sptr)) return 0; - - st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); - if(st) { - *st = tmp; - return st; - } else { - FREEMEM(tmp.buf); - return 0; - } -} - -int -ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { - asn_dec_rval_t rval; - void *newst = 0; - - if(!st || !td || !struct_ptr) { - errno = EINVAL; - return -1; - } - - if(st->buf == 0) { - /* Nothing to convert, make it empty. */ - *struct_ptr = (void *)0; - return 0; - } - - rval = ber_decode(0, td, (void **)&newst, st->buf, st->size); - if(rval.code == RC_OK) { - *struct_ptr = newst; - return 0; - } else { - /* Remove possibly partially decoded data. */ - ASN_STRUCT_FREE(*td, newst); - return -1; - } -} - -int -ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { - asn_dec_rval_t rval; - void *newst = 0; - - if(!st || !td || !struct_ptr) { - errno = EINVAL; - return -1; - } - - if(st->buf == 0) { - /* Nothing to convert, make it empty. */ - *struct_ptr = (void *)0; - return 0; - } - - rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0); - if(rval.code == RC_OK) { - *struct_ptr = newst; - return 0; - } else { - /* Remove possibly partially decoded data. */ - ASN_STRUCT_FREE(*td, newst); - return -1; - } -} - -static int ANY__consume_bytes(const void *buffer, size_t size, void *key) { - struct _callback_arg *arg = (struct _callback_arg *)key; - - if((arg->offset + size) >= arg->size) { - size_t nsize = (arg->size ? arg->size << 2 : 16) + size; - void *p = REALLOC(arg->buffer, nsize); - if(!p) return -1; - arg->buffer = (uint8_t *)p; - arg->size = nsize; - } - - memcpy(arg->buffer + arg->offset, buffer, size); - arg->offset += size; - assert(arg->offset < arg->size); - - return 0; -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -ANY_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_ANY_specs; - size_t consumed_myself = 0; - int repeat; - ANY_t *st = (ANY_t *)*sptr; - - (void)opt_codec_ctx; - (void)constraints; - - /* - * Allocate the structure. - */ - if(!st) { - st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) RETURN(RC_FAIL); - } - - ASN_DEBUG("UPER Decoding ANY type"); - - st->size = 0; - do { - ssize_t raw_len; - ssize_t len_bytes; - ssize_t len_bits; - void *p; - int ret; - - /* Get the PER length */ - raw_len = uper_get_length(pd, -1, 0, &repeat); - if(raw_len < 0) RETURN(RC_WMORE); - if(raw_len == 0 && st->buf) break; - - ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, - repeat ? "repeat" : "once", td->name); - len_bytes = raw_len; - len_bits = len_bytes * 8; - - p = REALLOC(st->buf, st->size + len_bytes + 1); - if(!p) RETURN(RC_FAIL); - st->buf = (uint8_t *)p; - - ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); - if(ret < 0) RETURN(RC_WMORE); - consumed_myself += len_bits; - st->size += len_bytes; - } while(repeat); - st->buf[st->size] = 0; /* nul-terminate */ - - RETURN(RC_OK); -} - -asn_enc_rval_t -ANY_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const ANY_t *st = (const ANY_t *)sptr; - asn_enc_rval_t er = {0, 0, 0}; - const uint8_t *buf; - size_t size; - int ret; - - (void)constraints; - - if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; - - buf = st->buf; - size = st->size; - do { - int need_eom = 0; - ssize_t may_save = uper_put_length(po, size, &need_eom); - if(may_save < 0) ASN__ENCODE_FAILED; - - ret = per_put_many_bits(po, buf, may_save * 8); - if(ret) ASN__ENCODE_FAILED; - - buf += may_save; - size -= may_save; - assert(!(may_save & 0x07) || !size); - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - } while(size); - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -ANY_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_ANY_specs; - size_t consumed_myself = 0; - int repeat; - ANY_t *st = (ANY_t *)*sptr; - - (void)opt_codec_ctx; - (void)constraints; - - /* - * Allocate the structure. - */ - if(!st) { - st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) RETURN(RC_FAIL); - } - - ASN_DEBUG("APER Decoding ANY type"); - - st->size = 0; - do { - ssize_t raw_len; - ssize_t len_bytes; - ssize_t len_bits; - void *p; - int ret; - - /* Get the PER length */ - raw_len = aper_get_length(pd, -1, 0, &repeat); - if(raw_len < 0) RETURN(RC_WMORE); - if(raw_len == 0 && st->buf) break; - - ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, - repeat ? "repeat" : "once", td->name); - len_bytes = raw_len; - len_bits = len_bytes * 8; - - p = REALLOC(st->buf, st->size + len_bytes + 1); - if(!p) RETURN(RC_FAIL); - st->buf = (uint8_t *)p; - - ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); - if(ret < 0) RETURN(RC_WMORE); - consumed_myself += len_bits; - st->size += len_bytes; - } while(repeat); - st->buf[st->size] = 0; /* nul-terminate */ - - RETURN(RC_OK); -} - -asn_enc_rval_t -ANY_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const ANY_t *st = (const ANY_t *)sptr; - asn_enc_rval_t er = {0, 0, 0}; - const uint8_t *buf; - size_t size; - int ret; - - (void)constraints; - - if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; - - buf = st->buf; - size = st->size; - do { - int need_eom = 0; - ssize_t may_save = uper_put_length(po, size, &need_eom); - if(may_save < 0) ASN__ENCODE_FAILED; - - ret = per_put_many_bits(po, buf, may_save * 8); - if(ret) ASN__ENCODE_FAILED; - - buf += may_save; - size -= may_save; - assert(!(may_save & 0x07) || !size); - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - } while(size); - - ASN__ENCODED_OK(er); -} -#endif /* ASN_DISABLE_PER_SUPPORT */ - diff --git a/skeletons/ANY.h b/skeletons/ANY.h deleted file mode 100644 index b30381f..0000000 --- a/skeletons/ANY.h +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_TYPE_ANY_H -#define ASN_TYPE_ANY_H - -#include /* Implemented via OCTET STRING type */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ANY { - uint8_t *buf; /* BER-encoded ANY contents */ - int size; /* Size of the above buffer */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} ANY_t; - -extern asn_TYPE_descriptor_t asn_DEF_ANY; -extern asn_TYPE_operation_t asn_OP_ANY; -extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs; - -asn_struct_free_f ANY_free; -asn_struct_print_f ANY_print; -ber_type_decoder_f ANY_decode_ber; -der_type_encoder_f ANY_encode_der; -xer_type_encoder_f ANY_encode_xer; -per_type_decoder_f ANY_decode_uper; -per_type_encoder_f ANY_encode_uper; -per_type_decoder_f ANY_decode_aper; -per_type_encoder_f ANY_encode_aper; - -#define ANY_free OCTET_STRING_free -#define ANY_print OCTET_STRING_print -#define ANY_compare OCTET_STRING_compare -#define ANY_constraint asn_generic_no_constraint -#define ANY_decode_ber OCTET_STRING_decode_ber -#define ANY_encode_der OCTET_STRING_encode_der -#define ANY_decode_xer OCTET_STRING_decode_xer_hex - -/****************************** - * Handy conversion routines. * - ******************************/ - -/* Convert another ASN.1 type into the ANY. This implies DER encoding. */ -int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr); -int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr); -ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr); -ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr); - -/* Convert the contents of the ANY type into the specified type. */ -int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); -int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); - -#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size)) -#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \ - &asn_DEF_ANY, (buf), (size)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_TYPE_ANY_H */ diff --git a/skeletons/BIT_STRING.c b/skeletons/BIT_STRING.c deleted file mode 100644 index e8d7354..0000000 --- a/skeletons/BIT_STRING.c +++ /dev/null @@ -1,656 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * BIT STRING basic type description. - */ -static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = { - sizeof(BIT_STRING_t), - offsetof(BIT_STRING_t, _asn_ctx), - ASN_OSUBV_BIT -}; -asn_TYPE_operation_t asn_OP_BIT_STRING = { - OCTET_STRING_free, /* Implemented in terms of OCTET STRING */ - BIT_STRING_print, - BIT_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_decode_xer_binary, - BIT_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - BIT_STRING_decode_oer, - BIT_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - BIT_STRING_decode_uper, /* Unaligned PER decoder */ - BIT_STRING_encode_uper, /* Unaligned PER encoder */ - OCTET_STRING_decode_aper, /* Aligned PER decoder */ - OCTET_STRING_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - BIT_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_BIT_STRING = { - "BIT STRING", - "BIT_STRING", - &asn_OP_BIT_STRING, - asn_DEF_BIT_STRING_tags, - sizeof(asn_DEF_BIT_STRING_tags) - / sizeof(asn_DEF_BIT_STRING_tags[0]), - asn_DEF_BIT_STRING_tags, /* Same as above */ - sizeof(asn_DEF_BIT_STRING_tags) - / sizeof(asn_DEF_BIT_STRING_tags[0]), - { 0, 0, BIT_STRING_constraint }, - 0, 0, /* No members */ - &asn_SPC_BIT_STRING_specs -}; - -/* - * BIT STRING generic constraint. - */ -int -BIT_STRING_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - - if(st && st->buf) { - if((st->size == 0 && st->bits_unused) - || st->bits_unused < 0 || st->bits_unused > 7) { - ASN__CTFAIL(app_key, td, sptr, - "%s: invalid padding byte (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} - -static const char *_bit_pattern[16] = { - "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", - "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" -}; - -asn_enc_rval_t -BIT_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = {0, 0, 0}; - char scratch[128]; - char *p = scratch; - char *scend = scratch + (sizeof(scratch) - 10); - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - int xcan = (flags & XER_F_CANONICAL); - uint8_t *buf; - uint8_t *end; - - if(!st || !st->buf) - ASN__ENCODE_FAILED; - - er.encoded = 0; - - buf = st->buf; - end = buf + st->size - 1; /* Last byte is special */ - - /* - * Binary dump - */ - for(; buf < end; buf++) { - int v = *buf; - int nline = xcan?0:(((buf - st->buf) % 8) == 0); - if(p >= scend || nline) { - ASN__CALLBACK(scratch, p - scratch); - p = scratch; - if(nline) ASN__TEXT_INDENT(1, ilevel); - } - memcpy(p + 0, _bit_pattern[v >> 4], 4); - memcpy(p + 4, _bit_pattern[v & 0x0f], 4); - p += 8; - } - - if(!xcan && ((buf - st->buf) % 8) == 0) - ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK(scratch, p - scratch); - p = scratch; - - if(buf == end) { - int v = *buf; - int ubits = st->bits_unused; - int i; - for(i = 7; i >= ubits; i--) - *p++ = (v & (1 << i)) ? 0x31 : 0x30; - ASN__CALLBACK(scratch, p - scratch); - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - - -/* - * BIT STRING specific contents printer. - */ -int -BIT_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const char * const h2c = "0123456789ABCDEF"; - char scratch[64]; - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - uint8_t *buf; - uint8_t *end; - char *p = scratch; - - (void)td; /* Unused argument */ - - if(!st || !st->buf) - return (cb("", 8, app_key) < 0) ? -1 : 0; - - ilevel++; - buf = st->buf; - end = buf + st->size; - - /* - * Hexadecimal dump. - */ - for(; buf < end; buf++) { - if((buf - st->buf) % 16 == 0 && (st->size > 16) - && buf != st->buf) { - _i_INDENT(1); - /* Dump the string */ - if(cb(scratch, p - scratch, app_key) < 0) return -1; - p = scratch; - } - *p++ = h2c[*buf >> 4]; - *p++ = h2c[*buf & 0x0F]; - *p++ = 0x20; - } - - if(p > scratch) { - p--; /* Eat the tailing space */ - - if((st->size > 16)) { - _i_INDENT(1); - } - - /* Dump the incomplete 16-bytes row */ - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - } - - if(st->bits_unused) { - int ret = snprintf(scratch, sizeof(scratch), " (%d bit%s unused)", - st->bits_unused, st->bits_unused == 1 ? "" : "s"); - assert(ret > 0 && ret < (ssize_t)sizeof(scratch)); - if(ret > 0 && ret < (ssize_t)sizeof(scratch) - && cb(scratch, ret, app_key) < 0) - return -1; - } - - return 0; -} - -/* - * Non-destructively remove the trailing 0-bits from the given bit string. - */ -static const BIT_STRING_t * -BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp) { - const uint8_t *b; - union { - const uint8_t *c_buf; - uint8_t *nc_buf; - } unconst; - - if(st->size == 0) { - assert(st->bits_unused == 0); - return st; - } else { - for(b = &st->buf[st->size - 1]; b > st->buf && *b == 0; b--) { - ; - } - /* b points to the last byte which may contain data */ - if(*b) { - int unused = 7; - uint8_t v = *b; - v &= -(int8_t)v; - if(v & 0x0F) unused -= 4; - if(v & 0x33) unused -= 2; - if(v & 0x55) unused -= 1; - tmp->size = b-st->buf + 1; - tmp->bits_unused = unused; - } else { - tmp->size = b-st->buf; - tmp->bits_unused = 0; - } - - assert(b >= st->buf); - } - - unconst.c_buf = st->buf; - tmp->buf = unconst.nc_buf; - return tmp; -} - -/* - * Lexicographically compare the common prefix of both strings, - * and if it is the same return -1 for the smallest string. - */ -int -BIT_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - /* - * Remove information about trailing bits, since - * X.680 (08/2015) #22.7 "ensure that different semantics are not" - * "associated with [values that differ only in] the trailing 0 bits." - */ - BIT_STRING_t compact_a, compact_b; - const BIT_STRING_t *a = BIT_STRING__compactify(aptr, &compact_a); - const BIT_STRING_t *b = BIT_STRING__compactify(bptr, &compact_b); - const asn_OCTET_STRING_specifics_t *specs = td->specifics; - - assert(specs && specs->subvariant == ASN_OSUBV_BIT); - - if(a && b) { - size_t common_prefix_size = a->size <= b->size ? a->size : b->size; - int ret = memcmp(a->buf, b->buf, common_prefix_size); - if(ret == 0) { - /* Figure out which string with equal prefixes is longer. */ - if(a->size < b->size) { - return -1; - } else if(a->size > b->size) { - return 1; - } else { - /* Figure out how many unused bits */ - if(a->bits_unused > b->bits_unused) { - return -1; - } else if(a->bits_unused < b->bits_unused) { - return 1; - } else { - return 0; - } - } - } else { - return ret; - } - } else if(!a && !b) { - return 0; - } else if(!a) { - return -1; - } else { - return 1; - } -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -#undef RETURN -#define RETURN(_code) \ - do { \ - asn_dec_rval_t tmprval; \ - tmprval.code = _code; \ - tmprval.consumed = consumed_myself; \ - return tmprval; \ - } while(0) - -static asn_per_constraint_t asn_DEF_BIT_STRING_constraint_size = { - APC_SEMI_CONSTRAINED, -1, -1, 0, 0}; - -asn_dec_rval_t -BIT_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_BIT_STRING_specs; - const asn_per_constraints_t *pc = - constraints ? constraints : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *csiz; - asn_dec_rval_t rval = { RC_OK, 0 }; - BIT_STRING_t *st = (BIT_STRING_t *)*sptr; - ssize_t consumed_myself = 0; - int repeat; - - (void)opt_codec_ctx; - - if(pc) { - csiz = &pc->size; - } else { - csiz = &asn_DEF_BIT_STRING_constraint_size; - } - - if(specs->subvariant != ASN_OSUBV_BIT) { - ASN_DEBUG("Subvariant %d is not BIT OSUBV_BIT", specs->subvariant); - RETURN(RC_FAIL); - } - - /* - * Allocate the string. - */ - if(!st) { - st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) RETURN(RC_FAIL); - } - - ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", - csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", - csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); - - if(csiz->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) RETURN(RC_WMORE); - if(inext) { - csiz = &asn_DEF_BIT_STRING_constraint_size; - } - } - - if(csiz->effective_bits >= 0) { - FREEMEM(st->buf); - st->size = (csiz->upper_bound + 7) >> 3; - st->buf = (uint8_t *)MALLOC(st->size + 1); - if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } - } - - /* X.691, #16.5: zero-length encoding */ - /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ - /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ - if(csiz->effective_bits == 0) { - int ret; - ASN_DEBUG("Encoding BIT STRING size %ld", csiz->upper_bound); - ret = per_get_many_bits(pd, st->buf, 0, csiz->upper_bound); - if(ret < 0) RETURN(RC_WMORE); - consumed_myself += csiz->upper_bound; - st->buf[st->size] = 0; - st->bits_unused = (8 - (csiz->upper_bound & 0x7)) & 0x7; - RETURN(RC_OK); - } - - st->size = 0; - do { - ssize_t raw_len; - ssize_t len_bytes; - ssize_t len_bits; - void *p; - int ret; - - /* Get the PER length */ - raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, - &repeat); - if(raw_len < 0) RETURN(RC_WMORE); - if(raw_len == 0 && st->buf) break; - - ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", - (long)csiz->effective_bits, (long)raw_len, - repeat ? "repeat" : "once", td->name); - len_bits = raw_len; - len_bytes = (len_bits + 7) >> 3; - if(len_bits & 0x7) st->bits_unused = 8 - (len_bits & 0x7); - /* len_bits be multiple of 16K if repeat is set */ - p = REALLOC(st->buf, st->size + len_bytes + 1); - if(!p) RETURN(RC_FAIL); - st->buf = (uint8_t *)p; - - ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); - if(ret < 0) RETURN(RC_WMORE); - st->size += len_bytes; - } while(repeat); - st->buf[st->size] = 0; /* nul-terminate */ - - return rval; -} - -asn_enc_rval_t -BIT_STRING_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_BIT_STRING_specs; - const asn_per_constraints_t *pc = - constraints ? constraints : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *csiz; - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - BIT_STRING_t compact_bstr; /* Do not modify this directly! */ - asn_enc_rval_t er = { 0, 0, 0 }; - int inext = 0; /* Lies not within extension root */ - size_t size_in_bits; - const uint8_t *buf; - int ret; - int ct_extensible; - - if(!st || (!st->buf && st->size)) - ASN__ENCODE_FAILED; - - if(specs->subvariant == ASN_OSUBV_BIT) { - if((st->size == 0 && st->bits_unused) || (st->bits_unused & ~7)) - ASN__ENCODE_FAILED; - } else { - ASN__ENCODE_FAILED; - } - - if(pc) { - csiz = &pc->size; - } else { - csiz = &asn_DEF_BIT_STRING_constraint_size; - } - ct_extensible = csiz->flags & APC_EXTENSIBLE; - - /* Figure out the size without the trailing bits */ - st = BIT_STRING__compactify(st, &compact_bstr); - size_in_bits = 8 * st->size - st->bits_unused; - - ASN_DEBUG( - "Encoding %s into %" ASN_PRI_SIZE " bits" - " (%ld..%ld, effective %d)%s", - td->name, size_in_bits, csiz->lower_bound, csiz->upper_bound, - csiz->effective_bits, ct_extensible ? " EXT" : ""); - - /* Figure out whether size lies within PER visible constraint */ - - if(csiz->effective_bits >= 0) { - if((ssize_t)size_in_bits > csiz->upper_bound) { - if(ct_extensible) { - csiz = &asn_DEF_BIT_STRING_constraint_size; - inext = 1; - } else { - ASN__ENCODE_FAILED; - } - } - } else { - inext = 0; - } - - if(ct_extensible) { - /* Declare whether length is [not] within extension root */ - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - } - - if(csiz->effective_bits >= 0 && !inext) { - int add_trailer = (ssize_t)size_in_bits < csiz->lower_bound; - ASN_DEBUG( - "Encoding %" ASN_PRI_SIZE " bytes (%ld), length (in %d bits) trailer %d; actual " - "value %" ASN_PRI_SSIZE "", - st->size, size_in_bits - csiz->lower_bound, csiz->effective_bits, - add_trailer, - add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound); - ret = per_put_few_bits( - po, add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound, - csiz->effective_bits); - if(ret) ASN__ENCODE_FAILED; - ret = per_put_many_bits(po, st->buf, size_in_bits); - if(ret) ASN__ENCODE_FAILED; - if(add_trailer) { - static const uint8_t zeros[16]; - size_t trailing_zero_bits = csiz->lower_bound - size_in_bits; - while(trailing_zero_bits > 0) { - if(trailing_zero_bits > 8 * sizeof(zeros)) { - ret = per_put_many_bits(po, zeros, 8 * sizeof(zeros)); - trailing_zero_bits -= 8 * sizeof(zeros); - } else { - ret = per_put_many_bits(po, zeros, trailing_zero_bits); - trailing_zero_bits = 0; - } - if(ret) ASN__ENCODE_FAILED; - } - } - ASN__ENCODED_OK(er); - } - - ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); - - buf = st->buf; - do { - int need_eom = 0; - ssize_t maySave = uper_put_length(po, size_in_bits, &need_eom); - if(maySave < 0) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "", maySave, size_in_bits); - - ret = per_put_many_bits(po, buf, maySave); - if(ret) ASN__ENCODE_FAILED; - - buf += maySave >> 3; - size_in_bits -= maySave; - assert(!(maySave & 0x07) || !size_in_bits); - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - } while(size_in_bits); - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -asn_random_fill_result_t -BIT_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_BIT_STRING_specs; - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - static unsigned lengths[] = {0, 1, 2, 3, 4, 8, - 126, 127, 128, 16383, 16384, 16385, - 65534, 65535, 65536, 65537}; - uint8_t *buf; - uint8_t *bend; - uint8_t *b; - size_t rnd_bits, rnd_len; - BIT_STRING_t *st; - - if(max_length == 0) return result_skipped; - - switch(specs->subvariant) { - case ASN_OSUBV_ANY: - return result_failed; - case ASN_OSUBV_BIT: - break; - default: - break; - } - - /* Figure out how far we should go */ - rnd_bits = lengths[asn_random_between( - 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; - if(!constraints || !constraints->per_constraints) - constraints = &td->encoding_constraints; - if(constraints->per_constraints) { - const asn_per_constraint_t *pc = &constraints->per_constraints->size; - if(pc->flags & APC_CONSTRAINED) { - long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length - ? pc->upper_bound - : (ssize_t)max_length; - if(max_length < (size_t)pc->lower_bound) { - return result_skipped; - } - if(pc->flags & APC_EXTENSIBLE) { - switch(asn_random_between(0, 5)) { - case 0: - if(pc->lower_bound > 0) { - rnd_bits = pc->lower_bound - 1; - break; - } - /* Fall through */ - case 1: - rnd_bits = pc->upper_bound + 1; - break; - case 2: - /* Keep rnd_bits from the table */ - if(rnd_bits < max_length) { - break; - } - /* Fall through */ - default: - rnd_bits = asn_random_between(pc->lower_bound, - suggested_upper_bound); - } - } else { - rnd_bits = - asn_random_between(pc->lower_bound, suggested_upper_bound); - } - } else { - rnd_bits = asn_random_between(0, max_length - 1); - } - } else if(rnd_bits >= max_length) { - rnd_bits = asn_random_between(0, max_length - 1); - } - - rnd_len = (rnd_bits + 7) / 8; - buf = CALLOC(1, rnd_len + 1); - if(!buf) return result_failed; - - bend = &buf[rnd_len]; - - for(b = buf; b < bend; b++) { - *(uint8_t *)b = asn_random_between(0, 255); - } - *b = 0; /* Zero-terminate just in case. */ - - if(*sptr) { - st = *sptr; - FREEMEM(st->buf); - } else { - st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) { - FREEMEM(buf); - return result_failed; - } - } - - st->buf = buf; - st->size = rnd_len; - st->bits_unused = (8 - (rnd_bits & 0x7)) & 0x7; - if(st->bits_unused) { - assert(st->size > 0); - st->buf[st->size-1] &= 0xff << st->bits_unused; - } - - result_ok.length = st->size; - return result_ok; -} diff --git a/skeletons/BIT_STRING.h b/skeletons/BIT_STRING.h deleted file mode 100644 index c1bdbbc..0000000 --- a/skeletons/BIT_STRING.h +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BIT_STRING_H_ -#define _BIT_STRING_H_ - -#include /* Some help from OCTET STRING */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct BIT_STRING_s { - uint8_t *buf; /* BIT STRING body */ - size_t size; /* Size of the above buffer */ - - int bits_unused;/* Unused trailing bits in the last octet (0..7) */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} BIT_STRING_t; - -extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING; -extern asn_TYPE_operation_t asn_OP_BIT_STRING; -extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs; - -asn_struct_print_f BIT_STRING_print; /* Human-readable output */ -asn_struct_compare_f BIT_STRING_compare; -asn_constr_check_f BIT_STRING_constraint; -xer_type_encoder_f BIT_STRING_encode_xer; -oer_type_decoder_f BIT_STRING_decode_oer; -oer_type_encoder_f BIT_STRING_encode_oer; -per_type_decoder_f BIT_STRING_decode_uper; -per_type_encoder_f BIT_STRING_encode_uper; -asn_random_fill_f BIT_STRING_random_fill; - -#define BIT_STRING_free OCTET_STRING_free -#define BIT_STRING_decode_ber OCTET_STRING_decode_ber -#define BIT_STRING_encode_der OCTET_STRING_encode_der -#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary -#define BIT_STRING_decode_aper OCTET_STRING_decode_aper -#define BIT_STRING_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _BIT_STRING_H_ */ diff --git a/skeletons/BIT_STRING_oer.c b/skeletons/BIT_STRING_oer.c deleted file mode 100644 index aff5075..0000000 --- a/skeletons/BIT_STRING_oer.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -asn_dec_rval_t -BIT_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - BIT_STRING_t *st = (BIT_STRING_t *)*sptr; - const asn_oer_constraints_t *cts = - constraints ? constraints : td->encoding_constraints.oer_constraints; - ssize_t ct_size = cts ? cts->size : -1; - asn_dec_rval_t rval = {RC_OK, 0}; - size_t expected_length = 0; - - (void)opt_codec_ctx; - - if(!st) { - st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - if(ct_size >= 0) { - expected_length = (ct_size + 7) >> 3; - st->bits_unused = (8 - (ct_size & 7)) & 7; - } else { - /* - * X.696 (08/2015) #13.3.1 - * Encode length determinant as _number of octets_, but only - * if upper bound is not equal to lower bound. - */ - ssize_t len_len = oer_fetch_length(ptr, size, &expected_length); - if(len_len > 0) { - ptr = (const char *)ptr + len_len; - size -= len_len; - } else if(len_len == 0) { - ASN__DECODE_STARVED; - } else if(len_len < 0) { - ASN__DECODE_FAILED; - } - - if(expected_length < 1) { - ASN__DECODE_FAILED; - } else if(expected_length > size) { - ASN__DECODE_STARVED; - } - - st->bits_unused = ((const uint8_t *)ptr)[0]; - if(st->bits_unused & ~7) { - ASN_DEBUG("%s: unused bits outside of 0..7 range", td->name); - ASN__DECODE_FAILED; - } - ptr = (const char *)ptr + 1; - size--; - expected_length--; - rval.consumed = len_len + 1; - } - - if(size < expected_length) { - ASN__DECODE_STARVED; - } else { - uint8_t *buf = MALLOC(expected_length + 1); - if(buf == NULL) { - ASN__DECODE_FAILED; - } else { - memcpy(buf, ptr, expected_length); - buf[expected_length] = '\0'; - } - FREEMEM(st->buf); - st->buf = buf; - st->size = expected_length; - if(expected_length > 0) { - buf[expected_length - 1] &= (0xff << st->bits_unused); - } - - rval.consumed += expected_length; - return rval; - } -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -BIT_STRING_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - asn_enc_rval_t erval = {0, 0, 0}; - const asn_oer_constraints_t *cts = - constraints ? constraints : td->encoding_constraints.oer_constraints; - ssize_t ct_size = cts ? cts->size : -1; - size_t trailing_zeros = 0; - int fix_last_byte = 0; - - if(!st) ASN__ENCODE_FAILED; - - if(st->bits_unused & ~7) { - ASN_DEBUG("BIT STRING unused bits %d out of 0..7 range", - st->bits_unused); - ASN__ENCODE_FAILED; - } - if(st->bits_unused && !(st->size && st->buf)) { - ASN_DEBUG("BIT STRING %s size 0 can't support unused bits %d", td->name, - st->bits_unused); - ASN__ENCODE_FAILED; - } - - if(ct_size >= 0) { - size_t ct_bytes = (ct_size + 7) >> 3; - if(st->size > ct_bytes) { - ASN_DEBUG("More bits in BIT STRING %s (%" ASN_PRI_SSIZE ") than constrained %" ASN_PRI_SSIZE "", - td->name, 8 * st->size - st->bits_unused, ct_size); - ASN__ENCODE_FAILED; - } - trailing_zeros = ct_bytes - st->size; /* Allow larger constraint */ - } else { - uint8_t ub = st->bits_unused & 7; - ssize_t len_len = oer_serialize_length(1 + st->size, cb, app_key); - if(len_len < 0) ASN__ENCODE_FAILED; - if(cb(&ub, 1, app_key) < 0) { - ASN__ENCODE_FAILED; - } - erval.encoded += len_len + 1; - } - - if(st->bits_unused) { - if(st->buf[st->size - 1] & (0xff << st->bits_unused)) { - fix_last_byte = 1; - } - } - - if(cb(st->buf, st->size - fix_last_byte, app_key) < 0) { - ASN__ENCODE_FAILED; - } - - if(fix_last_byte) { - uint8_t b = st->buf[st->size - 1] & (0xff << st->bits_unused); - if(cb(&b, 1, app_key) < 0) { - ASN__ENCODE_FAILED; - } - } - - erval.encoded += st->size; - - if(trailing_zeros) { - static uint8_t zeros[16]; - while(trailing_zeros > 0) { - int ret; - if(trailing_zeros < sizeof(zeros)) { - ret = cb(zeros, trailing_zeros, app_key); - erval.encoded += trailing_zeros; - } else { - ret = cb(zeros, sizeof(zeros), app_key); - erval.encoded += sizeof(zeros); - } - if(ret < 0) ASN__ENCODE_FAILED; - } - } - - return erval; -} - - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/BMPString.c b/skeletons/BMPString.c deleted file mode 100644 index 6b80ae7..0000000 --- a/skeletons/BMPString.c +++ /dev/null @@ -1,233 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * BMPString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_BMPString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (30 << 2)), /* [UNIVERSAL 30] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs = { - sizeof(BMPString_t), - offsetof(BMPString_t, _asn_ctx), - ASN_OSUBV_U16 /* 16-bits character */ -}; -static asn_per_constraints_t asn_DEF_BMPString_per_constraints = { - { APC_CONSTRAINED, 16, 16, 0, 65535 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, - 0, 0 -}; -asn_TYPE_operation_t asn_OP_BMPString = { - OCTET_STRING_free, /* Implemented in terms of OCTET STRING */ - BMPString_print, - OCTET_STRING_compare, - OCTET_STRING_decode_ber, - OCTET_STRING_encode_der, - BMPString_decode_xer, /* Convert from UTF-8 */ - BMPString_encode_xer, /* Convert to UTF-8 */ -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_BMPString = { - "BMPString", - "BMPString", - &asn_OP_BMPString, - asn_DEF_BMPString_tags, - sizeof(asn_DEF_BMPString_tags) - / sizeof(asn_DEF_BMPString_tags[0]) - 1, - asn_DEF_BMPString_tags, - sizeof(asn_DEF_BMPString_tags) - / sizeof(asn_DEF_BMPString_tags[0]), - { 0, &asn_DEF_BMPString_per_constraints, BMPString_constraint }, - 0, 0, /* No members */ - &asn_SPC_BMPString_specs -}; - -int -BMPString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - - if(st && st->buf) { - if(st->size & 1) { - ASN__CTFAIL(app_key, td, sptr, - "%s: invalid size %" ASN_PRI_SIZE " not divisible by 2 (%s:%d)", - td->name, st->size, __FILE__, __LINE__); - return -1; - } - } else { - ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, - __FILE__, __LINE__); - return -1; - } - - return 0; -} - -/* - * BMPString specific contents printer. - */ -static ssize_t -BMPString__dump(const BMPString_t *st, - asn_app_consume_bytes_f *cb, void *app_key) { - char scratch[128]; /* Scratchpad buffer */ - char *p = scratch; - ssize_t wrote = 0; - uint8_t *ch; - uint8_t *end; - - ch = st->buf; - end = (st->buf + st->size); - for(end--; ch < end; ch += 2) { - uint16_t wc = (ch[0] << 8) | ch[1]; /* 2 bytes */ - if(sizeof(scratch) - (p - scratch) < 3) { - wrote += p - scratch; - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - p = scratch; - } - if(wc < 0x80) { - *p++ = (char)wc; - } else if(wc < 0x800) { - *p++ = 0xc0 | ((wc >> 6)); - *p++ = 0x80 | ((wc & 0x3f)); - } else { - *p++ = 0xe0 | ((wc >> 12)); - *p++ = 0x80 | ((wc >> 6) & 0x3f); - *p++ = 0x80 | ((wc & 0x3f)); - } - } - - wrote += p - scratch; - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - - return wrote; -} - -asn_dec_rval_t -BMPString_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - asn_dec_rval_t rc; - - rc = OCTET_STRING_decode_xer_utf8(opt_codec_ctx, td, sptr, opt_mname, - buf_ptr, size); - if(rc.code == RC_OK) { - /* - * Now we have a whole string in UTF-8 format. - * Convert it into UCS-2. - */ - uint32_t *wcs; - size_t wcs_len; - UTF8String_t *st; - - assert(*sptr); - st = (UTF8String_t *)*sptr; - assert(st->buf); - wcs_len = UTF8String_to_wcs(st, 0, 0); - - wcs = (uint32_t *)MALLOC(4 * (wcs_len + 1)); - if(wcs == 0 || UTF8String_to_wcs(st, wcs, wcs_len) != wcs_len) { - rc.code = RC_FAIL; - rc.consumed = 0; - return rc; - } else { - wcs[wcs_len] = 0; /* nul-terminate */ - } - - if(1) { - /* Swap byte order and trim encoding to 2 bytes */ - uint32_t *wc = wcs; - uint32_t *wc_end = wcs + wcs_len; - uint16_t *dstwc = (uint16_t *)wcs; - for(; wc < wc_end; wc++, dstwc++) { - uint32_t wch = *wc; - if(wch > 0xffff) { - FREEMEM(wcs); - rc.code = RC_FAIL; - rc.consumed = 0; - return rc; - } - *((uint8_t *)dstwc + 0) = wch >> 8; - *((uint8_t *)dstwc + 1) = wch; - } - dstwc = (uint16_t *)REALLOC(wcs, 2 * (wcs_len + 1)); - if(!dstwc) { - FREEMEM(wcs); - rc.code = RC_FAIL; - rc.consumed = 0; - return rc; - } else { - dstwc[wcs_len] = 0; /* nul-terminate */ - wcs = (uint32_t *)(void *)dstwc; /* Alignment OK */ - } - } - - FREEMEM(st->buf); - st->buf = (uint8_t *)wcs; - st->size = 2 * wcs_len; - } - return rc; -} - -asn_enc_rval_t -BMPString_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; - (void)flags; - - if(!st || !st->buf) - ASN__ENCODE_FAILED; - - er.encoded = BMPString__dump(st, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -int -BMPString_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(!st || !st->buf) - return (cb("", 8, app_key) < 0) ? -1 : 0; - - if(BMPString__dump(st, cb, app_key) < 0) - return -1; - - return 0; -} - diff --git a/skeletons/BMPString.h b/skeletons/BMPString.h deleted file mode 100644 index af14588..0000000 --- a/skeletons/BMPString.h +++ /dev/null @@ -1,39 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BMPString_H_ -#define _BMPString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t BMPString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_BMPString; -extern asn_TYPE_operation_t asn_OP_BMPString; -extern asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs; - -asn_struct_print_f BMPString_print; /* Human-readable output */ -asn_constr_check_f BMPString_constraint; -xer_type_decoder_f BMPString_decode_xer; -xer_type_encoder_f BMPString_encode_xer; - -#define BMPString_free OCTET_STRING_free -#define BMPString_print BMPString_print -#define BMPString_compare OCTET_STRING_compare -#define BMPString_decode_ber OCTET_STRING_decode_ber -#define BMPString_encode_der OCTET_STRING_encode_der -#define BMPString_decode_uper OCTET_STRING_decode_uper -#define BMPString_encode_uper OCTET_STRING_encode_uper -#define BMPString_decode_aper OCTET_STRING_decode_aper -#define BMPString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _BMPString_H_ */ diff --git a/skeletons/BOOLEAN.c b/skeletons/BOOLEAN.c deleted file mode 100644 index 25831e2..0000000 --- a/skeletons/BOOLEAN.c +++ /dev/null @@ -1,492 +0,0 @@ -/*- - * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * BOOLEAN basic type description. - */ -static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) -}; -asn_TYPE_operation_t asn_OP_BOOLEAN = { - BOOLEAN_free, - BOOLEAN_print, - BOOLEAN_compare, - BOOLEAN_decode_ber, - BOOLEAN_encode_der, - BOOLEAN_decode_xer, - BOOLEAN_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - BOOLEAN_decode_oer, - BOOLEAN_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - BOOLEAN_decode_uper, /* Unaligned PER decoder */ - BOOLEAN_encode_uper, /* Unaligned PER encoder */ - BOOLEAN_decode_aper, /* Aligned PER decoder */ - BOOLEAN_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - BOOLEAN_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_BOOLEAN = { - "BOOLEAN", - "BOOLEAN", - &asn_OP_BOOLEAN, - asn_DEF_BOOLEAN_tags, - sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), - asn_DEF_BOOLEAN_tags, /* Same as above */ - sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -/* - * Decode BOOLEAN type. - */ -asn_dec_rval_t -BOOLEAN_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **bool_value, - const void *buf_ptr, size_t size, int tag_mode) { - BOOLEAN_t *st = (BOOLEAN_t *)*bool_value; - asn_dec_rval_t rval; - ber_tlv_len_t length; - ber_tlv_len_t lidx; - - if(st == NULL) { - st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st))); - if(st == NULL) { - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; - } - } - - ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", - td->name, tag_mode); - - /* - * Check tags. - */ - rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, - tag_mode, 0, &length, 0); - if(rval.code != RC_OK) - return rval; - - ASN_DEBUG("Boolean length is %d bytes", (int)length); - - buf_ptr = ((const char *)buf_ptr) + rval.consumed; - size -= rval.consumed; - if(length > (ber_tlv_len_t)size) { - rval.code = RC_WMORE; - rval.consumed = 0; - return rval; - } - - /* - * Compute boolean value. - */ - for(*st = 0, lidx = 0; - (lidx < length) && *st == 0; lidx++) { - /* - * Very simple approach: read bytes until the end or - * value is already TRUE. - * BOOLEAN is not supposed to contain meaningful data anyway. - */ - *st |= ((const uint8_t *)buf_ptr)[lidx]; - } - - rval.code = RC_OK; - rval.consumed += length; - - ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", - (long)rval.consumed, (long)length, - td->name, *st); - - return rval; -} - -asn_enc_rval_t -BOOLEAN_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t erval = {0,0,0}; - const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; - - erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key); - if(erval.encoded == -1) { - erval.failed_type = td; - erval.structure_ptr = sptr; - return erval; - } - - if(cb) { - uint8_t bool_value; - - bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */ - - if(cb(&bool_value, 1, app_key) < 0) { - erval.encoded = -1; - erval.failed_type = td; - erval.structure_ptr = sptr; - return erval; - } - } - - erval.encoded += 1; - - ASN__ENCODED_OK(erval); -} - - -/* - * Decode the chunk of XML text encoding INTEGER. - */ -static enum xer_pbd_rval -BOOLEAN__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - BOOLEAN_t *st = (BOOLEAN_t *)sptr; - const char *p = (const char *)chunk_buf; - - (void)td; - - if(chunk_size && p[0] == 0x3c /* '<' */) { - switch(xer_check_tag(chunk_buf, chunk_size, "false")) { - case XCT_BOTH: - /* "" */ - *st = 0; - break; - case XCT_UNKNOWN_BO: - if(xer_check_tag(chunk_buf, chunk_size, "true") - != XCT_BOTH) - return XPBD_BROKEN_ENCODING; - /* "" */ - *st = 1; /* Or 0xff as in DER?.. */ - break; - default: - return XPBD_BROKEN_ENCODING; - } - return XPBD_BODY_CONSUMED; - } else { - return XPBD_BROKEN_ENCODING; - } -} - - -asn_dec_rval_t -BOOLEAN_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size, - BOOLEAN__xer_body_decode); -} - -asn_enc_rval_t -BOOLEAN_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; - asn_enc_rval_t er = {0, 0, 0}; - - (void)ilevel; - (void)flags; - - if(!st) ASN__ENCODE_FAILED; - - if(*st) { - ASN__CALLBACK("", 7); - } else { - ASN__CALLBACK("", 8); - } - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -int -BOOLEAN_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; - const char *buf; - size_t buflen; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(st) { - if(*st) { - buf = "TRUE"; - buflen = 4; - } else { - buf = "FALSE"; - buflen = 5; - } - } else { - buf = ""; - buflen = 8; - } - - return (cb(buf, buflen, app_key) < 0) ? -1 : 0; -} - -void -BOOLEAN_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - if(td && ptr) { - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(ptr, 0, sizeof(BOOLEAN_t)); - break; - } - } -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -BOOLEAN_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rv; - BOOLEAN_t *st = (BOOLEAN_t *)*sptr; - - (void)opt_codec_ctx; - (void)td; - (void)constraints; - - if(!st) { - st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - /* - * Extract a single bit - */ - switch(per_get_few_bits(pd, 1)) { - case 1: *st = 1; break; - case 0: *st = 0; break; - case -1: default: ASN__DECODE_STARVED; - } - - ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); - - rv.code = RC_OK; - rv.consumed = 1; - return rv; -} - - -asn_enc_rval_t -BOOLEAN_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - - (void)constraints; - - if(!st) ASN__ENCODE_FAILED; - - if(per_put_few_bits(po, *st ? 1 : 0, 1)) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -BOOLEAN_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - asn_dec_rval_t rv; - BOOLEAN_t *st = (BOOLEAN_t *)*sptr; - - (void)opt_codec_ctx; - (void)constraints; - (void)td; - - if(!st) { - st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - /* - * Extract a single bit - */ - switch(per_get_few_bits(pd, 1)) { - case 1: - *st = 1; - break; - case 0: - *st = 0; - break; - case -1: - default: - ASN__DECODE_STARVED; - } - - ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); - - rv.code = RC_OK; - rv.consumed = 1; - return rv; -} - -asn_enc_rval_t -BOOLEAN_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - - (void)constraints; - - if(!st) ASN__ENCODE_FAILED; - - if(per_put_few_bits(po, *st ? 1 : 0, 1)) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -#ifndef ASN_DISABLE_OER_SUPPORT - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -BOOLEAN_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = { 1, 0, 0 }; - const BOOLEAN_t *st = sptr; - uint8_t bool_value = *st ? 0xff : 0; /* 0xff mandated by OER */ - - (void)td; - (void)constraints; /* Constraints are unused in OER */ - - if(cb(&bool_value, 1, app_key) < 0) { - ASN__ENCODE_FAILED; - } else { - ASN__ENCODED_OK(er); - } -} - -asn_dec_rval_t -BOOLEAN_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - asn_dec_rval_t ok = {RC_OK, 1}; - BOOLEAN_t *st; - - (void)opt_codec_ctx; - (void)td; - (void)constraints; /* Constraints are unused in OER */ - - if(size < 1) { - ASN__DECODE_STARVED; - } - - if(!(st = *sptr)) { - st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - *st = *(const uint8_t *)ptr; - - return ok; -} - - - -#endif - -int -BOOLEAN_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const BOOLEAN_t *a = aptr; - const BOOLEAN_t *b = bptr; - - (void)td; - - if(a && b) { - if(!*a == !*b) { /* TRUE can be encoded by any non-zero byte. */ - return 0; - } else if(!*a) { - return -1; - } else { - return 1; - } - } else if(!a) { - return -1; - } else { - return 1; - } -} - -asn_random_fill_result_t -BOOLEAN_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - BOOLEAN_t *st = *sptr; - - if(max_length == 0) return result_skipped; - - if(st == NULL) { - st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(st == NULL) { - return result_failed; - } - } - - if(!constraints || !constraints->per_constraints) - constraints = &td->encoding_constraints; - if(constraints->per_constraints) { - const asn_per_constraint_t *pc = &constraints->per_constraints->value; - if(pc->flags & APC_CONSTRAINED) { - *st = asn_random_between(pc->lower_bound, pc->upper_bound); - return result_ok; - } - } - - /* Simulate booleans that are sloppily set and biased. */ - switch(asn_random_between(0, 7)) { - case 0: - case 1: - case 2: - *st = 0; break; - case 3: *st = -1; break; - case 4: *st = 1; break; - case 5: *st = INT_MIN; break; - case 6: *st = INT_MAX; break; - default: - *st = asn_random_between(INT_MIN, INT_MAX); - break; - } - return result_ok; -} diff --git a/skeletons/BOOLEAN.h b/skeletons/BOOLEAN.h deleted file mode 100644 index 620acf7..0000000 --- a/skeletons/BOOLEAN.h +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BOOLEAN_H_ -#define _BOOLEAN_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The underlying integer may contain various values, but everything - * non-zero is capped to 0xff by the DER encoder. The BER decoder may - * yield non-zero values different from 1, beware. - */ -typedef int BOOLEAN_t; - -extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN; -extern asn_TYPE_operation_t asn_OP_BOOLEAN; - -asn_struct_free_f BOOLEAN_free; -asn_struct_print_f BOOLEAN_print; -asn_struct_compare_f BOOLEAN_compare; -ber_type_decoder_f BOOLEAN_decode_ber; -der_type_encoder_f BOOLEAN_encode_der; -oer_type_decoder_f BOOLEAN_decode_oer; -oer_type_encoder_f BOOLEAN_encode_oer; -per_type_decoder_f BOOLEAN_decode_uper; -per_type_encoder_f BOOLEAN_encode_uper; -per_type_decoder_f BOOLEAN_decode_aper; -per_type_encoder_f BOOLEAN_encode_aper; -xer_type_decoder_f BOOLEAN_decode_xer; -xer_type_encoder_f BOOLEAN_encode_xer; -asn_random_fill_f BOOLEAN_random_fill; - -#define BOOLEAN_constraint asn_generic_no_constraint - -#ifdef __cplusplus -} -#endif - -#endif /* _BOOLEAN_H_ */ diff --git a/skeletons/ENUMERATED.c b/skeletons/ENUMERATED.c deleted file mode 100644 index e16cdd9..0000000 --- a/skeletons/ENUMERATED.c +++ /dev/null @@ -1,180 +0,0 @@ -/*- - * Copyright (c) 2003, 2005, 2006 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include /* Encoder and decoder of a primitive type */ - -/* - * ENUMERATED basic type description. - */ -static const ber_tlv_tag_t asn_DEF_ENUMERATED_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_operation_t asn_OP_ENUMERATED = { - ASN__PRIMITIVE_TYPE_free, - INTEGER_print, /* Implemented in terms of INTEGER */ - INTEGER_compare, /* Implemented in terms of INTEGER */ - ber_decode_primitive, - INTEGER_encode_der, /* Implemented in terms of INTEGER */ - INTEGER_decode_xer, /* This is temporary! */ - INTEGER_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - ENUMERATED_decode_oer, - ENUMERATED_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - ENUMERATED_decode_uper, /* Unaligned PER decoder */ - ENUMERATED_encode_uper, /* Unaligned PER encoder */ - ENUMERATED_decode_aper, /* Aligned PER decoder */ - ENUMERATED_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - ENUMERATED_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_ENUMERATED = { - "ENUMERATED", - "ENUMERATED", - &asn_OP_ENUMERATED, - asn_DEF_ENUMERATED_tags, - sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]), - asn_DEF_ENUMERATED_tags, /* Same as above */ - sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -#ifndef ASN_DISABLE_OER_SUPPORT - -asn_dec_rval_t -ENUMERATED_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - asn_dec_rval_t rval; - ENUMERATED_t *st = (ENUMERATED_t *)*sptr; - long value; - void *vptr = &value; - - if(!st) { - st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - rval = NativeEnumerated_decode_oer(opt_codec_ctx, td, constraints, - (void **)&vptr, ptr, size); - if(rval.code == RC_OK) { - if(asn_long2INTEGER(st, value)) { - rval.code = RC_FAIL; - } - } - return rval; -} - -asn_enc_rval_t -ENUMERATED_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - const ENUMERATED_t *st = sptr; - long value; - - if(asn_INTEGER2long(st, &value)) { - ASN__ENCODE_FAILED; - } - - return NativeEnumerated_encode_oer(td, constraints, &value, cb, app_key); -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -ENUMERATED_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rval; - ENUMERATED_t *st = (ENUMERATED_t *)*sptr; - long value; - void *vptr = &value; - - if(!st) { - st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - rval = NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints, - (void **)&vptr, pd); - if(rval.code == RC_OK) { - if(asn_long2INTEGER(st, value)) { - rval.code = RC_FAIL; - } - } - return rval; -} - -asn_enc_rval_t -ENUMERATED_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const ENUMERATED_t *st = (const ENUMERATED_t *)sptr; - long value; - - if(asn_INTEGER2long(st, &value)) { - ASN__ENCODE_FAILED; - } - - return NativeEnumerated_encode_uper(td, constraints, &value, po); -} - -asn_dec_rval_t -ENUMERATED_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - asn_dec_rval_t rval; - ENUMERATED_t *st = (ENUMERATED_t *)*sptr; - long value; - void *vptr = &value; - - if(!st) { - st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - rval = NativeEnumerated_decode_aper(opt_codec_ctx, td, constraints, - (void **)&vptr, pd); - if(rval.code == RC_OK) - if(asn_long2INTEGER(st, value)) - rval.code = RC_FAIL; - return rval; -} - -asn_enc_rval_t -ENUMERATED_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const ENUMERATED_t *st = (const ENUMERATED_t *)sptr; - long value; - - if(asn_INTEGER2long(st, &value)) - ASN__ENCODE_FAILED; - - return NativeEnumerated_encode_aper(td, constraints, &value, po); -} -#endif /* ASN_DISABLE_PER_SUPPORT */ - diff --git a/skeletons/ENUMERATED.h b/skeletons/ENUMERATED.h deleted file mode 100644 index 8fd04de..0000000 --- a/skeletons/ENUMERATED.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _ENUMERATED_H_ -#define _ENUMERATED_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef INTEGER_t ENUMERATED_t; /* Implemented via INTEGER */ - -extern asn_TYPE_descriptor_t asn_DEF_ENUMERATED; -extern asn_TYPE_operation_t asn_OP_ENUMERATED; - -oer_type_decoder_f ENUMERATED_decode_oer; -oer_type_encoder_f ENUMERATED_encode_oer; -per_type_decoder_f ENUMERATED_decode_uper; -per_type_encoder_f ENUMERATED_encode_uper; -per_type_decoder_f ENUMERATED_decode_aper; -per_type_encoder_f ENUMERATED_encode_aper; - -#define ENUMERATED_free ASN__PRIMITIVE_TYPE_free -#define ENUMERATED_print INTEGER_print -#define ENUMERATED_compare INTEGER_compare -#define ENUMERATED_constraint asn_generic_no_constraint -#define ENUMERATED_decode_ber ber_decode_primitive -#define ENUMERATED_encode_der INTEGER_encode_der -#define ENUMERATED_decode_xer INTEGER_decode_xer -#define ENUMERATED_encode_xer INTEGER_encode_xer -#define ENUMERATED_random_fill INTEGER_random_fill - -#ifdef __cplusplus -} -#endif - -#endif /* _ENUMERATED_H_ */ diff --git a/skeletons/GeneralString.c b/skeletons/GeneralString.c deleted file mode 100644 index cc35a3a..0000000 --- a/skeletons/GeneralString.c +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * GeneralString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_GeneralString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (27 << 2)), /* [UNIVERSAL 27] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_GeneralString = { - OCTET_STRING_free, - OCTET_STRING_print, /* non-ascii string */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_GeneralString = { - "GeneralString", - "GeneralString", - &asn_OP_GeneralString, - asn_DEF_GeneralString_tags, - sizeof(asn_DEF_GeneralString_tags) - / sizeof(asn_DEF_GeneralString_tags[0]) - 1, - asn_DEF_GeneralString_tags, - sizeof(asn_DEF_GeneralString_tags) - / sizeof(asn_DEF_GeneralString_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/skeletons/GeneralString.h b/skeletons/GeneralString.h deleted file mode 100644 index fb5de1c..0000000 --- a/skeletons/GeneralString.h +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _GeneralString_H_ -#define _GeneralString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t GeneralString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_GeneralString; -extern asn_TYPE_operation_t asn_OP_GeneralString; - -#define GeneralString_free OCTET_STRING_free -#define GeneralString_print OCTET_STRING_print -#define GeneralString_compare OCTET_STRING_compare -#define GeneralString_constraint asn_generic_unknown_constraint -#define GeneralString_decode_ber OCTET_STRING_decode_ber -#define GeneralString_encode_der OCTET_STRING_encode_der -#define GeneralString_decode_xer OCTET_STRING_decode_xer_hex -#define GeneralString_encode_xer OCTET_STRING_encode_xer -#define GeneralString_decode_uper OCTET_STRING_decode_uper -#define GeneralString_encode_uper OCTET_STRING_encode_uper -#define GeneralString_decode_aper OCTET_STRING_decode_aper -#define GeneralString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _GeneralString_H_ */ diff --git a/skeletons/GeneralizedTime.c b/skeletons/GeneralizedTime.c deleted file mode 100644 index f1095a2..0000000 --- a/skeletons/GeneralizedTime.c +++ /dev/null @@ -1,833 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#define _POSIX_PTHREAD_SEMANTICS /* for Sun */ -#define _REENTRANT /* for Sun */ -#define __EXTENSIONS__ /* for Sun */ -#ifndef _BSD_SOURCE -#define _BSD_SOURCE /* for timegm(3) */ -#endif -#include -#include - -#ifdef __CYGWIN__ -#include "/usr/include/time.h" -#else -#include -#endif /* __CYGWIN__ */ - -#include -#include - -#if defined(_WIN32) -#pragma message( "PLEASE STOP AND READ!") -#pragma message( " localtime_r is implemented via localtime(), which may be not thread-safe.") -#pragma message( " gmtime_r is implemented via gmtime(), which may be not thread-safe.") -#pragma message( " ") -#pragma message( " You must fix the code by inserting appropriate locking") -#pragma message( " if you want to use asn_GT2time() or asn_UT2time().") -#pragma message( "PLEASE STOP AND READ!") - -static struct tm *localtime_r(const time_t *tloc, struct tm *result) { - struct tm *tm; - if((tm = localtime(tloc))) - return memcpy(result, tm, sizeof(struct tm)); - return 0; -} - -static struct tm *gmtime_r(const time_t *tloc, struct tm *result) { - struct tm *tm; - if((tm = gmtime(tloc))) - return memcpy(result, tm, sizeof(struct tm)); - return 0; -} - -#define tzset() _tzset() -#define putenv(c) _putenv(c) -#define _EMULATE_TIMEGM - -#endif /* _WIN32 */ - -#if defined(sun) || defined(__sun) || defined(__solaris__) -#define _EMULATE_TIMEGM -#endif - -/* - * Where to look for offset from GMT, Phase I. - * Several platforms are known. - */ -#if defined(__FreeBSD__) \ - || (defined(__GNUC__) && defined(__APPLE_CC__)) \ - || (defined __GLIBC__ && __GLIBC__ >= 2) -#undef HAVE_TM_GMTOFF -#define HAVE_TM_GMTOFF -#endif /* BSDs and newer glibc */ - -/* - * Where to look for offset from GMT, Phase II. - */ -#ifdef HAVE_TM_GMTOFF -#define GMTOFF(tm) ((tm).tm_gmtoff) -#else /* HAVE_TM_GMTOFF */ -#define GMTOFF(tm) (-timezone) -#endif /* HAVE_TM_GMTOFF */ - -#if defined(_WIN32) -#pragma message( "PLEASE STOP AND READ!") -#pragma message( " timegm() is implemented via getenv(\"TZ\")/setenv(\"TZ\"), which may be not thread-safe.") -#pragma message( " ") -#pragma message( " You must fix the code by inserting appropriate locking") -#pragma message( " if you want to use asn_GT2time() or asn_UT2time().") -#pragma message( "PLEASE STOP AND READ!") -#else -#if (defined(_EMULATE_TIMEGM) || !defined(HAVE_TM_GMTOFF)) -#warning "PLEASE STOP AND READ!" -#warning " timegm() is implemented via getenv(\"TZ\")/setenv(\"TZ\"), which may be not thread-safe." -#warning " " -#warning " You must fix the code by inserting appropriate locking" -#warning " if you want to use asn_GT2time() or asn_UT2time()." -#warning "PLEASE STOP AND READ!" -#endif /* _EMULATE_TIMEGM */ -#endif - -/* - * Override our GMTOFF decision for other known platforms. - */ -#ifdef __CYGWIN__ -#undef GMTOFF -static long GMTOFF(struct tm a){ - struct tm *lt; - time_t local_time, gmt_time; - long zone; - - tzset(); - gmt_time = time (NULL); - - lt = gmtime(&gmt_time); - - local_time = mktime(lt); - return (gmt_time - local_time); -} -#define _EMULATE_TIMEGM - -#endif /* __CYGWIN__ */ - -#define ATZVARS do { \ - char tzoldbuf[64]; \ - char *tzold -#define ATZSAVETZ do { \ - tzold = getenv("TZ"); \ - if(tzold) { \ - size_t tzlen = strlen(tzold); \ - if(tzlen < sizeof(tzoldbuf)) { \ - tzold = memcpy(tzoldbuf, tzold, tzlen + 1); \ - } else { \ - char *dupptr = tzold; \ - tzold = MALLOC(tzlen + 1); \ - if(tzold) memcpy(tzold, dupptr, tzlen + 1); \ - } \ - setenv("TZ", "UTC", 1); \ - } \ - tzset(); \ -} while(0) -#define ATZOLDTZ do { \ - if (tzold) { \ - setenv("TZ", tzold, 1); \ - *tzoldbuf = 0; \ - if(tzold != tzoldbuf) \ - FREEMEM(tzold); \ - } else { \ - unsetenv("TZ"); \ - } \ - tzset(); \ -} while(0); } while(0); - -#ifndef HAVE_TIMEGM -#ifdef _EMULATE_TIMEGM -#include -static time_t timegm(struct tm *tm) { - time_t tloc; - ATZVARS; - ATZSAVETZ; - tloc = mktime(tm); - ATZOLDTZ; - return tloc; -} -#endif /* _EMULATE_TIMEGM */ -#endif - - -#ifndef ASN___INTERNAL_TEST_MODE - -/* - * GeneralizedTime basic type description. - */ -static const ber_tlv_tag_t asn_DEF_GeneralizedTime_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (24 << 2)), /* [UNIVERSAL 24] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static asn_per_constraints_t asn_DEF_GeneralizedTime_per_constraints = { - { APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - 0, 0 -}; -asn_TYPE_operation_t asn_OP_GeneralizedTime = { - OCTET_STRING_free, - GeneralizedTime_print, - GeneralizedTime_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - GeneralizedTime_encode_der, - OCTET_STRING_decode_xer_utf8, - GeneralizedTime_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - GeneralizedTime_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_GeneralizedTime = { - "GeneralizedTime", - "GeneralizedTime", - &asn_OP_GeneralizedTime, - asn_DEF_GeneralizedTime_tags, - sizeof(asn_DEF_GeneralizedTime_tags) - / sizeof(asn_DEF_GeneralizedTime_tags[0]) - 2, - asn_DEF_GeneralizedTime_tags, - sizeof(asn_DEF_GeneralizedTime_tags) - / sizeof(asn_DEF_GeneralizedTime_tags[0]), - { 0, &asn_DEF_GeneralizedTime_per_constraints, GeneralizedTime_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -#endif /* ASN___INTERNAL_TEST_MODE */ - -/* - * Check that the time looks like the time. - */ -int -GeneralizedTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, - void *app_key) { - const GeneralizedTime_t *st = (const GeneralizedTime_t *)sptr; - time_t tloc; - - errno = EPERM; /* Just an unlikely error code */ - tloc = asn_GT2time(st, 0, 0); - if(tloc == -1 && errno != EPERM) { - ASN__CTFAIL(app_key, td, sptr, - "%s: Invalid time format: %s (%s:%d)", - td->name, strerror(errno), __FILE__, __LINE__); - return -1; - } - - return 0; -} - -asn_enc_rval_t -GeneralizedTime_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - GeneralizedTime_t *st; - asn_enc_rval_t erval = {0,0,0}; - int fv, fd; /* seconds fraction value and number of digits */ - struct tm tm; - time_t tloc; - - /* - * Encode as a canonical DER. - */ - errno = EPERM; - tloc = asn_GT2time_frac((const GeneralizedTime_t *)sptr, &fv, &fd, &tm, - 1); /* Recognize time */ - if(tloc == -1 && errno != EPERM) { - /* Failed to recognize time. Fail completely. */ - ASN__ENCODE_FAILED; - } - - st = asn_time2GT_frac(0, &tm, fv, fd, 1); /* Save time canonically */ - if(!st) ASN__ENCODE_FAILED; /* Memory allocation failure. */ - - erval = OCTET_STRING_encode_der(td, st, tag_mode, tag, cb, app_key); - - ASN_STRUCT_FREE(*td, st); - - return erval; -} - -#ifndef ASN___INTERNAL_TEST_MODE - -asn_enc_rval_t -GeneralizedTime_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - if(flags & XER_F_CANONICAL) { - GeneralizedTime_t *gt; - asn_enc_rval_t rv; - int fv, fd; /* fractional parts */ - struct tm tm; - - errno = EPERM; - if(asn_GT2time_frac((const GeneralizedTime_t *)sptr, - &fv, &fd, &tm, 1) == -1 - && errno != EPERM) - ASN__ENCODE_FAILED; - - gt = asn_time2GT_frac(0, &tm, fv, fd, 1); - if(!gt) ASN__ENCODE_FAILED; - - rv = OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, - cb, app_key); - ASN_STRUCT_FREE(asn_DEF_GeneralizedTime, gt); - return rv; - } else { - return OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, - cb, app_key); - } -} - -#endif /* ASN___INTERNAL_TEST_MODE */ - -int -GeneralizedTime_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - const GeneralizedTime_t *st = (const GeneralizedTime_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(st && st->buf) { - char buf[32]; - struct tm tm; - int ret; - - errno = EPERM; - if(asn_GT2time(st, &tm, 1) == -1 && errno != EPERM) - return (cb("", 11, app_key) < 0) ? -1 : 0; - - ret = snprintf(buf, sizeof(buf), - "%04d-%02d-%02d %02d:%02d:%02d (GMT)", - tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, - tm.tm_hour, tm.tm_min, tm.tm_sec); - assert(ret > 0 && ret < (int)sizeof(buf)); - return (cb(buf, ret, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -time_t -asn_GT2time(const GeneralizedTime_t *st, struct tm *ret_tm, int as_gmt) { - return asn_GT2time_frac(st, 0, 0, ret_tm, as_gmt); -} - -time_t -asn_GT2time_prec(const GeneralizedTime_t *st, int *frac_value, int frac_digits, struct tm *ret_tm, int as_gmt) { - time_t tloc; - int fv, fd = 0; - - if(frac_value) - tloc = asn_GT2time_frac(st, &fv, &fd, ret_tm, as_gmt); - else - return asn_GT2time_frac(st, 0, 0, ret_tm, as_gmt); - if(fd == 0 || frac_digits <= 0) { - *frac_value = 0; - } else { - while(fd > frac_digits) - fv /= 10, fd--; - while(fd < frac_digits) { - if(fv < INT_MAX / 10) { - fv *= 10; - fd++; - } else { - /* Too long precision request */ - fv = 0; - break; - } - } - - *frac_value = fv; - } - - return tloc; -} - -time_t -asn_GT2time_frac(const GeneralizedTime_t *st, int *frac_value, int *frac_digits, struct tm *ret_tm, int as_gmt) { - struct tm tm_s; - uint8_t *buf; - uint8_t *end; - int gmtoff_h = 0; - int gmtoff_m = 0; - int gmtoff = 0; /* h + m */ - int offset_specified = 0; - int fvalue = 0; - int fdigits = 0; - time_t tloc; - - if(!st || !st->buf) { - errno = EINVAL; - return -1; - } else { - buf = st->buf; - end = buf + st->size; - } - - if(st->size < 10) { - errno = EINVAL; - return -1; - } - - /* - * Decode first 10 bytes: "AAAAMMJJhh" - */ - memset(&tm_s, 0, sizeof(tm_s)); -#undef B2F -#undef B2T -#define B2F(var) do { \ - unsigned ch = *buf; \ - if(ch < 0x30 || ch > 0x39) { \ - errno = EINVAL; \ - return -1; \ - } else { \ - var = var * 10 + (ch - 0x30); \ - buf++; \ - } \ - } while(0) -#define B2T(var) B2F(tm_s.var) - - B2T(tm_year); /* 1: A */ - B2T(tm_year); /* 2: A */ - B2T(tm_year); /* 3: A */ - B2T(tm_year); /* 4: A */ - B2T(tm_mon); /* 5: M */ - B2T(tm_mon); /* 6: M */ - B2T(tm_mday); /* 7: J */ - B2T(tm_mday); /* 8: J */ - B2T(tm_hour); /* 9: h */ - B2T(tm_hour); /* 0: h */ - - if(buf == end) goto local_finish; - - /* - * Parse [mm[ss[(.|,)ffff]]] - * ^^ - */ - switch(*buf) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - tm_s.tm_min = (*buf++) - 0x30; - if(buf == end) { errno = EINVAL; return -1; } - B2T(tm_min); - break; - case 0x2B: case 0x2D: /* +, - */ - goto offset; - case 0x5A: /* Z */ - goto utc_finish; - default: - errno = EINVAL; - return -1; - } - - if(buf == end) goto local_finish; - - /* - * Parse [mm[ss[(.|,)ffff]]] - * ^^ - */ - switch(*buf) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - tm_s.tm_sec = (*buf++) - 0x30; - if(buf == end) { errno = EINVAL; return -1; } - B2T(tm_sec); - break; - case 0x2B: case 0x2D: /* +, - */ - goto offset; - case 0x5A: /* Z */ - goto utc_finish; - default: - errno = EINVAL; - return -1; - } - - if(buf == end) goto local_finish; - - /* - * Parse [mm[ss[(.|,)ffff]]] - * ^ ^ - */ - switch(*buf) { - case 0x2C: case 0x2E: /* (.|,) */ - /* - * Process fractions of seconds. - */ - for(buf++; buf < end; buf++) { - int v = *buf; - /* GCC 4.x is being too smart without volatile */ - switch(v) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - if(fvalue < INT_MAX/10) { - fvalue = fvalue * 10 + (v - 0x30); - fdigits++; - } else { - /* Not enough precision, ignore */ - } - continue; - default: - break; - } - break; - } - } - - if(buf == end) goto local_finish; - - switch(*buf) { - case 0x2B: case 0x2D: /* +, - */ - goto offset; - case 0x5A: /* Z */ - goto utc_finish; - default: - errno = EINVAL; - return -1; - } - - -offset: - - if(end - buf < 3) { - errno = EINVAL; - return -1; - } - buf++; - B2F(gmtoff_h); - B2F(gmtoff_h); - if(buf[-3] == 0x2D) /* Negative */ - gmtoff = -1; - else - gmtoff = 1; - - if((end - buf) == 2) { - B2F(gmtoff_m); - B2F(gmtoff_m); - } else if(end != buf) { - errno = EINVAL; - return -1; - } - - gmtoff = gmtoff * (3600 * gmtoff_h + 60 * gmtoff_m); - - /* Fall through */ -utc_finish: - - offset_specified = 1; - - /* Fall through */ -local_finish: - - /* - * Validation. - */ - if((tm_s.tm_mon > 12 || tm_s.tm_mon < 1) - || (tm_s.tm_mday > 31 || tm_s.tm_mday < 1) - || (tm_s.tm_hour > 23) - || (tm_s.tm_sec > 60) - ) { - errno = EINVAL; - return -1; - } - - /* Canonicalize */ - tm_s.tm_mon -= 1; /* 0 - 11 */ - tm_s.tm_year -= 1900; - tm_s.tm_isdst = -1; - - tm_s.tm_sec -= gmtoff; - - /*** AT THIS POINT tm_s is either GMT or local (unknown) ****/ - - if(offset_specified) { - tloc = timegm(&tm_s); - } else { - /* - * Without an offset (or "Z"), - * we can only guess that it is a local zone. - * Interpret it in this fashion. - */ - tloc = mktime(&tm_s); - } - if(tloc == -1) { - errno = EINVAL; - return -1; - } - - if(ret_tm) { - if(as_gmt) { - if(offset_specified) { - *ret_tm = tm_s; - } else { - if(gmtime_r(&tloc, ret_tm) == 0) { - errno = EINVAL; - return -1; - } - } - } else { - if(localtime_r(&tloc, ret_tm) == 0) { - errno = EINVAL; - return -1; - } - } - } - - /* Fractions of seconds */ - if(frac_value) *frac_value = fvalue; - if(frac_digits) *frac_digits = fdigits; - - return tloc; -} - -GeneralizedTime_t * -asn_time2GT(GeneralizedTime_t *opt_gt, const struct tm *tm, int force_gmt) { - return asn_time2GT_frac(opt_gt, tm, 0, 0, force_gmt); -} - -GeneralizedTime_t * -asn_time2GT_frac(GeneralizedTime_t *opt_gt, const struct tm *tm, int frac_value, int frac_digits, int force_gmt) { - struct tm tm_s; - long gmtoff = 0; - const unsigned int buf_size = - 4 + 2 + 2 /* yyyymmdd */ - + 2 + 2 + 2 /* hhmmss */ - + 1 + 9 /* .fffffffff */ - + 1 + 4 /* +hhmm */ - + 1 /* '\0' */ - ; - char *buf = NULL; - char *p = NULL; - int size = 0; - - /* Check arguments */ - if(!tm) { - errno = EINVAL; - return 0; - } - - /* Pre-allocate a buffer of sufficient yet small length */ - buf = (char *)MALLOC(buf_size); - if(!buf) return 0; - - gmtoff = GMTOFF(*tm); - - if(force_gmt && gmtoff) { - tm_s = *tm; - tm_s.tm_sec -= gmtoff; - timegm(&tm_s); /* Fix the time */ - tm = &tm_s; -#ifdef HAVE_TM_GMTOFF - assert(!GMTOFF(tm_s)); /* Will fix itself */ -#else /* !HAVE_TM_GMTOFF */ - gmtoff = 0; -#endif - } - - size = snprintf(buf, buf_size, "%04d%02d%02d%02d%02d%02d", - tm->tm_year + 1900, - tm->tm_mon + 1, - tm->tm_mday, - tm->tm_hour, - tm->tm_min, - tm->tm_sec - ); - if(size != 14) { - /* Could be assert(size == 14); */ - FREEMEM(buf); - errno = EINVAL; - return 0; - } - - p = buf + size; - - /* - * Deal with fractions. - */ - if(frac_value > 0 && frac_digits > 0) { - char *end = p + 1 + 9; /* '.' + maximum 9 digits */ - char *z = p; - long fbase; - *z++ = '.'; - - /* Place bounds on precision */ - while(frac_digits-- > 9) - frac_value /= 10; - - /* emulate fbase = pow(10, frac_digits) */ - for(fbase = 1; frac_digits--;) - fbase *= 10; - - do { - int digit = frac_value / fbase; - if(digit > 9) { z = 0; break; } - *z++ = digit + 0x30; - frac_value %= fbase; - fbase /= 10; - } while(fbase > 0 && frac_value > 0 && z < end); - if(z) { - for(--z; *z == 0x30; --z); /* Strip zeroes */ - p = z + (*z != '.'); - size = p - buf; - } - } - - if(force_gmt) { - *p++ = 0x5a; /* "Z" */ - *p++ = 0; - size++; - } else { - int ret; - gmtoff %= 86400; - ret = snprintf(p, buf_size - size, "%+03ld%02ld", - gmtoff / 3600, labs(gmtoff % 3600) / 60); - if(ret != 5) { - FREEMEM(buf); - errno = EINVAL; - return 0; - } - size += ret; - } - - if(opt_gt) { - if(opt_gt->buf) - FREEMEM(opt_gt->buf); - } else { - opt_gt = (GeneralizedTime_t *)CALLOC(1, sizeof *opt_gt); - if(!opt_gt) { FREEMEM(buf); return 0; } - } - - opt_gt->buf = (unsigned char *)buf; - opt_gt->size = size; - - return opt_gt; -} - -asn_random_fill_result_t -GeneralizedTime_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - static const char *values[] = { - "19700101000000", "19700101000000-0000", "19700101000000+0000", - "19700101000000Z", "19700101000000.3Z", "19821106210623.3", - "19821106210629.3Z", "19691106210827.3-0500", "19821106210629.456", - }; - size_t rnd = asn_random_between(0, sizeof(values)/sizeof(values[0])-1); - - (void)constraints; - - if(max_length < sizeof("yyyymmddhhmmss") && !*sptr) { - return result_skipped; - } - - if(*sptr) { - if(OCTET_STRING_fromBuf(*sptr, values[rnd], -1) != 0) { - if(!sptr) return result_failed; - } - } else { - *sptr = OCTET_STRING_new_fromBuf(td, values[rnd], -1); - if(!sptr) return result_failed; - } - - return result_ok; -} - -int -GeneralizedTime_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const GeneralizedTime_t *a = aptr; - const GeneralizedTime_t *b = bptr; - - (void)td; - - if(a && b) { - int afrac_value, afrac_digits; - int bfrac_value, bfrac_digits; - int aerr, berr; - time_t at, bt; - - errno = EPERM; - at = asn_GT2time_frac(a, &afrac_value, &afrac_digits, 0, 0); - aerr = errno; - errno = EPERM; - bt = asn_GT2time_frac(b, &bfrac_value, &bfrac_digits, 0, 0); - berr = errno; - - if(at == -1 && aerr != EPERM) { - if(bt == -1 && berr != EPERM) { - return OCTET_STRING_compare(td, aptr, bptr); - } else { - return -1; - } - } else if(bt == -1 && berr != EPERM) { - return 1; - } else { - /* Both values are valid. */ - } - - if(at < bt) { - return -1; - } else if(at > bt) { - return 1; - } else if(afrac_digits == bfrac_digits) { - if(afrac_value == bfrac_value) { - return 0; - } - if(afrac_value < bfrac_value) { - return -1; - } else { - return 1; - } - } else if(afrac_digits == 0) { - return -1; - } else if(bfrac_digits == 0) { - return 1; - } else { - double afrac = (double)afrac_value / afrac_digits; - double bfrac = (double)bfrac_value / bfrac_digits; - if(afrac < bfrac) { - return -1; - } else if(afrac > bfrac) { - return 1; - } else { - return 0; - } - } - } else if(!a && !b) { - return 0; - } else if(!a) { - return -1; - } else { - return 1; - } - -} - diff --git a/skeletons/GeneralizedTime.h b/skeletons/GeneralizedTime.h deleted file mode 100644 index 02bffe0..0000000 --- a/skeletons/GeneralizedTime.h +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _GeneralizedTime_H_ -#define _GeneralizedTime_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t GeneralizedTime_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_GeneralizedTime; -extern asn_TYPE_operation_t asn_OP_GeneralizedTime; - -asn_struct_print_f GeneralizedTime_print; -asn_struct_compare_f GeneralizedTime_compare; -asn_constr_check_f GeneralizedTime_constraint; -der_type_encoder_f GeneralizedTime_encode_der; -xer_type_encoder_f GeneralizedTime_encode_xer; -asn_random_fill_f GeneralizedTime_random_fill; - -#define GeneralizedTime_free OCTET_STRING_free -#define GeneralizedTime_decode_ber OCTET_STRING_decode_ber -#define GeneralizedTime_decode_xer OCTET_STRING_decode_xer_utf8 -#define GeneralizedTime_decode_uper OCTET_STRING_decode_uper -#define GeneralizedTime_encode_uper OCTET_STRING_encode_uper -#define GeneralizedTime_decode_aper OCTET_STRING_decode_aper -#define GeneralizedTime_encode_aper OCTET_STRING_encode_aper - -/*********************** - * Some handy helpers. * - ***********************/ - -struct tm; /* */ - -/* - * Convert a GeneralizedTime structure into time_t - * and optionally into struct tm. - * If as_gmt is given, the resulting _optional_tm4fill will have a GMT zone, - * instead of default local one. - * On error returns -1 and errno set to EINVAL - */ -time_t asn_GT2time(const GeneralizedTime_t *, struct tm *_optional_tm4fill, - int as_gmt); - -/* A version of the above function also returning the fractions of seconds */ -time_t asn_GT2time_frac(const GeneralizedTime_t *, - int *frac_value, int *frac_digits, /* (value / (10 ^ digits)) */ - struct tm *_optional_tm4fill, int as_gmt); - -/* - * Another version returning fractions with defined precision - * For example, parsing of the time ending with ".1" seconds - * with frac_digits=3 (msec) would yield frac_value = 100. - */ -time_t asn_GT2time_prec(const GeneralizedTime_t *, - int *frac_value, int frac_digits, - struct tm *_optional_tm4fill, int as_gmt); - -/* - * Convert a struct tm into GeneralizedTime. - * If _optional_gt is not given, this function will try to allocate one. - * If force_gmt is given, the resulting GeneralizedTime will be forced - * into a GMT time zone (encoding ends with a "Z"). - * On error, this function returns 0 and sets errno. - */ -GeneralizedTime_t *asn_time2GT(GeneralizedTime_t *_optional_gt, - const struct tm *, int force_gmt); -GeneralizedTime_t *asn_time2GT_frac(GeneralizedTime_t *_optional_gt, - const struct tm *, int frac_value, int frac_digits, int force_gmt); - -#ifdef __cplusplus -} -#endif - -#endif /* _GeneralizedTime_H_ */ diff --git a/skeletons/GraphicString.c b/skeletons/GraphicString.c deleted file mode 100644 index e6642c9..0000000 --- a/skeletons/GraphicString.c +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * GraphicString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_GraphicString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (25 << 2)), /* [UNIVERSAL 25] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_GraphicString = { - OCTET_STRING_free, - OCTET_STRING_print, /* non-ascii string */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, /* Can't expect it to be ASCII/UTF8 */ -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_GraphicString = { - "GraphicString", - "GraphicString", - &asn_OP_GraphicString, - asn_DEF_GraphicString_tags, - sizeof(asn_DEF_GraphicString_tags) - / sizeof(asn_DEF_GraphicString_tags[0]) - 1, - asn_DEF_GraphicString_tags, - sizeof(asn_DEF_GraphicString_tags) - / sizeof(asn_DEF_GraphicString_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/skeletons/GraphicString.h b/skeletons/GraphicString.h deleted file mode 100644 index 19cac68..0000000 --- a/skeletons/GraphicString.h +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _GraphicString_H_ -#define _GraphicString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t GraphicString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_GraphicString; -extern asn_TYPE_operation_t asn_OP_GraphicString; - -#define GraphicString_free OCTET_STRING_free -#define GraphicString_print OCTET_STRING_print -#define GraphicString_compare OCTET_STRING_compare -#define GraphicString_constraint asn_generic_unknown_constraint -#define GraphicString_decode_ber OCTET_STRING_decode_ber -#define GraphicString_encode_der OCTET_STRING_encode_der -#define GraphicString_decode_xer OCTET_STRING_decode_xer_hex -#define GraphicString_encode_xer OCTET_STRING_encode_xer -#define GraphicString_decode_uper OCTET_STRING_decode_uper -#define GraphicString_encode_uper OCTET_STRING_encode_uper -#define GraphicString_decode_aper OCTET_STRING_decode_aper -#define GraphicString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _GraphicString_H_ */ diff --git a/skeletons/IA5String.c b/skeletons/IA5String.c deleted file mode 100644 index 1aeebf4..0000000 --- a/skeletons/IA5String.c +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * Copyright (c) 2003 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * IA5String basic type description. - */ -static const ber_tlv_tag_t asn_DEF_IA5String_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), /* [UNIVERSAL 22] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static asn_per_constraints_t asn_DEF_IA5String_per_constraints = { - { APC_CONSTRAINED, 7, 7, 0, 0x7f }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - 0, 0 -}; -asn_TYPE_operation_t asn_OP_IA5String = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* ASCII subset */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_IA5String = { - "IA5String", - "IA5String", - &asn_OP_IA5String, - asn_DEF_IA5String_tags, - sizeof(asn_DEF_IA5String_tags) - / sizeof(asn_DEF_IA5String_tags[0]) - 1, - asn_DEF_IA5String_tags, - sizeof(asn_DEF_IA5String_tags) - / sizeof(asn_DEF_IA5String_tags[0]), - { 0, &asn_DEF_IA5String_per_constraints, IA5String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -int -IA5String_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(st && st->buf) { - uint8_t *buf = st->buf; - uint8_t *end = buf + st->size; - /* - * IA5String is generally equivalent to 7bit ASCII. - * ISO/ITU-T T.50, 1963. - */ - for(; buf < end; buf++) { - if(*buf > 0x7F) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value byte %ld out of range: " - "%d > 127 (%s:%d)", - td->name, - (long)((buf - st->buf) + 1), - *buf, - __FILE__, __LINE__); - return -1; - } - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} - diff --git a/skeletons/IA5String.h b/skeletons/IA5String.h deleted file mode 100644 index 321f0c7..0000000 --- a/skeletons/IA5String.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _IA5String_H_ -#define _IA5String_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t IA5String_t; /* Implemented via OCTET STRING */ - -/* - * IA5String ASN.1 type definition. - */ -extern asn_TYPE_descriptor_t asn_DEF_IA5String; -extern asn_TYPE_operation_t asn_OP_IA5String; - -asn_constr_check_f IA5String_constraint; - -#define IA5String_free OCTET_STRING_free -#define IA5String_print OCTET_STRING_print_utf8 -#define IA5String_compare OCTET_STRING_compare -#define IA5String_decode_ber OCTET_STRING_decode_ber -#define IA5String_encode_der OCTET_STRING_encode_der -#define IA5String_decode_xer OCTET_STRING_decode_xer_utf8 -#define IA5String_encode_xer OCTET_STRING_encode_xer_utf8 -#define IA5String_decode_uper OCTET_STRING_decode_uper -#define IA5String_encode_uper OCTET_STRING_encode_uper -#define IA5String_decode_aper OCTET_STRING_decode_aper -#define IA5String_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _IA5String_H_ */ diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c deleted file mode 100644 index 2a2f4d7..0000000 --- a/skeletons/INTEGER.c +++ /dev/null @@ -1,1735 +0,0 @@ -/*- - * Copyright (c) 2003-2014 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include /* Encoder and decoder of a primitive type */ -#include - -/* - * INTEGER basic type description. - */ -static const ber_tlv_tag_t asn_DEF_INTEGER_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_operation_t asn_OP_INTEGER = { - INTEGER_free, - INTEGER_print, - INTEGER_compare, - ber_decode_primitive, - INTEGER_encode_der, - INTEGER_decode_xer, - INTEGER_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - INTEGER_decode_oer, /* OER decoder */ - INTEGER_encode_oer, /* Canonical OER encoder */ -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - INTEGER_decode_uper, /* Unaligned PER decoder */ - INTEGER_encode_uper, /* Unaligned PER encoder */ - INTEGER_decode_aper, /* Aligned PER decoder */ - INTEGER_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - INTEGER_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_INTEGER = { - "INTEGER", - "INTEGER", - &asn_OP_INTEGER, - asn_DEF_INTEGER_tags, - sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), - asn_DEF_INTEGER_tags, /* Same as above */ - sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -/* - * Encode INTEGER type using DER. - */ -asn_enc_rval_t -INTEGER_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, - void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - asn_enc_rval_t rval; - INTEGER_t effective_integer; - - ASN_DEBUG("%s %s as INTEGER (tm=%d)", - cb?"Encoding":"Estimating", td->name, tag_mode); - - /* - * Canonicalize integer in the buffer. - * (Remove too long sign extension, remove some first 0x00 bytes) - */ - if(st->buf) { - uint8_t *buf = st->buf; - uint8_t *end1 = buf + st->size - 1; - int shift; - - /* Compute the number of superfluous leading bytes */ - for(; buf < end1; buf++) { - /* - * If the contents octets of an integer value encoding - * consist of more than one octet, then the bits of the - * first octet and bit 8 of the second octet: - * a) shall not all be ones; and - * b) shall not all be zero. - */ - switch(*buf) { - case 0x00: if((buf[1] & 0x80) == 0) - continue; - break; - case 0xff: if((buf[1] & 0x80)) - continue; - break; - } - break; - } - - /* Remove leading superfluous bytes from the integer */ - shift = buf - st->buf; - if(shift) { - union { - const uint8_t *c_buf; - uint8_t *nc_buf; - } unconst; - unconst.c_buf = st->buf; - effective_integer.buf = unconst.nc_buf + shift; - effective_integer.size = st->size - shift; - - st = &effective_integer; - } - } - - rval = der_encode_primitive(td, st, tag_mode, tag, cb, app_key); - if(rval.structure_ptr == &effective_integer) { - rval.structure_ptr = sptr; - } - return rval; -} - -static const asn_INTEGER_enum_map_t *INTEGER_map_enum2value( - const asn_INTEGER_specifics_t *specs, const char *lstart, - const char *lstop); - -/* - * INTEGER specific human-readable output. - */ -static ssize_t -INTEGER__dump(const asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - char scratch[32]; - uint8_t *buf = st->buf; - uint8_t *buf_end = st->buf + st->size; - intmax_t value; - ssize_t wrote = 0; - char *p; - int ret; - - if(specs && specs->field_unsigned) - ret = asn_INTEGER2umax(st, (uintmax_t *)&value); - else - ret = asn_INTEGER2imax(st, &value); - - /* Simple case: the integer size is small */ - if(ret == 0) { - const asn_INTEGER_enum_map_t *el; - el = (value >= 0 || !specs || !specs->field_unsigned) - ? INTEGER_map_value2enum(specs, value) : 0; - if(el) { - if(plainOrXER == 0) - return asn__format_to_callback(cb, app_key, - "%" ASN_PRIdMAX " (%s)", value, el->enum_name); - else - return asn__format_to_callback(cb, app_key, - "<%s/>", el->enum_name); - } else if(plainOrXER && specs && specs->strict_enumeration) { - ASN_DEBUG("ASN.1 forbids dealing with " - "unknown value of ENUMERATED type"); - errno = EPERM; - return -1; - } else { - return asn__format_to_callback(cb, app_key, - (specs && specs->field_unsigned) - ? "%" ASN_PRIuMAX - : "%" ASN_PRIdMAX, - value); - } - } else if(plainOrXER && specs && specs->strict_enumeration) { - /* - * Here and earlier, we cannot encode the ENUMERATED values - * if there is no corresponding identifier. - */ - ASN_DEBUG("ASN.1 forbids dealing with " - "unknown value of ENUMERATED type"); - errno = EPERM; - return -1; - } - - /* Output in the long xx:yy:zz... format */ - /* TODO: replace with generic algorithm (Knuth TAOCP Vol 2, 4.3.1) */ - for(p = scratch; buf < buf_end; buf++) { - const char * const h2c = "0123456789ABCDEF"; - if((p - scratch) >= (ssize_t)(sizeof(scratch) - 4)) { - /* Flush buffer */ - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - wrote += p - scratch; - p = scratch; - } - *p++ = h2c[*buf >> 4]; - *p++ = h2c[*buf & 0x0F]; - *p++ = 0x3a; /* ":" */ - } - if(p != scratch) - p--; /* Remove the last ":" */ - - wrote += p - scratch; - return (cb(scratch, p - scratch, app_key) < 0) ? -1 : wrote; -} - -/* - * INTEGER specific human-readable output. - */ -int -INTEGER_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - ssize_t ret; - - (void)ilevel; - - if(!st || !st->buf) - ret = cb("", 8, app_key); - else - ret = INTEGER__dump(td, st, cb, app_key, 0); - - return (ret < 0) ? -1 : 0; -} - -struct e2v_key { - const char *start; - const char *stop; - const asn_INTEGER_enum_map_t *vemap; - const unsigned int *evmap; -}; -static int -INTEGER__compar_enum2value(const void *kp, const void *am) { - const struct e2v_key *key = (const struct e2v_key *)kp; - const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; - const char *ptr, *end, *name; - - /* Remap the element (sort by different criterion) */ - el = key->vemap + key->evmap[el - key->vemap]; - - /* Compare strings */ - for(ptr = key->start, end = key->stop, name = el->enum_name; - ptr < end; ptr++, name++) { - if(*ptr != *name || !*name) - return *(const unsigned char *)ptr - - *(const unsigned char *)name; - } - return name[0] ? -1 : 0; -} - -static const asn_INTEGER_enum_map_t * -INTEGER_map_enum2value(const asn_INTEGER_specifics_t *specs, const char *lstart, - const char *lstop) { - const asn_INTEGER_enum_map_t *el_found; - int count = specs ? specs->map_count : 0; - struct e2v_key key; - const char *lp; - - if(!count) return NULL; - - /* Guaranteed: assert(lstart < lstop); */ - /* Figure out the tag name */ - for(lstart++, lp = lstart; lp < lstop; lp++) { - switch(*lp) { - case 9: case 10: case 11: case 12: case 13: case 32: /* WSP */ - case 0x2f: /* '/' */ case 0x3e: /* '>' */ - break; - default: - continue; - } - break; - } - if(lp == lstop) return NULL; /* No tag found */ - lstop = lp; - - key.start = lstart; - key.stop = lstop; - key.vemap = specs->value2enum; - key.evmap = specs->enum2value; - el_found = (asn_INTEGER_enum_map_t *)bsearch(&key, - specs->value2enum, count, sizeof(specs->value2enum[0]), - INTEGER__compar_enum2value); - if(el_found) { - /* Remap enum2value into value2enum */ - el_found = key.vemap + key.evmap[el_found - key.vemap]; - } - return el_found; -} - -static int -INTEGER__compar_value2enum(const void *kp, const void *am) { - long a = *(const long *)kp; - const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; - long b = el->nat_value; - if(a < b) return -1; - else if(a == b) return 0; - else return 1; -} - -const asn_INTEGER_enum_map_t * -INTEGER_map_value2enum(const asn_INTEGER_specifics_t *specs, long value) { - int count = specs ? specs->map_count : 0; - if(!count) return 0; - return (asn_INTEGER_enum_map_t *)bsearch(&value, specs->value2enum, - count, sizeof(specs->value2enum[0]), - INTEGER__compar_value2enum); -} - -static int -INTEGER_st_prealloc(INTEGER_t *st, int min_size) { - void *p = MALLOC(min_size + 1); - if(p) { - void *b = st->buf; - st->size = 0; - st->buf = p; - FREEMEM(b); - return 0; - } else { - return -1; - } -} - -/* - * Decode the chunk of XML text encoding INTEGER. - */ -static enum xer_pbd_rval -INTEGER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - INTEGER_t *st = (INTEGER_t *)sptr; - intmax_t dec_value; - intmax_t hex_value = 0; - const char *lp; - const char *lstart = (const char *)chunk_buf; - const char *lstop = lstart + chunk_size; - enum { - ST_LEADSPACE, - ST_SKIPSPHEX, - ST_WAITDIGITS, - ST_DIGITS, - ST_DIGITS_TRAILSPACE, - ST_HEXDIGIT1, - ST_HEXDIGIT2, - ST_HEXDIGITS_TRAILSPACE, - ST_HEXCOLON, - ST_END_ENUM, - ST_UNEXPECTED - } state = ST_LEADSPACE; - const char *dec_value_start = 0; /* INVARIANT: always !0 in ST_DIGITS */ - const char *dec_value_end = 0; - - if(chunk_size) - ASN_DEBUG("INTEGER body %ld 0x%2x..0x%2x", - (long)chunk_size, *lstart, lstop[-1]); - - if(INTEGER_st_prealloc(st, (chunk_size/3) + 1)) - return XPBD_SYSTEM_FAILURE; - - /* - * We may have received a tag here. It will be processed inline. - * Use strtoul()-like code and serialize the result. - */ - for(lp = lstart; lp < lstop; lp++) { - int lv = *lp; - switch(lv) { - case 0x09: case 0x0a: case 0x0d: case 0x20: - switch(state) { - case ST_LEADSPACE: - case ST_DIGITS_TRAILSPACE: - case ST_HEXDIGITS_TRAILSPACE: - case ST_SKIPSPHEX: - continue; - case ST_DIGITS: - dec_value_end = lp; - state = ST_DIGITS_TRAILSPACE; - continue; - case ST_HEXCOLON: - state = ST_HEXDIGITS_TRAILSPACE; - continue; - default: - break; - } - break; - case 0x2d: /* '-' */ - if(state == ST_LEADSPACE) { - dec_value = 0; - dec_value_start = lp; - state = ST_WAITDIGITS; - continue; - } - break; - case 0x2b: /* '+' */ - if(state == ST_LEADSPACE) { - dec_value = 0; - dec_value_start = lp; - state = ST_WAITDIGITS; - continue; - } - break; - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - switch(state) { - case ST_DIGITS: continue; - case ST_SKIPSPHEX: /* Fall through */ - case ST_HEXDIGIT1: - hex_value = (lv - 0x30) << 4; - state = ST_HEXDIGIT2; - continue; - case ST_HEXDIGIT2: - hex_value += (lv - 0x30); - state = ST_HEXCOLON; - st->buf[st->size++] = (uint8_t)hex_value; - continue; - case ST_HEXCOLON: - return XPBD_BROKEN_ENCODING; - case ST_LEADSPACE: - dec_value = 0; - dec_value_start = lp; - /* FALL THROUGH */ - case ST_WAITDIGITS: - state = ST_DIGITS; - continue; - default: - break; - } - break; - case 0x3c: /* '<', start of XML encoded enumeration */ - if(state == ST_LEADSPACE) { - const asn_INTEGER_enum_map_t *el; - el = INTEGER_map_enum2value( - (const asn_INTEGER_specifics_t *) - td->specifics, lstart, lstop); - if(el) { - ASN_DEBUG("Found \"%s\" => %ld", - el->enum_name, el->nat_value); - dec_value = el->nat_value; - state = ST_END_ENUM; - lp = lstop - 1; - continue; - } - ASN_DEBUG("Unknown identifier for INTEGER"); - } - return XPBD_BROKEN_ENCODING; - case 0x3a: /* ':' */ - if(state == ST_HEXCOLON) { - /* This colon is expected */ - state = ST_HEXDIGIT1; - continue; - } else if(state == ST_DIGITS) { - /* The colon here means that we have - * decoded the first two hexadecimal - * places as a decimal value. - * Switch decoding mode. */ - ASN_DEBUG("INTEGER re-evaluate as hex form"); - state = ST_SKIPSPHEX; - dec_value_start = 0; - lp = lstart - 1; - continue; - } else { - ASN_DEBUG("state %d at %ld", state, (long)(lp - lstart)); - break; - } - /* [A-Fa-f] */ - case 0x41:case 0x42:case 0x43:case 0x44:case 0x45:case 0x46: - case 0x61:case 0x62:case 0x63:case 0x64:case 0x65:case 0x66: - switch(state) { - case ST_SKIPSPHEX: - case ST_LEADSPACE: /* Fall through */ - case ST_HEXDIGIT1: - hex_value = lv - ((lv < 0x61) ? 0x41 : 0x61); - hex_value += 10; - hex_value <<= 4; - state = ST_HEXDIGIT2; - continue; - case ST_HEXDIGIT2: - hex_value += lv - ((lv < 0x61) ? 0x41 : 0x61); - hex_value += 10; - st->buf[st->size++] = (uint8_t)hex_value; - state = ST_HEXCOLON; - continue; - case ST_DIGITS: - ASN_DEBUG("INTEGER re-evaluate as hex form"); - state = ST_SKIPSPHEX; - dec_value_start = 0; - lp = lstart - 1; - continue; - default: - break; - } - break; - } - - /* Found extra non-numeric stuff */ - ASN_DEBUG("INTEGER :: Found non-numeric 0x%2x at %ld", - lv, (long)(lp - lstart)); - state = ST_UNEXPECTED; - break; - } - - switch(state) { - case ST_END_ENUM: - /* Got a complete and valid enumeration encoded as a tag. */ - break; - case ST_DIGITS: - dec_value_end = lstop; - /* FALL THROUGH */ - case ST_DIGITS_TRAILSPACE: - /* The last symbol encountered was a digit. */ - switch(asn_strtoimax_lim(dec_value_start, &dec_value_end, &dec_value)) { - case ASN_STRTOX_OK: - if(specs && specs->field_unsigned && (uintmax_t) dec_value <= ULONG_MAX) { - break; - } else if(dec_value >= LONG_MIN && dec_value <= LONG_MAX) { - break; - } else { - /* - * We model INTEGER on long for XER, - * to avoid rewriting all the tests at once. - */ - ASN_DEBUG("INTEGER exceeds long range"); - } - /* Fall through */ - case ASN_STRTOX_ERROR_RANGE: - ASN_DEBUG("INTEGER decode %s hit range limit", td->name); - return XPBD_DECODER_LIMIT; - case ASN_STRTOX_ERROR_INVAL: - case ASN_STRTOX_EXPECT_MORE: - case ASN_STRTOX_EXTRA_DATA: - return XPBD_BROKEN_ENCODING; - } - break; - case ST_HEXCOLON: - case ST_HEXDIGITS_TRAILSPACE: - st->buf[st->size] = 0; /* Just in case termination */ - return XPBD_BODY_CONSUMED; - case ST_HEXDIGIT1: - case ST_HEXDIGIT2: - case ST_SKIPSPHEX: - return XPBD_BROKEN_ENCODING; - case ST_LEADSPACE: - /* Content not found */ - return XPBD_NOT_BODY_IGNORE; - case ST_WAITDIGITS: - case ST_UNEXPECTED: - ASN_DEBUG("INTEGER: No useful digits (state %d)", state); - return XPBD_BROKEN_ENCODING; /* No digits */ - } - - /* - * Convert the result of parsing of enumeration or a straight - * decimal value into a BER representation. - */ - if(asn_imax2INTEGER(st, dec_value)) { - ASN_DEBUG("INTEGER decode %s conversion failed", td->name); - return XPBD_SYSTEM_FAILURE; - } - - return XPBD_BODY_CONSUMED; -} - -asn_dec_rval_t -INTEGER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(INTEGER_t), opt_mname, - buf_ptr, size, INTEGER__xer_body_decode); -} - -asn_enc_rval_t -INTEGER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; - (void)flags; - - if(!st || !st->buf) - ASN__ENCODE_FAILED; - - er.encoded = INTEGER__dump(td, st, cb, app_key, 1); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -INTEGER_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval = { RC_OK, 0 }; - INTEGER_t *st = (INTEGER_t *)*sptr; - const asn_per_constraint_t *ct; - int repeat; - - (void)opt_codec_ctx; - - if(!st) { - st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - if(!constraints) constraints = td->encoding_constraints.per_constraints; - ct = constraints ? &constraints->value : 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) ASN__DECODE_STARVED; - if(inext) ct = 0; - } - - FREEMEM(st->buf); - st->buf = 0; - st->size = 0; - if(ct) { - if(ct->flags & APC_SEMI_CONSTRAINED) { - st->buf = (uint8_t *)CALLOC(1, 2); - if(!st->buf) ASN__DECODE_FAILED; - st->size = 1; - } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { - size_t size = (ct->range_bits + 7) >> 3; - st->buf = (uint8_t *)MALLOC(1 + size + 1); - if(!st->buf) ASN__DECODE_FAILED; - st->size = size; - } - } - - /* X.691-2008/11, #13.2.2, constrained whole number */ - if(ct && ct->flags != APC_UNCONSTRAINED) { - /* #11.5.6 */ - ASN_DEBUG("Integer with range %d bits", ct->range_bits); - if(ct->range_bits >= 0) { - if((size_t)ct->range_bits > 8 * sizeof(unsigned long)) - ASN__DECODE_FAILED; - - if(specs && specs->field_unsigned) { - unsigned long uvalue = 0; - if(uper_get_constrained_whole_number(pd, - &uvalue, ct->range_bits)) - ASN__DECODE_STARVED; - ASN_DEBUG("Got value %lu + low %ld", - uvalue, ct->lower_bound); - uvalue += ct->lower_bound; - if(asn_ulong2INTEGER(st, uvalue)) - ASN__DECODE_FAILED; - } else { - unsigned long uvalue = 0; - long svalue; - if(uper_get_constrained_whole_number(pd, - &uvalue, ct->range_bits)) - ASN__DECODE_STARVED; - ASN_DEBUG("Got value %lu + low %ld", - uvalue, ct->lower_bound); - if(per_long_range_unrebase(uvalue, ct->lower_bound, - ct->upper_bound, &svalue) - || asn_long2INTEGER(st, svalue)) { - ASN__DECODE_FAILED; - } - } - return rval; - } - } else { - ASN_DEBUG("Decoding unconstrained integer %s", td->name); - } - - /* X.691, #12.2.3, #12.2.4 */ - do { - ssize_t len = 0; - void *p = NULL; - int ret = 0; - - /* Get the PER length */ - len = uper_get_length(pd, -1, 0, &repeat); - if(len < 0) ASN__DECODE_STARVED; - - p = REALLOC(st->buf, st->size + len + 1); - if(!p) ASN__DECODE_FAILED; - st->buf = (uint8_t *)p; - - ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); - if(ret < 0) ASN__DECODE_STARVED; - st->size += len; - } while(repeat); - st->buf[st->size] = 0; /* JIC */ - - /* #12.2.3 */ - if(ct && ct->lower_bound) { - /* - * TODO: replace by in-place arithmetics. - */ - long value = 0; - if(asn_INTEGER2long(st, &value)) - ASN__DECODE_FAILED; - if(asn_imax2INTEGER(st, value + ct->lower_bound)) - ASN__DECODE_FAILED; - } - - return rval; -} - -asn_enc_rval_t -INTEGER_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - const INTEGER_t *st = (const INTEGER_t *)sptr; - const uint8_t *buf; - const uint8_t *end; - const asn_per_constraint_t *ct; - long value = 0; - - if(!st || st->size == 0) ASN__ENCODE_FAILED; - - if(!constraints) constraints = td->encoding_constraints.per_constraints; - ct = constraints ? &constraints->value : 0; - - er.encoded = 0; - - if(ct) { - int inext = 0; - if(specs && specs->field_unsigned) { - unsigned long uval; - if(asn_INTEGER2ulong(st, &uval)) - ASN__ENCODE_FAILED; - /* Check proper range */ - if(ct->flags & APC_SEMI_CONSTRAINED) { - if(uval < (unsigned long)ct->lower_bound) - inext = 1; - } else if(ct->range_bits >= 0) { - if(uval < (unsigned long)ct->lower_bound - || uval > (unsigned long)ct->upper_bound) - inext = 1; - } - ASN_DEBUG("Value %lu (%02x/%" ASN_PRI_SIZE ") lb %lu ub %lu %s", - uval, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); - value = uval; - } else { - if(asn_INTEGER2long(st, &value)) - ASN__ENCODE_FAILED; - /* Check proper range */ - if(ct->flags & APC_SEMI_CONSTRAINED) { - if(value < ct->lower_bound) - inext = 1; - } else if(ct->range_bits >= 0) { - if(value < ct->lower_bound - || value > ct->upper_bound) - inext = 1; - } - ASN_DEBUG("Value %ld (%02x/%" ASN_PRI_SIZE ") lb %ld ub %ld %s", - value, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); - } - if(ct->flags & APC_EXTENSIBLE) { - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - if(inext) ct = 0; - } else if(inext) { - ASN__ENCODE_FAILED; - } - } - - - /* X.691-11/2008, #13.2.2, test if constrained whole number */ - if(ct && ct->range_bits >= 0) { - unsigned long v; - /* #11.5.6 -> #11.3 */ - ASN_DEBUG("Encoding integer %ld (%lu) with range %d bits", - value, value - ct->lower_bound, ct->range_bits); - if(specs && specs->field_unsigned) { - if ( ((unsigned long)ct->lower_bound > (unsigned long)(ct->upper_bound) - || ((unsigned long)value < (unsigned long)ct->lower_bound)) - || ((unsigned long)value > (unsigned long)ct->upper_bound) - ) { - ASN_DEBUG("Value %lu to-be-encoded is outside the bounds [%lu, %lu]!", - value, ct->lower_bound, ct->upper_bound); - ASN__ENCODE_FAILED; - } - v = (unsigned long)value - (unsigned long)ct->lower_bound; - } else { - if(per_long_range_rebase(value, ct->lower_bound, ct->upper_bound, &v)) { - ASN__ENCODE_FAILED; - } - } - if(uper_put_constrained_whole_number_u(po, v, ct->range_bits)) - ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - if(ct && ct->lower_bound) { - ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); - /* TODO: adjust lower bound */ - ASN__ENCODE_FAILED; - } - - for(buf = st->buf, end = st->buf + st->size; buf < end;) { - int need_eom = 0; - ssize_t mayEncode = uper_put_length(po, end - buf, &need_eom); - if(mayEncode < 0) - ASN__ENCODE_FAILED; - if(per_put_many_bits(po, buf, 8 * mayEncode)) - ASN__ENCODE_FAILED; - buf += mayEncode; - if(need_eom && uper_put_length(po, 0, 0)) ASN__ENCODE_FAILED; - } - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -INTEGER_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval = { RC_OK, 0 }; - INTEGER_t *st = (INTEGER_t *)*sptr; - const asn_per_constraint_t *ct; - int repeat; - - (void)opt_codec_ctx; - - if(!st) { - st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - if(!constraints) constraints = td->encoding_constraints.per_constraints; - ct = constraints ? &constraints->value : 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) ASN__DECODE_STARVED; - if(inext) ct = 0; - } - - FREEMEM(st->buf); - st->buf = 0; - st->size = 0; - if(ct) { - if(ct->flags & APC_SEMI_CONSTRAINED) { - st->buf = (uint8_t *)CALLOC(1, 2); - if(!st->buf) ASN__DECODE_FAILED; - st->size = 1; - } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { - size_t size = (ct->range_bits + 7) >> 3; - st->buf = (uint8_t *)MALLOC(1 + size + 1); - if(!st->buf) ASN__DECODE_FAILED; - st->size = size; - } - } - - /* X.691, #12.2.2 */ - if(ct && ct->flags != APC_UNCONSTRAINED) { - /* #10.5.6 */ - ASN_DEBUG("Integer with range %d bits", ct->range_bits); - if(ct->range_bits >= 0) { - if (ct->range_bits > 16) { - int max_range_bytes = (ct->range_bits >> 3) + - (((ct->range_bits % 8) > 0) ? 1 : 0); - int length = 0, i; - long value = 0; - - for (i = 1; ; i++) { - int upper = 1 << i; - if (upper >= max_range_bytes) - break; - } - ASN_DEBUG("Can encode %d (%d bytes) in %d bits", ct->range_bits, - max_range_bytes, i); - - if ((length = per_get_few_bits(pd, i)) < 0) - ASN__DECODE_FAILED; - - /* X.691 #12.2.6 length determinant + lb (1) */ - length += 1; - ASN_DEBUG("Got length %d", length); - if (aper_get_align(pd) != 0) - ASN__DECODE_FAILED; - while (length--) { - int buf = per_get_few_bits(pd, 8); - if (buf < 0) - ASN__DECODE_FAILED; - value += (((long)buf) << (8 * length)); - } - - value += ct->lower_bound; - if((specs && specs->field_unsigned) - ? asn_uint642INTEGER(st, (unsigned long)value) - : asn_int642INTEGER(st, value)) - ASN__DECODE_FAILED; - ASN_DEBUG("Got value %ld + low %ld", - value, ct->lower_bound); - } else { - long value = 0; - if (ct->range_bits < 8) { - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - } else if (ct->range_bits == 8) { - if (aper_get_align(pd) < 0) - ASN__DECODE_FAILED; - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - } else { - /* Align */ - if (aper_get_align(pd) < 0) - ASN__DECODE_FAILED; - value = per_get_few_bits(pd, 16); - if(value < 0) ASN__DECODE_STARVED; - } - value += ct->lower_bound; - if((specs && specs->field_unsigned) - ? asn_ulong2INTEGER(st, value) - : asn_long2INTEGER(st, value)) - ASN__DECODE_FAILED; - ASN_DEBUG("Got value %ld + low %ld", - value, ct->lower_bound); - } - return rval; - } else { - ASN__DECODE_FAILED; - } - } else { - ASN_DEBUG("Decoding unconstrained integer %s", td->name); - } - - /* X.691, #12.2.3, #12.2.4 */ - do { - ssize_t len; - void *p; - int ret; - - /* Get the PER length */ - len = aper_get_length(pd, -1, -1, &repeat); - if(len < 0) ASN__DECODE_STARVED; - - p = REALLOC(st->buf, st->size + len + 1); - if(!p) ASN__DECODE_FAILED; - st->buf = (uint8_t *)p; - - ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); - if(ret < 0) ASN__DECODE_STARVED; - st->size += len; - } while(repeat); - st->buf[st->size] = 0; /* JIC */ - - /* #12.2.3 */ - if(ct && ct->lower_bound) { - /* - * TODO: replace by in-place arithmetics. - */ - long value; - if(asn_INTEGER2long(st, &value)) - ASN__DECODE_FAILED; - if(asn_long2INTEGER(st, value + ct->lower_bound)) - ASN__DECODE_FAILED; - } - - return rval; -} - -asn_enc_rval_t -INTEGER_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - const INTEGER_t *st = (const INTEGER_t *)sptr; - const uint8_t *buf; - const uint8_t *end; - const asn_per_constraint_t *ct; - long value = 0; - - if(!st || st->size == 0) ASN__ENCODE_FAILED; - - if(!constraints) constraints = td->encoding_constraints.per_constraints; - ct = constraints ? &constraints->value : 0; - - er.encoded = 0; - - if(ct) { - int inext = 0; - if(specs && specs->field_unsigned) { - unsigned long uval; - if(asn_INTEGER2ulong(st, &uval)) - ASN__ENCODE_FAILED; - /* Check proper range */ - if(ct->flags & APC_SEMI_CONSTRAINED) { - if(uval < (unsigned long)ct->lower_bound) - inext = 1; - } else if(ct->range_bits >= 0) { - if(uval < (unsigned long)ct->lower_bound - || uval > (unsigned long)ct->upper_bound) - inext = 1; - } - ASN_DEBUG("Value %lu (%02x/%lu) lb %ld ub %ld %s", - uval, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); - value = uval; - } else { - if(asn_INTEGER2long(st, &value)) ASN__ENCODE_FAILED; - /* Check proper range */ - if(ct->flags & APC_SEMI_CONSTRAINED) { - if(value < ct->lower_bound) - inext = 1; - } else if(ct->range_bits >= 0) { - if(value < ct->lower_bound - || value > ct->upper_bound) - inext = 1; - } - ASN_DEBUG("Value %lu (%02x/%lu) lb %ld ub %ld %s", - value, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); - } - if(ct->flags & APC_EXTENSIBLE) { - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - if(inext) ct = 0; - } else if(inext) { - ASN__ENCODE_FAILED; - } - } - - /* X.691, #12.2.2 */ - if(ct && ct->range_bits >= 0) { - unsigned long v; - - /* #10.5.6 */ - ASN_DEBUG("Encoding integer %ld (%lu) with range %d bits", - value, value - ct->lower_bound, ct->range_bits); - - v = value - ct->lower_bound; - - /* #12 <= 8 -> alignment ? */ - if (ct->range_bits < 8) { - if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) - ASN__ENCODE_FAILED; - } else if (ct->range_bits == 8) { - if(aper_put_align(po) < 0) - ASN__ENCODE_FAILED; - if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) - ASN__ENCODE_FAILED; - } else if (ct->range_bits <= 16) { - /* Consume the bytes to align on octet */ - if(aper_put_align(po) < 0) - ASN__ENCODE_FAILED; - if(per_put_few_bits(po, 0x0000 | v, - 16)) - ASN__ENCODE_FAILED; - } else { - /* TODO: extend to >64 bits */ - int64_t v64 = v; - int i, j; - int max_range_bytes = (ct->range_bits >> 3) + - (((ct->range_bits % 8) > 0) ? 1 : 0); - - for (i = 1; ; i++) { - int upper = 1 << i; - if (upper >= max_range_bytes) - break; - } - - for (j = sizeof(int64_t) -1; j != 0; j--) { - int64_t val; - val = v64 >> (j * 8); - if (val != 0) - break; - } - - /* Putting length in the minimum number of bits ex: 5 = 3bits */ - if (per_put_few_bits(po, j, i)) - ASN__ENCODE_FAILED; - - /* Consume the bits to align on octet */ - if (aper_put_align(po) < 0) - ASN__ENCODE_FAILED; - /* Put the value */ - for (i = 0; i <= j; i++) { - if(per_put_few_bits(po, (v64 >> (8 * (j - i))) & 0xff, 8)) - ASN__ENCODE_FAILED; - } - } - ASN__ENCODED_OK(er); - } - - if(ct && ct->lower_bound) { - ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); - /* TODO: adjust lower bound */ - ASN__ENCODE_FAILED; - } - - for(buf = st->buf, end = st->buf + st->size; buf < end;) { - ssize_t mayEncode = aper_put_length(po, -1, end - buf); - if(mayEncode < 0) - ASN__ENCODE_FAILED; - if(per_put_many_bits(po, buf, 8 * mayEncode)) - ASN__ENCODE_FAILED; - buf += mayEncode; - } - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -static intmax_t -asn__integer_convert(const uint8_t *b, const uint8_t *end) { - uintmax_t value; - - /* Perform the sign initialization */ - /* Actually value = -(*b >> 7); gains nothing, yet unreadable! */ - if((*b >> 7)) { - value = (uintmax_t)(-1); - } else { - value = 0; - } - - /* Conversion engine */ - for(; b < end; b++) { - value = (value << 8) | *b; - } - - return value; -} - -int -asn_INTEGER2imax(const INTEGER_t *iptr, intmax_t *lptr) { - uint8_t *b, *end; - size_t size; - - /* Sanity checking */ - if(!iptr || !iptr->buf || !lptr) { - errno = EINVAL; - return -1; - } - - /* Cache the begin/end of the buffer */ - b = iptr->buf; /* Start of the INTEGER buffer */ - size = iptr->size; - end = b + size; /* Where to stop */ - - if(size > sizeof(intmax_t)) { - uint8_t *end1 = end - 1; - /* - * Slightly more advanced processing, - * able to process INTEGERs with >sizeof(intmax_t) bytes - * when the actual value is small, e.g. for intmax_t == int32_t - * (0x0000000000abcdef INTEGER would yield a fine 0x00abcdef int32_t) - */ - /* Skip out the insignificant leading bytes */ - for(; b < end1; b++) { - switch(*b) { - case 0x00: if((b[1] & 0x80) == 0) continue; break; - case 0xff: if((b[1] & 0x80) != 0) continue; break; - } - break; - } - - size = end - b; - if(size > sizeof(intmax_t)) { - /* Still cannot fit the sizeof(intmax_t) */ - errno = ERANGE; - return -1; - } - } - - /* Shortcut processing of a corner case */ - if(end == b) { - *lptr = 0; - return 0; - } - - *lptr = asn__integer_convert(b, end); - return 0; -} - -/* FIXME: negative INTEGER values are silently interpreted as large unsigned ones. */ -int -asn_INTEGER2umax(const INTEGER_t *iptr, uintmax_t *lptr) { - uint8_t *b, *end; - uintmax_t value; - size_t size; - - if(!iptr || !iptr->buf || !lptr) { - errno = EINVAL; - return -1; - } - - b = iptr->buf; - size = iptr->size; - end = b + size; - - /* If all extra leading bytes are zeroes, ignore them */ - for(; size > sizeof(value); b++, size--) { - if(*b) { - /* Value won't fit into uintmax_t */ - errno = ERANGE; - return -1; - } - } - - /* Conversion engine */ - for(value = 0; b < end; b++) - value = (value << 8) | *b; - - *lptr = value; - return 0; -} - -int -asn_umax2INTEGER(INTEGER_t *st, uintmax_t value) { - uint8_t *buf; - uint8_t *end; - uint8_t *b; - int shr; - - if(value <= ((~(uintmax_t)0) >> 1)) { - return asn_imax2INTEGER(st, value); - } - - buf = (uint8_t *)MALLOC(1 + sizeof(value)); - if(!buf) return -1; - - end = buf + (sizeof(value) + 1); - buf[0] = 0; /* INTEGERs are signed. 0-byte indicates positive. */ - for(b = buf + 1, shr = (sizeof(value) - 1) * 8; b < end; shr -= 8, b++) - *b = (uint8_t)(value >> shr); - - if(st->buf) FREEMEM(st->buf); - st->buf = buf; - st->size = 1 + sizeof(value); - - return 0; -} - -int -asn_imax2INTEGER(INTEGER_t *st, intmax_t value) { - uint8_t *buf, *bp; - uint8_t *p; - uint8_t *pstart; - uint8_t *pend1; - int littleEndian = 1; /* Run-time detection */ - int add; - - if(!st) { - errno = EINVAL; - return -1; - } - - buf = (uint8_t *)(long *)MALLOC(sizeof(value)); - if(!buf) return -1; - - if(*(char *)&littleEndian) { - pstart = (uint8_t *)&value + sizeof(value) - 1; - pend1 = (uint8_t *)&value; - add = -1; - } else { - pstart = (uint8_t *)&value; - pend1 = pstart + sizeof(value) - 1; - add = 1; - } - - /* - * If the contents octet consists of more than one octet, - * then bits of the first octet and bit 8 of the second octet: - * a) shall not all be ones; and - * b) shall not all be zero. - */ - for(p = pstart; p != pend1; p += add) { - switch(*p) { - case 0x00: if((*(p+add) & 0x80) == 0) - continue; - break; - case 0xff: if((*(p+add) & 0x80)) - continue; - break; - } - break; - } - /* Copy the integer body */ - for(bp = buf, pend1 += add; p != pend1; p += add) - *bp++ = *p; - - if(st->buf) FREEMEM(st->buf); - st->buf = buf; - st->size = bp - buf; - - return 0; -} - -int -asn_INTEGER2long(const INTEGER_t *iptr, long *l) { - intmax_t v; - if(asn_INTEGER2imax(iptr, &v) == 0) { - if(v < LONG_MIN || v > LONG_MAX) { - errno = ERANGE; - return -1; - } - *l = v; - return 0; - } else { - return -1; - } -} - -int -asn_INTEGER2ulong(const INTEGER_t *iptr, unsigned long *l) { - uintmax_t v; - if(asn_INTEGER2umax(iptr, &v) == 0) { - if(v > ULONG_MAX) { - errno = ERANGE; - return -1; - } - *l = v; - return 0; - } else { - return -1; - } -} - -int -asn_long2INTEGER(INTEGER_t *st, long value) { - return asn_imax2INTEGER(st, value); -} - -int -asn_ulong2INTEGER(INTEGER_t *st, unsigned long value) { - return asn_imax2INTEGER(st, value); -} - - -int -asn_uint642INTEGER(INTEGER_t *st, uint64_t value) { - uint8_t *buf; - uint8_t *end; - uint8_t *b; - int shr; - - if(value <= INT64_MAX) - return asn_int642INTEGER(st, value); - - buf = (uint8_t *)MALLOC(1 + sizeof(value)); - if(!buf) return -1; - - end = buf + (sizeof(value) + 1); - buf[0] = 0; - for(b = buf + 1, shr = (sizeof(value)-1)*8; b < end; shr -= 8, b++) - *b = (uint8_t)(value >> shr); - - if(st->buf) FREEMEM(st->buf); - st->buf = buf; - st->size = 1 + sizeof(value); - - return 0; -} - -int -asn_int642INTEGER(INTEGER_t *st, int64_t value) { - uint8_t *buf, *bp; - uint8_t *p; - uint8_t *pstart; - uint8_t *pend1; - int littleEndian = 1; /* Run-time detection */ - int add; - - if(!st) { - errno = EINVAL; - return -1; - } - - buf = (uint8_t *)MALLOC(sizeof(value)); - if(!buf) return -1; - - if(*(char *)&littleEndian) { - pstart = (uint8_t *)&value + sizeof(value) - 1; - pend1 = (uint8_t *)&value; - add = -1; - } else { - pstart = (uint8_t *)&value; - pend1 = pstart + sizeof(value) - 1; - add = 1; - } - - /* - * If the contents octet consists of more than one octet, - * then bits of the first octet and bit 8 of the second octet: - * a) shall not all be ones; and - * b) shall not all be zero. - */ - for(p = pstart; p != pend1; p += add) { - switch(*p) { - case 0x00: if((*(p+add) & 0x80) == 0) - continue; - break; - case 0xff: if((*(p+add) & 0x80)) - continue; - break; - } - break; - } - /* Copy the integer body */ - for(pstart = p, bp = buf, pend1 += add; p != pend1; p += add) - *bp++ = *p; - - if(st->buf) FREEMEM(st->buf); - st->buf = buf; - st->size = bp - buf; - - return 0; -} - -/* - * Parse the number in the given string until the given *end position, - * returning the position after the last parsed character back using the - * same (*end) pointer. - * WARNING: This behavior is different from the standard strtol/strtoimax(3). - */ -enum asn_strtox_result_e -asn_strtoimax_lim(const char *str, const char **end, intmax_t *intp) { - int sign = 1; - intmax_t value; - -#define ASN1_INTMAX_MAX ((~(uintmax_t)0) >> 1) - const intmax_t upper_boundary = ASN1_INTMAX_MAX / 10; - intmax_t last_digit_max = ASN1_INTMAX_MAX % 10; -#undef ASN1_INTMAX_MAX - - if(str >= *end) return ASN_STRTOX_ERROR_INVAL; - - switch(*str) { - case '-': - last_digit_max++; - sign = -1; - /* FALL THROUGH */ - case '+': - str++; - if(str >= *end) { - *end = str; - return ASN_STRTOX_EXPECT_MORE; - } - } - - for(value = 0; str < (*end); str++) { - switch(*str) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: { - int d = *str - '0'; - if(value < upper_boundary) { - value = value * 10 + d; - } else if(value == upper_boundary) { - if(d <= last_digit_max) { - if(sign > 0) { - value = value * 10 + d; - } else { - sign = 1; - value = -value * 10 - d; - } - } else { - *end = str; - return ASN_STRTOX_ERROR_RANGE; - } - } else { - *end = str; - return ASN_STRTOX_ERROR_RANGE; - } - } - continue; - default: - *end = str; - *intp = sign * value; - return ASN_STRTOX_EXTRA_DATA; - } - } - - *end = str; - *intp = sign * value; - return ASN_STRTOX_OK; -} - -/* - * Parse the number in the given string until the given *end position, - * returning the position after the last parsed character back using the - * same (*end) pointer. - * WARNING: This behavior is different from the standard strtoul/strtoumax(3). - */ -enum asn_strtox_result_e -asn_strtoumax_lim(const char *str, const char **end, uintmax_t *uintp) { - uintmax_t value; - -#define ASN1_UINTMAX_MAX ((~(uintmax_t)0)) - const uintmax_t upper_boundary = ASN1_UINTMAX_MAX / 10; - uintmax_t last_digit_max = ASN1_UINTMAX_MAX % 10; -#undef ASN1_UINTMAX_MAX - - if(str >= *end) return ASN_STRTOX_ERROR_INVAL; - - switch(*str) { - case '-': - return ASN_STRTOX_ERROR_INVAL; - case '+': - str++; - if(str >= *end) { - *end = str; - return ASN_STRTOX_EXPECT_MORE; - } - } - - for(value = 0; str < (*end); str++) { - switch(*str) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: { - unsigned int d = *str - '0'; - if(value < upper_boundary) { - value = value * 10 + d; - } else if(value == upper_boundary) { - if(d <= last_digit_max) { - value = value * 10 + d; - } else { - *end = str; - return ASN_STRTOX_ERROR_RANGE; - } - } else { - *end = str; - return ASN_STRTOX_ERROR_RANGE; - } - } - continue; - default: - *end = str; - *uintp = value; - return ASN_STRTOX_EXTRA_DATA; - } - } - - *end = str; - *uintp = value; - return ASN_STRTOX_OK; -} - -enum asn_strtox_result_e -asn_strtol_lim(const char *str, const char **end, long *lp) { - intmax_t value; - switch(asn_strtoimax_lim(str, end, &value)) { - case ASN_STRTOX_ERROR_RANGE: - return ASN_STRTOX_ERROR_RANGE; - case ASN_STRTOX_ERROR_INVAL: - return ASN_STRTOX_ERROR_INVAL; - case ASN_STRTOX_EXPECT_MORE: - return ASN_STRTOX_EXPECT_MORE; - case ASN_STRTOX_OK: - if(value >= LONG_MIN && value <= LONG_MAX) { - *lp = value; - return ASN_STRTOX_OK; - } else { - return ASN_STRTOX_ERROR_RANGE; - } - case ASN_STRTOX_EXTRA_DATA: - if(value >= LONG_MIN && value <= LONG_MAX) { - *lp = value; - return ASN_STRTOX_EXTRA_DATA; - } else { - return ASN_STRTOX_ERROR_RANGE; - } - } - - assert(!"Unreachable"); - return ASN_STRTOX_ERROR_INVAL; -} - -enum asn_strtox_result_e -asn_strtoul_lim(const char *str, const char **end, unsigned long *ulp) { - uintmax_t value; - switch(asn_strtoumax_lim(str, end, &value)) { - case ASN_STRTOX_ERROR_RANGE: - return ASN_STRTOX_ERROR_RANGE; - case ASN_STRTOX_ERROR_INVAL: - return ASN_STRTOX_ERROR_INVAL; - case ASN_STRTOX_EXPECT_MORE: - return ASN_STRTOX_EXPECT_MORE; - case ASN_STRTOX_OK: - if(value <= ULONG_MAX) { - *ulp = value; - return ASN_STRTOX_OK; - } else { - return ASN_STRTOX_ERROR_RANGE; - } - case ASN_STRTOX_EXTRA_DATA: - if(value <= ULONG_MAX) { - *ulp = value; - return ASN_STRTOX_EXTRA_DATA; - } else { - return ASN_STRTOX_ERROR_RANGE; - } - } - - assert(!"Unreachable"); - return ASN_STRTOX_ERROR_INVAL; -} - -int -INTEGER_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const INTEGER_t *a = aptr; - const INTEGER_t *b = bptr; - - (void)td; - - if(a && b) { - if(a->size && b->size) { - int sign_a = (a->buf[0] & 0x80) ? -1 : 1; - int sign_b = (b->buf[0] & 0x80) ? -1 : 1; - - if(sign_a < sign_b) return -1; - if(sign_a > sign_b) return 1; - - /* The shortest integer wins, unless comparing negatives */ - if(a->size < b->size) { - return -1 * sign_a; - } else if(a->size > b->size) { - return 1 * sign_b; - } - - return sign_a * memcmp(a->buf, b->buf, a->size); - } else if(a->size) { - int sign = (a->buf[0] & 0x80) ? -1 : 1; - return (1) * sign; - } else if(b->size) { - int sign = (a->buf[0] & 0x80) ? -1 : 1; - return (-1) * sign; - } else { - return 0; - } - } else if(!a && !b) { - return 0; - } else if(!a) { - return -1; - } else { - return 1; - } - -} - -asn_random_fill_result_t -INTEGER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - INTEGER_t *st = *sptr; - const asn_INTEGER_enum_map_t *emap; - size_t emap_len; - intmax_t value; - int find_inside_map; - - if(max_length == 0) return result_skipped; - - if(st == NULL) { - st = (INTEGER_t *)CALLOC(1, sizeof(*st)); - if(st == NULL) { - return result_failed; - } - } - - if(specs) { - emap = specs->value2enum; - emap_len = specs->map_count; - if(specs->strict_enumeration) { - find_inside_map = emap_len > 0; - } else { - find_inside_map = emap_len ? asn_random_between(0, 1) : 0; - } - } else { - emap = 0; - emap_len = 0; - find_inside_map = 0; - } - - if(find_inside_map) { - assert(emap_len > 0); - value = emap[asn_random_between(0, emap_len - 1)].nat_value; - } else { - const asn_per_constraints_t *ct; - - static const long variants[] = { - -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, - -16383, -257, -256, -255, -254, -129, -128, -127, - -126, -1, 0, 1, 126, 127, 128, 129, - 254, 255, 256, 257, 16383, 16384, 16385, 32767, - 32768, 32769, 65534, 65535, 65536, 65537}; - if(specs && specs->field_unsigned) { - assert(variants[18] == 0); - value = variants[asn_random_between( - 18, sizeof(variants) / sizeof(variants[0]) - 1)]; - } else { - value = variants[asn_random_between( - 0, sizeof(variants) / sizeof(variants[0]) - 1)]; - } - - if(!constraints) constraints = &td->encoding_constraints; - ct = constraints ? constraints->per_constraints : 0; - if(ct && (ct->value.flags & APC_CONSTRAINED)) { - if(value < ct->value.lower_bound || value > ct->value.upper_bound) { - value = asn_random_between(ct->value.lower_bound, - ct->value.upper_bound); - } - } - } - - if(asn_imax2INTEGER(st, value)) { - if(st == *sptr) { - ASN_STRUCT_RESET(*td, st); - } else { - ASN_STRUCT_FREE(*td, st); - } - return result_failed; - } else { - *sptr = st; - result_ok.length = st->size; - return result_ok; - } -} diff --git a/skeletons/INTEGER.h b/skeletons/INTEGER.h deleted file mode 100644 index f776c07..0000000 --- a/skeletons/INTEGER.h +++ /dev/null @@ -1,108 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _INTEGER_H_ -#define _INTEGER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef ASN__PRIMITIVE_TYPE_t INTEGER_t; - -extern asn_TYPE_descriptor_t asn_DEF_INTEGER; -extern asn_TYPE_operation_t asn_OP_INTEGER; - -/* Map with to integer value association */ -typedef struct asn_INTEGER_enum_map_s { - long nat_value; /* associated native integer value */ - size_t enum_len; /* strlen("tag") */ - const char *enum_name; /* "tag" */ -} asn_INTEGER_enum_map_t; - -/* This type describes an enumeration for INTEGER and ENUMERATED types */ -typedef struct asn_INTEGER_specifics_s { - const asn_INTEGER_enum_map_t *value2enum; /* N -> "tag"; sorted by N */ - const unsigned int *enum2value; /* "tag" => N; sorted by tag */ - int map_count; /* Elements in either map */ - int extension; /* This map is extensible */ - int strict_enumeration; /* Enumeration set is fixed */ - int field_width; /* Size of native integer */ - int field_unsigned; /* Signed=0, unsigned=1 */ -} asn_INTEGER_specifics_t; - -#define INTEGER_free ASN__PRIMITIVE_TYPE_free -#define INTEGER_decode_ber ber_decode_primitive -#define INTEGER_constraint asn_generic_no_constraint -asn_struct_print_f INTEGER_print; -asn_struct_compare_f INTEGER_compare; -der_type_encoder_f INTEGER_encode_der; -xer_type_decoder_f INTEGER_decode_xer; -xer_type_encoder_f INTEGER_encode_xer; -oer_type_decoder_f INTEGER_decode_oer; -oer_type_encoder_f INTEGER_encode_oer; -per_type_decoder_f INTEGER_decode_uper; -per_type_encoder_f INTEGER_encode_uper; -per_type_decoder_f INTEGER_decode_aper; -per_type_encoder_f INTEGER_encode_aper; -asn_random_fill_f INTEGER_random_fill; - -/*********************************** - * Some handy conversion routines. * - ***********************************/ - -/* - * Natiwe size-independent conversion of native integers to/from INTEGER. - * (l_size) is in bytes. - * Returns 0 if it was possible to convert, -1 otherwise. - * -1/EINVAL: Mandatory argument missing - * -1/ERANGE: Value encoded is out of range for long representation - * -1/ENOMEM: Memory allocation failed (in asn_*2INTEGER()). - */ -int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l); -int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l); -int asn_imax2INTEGER(INTEGER_t *i, intmax_t l); -int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l); - -/* - * Size-specific conversion helpers. - */ -int asn_INTEGER2long(const INTEGER_t *i, long *l); -int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l); -int asn_long2INTEGER(INTEGER_t *i, long l); -int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l); -int asn_int642INTEGER(INTEGER_t *i, int64_t l); -int asn_uint642INTEGER(INTEGER_t *i, uint64_t l); - -/* A version of strtol/strtoimax(3) with nicer error reporting. */ -enum asn_strtox_result_e { - ASN_STRTOX_ERROR_RANGE = -3, /* Input outside of supported numeric range */ - ASN_STRTOX_ERROR_INVAL = -2, /* Invalid data encountered (e.g., "+-") */ - ASN_STRTOX_EXPECT_MORE = -1, /* More data expected (e.g. "+") */ - ASN_STRTOX_OK = 0, /* Conversion succeded, number ends at (*end) */ - ASN_STRTOX_EXTRA_DATA = 1 /* Conversion succeded, but the string has extra stuff */ -}; -enum asn_strtox_result_e asn_strtol_lim(const char *str, const char **end, - long *l); -enum asn_strtox_result_e asn_strtoul_lim(const char *str, const char **end, - unsigned long *l); -enum asn_strtox_result_e asn_strtoimax_lim(const char *str, const char **end, - intmax_t *l); -enum asn_strtox_result_e asn_strtoumax_lim(const char *str, const char **end, - uintmax_t *l); - -/* - * Convert the integer value into the corresponding enumeration map entry. - */ -const asn_INTEGER_enum_map_t *INTEGER_map_value2enum( - const asn_INTEGER_specifics_t *specs, long value); - -#ifdef __cplusplus -} -#endif - -#endif /* _INTEGER_H_ */ diff --git a/skeletons/INTEGER_oer.c b/skeletons/INTEGER_oer.c deleted file mode 100644 index 110689b..0000000 --- a/skeletons/INTEGER_oer.c +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -asn_dec_rval_t -INTEGER_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval = {RC_OK, 0}; - INTEGER_t *st = (INTEGER_t *)*sptr; - struct asn_oer_constraint_number_s ct = {0, 0}; - size_t req_bytes; - - (void)opt_codec_ctx; - (void)specs; - - if(!st) { - st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(!st) ASN__DECODE_FAILED; - } - - FREEMEM(st->buf); - st->buf = 0; - st->size = 0; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints) ct = constraints->value; - - if(ct.width) { - req_bytes = ct.width; - } else { - /* No lower bound and no upper bound, effectively */ - - ssize_t consumed = oer_fetch_length(ptr, size, &req_bytes); - if(consumed == 0) { - ASN__DECODE_STARVED; - } else if(consumed == -1) { - ASN__DECODE_FAILED; - } - rval.consumed += consumed; - ptr = (const char *)ptr + consumed; - size -= consumed; - } - - if(req_bytes > size) { - ASN__DECODE_STARVED; - } - - if(ct.positive) { - /* X.969 08/2015 10.2(a) */ - unsigned msb; /* Most significant bit */ - size_t useful_size; - - /* Check most significant bit */ - msb = *(const uint8_t *)ptr >> 7; /* yields 0 or 1 */ - useful_size = msb + req_bytes; - st->buf = (uint8_t *)MALLOC(useful_size + 1); - if(!st->buf) { - ASN__DECODE_FAILED; - } - - /* - * Record a large unsigned in a way not to confuse it - * with signed value. - */ - st->buf[0] = '\0'; - memcpy(st->buf + msb, ptr, req_bytes); - st->buf[useful_size] = '\0'; /* Just in case, 0-terminate */ - st->size = useful_size; - - rval.consumed += req_bytes; - return rval; - } else { - /* X.969 08/2015 10.2(b) */ - st->buf = (uint8_t *)MALLOC(req_bytes + 1); - if(!st->buf) { - ASN__DECODE_FAILED; - } - - memcpy(st->buf, ptr, req_bytes); - st->buf[req_bytes] = '\0'; /* Just in case, 0-terminate */ - st->size = req_bytes; - - rval.consumed += req_bytes; - return rval; - } -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -INTEGER_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const INTEGER_t *st = sptr; - asn_enc_rval_t er = {0,0,0}; - struct asn_oer_constraint_number_s ct = {0, 0}; - const uint8_t *buf; - const uint8_t *end; - size_t useful_bytes; - size_t req_bytes = 0; - int sign = 0; - - if(!st || st->size == 0) ASN__ENCODE_FAILED; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints) ct = constraints->value; - - er.encoded = 0; - - buf = st->buf; - end = buf + st->size; - - sign = (buf && buf < end) ? buf[0] & 0x80 : 0; - - /* Ignore 9 leading zeroes or ones */ - if(ct.positive) { - if(sign) { - /* The value given is a signed value. Can't proceed. */ - ASN__ENCODE_FAILED; - } - /* Remove leading zeros. */ - for(; buf + 1 < end; buf++) { - if(buf[0] != 0x0) break; - } - } else { - for(; buf + 1 < end; buf++) { - if(buf[0] == 0x0 && (buf[1] & 0x80) == 0) { - continue; - } else if(buf[0] == 0xff && (buf[1] & 0x80) != 0) { - continue; - } - break; - } - } - - useful_bytes = end - buf; - if(ct.width) { - req_bytes = ct.width; - } else { - ssize_t r = oer_serialize_length(useful_bytes, cb, app_key); - if(r < 0) { - ASN__ENCODE_FAILED; - } - er.encoded += r; - req_bytes = useful_bytes; - } - - if(req_bytes < useful_bytes) { - ASN__ENCODE_FAILED; - } - - er.encoded += req_bytes; - - for(; req_bytes > useful_bytes; req_bytes--) { - if(cb(sign?"\xff":"\0", 1, app_key) < 0) { - ASN__ENCODE_FAILED; - } - } - - if(cb(buf, useful_bytes, app_key) < 0) { - ASN__ENCODE_FAILED; - } - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/ISO646String.c b/skeletons/ISO646String.c deleted file mode 100644 index f5fc69e..0000000 --- a/skeletons/ISO646String.c +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * ISO646String basic type description. - */ -static const ber_tlv_tag_t asn_DEF_ISO646String_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static asn_per_constraints_t asn_DEF_ISO646String_per_constraints = { - { APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - 0, 0 -}; -asn_TYPE_operation_t asn_OP_ISO646String = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* ASCII subset */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_ISO646String = { - "ISO646String", - "ISO646String", - &asn_OP_ISO646String, - asn_DEF_ISO646String_tags, - sizeof(asn_DEF_ISO646String_tags) - / sizeof(asn_DEF_ISO646String_tags[0]) - 1, - asn_DEF_ISO646String_tags, - sizeof(asn_DEF_ISO646String_tags) - / sizeof(asn_DEF_ISO646String_tags[0]), - { 0, &asn_DEF_ISO646String_per_constraints, ISO646String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; diff --git a/skeletons/ISO646String.h b/skeletons/ISO646String.h deleted file mode 100644 index cd24a68..0000000 --- a/skeletons/ISO646String.h +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _ISO646String_H_ -#define _ISO646String_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef VisibleString_t ISO646String_t; /* Implemented using VisibleString */ - -extern asn_TYPE_descriptor_t asn_DEF_ISO646String; -extern asn_TYPE_operation_t asn_OP_ISO646String; - -#define ISO646String_free OCTET_STRING_free -#define ISO646String_print OCTET_STRING_print_utf8 -#define ISO646String_compare OCTET_STRING_compare -#define ISO646String_constraint VisibleString_constraint -#define ISO646String_decode_ber OCTET_STRING_decode_ber -#define ISO646String_encode_der OCTET_STRING_encode_der -#define ISO646String_decode_xer OCTET_STRING_decode_xer_utf8 -#define ISO646String_encode_xer OCTET_STRING_encode_xer_utf8 -#define ISO646String_decode_uper OCTET_STRING_decode_uper -#define ISO646String_encode_uper OCTET_STRING_encode_uper -#define ISO646String_decode_aper OCTET_STRING_decode_aper -#define ISO646String_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _ISO646String_H_ */ diff --git a/skeletons/Makefile b/skeletons/Makefile deleted file mode 100644 index 3f22ec0..0000000 --- a/skeletons/Makefile +++ /dev/null @@ -1,2776 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# skeletons/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -check_PROGRAMS = check-converter_example$(EXEEXT) \ - check-converter_c89_example$(EXEEXT) $(am__EXEEXT_1) -#am__append_1 = libasn1cskeletons_c89_32.la -#am__append_2 = check-converter_c89_32_example -subdir = skeletons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_pkgdata_DATA) \ - $(nobase_dist_smods_DATA) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -libasn1cskeletons_la_LIBADD = -am_libasn1cskeletons_la_OBJECTS = libasn1cskeletons_la-ANY.lo \ - libasn1cskeletons_la-BIT_STRING.lo \ - libasn1cskeletons_la-BIT_STRING_oer.lo \ - libasn1cskeletons_la-BMPString.lo \ - libasn1cskeletons_la-BOOLEAN.lo \ - libasn1cskeletons_la-ENUMERATED.lo \ - libasn1cskeletons_la-GeneralString.lo \ - libasn1cskeletons_la-GeneralizedTime.lo \ - libasn1cskeletons_la-GraphicString.lo \ - libasn1cskeletons_la-IA5String.lo \ - libasn1cskeletons_la-INTEGER.lo \ - libasn1cskeletons_la-INTEGER_oer.lo \ - libasn1cskeletons_la-ISO646String.lo \ - libasn1cskeletons_la-NULL.lo \ - libasn1cskeletons_la-NativeEnumerated.lo \ - libasn1cskeletons_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_la-NativeInteger.lo \ - libasn1cskeletons_la-NativeInteger_oer.lo \ - libasn1cskeletons_la-NativeReal.lo \ - libasn1cskeletons_la-NumericString.lo \ - libasn1cskeletons_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_la-OCTET_STRING.lo \ - libasn1cskeletons_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_la-OPEN_TYPE.lo \ - libasn1cskeletons_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_la-ObjectDescriptor.lo \ - libasn1cskeletons_la-PrintableString.lo \ - libasn1cskeletons_la-REAL.lo \ - libasn1cskeletons_la-RELATIVE-OID.lo \ - libasn1cskeletons_la-T61String.lo \ - libasn1cskeletons_la-TeletexString.lo \ - libasn1cskeletons_la-UTCTime.lo \ - libasn1cskeletons_la-UTF8String.lo \ - libasn1cskeletons_la-UniversalString.lo \ - libasn1cskeletons_la-VideotexString.lo \ - libasn1cskeletons_la-VisibleString.lo \ - libasn1cskeletons_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_la-asn_SET_OF.lo \ - libasn1cskeletons_la-asn_application.lo \ - libasn1cskeletons_la-asn_codecs_prim.lo \ - libasn1cskeletons_la-asn_internal.lo \ - libasn1cskeletons_la-asn_bit_data.lo \ - libasn1cskeletons_la-asn_random_fill.lo \ - libasn1cskeletons_la-ber_decoder.lo \ - libasn1cskeletons_la-ber_tlv_length.lo \ - libasn1cskeletons_la-ber_tlv_tag.lo \ - libasn1cskeletons_la-constr_CHOICE.lo \ - libasn1cskeletons_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_la-constr_SEQUENCE.lo \ - libasn1cskeletons_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_la-constr_SET.lo \ - libasn1cskeletons_la-constr_SET_OF.lo \ - libasn1cskeletons_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_la-constr_TYPE.lo \ - libasn1cskeletons_la-constraints.lo \ - libasn1cskeletons_la-der_encoder.lo \ - libasn1cskeletons_la-oer_decoder.lo \ - libasn1cskeletons_la-oer_encoder.lo \ - libasn1cskeletons_la-oer_support.lo \ - libasn1cskeletons_la-per_decoder.lo \ - libasn1cskeletons_la-per_encoder.lo \ - libasn1cskeletons_la-per_opentype.lo \ - libasn1cskeletons_la-per_support.lo \ - libasn1cskeletons_la-xer_decoder.lo \ - libasn1cskeletons_la-xer_encoder.lo \ - libasn1cskeletons_la-xer_support.lo -libasn1cskeletons_la_OBJECTS = $(am_libasn1cskeletons_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libasn1cskeletons_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libasn1cskeletons_c89_la_LIBADD = -am__objects_1 = libasn1cskeletons_c89_la-ANY.lo \ - libasn1cskeletons_c89_la-BIT_STRING.lo \ - libasn1cskeletons_c89_la-BIT_STRING_oer.lo \ - libasn1cskeletons_c89_la-BMPString.lo \ - libasn1cskeletons_c89_la-BOOLEAN.lo \ - libasn1cskeletons_c89_la-ENUMERATED.lo \ - libasn1cskeletons_c89_la-GeneralString.lo \ - libasn1cskeletons_c89_la-GeneralizedTime.lo \ - libasn1cskeletons_c89_la-GraphicString.lo \ - libasn1cskeletons_c89_la-IA5String.lo \ - libasn1cskeletons_c89_la-INTEGER.lo \ - libasn1cskeletons_c89_la-INTEGER_oer.lo \ - libasn1cskeletons_c89_la-ISO646String.lo \ - libasn1cskeletons_c89_la-NULL.lo \ - libasn1cskeletons_c89_la-NativeEnumerated.lo \ - libasn1cskeletons_c89_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_c89_la-NativeInteger.lo \ - libasn1cskeletons_c89_la-NativeInteger_oer.lo \ - libasn1cskeletons_c89_la-NativeReal.lo \ - libasn1cskeletons_c89_la-NumericString.lo \ - libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_c89_la-OCTET_STRING.lo \ - libasn1cskeletons_c89_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_c89_la-OPEN_TYPE.lo \ - libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_c89_la-ObjectDescriptor.lo \ - libasn1cskeletons_c89_la-PrintableString.lo \ - libasn1cskeletons_c89_la-REAL.lo \ - libasn1cskeletons_c89_la-RELATIVE-OID.lo \ - libasn1cskeletons_c89_la-T61String.lo \ - libasn1cskeletons_c89_la-TeletexString.lo \ - libasn1cskeletons_c89_la-UTCTime.lo \ - libasn1cskeletons_c89_la-UTF8String.lo \ - libasn1cskeletons_c89_la-UniversalString.lo \ - libasn1cskeletons_c89_la-VideotexString.lo \ - libasn1cskeletons_c89_la-VisibleString.lo \ - libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_la-asn_SET_OF.lo \ - libasn1cskeletons_c89_la-asn_application.lo \ - libasn1cskeletons_c89_la-asn_codecs_prim.lo \ - libasn1cskeletons_c89_la-asn_internal.lo \ - libasn1cskeletons_c89_la-asn_bit_data.lo \ - libasn1cskeletons_c89_la-asn_random_fill.lo \ - libasn1cskeletons_c89_la-ber_decoder.lo \ - libasn1cskeletons_c89_la-ber_tlv_length.lo \ - libasn1cskeletons_c89_la-ber_tlv_tag.lo \ - libasn1cskeletons_c89_la-constr_CHOICE.lo \ - libasn1cskeletons_c89_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_la-constr_SET.lo \ - libasn1cskeletons_c89_la-constr_SET_OF.lo \ - libasn1cskeletons_c89_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_c89_la-constr_TYPE.lo \ - libasn1cskeletons_c89_la-constraints.lo \ - libasn1cskeletons_c89_la-der_encoder.lo \ - libasn1cskeletons_c89_la-oer_decoder.lo \ - libasn1cskeletons_c89_la-oer_encoder.lo \ - libasn1cskeletons_c89_la-oer_support.lo \ - libasn1cskeletons_c89_la-per_decoder.lo \ - libasn1cskeletons_c89_la-per_encoder.lo \ - libasn1cskeletons_c89_la-per_opentype.lo \ - libasn1cskeletons_c89_la-per_support.lo \ - libasn1cskeletons_c89_la-xer_decoder.lo \ - libasn1cskeletons_c89_la-xer_encoder.lo \ - libasn1cskeletons_c89_la-xer_support.lo -am_libasn1cskeletons_c89_la_OBJECTS = $(am__objects_1) -libasn1cskeletons_c89_la_OBJECTS = \ - $(am_libasn1cskeletons_c89_la_OBJECTS) -libasn1cskeletons_c89_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libasn1cskeletons_c89_32_la_LIBADD = -am__libasn1cskeletons_c89_32_la_SOURCES_DIST = ANY.c ANY.h \ - BIT_STRING.c BIT_STRING.h BIT_STRING_oer.c BMPString.c \ - BMPString.h BOOLEAN.c BOOLEAN.h ENUMERATED.c ENUMERATED.h \ - GeneralString.c GeneralString.h GeneralizedTime.c \ - GeneralizedTime.h GraphicString.c GraphicString.h IA5String.c \ - IA5String.h INTEGER.c INTEGER.h INTEGER_oer.c ISO646String.c \ - ISO646String.h NULL.c NULL.h NativeEnumerated.c \ - NativeEnumerated.h NativeEnumerated_oer.c NativeInteger.c \ - NativeInteger.h NativeInteger_oer.c NativeReal.c NativeReal.h \ - NumericString.c NumericString.h OBJECT_IDENTIFIER.c \ - OBJECT_IDENTIFIER.h OCTET_STRING.c OCTET_STRING.h \ - OCTET_STRING_oer.c OPEN_TYPE.c OPEN_TYPE.h OPEN_TYPE_oer.c \ - ObjectDescriptor.c ObjectDescriptor.h PrintableString.c \ - PrintableString.h REAL.c REAL.h RELATIVE-OID.c RELATIVE-OID.h \ - T61String.c T61String.h TeletexString.c TeletexString.h \ - UTCTime.c UTCTime.h UTF8String.c UTF8String.h \ - UniversalString.c UniversalString.h VideotexString.c \ - VideotexString.h VisibleString.c VisibleString.h \ - asn_SEQUENCE_OF.c asn_SEQUENCE_OF.h asn_SET_OF.c asn_SET_OF.h \ - asn_application.c asn_application.h asn_system.h asn_codecs.h \ - asn_codecs_prim.c asn_codecs_prim.h asn_internal.h \ - asn_internal.c asn_bit_data.c asn_bit_data.h asn_random_fill.c \ - asn_random_fill.h ber_decoder.c ber_decoder.h ber_tlv_length.c \ - ber_tlv_length.h ber_tlv_tag.c ber_tlv_tag.h constr_CHOICE.c \ - constr_CHOICE.h constr_CHOICE_oer.c constr_SEQUENCE.c \ - constr_SEQUENCE.h constr_SEQUENCE_oer.c constr_SEQUENCE_OF.c \ - constr_SEQUENCE_OF.h constr_SET.c constr_SET.h constr_SET_OF.c \ - constr_SET_OF.h constr_SET_OF_oer.c constr_TYPE.c \ - constr_TYPE.h constraints.c constraints.h der_encoder.c \ - der_encoder.h oer_decoder.c oer_decoder.h oer_encoder.c \ - oer_encoder.h oer_support.c oer_support.h per_decoder.c \ - per_decoder.h per_encoder.c per_encoder.h per_opentype.c \ - per_opentype.h per_support.c per_support.h xer_decoder.c \ - xer_decoder.h xer_encoder.c xer_encoder.h xer_support.c \ - xer_support.h -am__objects_2 = libasn1cskeletons_c89_32_la-ANY.lo \ - libasn1cskeletons_c89_32_la-BIT_STRING.lo \ - libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo \ - libasn1cskeletons_c89_32_la-BMPString.lo \ - libasn1cskeletons_c89_32_la-BOOLEAN.lo \ - libasn1cskeletons_c89_32_la-ENUMERATED.lo \ - libasn1cskeletons_c89_32_la-GeneralString.lo \ - libasn1cskeletons_c89_32_la-GeneralizedTime.lo \ - libasn1cskeletons_c89_32_la-GraphicString.lo \ - libasn1cskeletons_c89_32_la-IA5String.lo \ - libasn1cskeletons_c89_32_la-INTEGER.lo \ - libasn1cskeletons_c89_32_la-INTEGER_oer.lo \ - libasn1cskeletons_c89_32_la-ISO646String.lo \ - libasn1cskeletons_c89_32_la-NULL.lo \ - libasn1cskeletons_c89_32_la-NativeEnumerated.lo \ - libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_c89_32_la-NativeInteger.lo \ - libasn1cskeletons_c89_32_la-NativeInteger_oer.lo \ - libasn1cskeletons_c89_32_la-NativeReal.lo \ - libasn1cskeletons_c89_32_la-NumericString.lo \ - libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_c89_32_la-OCTET_STRING.lo \ - libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_c89_32_la-OPEN_TYPE.lo \ - libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_c89_32_la-ObjectDescriptor.lo \ - libasn1cskeletons_c89_32_la-PrintableString.lo \ - libasn1cskeletons_c89_32_la-REAL.lo \ - libasn1cskeletons_c89_32_la-RELATIVE-OID.lo \ - libasn1cskeletons_c89_32_la-T61String.lo \ - libasn1cskeletons_c89_32_la-TeletexString.lo \ - libasn1cskeletons_c89_32_la-UTCTime.lo \ - libasn1cskeletons_c89_32_la-UTF8String.lo \ - libasn1cskeletons_c89_32_la-UniversalString.lo \ - libasn1cskeletons_c89_32_la-VideotexString.lo \ - libasn1cskeletons_c89_32_la-VisibleString.lo \ - libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_32_la-asn_SET_OF.lo \ - libasn1cskeletons_c89_32_la-asn_application.lo \ - libasn1cskeletons_c89_32_la-asn_codecs_prim.lo \ - libasn1cskeletons_c89_32_la-asn_internal.lo \ - libasn1cskeletons_c89_32_la-asn_bit_data.lo \ - libasn1cskeletons_c89_32_la-asn_random_fill.lo \ - libasn1cskeletons_c89_32_la-ber_decoder.lo \ - libasn1cskeletons_c89_32_la-ber_tlv_length.lo \ - libasn1cskeletons_c89_32_la-ber_tlv_tag.lo \ - libasn1cskeletons_c89_32_la-constr_CHOICE.lo \ - libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_32_la-constr_SET.lo \ - libasn1cskeletons_c89_32_la-constr_SET_OF.lo \ - libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_c89_32_la-constr_TYPE.lo \ - libasn1cskeletons_c89_32_la-constraints.lo \ - libasn1cskeletons_c89_32_la-der_encoder.lo \ - libasn1cskeletons_c89_32_la-oer_decoder.lo \ - libasn1cskeletons_c89_32_la-oer_encoder.lo \ - libasn1cskeletons_c89_32_la-oer_support.lo \ - libasn1cskeletons_c89_32_la-per_decoder.lo \ - libasn1cskeletons_c89_32_la-per_encoder.lo \ - libasn1cskeletons_c89_32_la-per_opentype.lo \ - libasn1cskeletons_c89_32_la-per_support.lo \ - libasn1cskeletons_c89_32_la-xer_decoder.lo \ - libasn1cskeletons_c89_32_la-xer_encoder.lo \ - libasn1cskeletons_c89_32_la-xer_support.lo -#am_libasn1cskeletons_c89_32_la_OBJECTS = \ -# $(am__objects_2) -libasn1cskeletons_c89_32_la_OBJECTS = \ - $(am_libasn1cskeletons_c89_32_la_OBJECTS) -libasn1cskeletons_c89_32_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -#am_libasn1cskeletons_c89_32_la_rpath = -#am__EXEEXT_1 = \ -# check-converter_c89_32_example$(EXEEXT) -am__check_converter_c89_32_example_SOURCES_DIST = converter-example.c -#am_check_converter_c89_32_example_OBJECTS = check_converter_c89_32_example-converter-example.$(OBJEXT) -check_converter_c89_32_example_OBJECTS = \ - $(am_check_converter_c89_32_example_OBJECTS) -#check_converter_c89_32_example_DEPENDENCIES = \ -# libasn1cskeletons_c89_32.la -check_converter_c89_32_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am_check_converter_c89_example_OBJECTS = \ - check_converter_c89_example-converter-example.$(OBJEXT) -check_converter_c89_example_OBJECTS = \ - $(am_check_converter_c89_example_OBJECTS) -check_converter_c89_example_DEPENDENCIES = libasn1cskeletons_c89.la -check_converter_c89_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_c89_example_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_check_converter_example_OBJECTS = \ - check_converter_example-converter-example.$(OBJEXT) -check_converter_example_OBJECTS = \ - $(am_check_converter_example_OBJECTS) -check_converter_example_DEPENDENCIES = libasn1cskeletons.la -check_converter_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_example_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1cskeletons_la_SOURCES) \ - $(libasn1cskeletons_c89_la_SOURCES) \ - $(libasn1cskeletons_c89_32_la_SOURCES) \ - $(check_converter_c89_32_example_SOURCES) \ - $(check_converter_c89_example_SOURCES) \ - $(check_converter_example_SOURCES) -DIST_SOURCES = $(libasn1cskeletons_la_SOURCES) \ - $(libasn1cskeletons_c89_la_SOURCES) \ - $(am__libasn1cskeletons_c89_32_la_SOURCES_DIST) \ - $(am__check_converter_c89_32_example_SOURCES_DIST) \ - $(check_converter_c89_example_SOURCES) \ - $(check_converter_example_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(smodsdir)" -DATA = $(dist_pkgdata_DATA) $(nobase_dist_smods_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99) -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/skeletons -abs_srcdir = /home/nokia/mouse07410/asn1c/skeletons -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -dist_pkgdata_DATA = \ - ${srcdir}/README \ - ${srcdir}/*.[ch] \ - ${srcdir}/file-dependencies - -smodsdir = $(pkgdatadir) -nobase_dist_smods_DATA = \ - standard-modules/README \ - standard-modules/ASN1-Object-Identifier-Module.asn1 \ - standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 - -check_LTLIBRARIES = libasn1cskeletons.la libasn1cskeletons_c89.la \ - $(am__append_1) -libasn1cskeletons_c89_la_CFLAGS = $(SKELETONS_CFLAGS) -libasn1cskeletons_c89_la_SOURCES = $(libasn1cskeletons_la_SOURCES) -libasn1cskeletons_la_CFLAGS = $(TESTSUITE_CFLAGS) -libasn1cskeletons_la_SOURCES = \ - ANY.c ANY.h \ - BIT_STRING.c BIT_STRING.h \ - BIT_STRING_oer.c \ - BMPString.c BMPString.h \ - BOOLEAN.c BOOLEAN.h \ - ENUMERATED.c ENUMERATED.h \ - GeneralString.c GeneralString.h \ - GeneralizedTime.c GeneralizedTime.h \ - GraphicString.c GraphicString.h \ - IA5String.c IA5String.h \ - INTEGER.c INTEGER.h \ - INTEGER_oer.c \ - ISO646String.c ISO646String.h \ - NULL.c NULL.h \ - NativeEnumerated.c NativeEnumerated.h \ - NativeEnumerated_oer.c \ - NativeInteger.c NativeInteger.h \ - NativeInteger_oer.c \ - NativeReal.c NativeReal.h \ - NumericString.c NumericString.h \ - OBJECT_IDENTIFIER.c OBJECT_IDENTIFIER.h \ - OCTET_STRING.c OCTET_STRING.h \ - OCTET_STRING_oer.c \ - OPEN_TYPE.c OPEN_TYPE.h OPEN_TYPE_oer.c \ - ObjectDescriptor.c ObjectDescriptor.h \ - PrintableString.c PrintableString.h \ - REAL.c REAL.h \ - RELATIVE-OID.c RELATIVE-OID.h \ - T61String.c T61String.h \ - TeletexString.c TeletexString.h \ - UTCTime.c UTCTime.h \ - UTF8String.c UTF8String.h \ - UniversalString.c UniversalString.h \ - VideotexString.c VideotexString.h \ - VisibleString.c VisibleString.h \ - asn_SEQUENCE_OF.c asn_SEQUENCE_OF.h \ - asn_SET_OF.c asn_SET_OF.h \ - asn_application.c asn_application.h \ - asn_system.h asn_codecs.h \ - asn_codecs_prim.c asn_codecs_prim.h \ - asn_internal.h asn_internal.c \ - asn_bit_data.c asn_bit_data.h \ - asn_random_fill.c asn_random_fill.h \ - ber_decoder.c ber_decoder.h \ - ber_tlv_length.c ber_tlv_length.h \ - ber_tlv_tag.c ber_tlv_tag.h \ - constr_CHOICE.c constr_CHOICE.h \ - constr_CHOICE_oer.c \ - constr_SEQUENCE.c constr_SEQUENCE.h \ - constr_SEQUENCE_oer.c \ - constr_SEQUENCE_OF.c constr_SEQUENCE_OF.h \ - constr_SET.c constr_SET.h \ - constr_SET_OF.c constr_SET_OF.h \ - constr_SET_OF_oer.c \ - constr_TYPE.c constr_TYPE.h \ - constraints.c constraints.h \ - der_encoder.c der_encoder.h \ - oer_decoder.c oer_decoder.h \ - oer_encoder.c oer_encoder.h \ - oer_support.c oer_support.h \ - per_decoder.c per_decoder.h \ - per_encoder.c per_encoder.h \ - per_opentype.c per_opentype.h \ - per_support.c per_support.h \ - xer_decoder.c xer_decoder.h \ - xer_encoder.c xer_encoder.h \ - xer_support.c xer_support.h - -LDADD = -lm -check_converter_example_CFLAGS = $(TESTSUITE_CFLAGS) -DNO_ASN_PDU -check_converter_example_SOURCES = converter-example.c -check_converter_example_LDADD = libasn1cskeletons.la -check_converter_c89_example_CFLAGS = $(SKELETON_CFLAGS) -DNO_ASN_PDU -check_converter_c89_example_SOURCES = converter-example.c -check_converter_c89_example_LDADD = libasn1cskeletons_c89.la -#libasn1cskeletons_c89_32_la_CFLAGS = $(CFLAGS_M32) -Wno-format -#libasn1cskeletons_c89_32_la_SOURCES = $(libasn1cskeletons_la_SOURCES) -#check_converter_c89_32_example_CFLAGS = $(CFLAGS_M32) -DNO_ASN_PDU -#check_converter_c89_32_example_SOURCES = converter-example.c -#check_converter_c89_32_example_LDADD = libasn1cskeletons_c89_32.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign skeletons/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign skeletons/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkLTLIBRARIES: - -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) - @list='$(check_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1cskeletons.la: $(libasn1cskeletons_la_OBJECTS) $(libasn1cskeletons_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_la_LINK) $(libasn1cskeletons_la_OBJECTS) $(libasn1cskeletons_la_LIBADD) $(LIBS) - -libasn1cskeletons_c89.la: $(libasn1cskeletons_c89_la_OBJECTS) $(libasn1cskeletons_c89_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_c89_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_c89_la_LINK) $(libasn1cskeletons_c89_la_OBJECTS) $(libasn1cskeletons_c89_la_LIBADD) $(LIBS) - -libasn1cskeletons_c89_32.la: $(libasn1cskeletons_c89_32_la_OBJECTS) $(libasn1cskeletons_c89_32_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_c89_32_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_c89_32_la_LINK) $(am_libasn1cskeletons_c89_32_la_rpath) $(libasn1cskeletons_c89_32_la_OBJECTS) $(libasn1cskeletons_c89_32_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check-converter_c89_32_example$(EXEEXT): $(check_converter_c89_32_example_OBJECTS) $(check_converter_c89_32_example_DEPENDENCIES) $(EXTRA_check_converter_c89_32_example_DEPENDENCIES) - @rm -f check-converter_c89_32_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_c89_32_example_LINK) $(check_converter_c89_32_example_OBJECTS) $(check_converter_c89_32_example_LDADD) $(LIBS) - -check-converter_c89_example$(EXEEXT): $(check_converter_c89_example_OBJECTS) $(check_converter_c89_example_DEPENDENCIES) $(EXTRA_check_converter_c89_example_DEPENDENCIES) - @rm -f check-converter_c89_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_c89_example_LINK) $(check_converter_c89_example_OBJECTS) $(check_converter_c89_example_LDADD) $(LIBS) - -check-converter_example$(EXEEXT): $(check_converter_example_OBJECTS) $(check_converter_example_DEPENDENCIES) $(EXTRA_check_converter_example_DEPENDENCIES) - @rm -f check-converter_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_example_LINK) $(check_converter_example_OBJECTS) $(check_converter_example_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/check_converter_c89_32_example-converter-example.Po -include ./$(DEPDIR)/check_converter_c89_example-converter-example.Po -include ./$(DEPDIR)/check_converter_example-converter-example.Po -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ANY.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NULL.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-REAL.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-T61String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-constraints.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-per_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ANY.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-BMPString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-GeneralString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-GraphicString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-IA5String.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-INTEGER.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ISO646String.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NULL.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NativeInteger.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NativeReal.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-NumericString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-PrintableString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-REAL.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-T61String.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-TeletexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-UTCTime.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-UTF8String.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-UniversalString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-VideotexString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-VisibleString.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_application.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_internal.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ber_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SET.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-constraints.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-der_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-oer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-oer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-oer_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-per_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-per_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-per_opentype.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-per_support.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-xer_decoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-xer_encoder.Plo -include ./$(DEPDIR)/libasn1cskeletons_la-xer_support.Plo - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libasn1cskeletons_la-ANY.lo: ANY.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ANY.Tpo -c -o libasn1cskeletons_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_la-ANY.Plo -# $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_la-ANY.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_la-BIT_STRING.lo: BIT_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Tpo -c -o libasn1cskeletons_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Plo -# $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_la-BIT_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_la-BIT_STRING_oer.lo: BIT_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Plo -# $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_la-BIT_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_la-BMPString.lo: BMPString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BMPString.Tpo -c -o libasn1cskeletons_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_la-BMPString.Plo -# $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_la-BMPString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_la-BOOLEAN.lo: BOOLEAN.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Tpo -c -o libasn1cskeletons_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Plo -# $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_la-BOOLEAN.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_la-ENUMERATED.lo: ENUMERATED.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Tpo -c -o libasn1cskeletons_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Plo -# $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_la-ENUMERATED.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_la-GeneralString.lo: GeneralString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GeneralString.Tpo -c -o libasn1cskeletons_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_la-GeneralString.Plo -# $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_la-GeneralString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_la-GeneralizedTime.lo: GeneralizedTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Plo -# $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_la-GeneralizedTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_la-GraphicString.lo: GraphicString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GraphicString.Tpo -c -o libasn1cskeletons_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_la-GraphicString.Plo -# $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_la-GraphicString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_la-IA5String.lo: IA5String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-IA5String.Tpo -c -o libasn1cskeletons_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_la-IA5String.Plo -# $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_la-IA5String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_la-INTEGER.lo: INTEGER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-INTEGER.Tpo -c -o libasn1cskeletons_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_la-INTEGER.Plo -# $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_la-INTEGER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_la-INTEGER_oer.lo: INTEGER_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Plo -# $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_la-INTEGER_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_la-ISO646String.lo: ISO646String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ISO646String.Tpo -c -o libasn1cskeletons_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_la-ISO646String.Plo -# $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_la-ISO646String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_la-NULL.lo: NULL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NULL.Tpo -c -o libasn1cskeletons_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_la-NULL.Plo -# $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_la-NULL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_la-NativeEnumerated.lo: NativeEnumerated.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Plo -# $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_la-NativeEnumerated.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Plo -# $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_la-NativeEnumerated_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_la-NativeInteger.lo: NativeInteger.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Tpo -c -o libasn1cskeletons_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Plo -# $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_la-NativeInteger.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_la-NativeInteger_oer.lo: NativeInteger_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Plo -# $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_la-NativeInteger_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_la-NativeReal.lo: NativeReal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeReal.Tpo -c -o libasn1cskeletons_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeReal.Plo -# $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_la-NativeReal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_la-NumericString.lo: NumericString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NumericString.Tpo -c -o libasn1cskeletons_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_la-NumericString.Plo -# $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_la-NumericString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo -# $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_la-OBJECT_IDENTIFIER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_la-OCTET_STRING.lo: OCTET_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Plo -# $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_la-OCTET_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Plo -# $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_la-OCTET_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_la-OPEN_TYPE.lo: OPEN_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Plo -# $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_la-OPEN_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Plo -# $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_la-OPEN_TYPE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_la-ObjectDescriptor.lo: ObjectDescriptor.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Plo -# $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_la-ObjectDescriptor.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_la-PrintableString.lo: PrintableString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-PrintableString.Tpo -c -o libasn1cskeletons_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_la-PrintableString.Plo -# $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_la-PrintableString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_la-REAL.lo: REAL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-REAL.Tpo -c -o libasn1cskeletons_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_la-REAL.Plo -# $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_la-REAL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_la-RELATIVE-OID.lo: RELATIVE-OID.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Plo -# $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_la-RELATIVE-OID.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_la-T61String.lo: T61String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-T61String.Tpo -c -o libasn1cskeletons_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_la-T61String.Plo -# $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_la-T61String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_la-TeletexString.lo: TeletexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-TeletexString.Tpo -c -o libasn1cskeletons_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_la-TeletexString.Plo -# $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_la-TeletexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_la-UTCTime.lo: UTCTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UTCTime.Tpo -c -o libasn1cskeletons_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_la-UTCTime.Plo -# $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_la-UTCTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_la-UTF8String.lo: UTF8String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UTF8String.Tpo -c -o libasn1cskeletons_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_la-UTF8String.Plo -# $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_la-UTF8String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_la-UniversalString.lo: UniversalString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UniversalString.Tpo -c -o libasn1cskeletons_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_la-UniversalString.Plo -# $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_la-UniversalString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_la-VideotexString.lo: VideotexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-VideotexString.Tpo -c -o libasn1cskeletons_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_la-VideotexString.Plo -# $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_la-VideotexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_la-VisibleString.lo: VisibleString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-VisibleString.Tpo -c -o libasn1cskeletons_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_la-VisibleString.Plo -# $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_la-VisibleString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo -# $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_la-asn_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_la-asn_SET_OF.lo: asn_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Plo -# $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_la-asn_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_la-asn_application.lo: asn_application.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_application.Tpo -c -o libasn1cskeletons_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_application.Plo -# $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_la-asn_application.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_la-asn_codecs_prim.lo: asn_codecs_prim.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Plo -# $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_la-asn_codecs_prim.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_la-asn_internal.lo: asn_internal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_internal.Tpo -c -o libasn1cskeletons_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_internal.Plo -# $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_la-asn_internal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_la-asn_bit_data.lo: asn_bit_data.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Tpo -c -o libasn1cskeletons_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Plo -# $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_la-asn_bit_data.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_la-asn_random_fill.lo: asn_random_fill.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Tpo -c -o libasn1cskeletons_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Plo -# $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_la-asn_random_fill.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_la-ber_decoder.lo: ber_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Tpo -c -o libasn1cskeletons_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Plo -# $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_la-ber_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_la-ber_tlv_length.lo: ber_tlv_length.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Plo -# $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_la-ber_tlv_length.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_la-ber_tlv_tag.lo: ber_tlv_tag.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Plo -# $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_la-ber_tlv_tag.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_la-constr_CHOICE.lo: constr_CHOICE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Plo -# $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_la-constr_CHOICE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Plo -# $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_la-constr_CHOICE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_la-constr_SEQUENCE.lo: constr_SEQUENCE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Plo -# $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_la-constr_SEQUENCE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo -# $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_la-constr_SEQUENCE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo -# $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_la-constr_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_la-constr_SET.lo: constr_SET.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET.Tpo -c -o libasn1cskeletons_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET.Plo -# $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_la-constr_SET.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_la-constr_SET_OF.lo: constr_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Plo -# $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_la-constr_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Plo -# $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_la-constr_SET_OF_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_la-constr_TYPE.lo: constr_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Tpo -c -o libasn1cskeletons_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Plo -# $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_la-constr_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_la-constraints.lo: constraints.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constraints.Tpo -c -o libasn1cskeletons_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_la-constraints.Plo -# $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_la-constraints.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_la-der_encoder.lo: der_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-der_encoder.Tpo -c -o libasn1cskeletons_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-der_encoder.Plo -# $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_la-der_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_la-oer_decoder.lo: oer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Tpo -c -o libasn1cskeletons_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Plo -# $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_la-oer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_la-oer_encoder.lo: oer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Tpo -c -o libasn1cskeletons_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Plo -# $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_la-oer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_la-oer_support.lo: oer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_support.Tpo -c -o libasn1cskeletons_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_support.Plo -# $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_la-oer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_la-per_decoder.lo: per_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_decoder.Tpo -c -o libasn1cskeletons_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-per_decoder.Plo -# $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_la-per_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_la-per_encoder.lo: per_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_encoder.Tpo -c -o libasn1cskeletons_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-per_encoder.Plo -# $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_la-per_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_la-per_opentype.lo: per_opentype.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_opentype.Tpo -c -o libasn1cskeletons_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_la-per_opentype.Plo -# $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_la-per_opentype.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_la-per_support.lo: per_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_support.Tpo -c -o libasn1cskeletons_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_la-per_support.Plo -# $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_la-per_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_la-xer_decoder.lo: xer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Tpo -c -o libasn1cskeletons_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Plo -# $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_la-xer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_la-xer_encoder.lo: xer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Tpo -c -o libasn1cskeletons_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Plo -# $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_la-xer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_la-xer_support.lo: xer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_support.Tpo -c -o libasn1cskeletons_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_support.Plo -# $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_la-xer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -libasn1cskeletons_c89_la-ANY.lo: ANY.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Tpo -c -o libasn1cskeletons_c89_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Plo -# $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_c89_la-ANY.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_c89_la-BIT_STRING.lo: BIT_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Tpo -c -o libasn1cskeletons_c89_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Plo -# $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_c89_la-BIT_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_c89_la-BIT_STRING_oer.lo: BIT_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_c89_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo -# $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_c89_la-BIT_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_c89_la-BMPString.lo: BMPString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Tpo -c -o libasn1cskeletons_c89_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Plo -# $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_c89_la-BMPString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_c89_la-BOOLEAN.lo: BOOLEAN.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Tpo -c -o libasn1cskeletons_c89_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Plo -# $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_c89_la-BOOLEAN.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_c89_la-ENUMERATED.lo: ENUMERATED.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Tpo -c -o libasn1cskeletons_c89_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Plo -# $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_c89_la-ENUMERATED.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_c89_la-GeneralString.lo: GeneralString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Tpo -c -o libasn1cskeletons_c89_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Plo -# $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_c89_la-GeneralString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_c89_la-GeneralizedTime.lo: GeneralizedTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_c89_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Plo -# $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_c89_la-GeneralizedTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_c89_la-GraphicString.lo: GraphicString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Tpo -c -o libasn1cskeletons_c89_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Plo -# $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_c89_la-GraphicString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_c89_la-IA5String.lo: IA5String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Tpo -c -o libasn1cskeletons_c89_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Plo -# $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_c89_la-IA5String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_c89_la-INTEGER.lo: INTEGER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Tpo -c -o libasn1cskeletons_c89_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Plo -# $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_c89_la-INTEGER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_c89_la-INTEGER_oer.lo: INTEGER_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_c89_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Plo -# $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_c89_la-INTEGER_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_c89_la-ISO646String.lo: ISO646String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Tpo -c -o libasn1cskeletons_c89_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Plo -# $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_c89_la-ISO646String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_c89_la-NULL.lo: NULL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Tpo -c -o libasn1cskeletons_c89_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Plo -# $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_c89_la-NULL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_c89_la-NativeEnumerated.lo: NativeEnumerated.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_c89_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Plo -# $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_c89_la-NativeEnumerated.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_c89_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_c89_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo -# $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_c89_la-NativeEnumerated_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_c89_la-NativeInteger.lo: NativeInteger.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Tpo -c -o libasn1cskeletons_c89_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Plo -# $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_c89_la-NativeInteger.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_c89_la-NativeInteger_oer.lo: NativeInteger_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_c89_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Plo -# $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_c89_la-NativeInteger_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_c89_la-NativeReal.lo: NativeReal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Tpo -c -o libasn1cskeletons_c89_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Plo -# $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_c89_la-NativeReal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_c89_la-NumericString.lo: NumericString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Tpo -c -o libasn1cskeletons_c89_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Plo -# $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_c89_la-NumericString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo -# $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_c89_la-OCTET_STRING.lo: OCTET_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_c89_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Plo -# $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_c89_la-OCTET_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_c89_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_c89_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo -# $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_c89_la-OCTET_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_c89_la-OPEN_TYPE.lo: OPEN_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_c89_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Plo -# $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_c89_la-OPEN_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo -# $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_c89_la-ObjectDescriptor.lo: ObjectDescriptor.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_c89_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Plo -# $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_c89_la-ObjectDescriptor.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_c89_la-PrintableString.lo: PrintableString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Tpo -c -o libasn1cskeletons_c89_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Plo -# $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_c89_la-PrintableString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_c89_la-REAL.lo: REAL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Tpo -c -o libasn1cskeletons_c89_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Plo -# $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_c89_la-REAL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_c89_la-RELATIVE-OID.lo: RELATIVE-OID.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_c89_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Plo -# $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_c89_la-RELATIVE-OID.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_c89_la-T61String.lo: T61String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Tpo -c -o libasn1cskeletons_c89_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Plo -# $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_c89_la-T61String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_c89_la-TeletexString.lo: TeletexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Tpo -c -o libasn1cskeletons_c89_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Plo -# $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_c89_la-TeletexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_c89_la-UTCTime.lo: UTCTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Tpo -c -o libasn1cskeletons_c89_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Plo -# $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_c89_la-UTCTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_c89_la-UTF8String.lo: UTF8String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Tpo -c -o libasn1cskeletons_c89_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Plo -# $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_c89_la-UTF8String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_c89_la-UniversalString.lo: UniversalString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Tpo -c -o libasn1cskeletons_c89_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Plo -# $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_c89_la-UniversalString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_c89_la-VideotexString.lo: VideotexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Tpo -c -o libasn1cskeletons_c89_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Plo -# $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_c89_la-VideotexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_c89_la-VisibleString.lo: VisibleString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Tpo -c -o libasn1cskeletons_c89_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Plo -# $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_c89_la-VisibleString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo -# $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_c89_la-asn_SET_OF.lo: asn_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_c89_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Plo -# $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_c89_la-asn_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_c89_la-asn_application.lo: asn_application.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Tpo -c -o libasn1cskeletons_c89_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Plo -# $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_c89_la-asn_application.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_c89_la-asn_codecs_prim.lo: asn_codecs_prim.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_c89_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Plo -# $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_c89_la-asn_codecs_prim.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_c89_la-asn_internal.lo: asn_internal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Tpo -c -o libasn1cskeletons_c89_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Plo -# $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_c89_la-asn_internal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_c89_la-asn_bit_data.lo: asn_bit_data.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Tpo -c -o libasn1cskeletons_c89_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Plo -# $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_c89_la-asn_bit_data.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_c89_la-asn_random_fill.lo: asn_random_fill.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Tpo -c -o libasn1cskeletons_c89_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Plo -# $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_c89_la-asn_random_fill.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_c89_la-ber_decoder.lo: ber_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Tpo -c -o libasn1cskeletons_c89_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Plo -# $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_c89_la-ber_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_c89_la-ber_tlv_length.lo: ber_tlv_length.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_c89_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Plo -# $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_c89_la-ber_tlv_length.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_c89_la-ber_tlv_tag.lo: ber_tlv_tag.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_c89_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Plo -# $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_c89_la-ber_tlv_tag.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_c89_la-constr_CHOICE.lo: constr_CHOICE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_c89_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Plo -# $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_c89_la-constr_CHOICE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_c89_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo -# $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_c89_la-constr_CHOICE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_c89_la-constr_SEQUENCE.lo: constr_SEQUENCE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo -# $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo -# $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo -# $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_c89_la-constr_SET.lo: constr_SET.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Tpo -c -o libasn1cskeletons_c89_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Plo -# $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_c89_la-constr_SET.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_c89_la-constr_SET_OF.lo: constr_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_c89_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Plo -# $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_c89_la-constr_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_c89_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo -# $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_c89_la-constr_SET_OF_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_c89_la-constr_TYPE.lo: constr_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Tpo -c -o libasn1cskeletons_c89_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Plo -# $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_c89_la-constr_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_c89_la-constraints.lo: constraints.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Tpo -c -o libasn1cskeletons_c89_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Plo -# $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_c89_la-constraints.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_c89_la-der_encoder.lo: der_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Tpo -c -o libasn1cskeletons_c89_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Plo -# $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_c89_la-der_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_c89_la-oer_decoder.lo: oer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Tpo -c -o libasn1cskeletons_c89_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Plo -# $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_c89_la-oer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_c89_la-oer_encoder.lo: oer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Tpo -c -o libasn1cskeletons_c89_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Plo -# $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_c89_la-oer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_c89_la-oer_support.lo: oer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Tpo -c -o libasn1cskeletons_c89_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Plo -# $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_c89_la-oer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_c89_la-per_decoder.lo: per_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Tpo -c -o libasn1cskeletons_c89_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Plo -# $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_c89_la-per_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_c89_la-per_encoder.lo: per_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Tpo -c -o libasn1cskeletons_c89_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Plo -# $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_c89_la-per_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_c89_la-per_opentype.lo: per_opentype.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Tpo -c -o libasn1cskeletons_c89_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Plo -# $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_c89_la-per_opentype.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_c89_la-per_support.lo: per_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Tpo -c -o libasn1cskeletons_c89_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Plo -# $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_c89_la-per_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_c89_la-xer_decoder.lo: xer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Tpo -c -o libasn1cskeletons_c89_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Plo -# $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_c89_la-xer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_c89_la-xer_encoder.lo: xer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Tpo -c -o libasn1cskeletons_c89_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Plo -# $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_c89_la-xer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_c89_la-xer_support.lo: xer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Tpo -c -o libasn1cskeletons_c89_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Plo -# $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_c89_la-xer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -libasn1cskeletons_c89_32_la-ANY.lo: ANY.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Tpo -c -o libasn1cskeletons_c89_32_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Plo -# $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_c89_32_la-ANY.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_c89_32_la-BIT_STRING.lo: BIT_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Tpo -c -o libasn1cskeletons_c89_32_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Plo -# $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_c89_32_la-BIT_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo: BIT_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo -# $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_c89_32_la-BMPString.lo: BMPString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Tpo -c -o libasn1cskeletons_c89_32_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Plo -# $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_c89_32_la-BMPString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_c89_32_la-BOOLEAN.lo: BOOLEAN.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Tpo -c -o libasn1cskeletons_c89_32_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Plo -# $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_c89_32_la-BOOLEAN.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_c89_32_la-ENUMERATED.lo: ENUMERATED.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Tpo -c -o libasn1cskeletons_c89_32_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Plo -# $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_c89_32_la-ENUMERATED.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_c89_32_la-GeneralString.lo: GeneralString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Tpo -c -o libasn1cskeletons_c89_32_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Plo -# $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_c89_32_la-GeneralString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_c89_32_la-GeneralizedTime.lo: GeneralizedTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_c89_32_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo -# $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_c89_32_la-GeneralizedTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_c89_32_la-GraphicString.lo: GraphicString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Tpo -c -o libasn1cskeletons_c89_32_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Plo -# $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_c89_32_la-GraphicString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_c89_32_la-IA5String.lo: IA5String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Tpo -c -o libasn1cskeletons_c89_32_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Plo -# $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_c89_32_la-IA5String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_c89_32_la-INTEGER.lo: INTEGER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Tpo -c -o libasn1cskeletons_c89_32_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Plo -# $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_c89_32_la-INTEGER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_c89_32_la-INTEGER_oer.lo: INTEGER_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_c89_32_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo -# $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_c89_32_la-INTEGER_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_c89_32_la-ISO646String.lo: ISO646String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Tpo -c -o libasn1cskeletons_c89_32_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Plo -# $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_c89_32_la-ISO646String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_c89_32_la-NULL.lo: NULL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Tpo -c -o libasn1cskeletons_c89_32_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Plo -# $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_c89_32_la-NULL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_c89_32_la-NativeEnumerated.lo: NativeEnumerated.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_c89_32_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo -# $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_c89_32_la-NativeEnumerated.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo -# $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_c89_32_la-NativeInteger.lo: NativeInteger.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Tpo -c -o libasn1cskeletons_c89_32_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Plo -# $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_c89_32_la-NativeInteger.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_c89_32_la-NativeInteger_oer.lo: NativeInteger_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_c89_32_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo -# $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_c89_32_la-NativeInteger_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_c89_32_la-NativeReal.lo: NativeReal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Tpo -c -o libasn1cskeletons_c89_32_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Plo -# $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_c89_32_la-NativeReal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_c89_32_la-NumericString.lo: NumericString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Tpo -c -o libasn1cskeletons_c89_32_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Plo -# $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_c89_32_la-NumericString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo -# $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_c89_32_la-OCTET_STRING.lo: OCTET_STRING.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_c89_32_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo -# $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_c89_32_la-OCTET_STRING.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo -# $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_c89_32_la-OPEN_TYPE.lo: OPEN_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo -# $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_c89_32_la-OPEN_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo -# $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_c89_32_la-ObjectDescriptor.lo: ObjectDescriptor.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_c89_32_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo -# $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_c89_32_la-ObjectDescriptor.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_c89_32_la-PrintableString.lo: PrintableString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Tpo -c -o libasn1cskeletons_c89_32_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Plo -# $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_c89_32_la-PrintableString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_c89_32_la-REAL.lo: REAL.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Tpo -c -o libasn1cskeletons_c89_32_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Plo -# $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_c89_32_la-REAL.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_c89_32_la-RELATIVE-OID.lo: RELATIVE-OID.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_c89_32_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo -# $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_c89_32_la-RELATIVE-OID.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_c89_32_la-T61String.lo: T61String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Tpo -c -o libasn1cskeletons_c89_32_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Plo -# $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_c89_32_la-T61String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_c89_32_la-TeletexString.lo: TeletexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Tpo -c -o libasn1cskeletons_c89_32_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Plo -# $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_c89_32_la-TeletexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_c89_32_la-UTCTime.lo: UTCTime.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Tpo -c -o libasn1cskeletons_c89_32_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Plo -# $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_c89_32_la-UTCTime.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_c89_32_la-UTF8String.lo: UTF8String.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Tpo -c -o libasn1cskeletons_c89_32_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Plo -# $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_c89_32_la-UTF8String.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_c89_32_la-UniversalString.lo: UniversalString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Tpo -c -o libasn1cskeletons_c89_32_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Plo -# $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_c89_32_la-UniversalString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_c89_32_la-VideotexString.lo: VideotexString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Tpo -c -o libasn1cskeletons_c89_32_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Plo -# $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_c89_32_la-VideotexString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_c89_32_la-VisibleString.lo: VisibleString.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Tpo -c -o libasn1cskeletons_c89_32_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Plo -# $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_c89_32_la-VisibleString.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo -# $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_c89_32_la-asn_SET_OF.lo: asn_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_c89_32_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo -# $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_c89_32_la-asn_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_c89_32_la-asn_application.lo: asn_application.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Tpo -c -o libasn1cskeletons_c89_32_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Plo -# $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_c89_32_la-asn_application.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_c89_32_la-asn_codecs_prim.lo: asn_codecs_prim.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_c89_32_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo -# $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_c89_32_la-asn_codecs_prim.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_c89_32_la-asn_internal.lo: asn_internal.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Tpo -c -o libasn1cskeletons_c89_32_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Plo -# $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_c89_32_la-asn_internal.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_c89_32_la-asn_bit_data.lo: asn_bit_data.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Tpo -c -o libasn1cskeletons_c89_32_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Plo -# $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_c89_32_la-asn_bit_data.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_c89_32_la-asn_random_fill.lo: asn_random_fill.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Tpo -c -o libasn1cskeletons_c89_32_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Plo -# $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_c89_32_la-asn_random_fill.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_c89_32_la-ber_decoder.lo: ber_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Plo -# $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_c89_32_la-ber_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_c89_32_la-ber_tlv_length.lo: ber_tlv_length.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_c89_32_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo -# $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_c89_32_la-ber_tlv_length.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_c89_32_la-ber_tlv_tag.lo: ber_tlv_tag.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_c89_32_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo -# $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_c89_32_la-ber_tlv_tag.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_c89_32_la-constr_CHOICE.lo: constr_CHOICE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo -# $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_c89_32_la-constr_CHOICE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo -# $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo: constr_SEQUENCE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo -# $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo -# $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo -# $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_c89_32_la-constr_SET.lo: constr_SET.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Plo -# $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_c89_32_la-constr_SET.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_c89_32_la-constr_SET_OF.lo: constr_SET_OF.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo -# $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_c89_32_la-constr_SET_OF.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo -# $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_c89_32_la-constr_TYPE.lo: constr_TYPE.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Plo -# $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_c89_32_la-constr_TYPE.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_c89_32_la-constraints.lo: constraints.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Tpo -c -o libasn1cskeletons_c89_32_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Plo -# $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_c89_32_la-constraints.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_c89_32_la-der_encoder.lo: der_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Plo -# $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_c89_32_la-der_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_c89_32_la-oer_decoder.lo: oer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Plo -# $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_c89_32_la-oer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_c89_32_la-oer_encoder.lo: oer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Plo -# $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_c89_32_la-oer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_c89_32_la-oer_support.lo: oer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Tpo -c -o libasn1cskeletons_c89_32_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Plo -# $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_c89_32_la-oer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_c89_32_la-per_decoder.lo: per_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Plo -# $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_c89_32_la-per_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_c89_32_la-per_encoder.lo: per_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Plo -# $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_c89_32_la-per_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_c89_32_la-per_opentype.lo: per_opentype.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Tpo -c -o libasn1cskeletons_c89_32_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Plo -# $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_c89_32_la-per_opentype.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_c89_32_la-per_support.lo: per_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Tpo -c -o libasn1cskeletons_c89_32_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Plo -# $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_c89_32_la-per_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_c89_32_la-xer_decoder.lo: xer_decoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Plo -# $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_c89_32_la-xer_decoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_c89_32_la-xer_encoder.lo: xer_encoder.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Plo -# $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_c89_32_la-xer_encoder.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_c89_32_la-xer_support.lo: xer_support.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Tpo -c -o libasn1cskeletons_c89_32_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Plo -# $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_c89_32_la-xer_support.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -check_converter_c89_32_example-converter-example.o: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_32_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo -c -o check_converter_c89_32_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_32_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_c89_32_example-converter-example.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_32_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_c89_32_example-converter-example.obj: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_32_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo -c -o check_converter_c89_32_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_32_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_c89_32_example-converter-example.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_32_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -check_converter_c89_example-converter-example.o: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_c89_example-converter-example.Tpo -c -o check_converter_c89_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_c89_example-converter-example.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_c89_example-converter-example.obj: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_c89_example-converter-example.Tpo -c -o check_converter_c89_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_c89_example-converter-example.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -check_converter_example-converter-example.o: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -MT check_converter_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_example-converter-example.Tpo -c -o check_converter_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_example-converter-example.Tpo $(DEPDIR)/check_converter_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_example-converter-example.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -c -o check_converter_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_example-converter-example.obj: converter-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -MT check_converter_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_example-converter-example.Tpo -c -o check_converter_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_example-converter-example.Tpo $(DEPDIR)/check_converter_example-converter-example.Po -# $(AM_V_CC)source='converter-example.c' object='check_converter_example-converter-example.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -c -o check_converter_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-dist_pkgdataDATA: $(dist_pkgdata_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \ - done - -uninstall-dist_pkgdataDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) -install-nobase_dist_smodsDATA: $(nobase_dist_smods_DATA) - @$(NORMAL_INSTALL) - @list='$(nobase_dist_smods_DATA)'; test -n "$(smodsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(smodsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(smodsdir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(smodsdir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(smodsdir)/$$dir"; }; \ - echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(smodsdir)/$$dir'"; \ - $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(smodsdir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_dist_smodsDATA: - @$(NORMAL_UNINSTALL) - @list='$(nobase_dist_smods_DATA)'; test -n "$(smodsdir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(smodsdir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(smodsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-dist_pkgdataDATA \ - install-nobase_dist_smodsDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-dist_pkgdataDATA uninstall-local \ - uninstall-nobase_dist_smodsDATA - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_pkgdataDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man \ - install-nobase_dist_smodsDATA install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-dist_pkgdataDATA \ - uninstall-local uninstall-nobase_dist_smodsDATA - -.PRECIOUS: Makefile - - -uninstall-local: - -@echo -n " " - -rm -f -r $(DESTDIR)$(pkgdatadir) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/skeletons/Makefile.am b/skeletons/Makefile.am deleted file mode 100644 index efc097d..0000000 --- a/skeletons/Makefile.am +++ /dev/null @@ -1,121 +0,0 @@ - -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) - -dist_pkgdata_DATA = \ - ${srcdir}/README \ - ${srcdir}/*.[ch] \ - ${srcdir}/file-dependencies - -smodsdir=$(pkgdatadir) - -nobase_dist_smods_DATA = \ - standard-modules/README \ - standard-modules/ASN1-Object-Identifier-Module.asn1 \ - standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 - - -uninstall-local: - -@echo -n " " - -rm -f -r $(DESTDIR)$(pkgdatadir) - -check_LTLIBRARIES = \ - libasn1cskeletons.la \ - libasn1cskeletons_c89.la - -libasn1cskeletons_c89_la_CFLAGS = $(SKELETONS_CFLAGS) -libasn1cskeletons_c89_la_SOURCES = $(libasn1cskeletons_la_SOURCES) - -libasn1cskeletons_la_CFLAGS = $(TESTSUITE_CFLAGS) -libasn1cskeletons_la_SOURCES = \ - ANY.c ANY.h \ - BIT_STRING.c BIT_STRING.h \ - BIT_STRING_oer.c \ - BMPString.c BMPString.h \ - BOOLEAN.c BOOLEAN.h \ - ENUMERATED.c ENUMERATED.h \ - GeneralString.c GeneralString.h \ - GeneralizedTime.c GeneralizedTime.h \ - GraphicString.c GraphicString.h \ - IA5String.c IA5String.h \ - INTEGER.c INTEGER.h \ - INTEGER_oer.c \ - ISO646String.c ISO646String.h \ - NULL.c NULL.h \ - NativeEnumerated.c NativeEnumerated.h \ - NativeEnumerated_oer.c \ - NativeInteger.c NativeInteger.h \ - NativeInteger_oer.c \ - NativeReal.c NativeReal.h \ - NumericString.c NumericString.h \ - OBJECT_IDENTIFIER.c OBJECT_IDENTIFIER.h \ - OCTET_STRING.c OCTET_STRING.h \ - OCTET_STRING_oer.c \ - OPEN_TYPE.c OPEN_TYPE.h OPEN_TYPE_oer.c \ - ObjectDescriptor.c ObjectDescriptor.h \ - PrintableString.c PrintableString.h \ - REAL.c REAL.h \ - RELATIVE-OID.c RELATIVE-OID.h \ - T61String.c T61String.h \ - TeletexString.c TeletexString.h \ - UTCTime.c UTCTime.h \ - UTF8String.c UTF8String.h \ - UniversalString.c UniversalString.h \ - VideotexString.c VideotexString.h \ - VisibleString.c VisibleString.h \ - asn_SEQUENCE_OF.c asn_SEQUENCE_OF.h \ - asn_SET_OF.c asn_SET_OF.h \ - asn_application.c asn_application.h \ - asn_system.h asn_codecs.h \ - asn_codecs_prim.c asn_codecs_prim.h \ - asn_internal.h asn_internal.c \ - asn_bit_data.c asn_bit_data.h \ - asn_random_fill.c asn_random_fill.h \ - ber_decoder.c ber_decoder.h \ - ber_tlv_length.c ber_tlv_length.h \ - ber_tlv_tag.c ber_tlv_tag.h \ - constr_CHOICE.c constr_CHOICE.h \ - constr_CHOICE_oer.c \ - constr_SEQUENCE.c constr_SEQUENCE.h \ - constr_SEQUENCE_oer.c \ - constr_SEQUENCE_OF.c constr_SEQUENCE_OF.h \ - constr_SET.c constr_SET.h \ - constr_SET_OF.c constr_SET_OF.h \ - constr_SET_OF_oer.c \ - constr_TYPE.c constr_TYPE.h \ - constraints.c constraints.h \ - der_encoder.c der_encoder.h \ - oer_decoder.c oer_decoder.h \ - oer_encoder.c oer_encoder.h \ - oer_support.c oer_support.h \ - per_decoder.c per_decoder.h \ - per_encoder.c per_encoder.h \ - per_opentype.c per_opentype.h \ - per_support.c per_support.h \ - xer_decoder.c xer_decoder.h \ - xer_encoder.c xer_encoder.h \ - xer_support.c xer_support.h - -check_PROGRAMS = \ - check-converter_example \ - check-converter_c89_example -LDADD = -lm - -check_converter_example_CFLAGS = $(TESTSUITE_CFLAGS) -DNO_ASN_PDU -check_converter_example_SOURCES = converter-example.c -check_converter_example_LDADD = libasn1cskeletons.la - -check_converter_c89_example_CFLAGS = $(SKELETON_CFLAGS) -DNO_ASN_PDU -check_converter_c89_example_SOURCES = converter-example.c -check_converter_c89_example_LDADD = libasn1cskeletons_c89.la - -if EXPLICIT_M32 -check_LTLIBRARIES += libasn1cskeletons_c89_32.la -libasn1cskeletons_c89_32_la_CFLAGS = $(CFLAGS_M32) -Wno-format -libasn1cskeletons_c89_32_la_SOURCES = $(libasn1cskeletons_la_SOURCES) - -check_PROGRAMS += check-converter_c89_32_example -check_converter_c89_32_example_CFLAGS = $(CFLAGS_M32) -DNO_ASN_PDU -check_converter_c89_32_example_SOURCES = converter-example.c -check_converter_c89_32_example_LDADD = libasn1cskeletons_c89_32.la -endif - diff --git a/skeletons/Makefile.in b/skeletons/Makefile.in deleted file mode 100644 index bac3645..0000000 --- a/skeletons/Makefile.in +++ /dev/null @@ -1,2776 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = check-converter_example$(EXEEXT) \ - check-converter_c89_example$(EXEEXT) $(am__EXEEXT_1) -@EXPLICIT_M32_TRUE@am__append_1 = libasn1cskeletons_c89_32.la -@EXPLICIT_M32_TRUE@am__append_2 = check-converter_c89_32_example -subdir = skeletons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_pkgdata_DATA) \ - $(nobase_dist_smods_DATA) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -libasn1cskeletons_la_LIBADD = -am_libasn1cskeletons_la_OBJECTS = libasn1cskeletons_la-ANY.lo \ - libasn1cskeletons_la-BIT_STRING.lo \ - libasn1cskeletons_la-BIT_STRING_oer.lo \ - libasn1cskeletons_la-BMPString.lo \ - libasn1cskeletons_la-BOOLEAN.lo \ - libasn1cskeletons_la-ENUMERATED.lo \ - libasn1cskeletons_la-GeneralString.lo \ - libasn1cskeletons_la-GeneralizedTime.lo \ - libasn1cskeletons_la-GraphicString.lo \ - libasn1cskeletons_la-IA5String.lo \ - libasn1cskeletons_la-INTEGER.lo \ - libasn1cskeletons_la-INTEGER_oer.lo \ - libasn1cskeletons_la-ISO646String.lo \ - libasn1cskeletons_la-NULL.lo \ - libasn1cskeletons_la-NativeEnumerated.lo \ - libasn1cskeletons_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_la-NativeInteger.lo \ - libasn1cskeletons_la-NativeInteger_oer.lo \ - libasn1cskeletons_la-NativeReal.lo \ - libasn1cskeletons_la-NumericString.lo \ - libasn1cskeletons_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_la-OCTET_STRING.lo \ - libasn1cskeletons_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_la-OPEN_TYPE.lo \ - libasn1cskeletons_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_la-ObjectDescriptor.lo \ - libasn1cskeletons_la-PrintableString.lo \ - libasn1cskeletons_la-REAL.lo \ - libasn1cskeletons_la-RELATIVE-OID.lo \ - libasn1cskeletons_la-T61String.lo \ - libasn1cskeletons_la-TeletexString.lo \ - libasn1cskeletons_la-UTCTime.lo \ - libasn1cskeletons_la-UTF8String.lo \ - libasn1cskeletons_la-UniversalString.lo \ - libasn1cskeletons_la-VideotexString.lo \ - libasn1cskeletons_la-VisibleString.lo \ - libasn1cskeletons_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_la-asn_SET_OF.lo \ - libasn1cskeletons_la-asn_application.lo \ - libasn1cskeletons_la-asn_codecs_prim.lo \ - libasn1cskeletons_la-asn_internal.lo \ - libasn1cskeletons_la-asn_bit_data.lo \ - libasn1cskeletons_la-asn_random_fill.lo \ - libasn1cskeletons_la-ber_decoder.lo \ - libasn1cskeletons_la-ber_tlv_length.lo \ - libasn1cskeletons_la-ber_tlv_tag.lo \ - libasn1cskeletons_la-constr_CHOICE.lo \ - libasn1cskeletons_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_la-constr_SEQUENCE.lo \ - libasn1cskeletons_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_la-constr_SET.lo \ - libasn1cskeletons_la-constr_SET_OF.lo \ - libasn1cskeletons_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_la-constr_TYPE.lo \ - libasn1cskeletons_la-constraints.lo \ - libasn1cskeletons_la-der_encoder.lo \ - libasn1cskeletons_la-oer_decoder.lo \ - libasn1cskeletons_la-oer_encoder.lo \ - libasn1cskeletons_la-oer_support.lo \ - libasn1cskeletons_la-per_decoder.lo \ - libasn1cskeletons_la-per_encoder.lo \ - libasn1cskeletons_la-per_opentype.lo \ - libasn1cskeletons_la-per_support.lo \ - libasn1cskeletons_la-xer_decoder.lo \ - libasn1cskeletons_la-xer_encoder.lo \ - libasn1cskeletons_la-xer_support.lo -libasn1cskeletons_la_OBJECTS = $(am_libasn1cskeletons_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libasn1cskeletons_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libasn1cskeletons_c89_la_LIBADD = -am__objects_1 = libasn1cskeletons_c89_la-ANY.lo \ - libasn1cskeletons_c89_la-BIT_STRING.lo \ - libasn1cskeletons_c89_la-BIT_STRING_oer.lo \ - libasn1cskeletons_c89_la-BMPString.lo \ - libasn1cskeletons_c89_la-BOOLEAN.lo \ - libasn1cskeletons_c89_la-ENUMERATED.lo \ - libasn1cskeletons_c89_la-GeneralString.lo \ - libasn1cskeletons_c89_la-GeneralizedTime.lo \ - libasn1cskeletons_c89_la-GraphicString.lo \ - libasn1cskeletons_c89_la-IA5String.lo \ - libasn1cskeletons_c89_la-INTEGER.lo \ - libasn1cskeletons_c89_la-INTEGER_oer.lo \ - libasn1cskeletons_c89_la-ISO646String.lo \ - libasn1cskeletons_c89_la-NULL.lo \ - libasn1cskeletons_c89_la-NativeEnumerated.lo \ - libasn1cskeletons_c89_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_c89_la-NativeInteger.lo \ - libasn1cskeletons_c89_la-NativeInteger_oer.lo \ - libasn1cskeletons_c89_la-NativeReal.lo \ - libasn1cskeletons_c89_la-NumericString.lo \ - libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_c89_la-OCTET_STRING.lo \ - libasn1cskeletons_c89_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_c89_la-OPEN_TYPE.lo \ - libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_c89_la-ObjectDescriptor.lo \ - libasn1cskeletons_c89_la-PrintableString.lo \ - libasn1cskeletons_c89_la-REAL.lo \ - libasn1cskeletons_c89_la-RELATIVE-OID.lo \ - libasn1cskeletons_c89_la-T61String.lo \ - libasn1cskeletons_c89_la-TeletexString.lo \ - libasn1cskeletons_c89_la-UTCTime.lo \ - libasn1cskeletons_c89_la-UTF8String.lo \ - libasn1cskeletons_c89_la-UniversalString.lo \ - libasn1cskeletons_c89_la-VideotexString.lo \ - libasn1cskeletons_c89_la-VisibleString.lo \ - libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_la-asn_SET_OF.lo \ - libasn1cskeletons_c89_la-asn_application.lo \ - libasn1cskeletons_c89_la-asn_codecs_prim.lo \ - libasn1cskeletons_c89_la-asn_internal.lo \ - libasn1cskeletons_c89_la-asn_bit_data.lo \ - libasn1cskeletons_c89_la-asn_random_fill.lo \ - libasn1cskeletons_c89_la-ber_decoder.lo \ - libasn1cskeletons_c89_la-ber_tlv_length.lo \ - libasn1cskeletons_c89_la-ber_tlv_tag.lo \ - libasn1cskeletons_c89_la-constr_CHOICE.lo \ - libasn1cskeletons_c89_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_la-constr_SET.lo \ - libasn1cskeletons_c89_la-constr_SET_OF.lo \ - libasn1cskeletons_c89_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_c89_la-constr_TYPE.lo \ - libasn1cskeletons_c89_la-constraints.lo \ - libasn1cskeletons_c89_la-der_encoder.lo \ - libasn1cskeletons_c89_la-oer_decoder.lo \ - libasn1cskeletons_c89_la-oer_encoder.lo \ - libasn1cskeletons_c89_la-oer_support.lo \ - libasn1cskeletons_c89_la-per_decoder.lo \ - libasn1cskeletons_c89_la-per_encoder.lo \ - libasn1cskeletons_c89_la-per_opentype.lo \ - libasn1cskeletons_c89_la-per_support.lo \ - libasn1cskeletons_c89_la-xer_decoder.lo \ - libasn1cskeletons_c89_la-xer_encoder.lo \ - libasn1cskeletons_c89_la-xer_support.lo -am_libasn1cskeletons_c89_la_OBJECTS = $(am__objects_1) -libasn1cskeletons_c89_la_OBJECTS = \ - $(am_libasn1cskeletons_c89_la_OBJECTS) -libasn1cskeletons_c89_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libasn1cskeletons_c89_32_la_LIBADD = -am__libasn1cskeletons_c89_32_la_SOURCES_DIST = ANY.c ANY.h \ - BIT_STRING.c BIT_STRING.h BIT_STRING_oer.c BMPString.c \ - BMPString.h BOOLEAN.c BOOLEAN.h ENUMERATED.c ENUMERATED.h \ - GeneralString.c GeneralString.h GeneralizedTime.c \ - GeneralizedTime.h GraphicString.c GraphicString.h IA5String.c \ - IA5String.h INTEGER.c INTEGER.h INTEGER_oer.c ISO646String.c \ - ISO646String.h NULL.c NULL.h NativeEnumerated.c \ - NativeEnumerated.h NativeEnumerated_oer.c NativeInteger.c \ - NativeInteger.h NativeInteger_oer.c NativeReal.c NativeReal.h \ - NumericString.c NumericString.h OBJECT_IDENTIFIER.c \ - OBJECT_IDENTIFIER.h OCTET_STRING.c OCTET_STRING.h \ - OCTET_STRING_oer.c OPEN_TYPE.c OPEN_TYPE.h OPEN_TYPE_oer.c \ - ObjectDescriptor.c ObjectDescriptor.h PrintableString.c \ - PrintableString.h REAL.c REAL.h RELATIVE-OID.c RELATIVE-OID.h \ - T61String.c T61String.h TeletexString.c TeletexString.h \ - UTCTime.c UTCTime.h UTF8String.c UTF8String.h \ - UniversalString.c UniversalString.h VideotexString.c \ - VideotexString.h VisibleString.c VisibleString.h \ - asn_SEQUENCE_OF.c asn_SEQUENCE_OF.h asn_SET_OF.c asn_SET_OF.h \ - asn_application.c asn_application.h asn_system.h asn_codecs.h \ - asn_codecs_prim.c asn_codecs_prim.h asn_internal.h \ - asn_internal.c asn_bit_data.c asn_bit_data.h asn_random_fill.c \ - asn_random_fill.h ber_decoder.c ber_decoder.h ber_tlv_length.c \ - ber_tlv_length.h ber_tlv_tag.c ber_tlv_tag.h constr_CHOICE.c \ - constr_CHOICE.h constr_CHOICE_oer.c constr_SEQUENCE.c \ - constr_SEQUENCE.h constr_SEQUENCE_oer.c constr_SEQUENCE_OF.c \ - constr_SEQUENCE_OF.h constr_SET.c constr_SET.h constr_SET_OF.c \ - constr_SET_OF.h constr_SET_OF_oer.c constr_TYPE.c \ - constr_TYPE.h constraints.c constraints.h der_encoder.c \ - der_encoder.h oer_decoder.c oer_decoder.h oer_encoder.c \ - oer_encoder.h oer_support.c oer_support.h per_decoder.c \ - per_decoder.h per_encoder.c per_encoder.h per_opentype.c \ - per_opentype.h per_support.c per_support.h xer_decoder.c \ - xer_decoder.h xer_encoder.c xer_encoder.h xer_support.c \ - xer_support.h -am__objects_2 = libasn1cskeletons_c89_32_la-ANY.lo \ - libasn1cskeletons_c89_32_la-BIT_STRING.lo \ - libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo \ - libasn1cskeletons_c89_32_la-BMPString.lo \ - libasn1cskeletons_c89_32_la-BOOLEAN.lo \ - libasn1cskeletons_c89_32_la-ENUMERATED.lo \ - libasn1cskeletons_c89_32_la-GeneralString.lo \ - libasn1cskeletons_c89_32_la-GeneralizedTime.lo \ - libasn1cskeletons_c89_32_la-GraphicString.lo \ - libasn1cskeletons_c89_32_la-IA5String.lo \ - libasn1cskeletons_c89_32_la-INTEGER.lo \ - libasn1cskeletons_c89_32_la-INTEGER_oer.lo \ - libasn1cskeletons_c89_32_la-ISO646String.lo \ - libasn1cskeletons_c89_32_la-NULL.lo \ - libasn1cskeletons_c89_32_la-NativeEnumerated.lo \ - libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo \ - libasn1cskeletons_c89_32_la-NativeInteger.lo \ - libasn1cskeletons_c89_32_la-NativeInteger_oer.lo \ - libasn1cskeletons_c89_32_la-NativeReal.lo \ - libasn1cskeletons_c89_32_la-NumericString.lo \ - libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo \ - libasn1cskeletons_c89_32_la-OCTET_STRING.lo \ - libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo \ - libasn1cskeletons_c89_32_la-OPEN_TYPE.lo \ - libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo \ - libasn1cskeletons_c89_32_la-ObjectDescriptor.lo \ - libasn1cskeletons_c89_32_la-PrintableString.lo \ - libasn1cskeletons_c89_32_la-REAL.lo \ - libasn1cskeletons_c89_32_la-RELATIVE-OID.lo \ - libasn1cskeletons_c89_32_la-T61String.lo \ - libasn1cskeletons_c89_32_la-TeletexString.lo \ - libasn1cskeletons_c89_32_la-UTCTime.lo \ - libasn1cskeletons_c89_32_la-UTF8String.lo \ - libasn1cskeletons_c89_32_la-UniversalString.lo \ - libasn1cskeletons_c89_32_la-VideotexString.lo \ - libasn1cskeletons_c89_32_la-VisibleString.lo \ - libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_32_la-asn_SET_OF.lo \ - libasn1cskeletons_c89_32_la-asn_application.lo \ - libasn1cskeletons_c89_32_la-asn_codecs_prim.lo \ - libasn1cskeletons_c89_32_la-asn_internal.lo \ - libasn1cskeletons_c89_32_la-asn_bit_data.lo \ - libasn1cskeletons_c89_32_la-asn_random_fill.lo \ - libasn1cskeletons_c89_32_la-ber_decoder.lo \ - libasn1cskeletons_c89_32_la-ber_tlv_length.lo \ - libasn1cskeletons_c89_32_la-ber_tlv_tag.lo \ - libasn1cskeletons_c89_32_la-constr_CHOICE.lo \ - libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo \ - libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo \ - libasn1cskeletons_c89_32_la-constr_SET.lo \ - libasn1cskeletons_c89_32_la-constr_SET_OF.lo \ - libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo \ - libasn1cskeletons_c89_32_la-constr_TYPE.lo \ - libasn1cskeletons_c89_32_la-constraints.lo \ - libasn1cskeletons_c89_32_la-der_encoder.lo \ - libasn1cskeletons_c89_32_la-oer_decoder.lo \ - libasn1cskeletons_c89_32_la-oer_encoder.lo \ - libasn1cskeletons_c89_32_la-oer_support.lo \ - libasn1cskeletons_c89_32_la-per_decoder.lo \ - libasn1cskeletons_c89_32_la-per_encoder.lo \ - libasn1cskeletons_c89_32_la-per_opentype.lo \ - libasn1cskeletons_c89_32_la-per_support.lo \ - libasn1cskeletons_c89_32_la-xer_decoder.lo \ - libasn1cskeletons_c89_32_la-xer_encoder.lo \ - libasn1cskeletons_c89_32_la-xer_support.lo -@EXPLICIT_M32_TRUE@am_libasn1cskeletons_c89_32_la_OBJECTS = \ -@EXPLICIT_M32_TRUE@ $(am__objects_2) -libasn1cskeletons_c89_32_la_OBJECTS = \ - $(am_libasn1cskeletons_c89_32_la_OBJECTS) -libasn1cskeletons_c89_32_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -@EXPLICIT_M32_TRUE@am_libasn1cskeletons_c89_32_la_rpath = -@EXPLICIT_M32_TRUE@am__EXEEXT_1 = \ -@EXPLICIT_M32_TRUE@ check-converter_c89_32_example$(EXEEXT) -am__check_converter_c89_32_example_SOURCES_DIST = converter-example.c -@EXPLICIT_M32_TRUE@am_check_converter_c89_32_example_OBJECTS = check_converter_c89_32_example-converter-example.$(OBJEXT) -check_converter_c89_32_example_OBJECTS = \ - $(am_check_converter_c89_32_example_OBJECTS) -@EXPLICIT_M32_TRUE@check_converter_c89_32_example_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ libasn1cskeletons_c89_32.la -check_converter_c89_32_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am_check_converter_c89_example_OBJECTS = \ - check_converter_c89_example-converter-example.$(OBJEXT) -check_converter_c89_example_OBJECTS = \ - $(am_check_converter_c89_example_OBJECTS) -check_converter_c89_example_DEPENDENCIES = libasn1cskeletons_c89.la -check_converter_c89_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_c89_example_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_check_converter_example_OBJECTS = \ - check_converter_example-converter-example.$(OBJEXT) -check_converter_example_OBJECTS = \ - $(am_check_converter_example_OBJECTS) -check_converter_example_DEPENDENCIES = libasn1cskeletons.la -check_converter_example_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_converter_example_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libasn1cskeletons_la_SOURCES) \ - $(libasn1cskeletons_c89_la_SOURCES) \ - $(libasn1cskeletons_c89_32_la_SOURCES) \ - $(check_converter_c89_32_example_SOURCES) \ - $(check_converter_c89_example_SOURCES) \ - $(check_converter_example_SOURCES) -DIST_SOURCES = $(libasn1cskeletons_la_SOURCES) \ - $(libasn1cskeletons_c89_la_SOURCES) \ - $(am__libasn1cskeletons_c89_32_la_SOURCES_DIST) \ - $(am__check_converter_c89_32_example_SOURCES_DIST) \ - $(check_converter_c89_example_SOURCES) \ - $(check_converter_example_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(smodsdir)" -DATA = $(dist_pkgdata_DATA) $(nobase_dist_smods_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_pkgdata_DATA = \ - ${srcdir}/README \ - ${srcdir}/*.[ch] \ - ${srcdir}/file-dependencies - -smodsdir = $(pkgdatadir) -nobase_dist_smods_DATA = \ - standard-modules/README \ - standard-modules/ASN1-Object-Identifier-Module.asn1 \ - standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 - -check_LTLIBRARIES = libasn1cskeletons.la libasn1cskeletons_c89.la \ - $(am__append_1) -libasn1cskeletons_c89_la_CFLAGS = $(SKELETONS_CFLAGS) -libasn1cskeletons_c89_la_SOURCES = $(libasn1cskeletons_la_SOURCES) -libasn1cskeletons_la_CFLAGS = $(TESTSUITE_CFLAGS) -libasn1cskeletons_la_SOURCES = \ - ANY.c ANY.h \ - BIT_STRING.c BIT_STRING.h \ - BIT_STRING_oer.c \ - BMPString.c BMPString.h \ - BOOLEAN.c BOOLEAN.h \ - ENUMERATED.c ENUMERATED.h \ - GeneralString.c GeneralString.h \ - GeneralizedTime.c GeneralizedTime.h \ - GraphicString.c GraphicString.h \ - IA5String.c IA5String.h \ - INTEGER.c INTEGER.h \ - INTEGER_oer.c \ - ISO646String.c ISO646String.h \ - NULL.c NULL.h \ - NativeEnumerated.c NativeEnumerated.h \ - NativeEnumerated_oer.c \ - NativeInteger.c NativeInteger.h \ - NativeInteger_oer.c \ - NativeReal.c NativeReal.h \ - NumericString.c NumericString.h \ - OBJECT_IDENTIFIER.c OBJECT_IDENTIFIER.h \ - OCTET_STRING.c OCTET_STRING.h \ - OCTET_STRING_oer.c \ - OPEN_TYPE.c OPEN_TYPE.h OPEN_TYPE_oer.c \ - ObjectDescriptor.c ObjectDescriptor.h \ - PrintableString.c PrintableString.h \ - REAL.c REAL.h \ - RELATIVE-OID.c RELATIVE-OID.h \ - T61String.c T61String.h \ - TeletexString.c TeletexString.h \ - UTCTime.c UTCTime.h \ - UTF8String.c UTF8String.h \ - UniversalString.c UniversalString.h \ - VideotexString.c VideotexString.h \ - VisibleString.c VisibleString.h \ - asn_SEQUENCE_OF.c asn_SEQUENCE_OF.h \ - asn_SET_OF.c asn_SET_OF.h \ - asn_application.c asn_application.h \ - asn_system.h asn_codecs.h \ - asn_codecs_prim.c asn_codecs_prim.h \ - asn_internal.h asn_internal.c \ - asn_bit_data.c asn_bit_data.h \ - asn_random_fill.c asn_random_fill.h \ - ber_decoder.c ber_decoder.h \ - ber_tlv_length.c ber_tlv_length.h \ - ber_tlv_tag.c ber_tlv_tag.h \ - constr_CHOICE.c constr_CHOICE.h \ - constr_CHOICE_oer.c \ - constr_SEQUENCE.c constr_SEQUENCE.h \ - constr_SEQUENCE_oer.c \ - constr_SEQUENCE_OF.c constr_SEQUENCE_OF.h \ - constr_SET.c constr_SET.h \ - constr_SET_OF.c constr_SET_OF.h \ - constr_SET_OF_oer.c \ - constr_TYPE.c constr_TYPE.h \ - constraints.c constraints.h \ - der_encoder.c der_encoder.h \ - oer_decoder.c oer_decoder.h \ - oer_encoder.c oer_encoder.h \ - oer_support.c oer_support.h \ - per_decoder.c per_decoder.h \ - per_encoder.c per_encoder.h \ - per_opentype.c per_opentype.h \ - per_support.c per_support.h \ - xer_decoder.c xer_decoder.h \ - xer_encoder.c xer_encoder.h \ - xer_support.c xer_support.h - -LDADD = -lm -check_converter_example_CFLAGS = $(TESTSUITE_CFLAGS) -DNO_ASN_PDU -check_converter_example_SOURCES = converter-example.c -check_converter_example_LDADD = libasn1cskeletons.la -check_converter_c89_example_CFLAGS = $(SKELETON_CFLAGS) -DNO_ASN_PDU -check_converter_c89_example_SOURCES = converter-example.c -check_converter_c89_example_LDADD = libasn1cskeletons_c89.la -@EXPLICIT_M32_TRUE@libasn1cskeletons_c89_32_la_CFLAGS = $(CFLAGS_M32) -Wno-format -@EXPLICIT_M32_TRUE@libasn1cskeletons_c89_32_la_SOURCES = $(libasn1cskeletons_la_SOURCES) -@EXPLICIT_M32_TRUE@check_converter_c89_32_example_CFLAGS = $(CFLAGS_M32) -DNO_ASN_PDU -@EXPLICIT_M32_TRUE@check_converter_c89_32_example_SOURCES = converter-example.c -@EXPLICIT_M32_TRUE@check_converter_c89_32_example_LDADD = libasn1cskeletons_c89_32.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign skeletons/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign skeletons/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkLTLIBRARIES: - -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) - @list='$(check_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libasn1cskeletons.la: $(libasn1cskeletons_la_OBJECTS) $(libasn1cskeletons_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_la_LINK) $(libasn1cskeletons_la_OBJECTS) $(libasn1cskeletons_la_LIBADD) $(LIBS) - -libasn1cskeletons_c89.la: $(libasn1cskeletons_c89_la_OBJECTS) $(libasn1cskeletons_c89_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_c89_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_c89_la_LINK) $(libasn1cskeletons_c89_la_OBJECTS) $(libasn1cskeletons_c89_la_LIBADD) $(LIBS) - -libasn1cskeletons_c89_32.la: $(libasn1cskeletons_c89_32_la_OBJECTS) $(libasn1cskeletons_c89_32_la_DEPENDENCIES) $(EXTRA_libasn1cskeletons_c89_32_la_DEPENDENCIES) - $(AM_V_CCLD)$(libasn1cskeletons_c89_32_la_LINK) $(am_libasn1cskeletons_c89_32_la_rpath) $(libasn1cskeletons_c89_32_la_OBJECTS) $(libasn1cskeletons_c89_32_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check-converter_c89_32_example$(EXEEXT): $(check_converter_c89_32_example_OBJECTS) $(check_converter_c89_32_example_DEPENDENCIES) $(EXTRA_check_converter_c89_32_example_DEPENDENCIES) - @rm -f check-converter_c89_32_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_c89_32_example_LINK) $(check_converter_c89_32_example_OBJECTS) $(check_converter_c89_32_example_LDADD) $(LIBS) - -check-converter_c89_example$(EXEEXT): $(check_converter_c89_example_OBJECTS) $(check_converter_c89_example_DEPENDENCIES) $(EXTRA_check_converter_c89_example_DEPENDENCIES) - @rm -f check-converter_c89_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_c89_example_LINK) $(check_converter_c89_example_OBJECTS) $(check_converter_c89_example_LDADD) $(LIBS) - -check-converter_example$(EXEEXT): $(check_converter_example_OBJECTS) $(check_converter_example_DEPENDENCIES) $(EXTRA_check_converter_example_DEPENDENCIES) - @rm -f check-converter_example$(EXEEXT) - $(AM_V_CCLD)$(check_converter_example_LINK) $(check_converter_example_OBJECTS) $(check_converter_example_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_converter_c89_32_example-converter-example.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_converter_c89_example-converter-example.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_converter_example-converter-example.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ANY.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NULL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-REAL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-T61String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-constraints.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-per_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ANY.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-BMPString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-GeneralString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-GraphicString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-IA5String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-INTEGER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ISO646String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NULL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NativeInteger.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NativeReal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-NumericString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-PrintableString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-REAL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-T61String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-TeletexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-UTCTime.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-UTF8String.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-UniversalString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-VideotexString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-VisibleString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_application.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_internal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ber_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SET.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-constraints.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-der_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-oer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-oer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-oer_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-per_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-per_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-per_opentype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-per_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-xer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-xer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libasn1cskeletons_la-xer_support.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -libasn1cskeletons_la-ANY.lo: ANY.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ANY.Tpo -c -o libasn1cskeletons_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_la-ANY.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_la-ANY.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_la-BIT_STRING.lo: BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Tpo -c -o libasn1cskeletons_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_la-BIT_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_la-BIT_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_la-BIT_STRING_oer.lo: BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-BIT_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_la-BIT_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_la-BMPString.lo: BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BMPString.Tpo -c -o libasn1cskeletons_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_la-BMPString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_la-BMPString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_la-BOOLEAN.lo: BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Tpo -c -o libasn1cskeletons_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_la-BOOLEAN.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_la-BOOLEAN.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_la-ENUMERATED.lo: ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Tpo -c -o libasn1cskeletons_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_la-ENUMERATED.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_la-ENUMERATED.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_la-GeneralString.lo: GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GeneralString.Tpo -c -o libasn1cskeletons_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_la-GeneralString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_la-GeneralString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_la-GeneralizedTime.lo: GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_la-GeneralizedTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_la-GeneralizedTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_la-GraphicString.lo: GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-GraphicString.Tpo -c -o libasn1cskeletons_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_la-GraphicString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_la-GraphicString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_la-IA5String.lo: IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-IA5String.Tpo -c -o libasn1cskeletons_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_la-IA5String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_la-IA5String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_la-INTEGER.lo: INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-INTEGER.Tpo -c -o libasn1cskeletons_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_la-INTEGER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_la-INTEGER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_la-INTEGER_oer.lo: INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-INTEGER_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_la-INTEGER_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_la-ISO646String.lo: ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ISO646String.Tpo -c -o libasn1cskeletons_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_la-ISO646String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_la-ISO646String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_la-NULL.lo: NULL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NULL.Tpo -c -o libasn1cskeletons_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_la-NULL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_la-NULL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_la-NativeEnumerated.lo: NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_la-NativeEnumerated.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeEnumerated_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_la-NativeEnumerated_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_la-NativeInteger.lo: NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Tpo -c -o libasn1cskeletons_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeInteger.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_la-NativeInteger.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_la-NativeInteger_oer.lo: NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeInteger_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_la-NativeInteger_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_la-NativeReal.lo: NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NativeReal.Tpo -c -o libasn1cskeletons_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_la-NativeReal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_la-NativeReal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_la-NumericString.lo: NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-NumericString.Tpo -c -o libasn1cskeletons_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_la-NumericString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_la-NumericString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_la-OBJECT_IDENTIFIER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_la-OBJECT_IDENTIFIER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_la-OCTET_STRING.lo: OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_la-OCTET_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-OCTET_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_la-OCTET_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_la-OPEN_TYPE.lo: OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_la-OPEN_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-OPEN_TYPE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_la-OPEN_TYPE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_la-ObjectDescriptor.lo: ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_la-ObjectDescriptor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_la-ObjectDescriptor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_la-PrintableString.lo: PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-PrintableString.Tpo -c -o libasn1cskeletons_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_la-PrintableString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_la-PrintableString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_la-REAL.lo: REAL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-REAL.Tpo -c -o libasn1cskeletons_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_la-REAL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_la-REAL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_la-RELATIVE-OID.lo: RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_la-RELATIVE-OID.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_la-RELATIVE-OID.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_la-T61String.lo: T61String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-T61String.Tpo -c -o libasn1cskeletons_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_la-T61String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_la-T61String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_la-TeletexString.lo: TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-TeletexString.Tpo -c -o libasn1cskeletons_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_la-TeletexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_la-TeletexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_la-UTCTime.lo: UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UTCTime.Tpo -c -o libasn1cskeletons_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_la-UTCTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_la-UTCTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_la-UTF8String.lo: UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UTF8String.Tpo -c -o libasn1cskeletons_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_la-UTF8String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_la-UTF8String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_la-UniversalString.lo: UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-UniversalString.Tpo -c -o libasn1cskeletons_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_la-UniversalString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_la-UniversalString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_la-VideotexString.lo: VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-VideotexString.Tpo -c -o libasn1cskeletons_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_la-VideotexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_la-VideotexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_la-VisibleString.lo: VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-VisibleString.Tpo -c -o libasn1cskeletons_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_la-VisibleString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_la-VisibleString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_la-asn_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_la-asn_SET_OF.lo: asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_la-asn_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_la-asn_application.lo: asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_application.Tpo -c -o libasn1cskeletons_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_application.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_la-asn_application.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_la-asn_codecs_prim.lo: asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_codecs_prim.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_la-asn_codecs_prim.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_la-asn_internal.lo: asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_internal.Tpo -c -o libasn1cskeletons_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_internal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_la-asn_internal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_la-asn_bit_data.lo: asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Tpo -c -o libasn1cskeletons_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_bit_data.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_la-asn_bit_data.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_la-asn_random_fill.lo: asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Tpo -c -o libasn1cskeletons_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_la-asn_random_fill.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_la-asn_random_fill.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_la-ber_decoder.lo: ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Tpo -c -o libasn1cskeletons_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_la-ber_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_la-ber_tlv_length.lo: ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_tlv_length.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_la-ber_tlv_length.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_la-ber_tlv_tag.lo: ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_la-ber_tlv_tag.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_la-ber_tlv_tag.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_la-constr_CHOICE.lo: constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_la-constr_CHOICE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_CHOICE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_la-constr_CHOICE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_la-constr_SEQUENCE.lo: constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_la-constr_SEQUENCE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_la-constr_SEQUENCE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_la-constr_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_la-constr_SET.lo: constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET.Tpo -c -o libasn1cskeletons_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_la-constr_SET.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_la-constr_SET_OF.lo: constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_la-constr_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_SET_OF_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_la-constr_SET_OF_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_la-constr_TYPE.lo: constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Tpo -c -o libasn1cskeletons_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_la-constr_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_la-constr_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_la-constraints.lo: constraints.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-constraints.Tpo -c -o libasn1cskeletons_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_la-constraints.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_la-constraints.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_la-der_encoder.lo: der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-der_encoder.Tpo -c -o libasn1cskeletons_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-der_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_la-der_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_la-oer_decoder.lo: oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Tpo -c -o libasn1cskeletons_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_la-oer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_la-oer_encoder.lo: oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Tpo -c -o libasn1cskeletons_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_la-oer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_la-oer_support.lo: oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-oer_support.Tpo -c -o libasn1cskeletons_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_la-oer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_la-oer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_la-per_decoder.lo: per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_decoder.Tpo -c -o libasn1cskeletons_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-per_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_la-per_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_la-per_encoder.lo: per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_encoder.Tpo -c -o libasn1cskeletons_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-per_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_la-per_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_la-per_opentype.lo: per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_opentype.Tpo -c -o libasn1cskeletons_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_la-per_opentype.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_la-per_opentype.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_la-per_support.lo: per_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-per_support.Tpo -c -o libasn1cskeletons_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_la-per_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_la-per_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_la-xer_decoder.lo: xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Tpo -c -o libasn1cskeletons_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_la-xer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_la-xer_encoder.lo: xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Tpo -c -o libasn1cskeletons_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_la-xer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_la-xer_support.lo: xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_la-xer_support.Tpo -c -o libasn1cskeletons_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_la-xer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_la-xer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -libasn1cskeletons_c89_la-ANY.lo: ANY.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Tpo -c -o libasn1cskeletons_c89_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ANY.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_c89_la-ANY.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_c89_la-BIT_STRING.lo: BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Tpo -c -o libasn1cskeletons_c89_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_c89_la-BIT_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_c89_la-BIT_STRING_oer.lo: BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_c89_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BIT_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_c89_la-BIT_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_c89_la-BMPString.lo: BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Tpo -c -o libasn1cskeletons_c89_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BMPString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_c89_la-BMPString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_c89_la-BOOLEAN.lo: BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Tpo -c -o libasn1cskeletons_c89_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-BOOLEAN.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_c89_la-BOOLEAN.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_c89_la-ENUMERATED.lo: ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Tpo -c -o libasn1cskeletons_c89_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ENUMERATED.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_c89_la-ENUMERATED.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_c89_la-GeneralString.lo: GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Tpo -c -o libasn1cskeletons_c89_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GeneralString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_c89_la-GeneralString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_c89_la-GeneralizedTime.lo: GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_c89_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GeneralizedTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_c89_la-GeneralizedTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_c89_la-GraphicString.lo: GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Tpo -c -o libasn1cskeletons_c89_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-GraphicString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_c89_la-GraphicString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_c89_la-IA5String.lo: IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Tpo -c -o libasn1cskeletons_c89_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-IA5String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_c89_la-IA5String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_c89_la-INTEGER.lo: INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Tpo -c -o libasn1cskeletons_c89_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_c89_la-INTEGER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_c89_la-INTEGER_oer.lo: INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_c89_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-INTEGER_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_c89_la-INTEGER_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_c89_la-ISO646String.lo: ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Tpo -c -o libasn1cskeletons_c89_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ISO646String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_c89_la-ISO646String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_c89_la-NULL.lo: NULL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Tpo -c -o libasn1cskeletons_c89_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NULL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_c89_la-NULL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_c89_la-NativeEnumerated.lo: NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_c89_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_c89_la-NativeEnumerated.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_c89_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_c89_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeEnumerated_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_c89_la-NativeEnumerated_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_c89_la-NativeInteger.lo: NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Tpo -c -o libasn1cskeletons_c89_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_c89_la-NativeInteger.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_c89_la-NativeInteger_oer.lo: NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_c89_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeInteger_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_c89_la-NativeInteger_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_c89_la-NativeReal.lo: NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Tpo -c -o libasn1cskeletons_c89_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NativeReal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_c89_la-NativeReal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_c89_la-NumericString.lo: NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Tpo -c -o libasn1cskeletons_c89_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-NumericString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_c89_la-NumericString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_c89_la-OCTET_STRING.lo: OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_c89_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_c89_la-OCTET_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_c89_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_c89_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OCTET_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_c89_la-OCTET_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_c89_la-OPEN_TYPE.lo: OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_c89_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_c89_la-OPEN_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-OPEN_TYPE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_c89_la-ObjectDescriptor.lo: ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_c89_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ObjectDescriptor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_c89_la-ObjectDescriptor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_c89_la-PrintableString.lo: PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Tpo -c -o libasn1cskeletons_c89_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-PrintableString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_c89_la-PrintableString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_c89_la-REAL.lo: REAL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Tpo -c -o libasn1cskeletons_c89_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-REAL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_c89_la-REAL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_c89_la-RELATIVE-OID.lo: RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_c89_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-RELATIVE-OID.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_c89_la-RELATIVE-OID.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_c89_la-T61String.lo: T61String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Tpo -c -o libasn1cskeletons_c89_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-T61String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_c89_la-T61String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_c89_la-TeletexString.lo: TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Tpo -c -o libasn1cskeletons_c89_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-TeletexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_c89_la-TeletexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_c89_la-UTCTime.lo: UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Tpo -c -o libasn1cskeletons_c89_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UTCTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_c89_la-UTCTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_c89_la-UTF8String.lo: UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Tpo -c -o libasn1cskeletons_c89_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UTF8String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_c89_la-UTF8String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_c89_la-UniversalString.lo: UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Tpo -c -o libasn1cskeletons_c89_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-UniversalString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_c89_la-UniversalString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_c89_la-VideotexString.lo: VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Tpo -c -o libasn1cskeletons_c89_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-VideotexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_c89_la-VideotexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_c89_la-VisibleString.lo: VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Tpo -c -o libasn1cskeletons_c89_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-VisibleString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_c89_la-VisibleString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_c89_la-asn_SET_OF.lo: asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_c89_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_c89_la-asn_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_c89_la-asn_application.lo: asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Tpo -c -o libasn1cskeletons_c89_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_application.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_c89_la-asn_application.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_c89_la-asn_codecs_prim.lo: asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_c89_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_codecs_prim.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_c89_la-asn_codecs_prim.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_c89_la-asn_internal.lo: asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Tpo -c -o libasn1cskeletons_c89_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_internal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_c89_la-asn_internal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_c89_la-asn_bit_data.lo: asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Tpo -c -o libasn1cskeletons_c89_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_bit_data.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_c89_la-asn_bit_data.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_c89_la-asn_random_fill.lo: asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Tpo -c -o libasn1cskeletons_c89_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-asn_random_fill.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_c89_la-asn_random_fill.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_c89_la-ber_decoder.lo: ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Tpo -c -o libasn1cskeletons_c89_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_c89_la-ber_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_c89_la-ber_tlv_length.lo: ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_c89_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_length.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_c89_la-ber_tlv_length.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_c89_la-ber_tlv_tag.lo: ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_c89_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-ber_tlv_tag.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_c89_la-ber_tlv_tag.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_c89_la-constr_CHOICE.lo: constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_c89_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_c89_la-constr_CHOICE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_c89_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_CHOICE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_c89_la-constr_CHOICE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_c89_la-constr_SEQUENCE.lo: constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_c89_la-constr_SET.lo: constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Tpo -c -o libasn1cskeletons_c89_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_c89_la-constr_SET.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_c89_la-constr_SET_OF.lo: constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_c89_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_c89_la-constr_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_c89_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_c89_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_SET_OF_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_c89_la-constr_SET_OF_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_c89_la-constr_TYPE.lo: constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Tpo -c -o libasn1cskeletons_c89_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constr_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_c89_la-constr_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_c89_la-constraints.lo: constraints.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Tpo -c -o libasn1cskeletons_c89_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-constraints.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_c89_la-constraints.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_c89_la-der_encoder.lo: der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Tpo -c -o libasn1cskeletons_c89_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-der_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_c89_la-der_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_c89_la-oer_decoder.lo: oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Tpo -c -o libasn1cskeletons_c89_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_c89_la-oer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_c89_la-oer_encoder.lo: oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Tpo -c -o libasn1cskeletons_c89_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_c89_la-oer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_c89_la-oer_support.lo: oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Tpo -c -o libasn1cskeletons_c89_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-oer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_c89_la-oer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_c89_la-per_decoder.lo: per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Tpo -c -o libasn1cskeletons_c89_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_c89_la-per_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_c89_la-per_encoder.lo: per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Tpo -c -o libasn1cskeletons_c89_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_c89_la-per_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_c89_la-per_opentype.lo: per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Tpo -c -o libasn1cskeletons_c89_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_opentype.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_c89_la-per_opentype.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_c89_la-per_support.lo: per_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Tpo -c -o libasn1cskeletons_c89_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-per_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_c89_la-per_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_c89_la-xer_decoder.lo: xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Tpo -c -o libasn1cskeletons_c89_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_c89_la-xer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_c89_la-xer_encoder.lo: xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Tpo -c -o libasn1cskeletons_c89_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_c89_la-xer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_c89_la-xer_support.lo: xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Tpo -c -o libasn1cskeletons_c89_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_la-xer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_c89_la-xer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -libasn1cskeletons_c89_32_la-ANY.lo: ANY.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ANY.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Tpo -c -o libasn1cskeletons_c89_32_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ANY.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ANY.c' object='libasn1cskeletons_c89_32_la-ANY.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ANY.lo `test -f 'ANY.c' || echo '$(srcdir)/'`ANY.c - -libasn1cskeletons_c89_32_la-BIT_STRING.lo: BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BIT_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Tpo -c -o libasn1cskeletons_c89_32_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING.c' object='libasn1cskeletons_c89_32_la-BIT_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BIT_STRING.lo `test -f 'BIT_STRING.c' || echo '$(srcdir)/'`BIT_STRING.c - -libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo: BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Tpo -c -o libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BIT_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BIT_STRING_oer.c' object='libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BIT_STRING_oer.lo `test -f 'BIT_STRING_oer.c' || echo '$(srcdir)/'`BIT_STRING_oer.c - -libasn1cskeletons_c89_32_la-BMPString.lo: BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BMPString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Tpo -c -o libasn1cskeletons_c89_32_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BMPString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BMPString.c' object='libasn1cskeletons_c89_32_la-BMPString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BMPString.lo `test -f 'BMPString.c' || echo '$(srcdir)/'`BMPString.c - -libasn1cskeletons_c89_32_la-BOOLEAN.lo: BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-BOOLEAN.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Tpo -c -o libasn1cskeletons_c89_32_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-BOOLEAN.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='BOOLEAN.c' object='libasn1cskeletons_c89_32_la-BOOLEAN.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-BOOLEAN.lo `test -f 'BOOLEAN.c' || echo '$(srcdir)/'`BOOLEAN.c - -libasn1cskeletons_c89_32_la-ENUMERATED.lo: ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ENUMERATED.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Tpo -c -o libasn1cskeletons_c89_32_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ENUMERATED.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ENUMERATED.c' object='libasn1cskeletons_c89_32_la-ENUMERATED.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ENUMERATED.lo `test -f 'ENUMERATED.c' || echo '$(srcdir)/'`ENUMERATED.c - -libasn1cskeletons_c89_32_la-GeneralString.lo: GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GeneralString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Tpo -c -o libasn1cskeletons_c89_32_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralString.c' object='libasn1cskeletons_c89_32_la-GeneralString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GeneralString.lo `test -f 'GeneralString.c' || echo '$(srcdir)/'`GeneralString.c - -libasn1cskeletons_c89_32_la-GeneralizedTime.lo: GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GeneralizedTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Tpo -c -o libasn1cskeletons_c89_32_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GeneralizedTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GeneralizedTime.c' object='libasn1cskeletons_c89_32_la-GeneralizedTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GeneralizedTime.lo `test -f 'GeneralizedTime.c' || echo '$(srcdir)/'`GeneralizedTime.c - -libasn1cskeletons_c89_32_la-GraphicString.lo: GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-GraphicString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Tpo -c -o libasn1cskeletons_c89_32_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-GraphicString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='GraphicString.c' object='libasn1cskeletons_c89_32_la-GraphicString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-GraphicString.lo `test -f 'GraphicString.c' || echo '$(srcdir)/'`GraphicString.c - -libasn1cskeletons_c89_32_la-IA5String.lo: IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-IA5String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Tpo -c -o libasn1cskeletons_c89_32_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-IA5String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='IA5String.c' object='libasn1cskeletons_c89_32_la-IA5String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-IA5String.lo `test -f 'IA5String.c' || echo '$(srcdir)/'`IA5String.c - -libasn1cskeletons_c89_32_la-INTEGER.lo: INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-INTEGER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Tpo -c -o libasn1cskeletons_c89_32_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER.c' object='libasn1cskeletons_c89_32_la-INTEGER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-INTEGER.lo `test -f 'INTEGER.c' || echo '$(srcdir)/'`INTEGER.c - -libasn1cskeletons_c89_32_la-INTEGER_oer.lo: INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-INTEGER_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Tpo -c -o libasn1cskeletons_c89_32_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-INTEGER_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='INTEGER_oer.c' object='libasn1cskeletons_c89_32_la-INTEGER_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-INTEGER_oer.lo `test -f 'INTEGER_oer.c' || echo '$(srcdir)/'`INTEGER_oer.c - -libasn1cskeletons_c89_32_la-ISO646String.lo: ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ISO646String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Tpo -c -o libasn1cskeletons_c89_32_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ISO646String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ISO646String.c' object='libasn1cskeletons_c89_32_la-ISO646String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ISO646String.lo `test -f 'ISO646String.c' || echo '$(srcdir)/'`ISO646String.c - -libasn1cskeletons_c89_32_la-NULL.lo: NULL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NULL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Tpo -c -o libasn1cskeletons_c89_32_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NULL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NULL.c' object='libasn1cskeletons_c89_32_la-NULL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NULL.lo `test -f 'NULL.c' || echo '$(srcdir)/'`NULL.c - -libasn1cskeletons_c89_32_la-NativeEnumerated.lo: NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeEnumerated.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Tpo -c -o libasn1cskeletons_c89_32_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated.c' object='libasn1cskeletons_c89_32_la-NativeEnumerated.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeEnumerated.lo `test -f 'NativeEnumerated.c' || echo '$(srcdir)/'`NativeEnumerated.c - -libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo: NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Tpo -c -o libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeEnumerated_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeEnumerated_oer.c' object='libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeEnumerated_oer.lo `test -f 'NativeEnumerated_oer.c' || echo '$(srcdir)/'`NativeEnumerated_oer.c - -libasn1cskeletons_c89_32_la-NativeInteger.lo: NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeInteger.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Tpo -c -o libasn1cskeletons_c89_32_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger.c' object='libasn1cskeletons_c89_32_la-NativeInteger.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeInteger.lo `test -f 'NativeInteger.c' || echo '$(srcdir)/'`NativeInteger.c - -libasn1cskeletons_c89_32_la-NativeInteger_oer.lo: NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeInteger_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Tpo -c -o libasn1cskeletons_c89_32_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeInteger_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeInteger_oer.c' object='libasn1cskeletons_c89_32_la-NativeInteger_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeInteger_oer.lo `test -f 'NativeInteger_oer.c' || echo '$(srcdir)/'`NativeInteger_oer.c - -libasn1cskeletons_c89_32_la-NativeReal.lo: NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NativeReal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Tpo -c -o libasn1cskeletons_c89_32_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NativeReal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NativeReal.c' object='libasn1cskeletons_c89_32_la-NativeReal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NativeReal.lo `test -f 'NativeReal.c' || echo '$(srcdir)/'`NativeReal.c - -libasn1cskeletons_c89_32_la-NumericString.lo: NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-NumericString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Tpo -c -o libasn1cskeletons_c89_32_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-NumericString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='NumericString.c' object='libasn1cskeletons_c89_32_la-NumericString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-NumericString.lo `test -f 'NumericString.c' || echo '$(srcdir)/'`NumericString.c - -libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo: OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Tpo -c -o libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OBJECT_IDENTIFIER.c' object='libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OBJECT_IDENTIFIER.lo `test -f 'OBJECT_IDENTIFIER.c' || echo '$(srcdir)/'`OBJECT_IDENTIFIER.c - -libasn1cskeletons_c89_32_la-OCTET_STRING.lo: OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OCTET_STRING.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Tpo -c -o libasn1cskeletons_c89_32_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING.c' object='libasn1cskeletons_c89_32_la-OCTET_STRING.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OCTET_STRING.lo `test -f 'OCTET_STRING.c' || echo '$(srcdir)/'`OCTET_STRING.c - -libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo: OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Tpo -c -o libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OCTET_STRING_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OCTET_STRING_oer.c' object='libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OCTET_STRING_oer.lo `test -f 'OCTET_STRING_oer.c' || echo '$(srcdir)/'`OCTET_STRING_oer.c - -libasn1cskeletons_c89_32_la-OPEN_TYPE.lo: OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OPEN_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Tpo -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE.c' object='libasn1cskeletons_c89_32_la-OPEN_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE.lo `test -f 'OPEN_TYPE.c' || echo '$(srcdir)/'`OPEN_TYPE.c - -libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo: OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='OPEN_TYPE_oer.c' object='libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-OPEN_TYPE_oer.lo `test -f 'OPEN_TYPE_oer.c' || echo '$(srcdir)/'`OPEN_TYPE_oer.c - -libasn1cskeletons_c89_32_la-ObjectDescriptor.lo: ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ObjectDescriptor.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Tpo -c -o libasn1cskeletons_c89_32_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ObjectDescriptor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ObjectDescriptor.c' object='libasn1cskeletons_c89_32_la-ObjectDescriptor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ObjectDescriptor.lo `test -f 'ObjectDescriptor.c' || echo '$(srcdir)/'`ObjectDescriptor.c - -libasn1cskeletons_c89_32_la-PrintableString.lo: PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-PrintableString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Tpo -c -o libasn1cskeletons_c89_32_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-PrintableString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='PrintableString.c' object='libasn1cskeletons_c89_32_la-PrintableString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-PrintableString.lo `test -f 'PrintableString.c' || echo '$(srcdir)/'`PrintableString.c - -libasn1cskeletons_c89_32_la-REAL.lo: REAL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-REAL.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Tpo -c -o libasn1cskeletons_c89_32_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-REAL.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='REAL.c' object='libasn1cskeletons_c89_32_la-REAL.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-REAL.lo `test -f 'REAL.c' || echo '$(srcdir)/'`REAL.c - -libasn1cskeletons_c89_32_la-RELATIVE-OID.lo: RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-RELATIVE-OID.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Tpo -c -o libasn1cskeletons_c89_32_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-RELATIVE-OID.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='RELATIVE-OID.c' object='libasn1cskeletons_c89_32_la-RELATIVE-OID.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-RELATIVE-OID.lo `test -f 'RELATIVE-OID.c' || echo '$(srcdir)/'`RELATIVE-OID.c - -libasn1cskeletons_c89_32_la-T61String.lo: T61String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-T61String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Tpo -c -o libasn1cskeletons_c89_32_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-T61String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='T61String.c' object='libasn1cskeletons_c89_32_la-T61String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-T61String.lo `test -f 'T61String.c' || echo '$(srcdir)/'`T61String.c - -libasn1cskeletons_c89_32_la-TeletexString.lo: TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-TeletexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Tpo -c -o libasn1cskeletons_c89_32_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-TeletexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='TeletexString.c' object='libasn1cskeletons_c89_32_la-TeletexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-TeletexString.lo `test -f 'TeletexString.c' || echo '$(srcdir)/'`TeletexString.c - -libasn1cskeletons_c89_32_la-UTCTime.lo: UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UTCTime.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Tpo -c -o libasn1cskeletons_c89_32_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UTCTime.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTCTime.c' object='libasn1cskeletons_c89_32_la-UTCTime.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UTCTime.lo `test -f 'UTCTime.c' || echo '$(srcdir)/'`UTCTime.c - -libasn1cskeletons_c89_32_la-UTF8String.lo: UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UTF8String.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Tpo -c -o libasn1cskeletons_c89_32_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UTF8String.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UTF8String.c' object='libasn1cskeletons_c89_32_la-UTF8String.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UTF8String.lo `test -f 'UTF8String.c' || echo '$(srcdir)/'`UTF8String.c - -libasn1cskeletons_c89_32_la-UniversalString.lo: UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-UniversalString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Tpo -c -o libasn1cskeletons_c89_32_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-UniversalString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='UniversalString.c' object='libasn1cskeletons_c89_32_la-UniversalString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-UniversalString.lo `test -f 'UniversalString.c' || echo '$(srcdir)/'`UniversalString.c - -libasn1cskeletons_c89_32_la-VideotexString.lo: VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-VideotexString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Tpo -c -o libasn1cskeletons_c89_32_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-VideotexString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VideotexString.c' object='libasn1cskeletons_c89_32_la-VideotexString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-VideotexString.lo `test -f 'VideotexString.c' || echo '$(srcdir)/'`VideotexString.c - -libasn1cskeletons_c89_32_la-VisibleString.lo: VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-VisibleString.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Tpo -c -o libasn1cskeletons_c89_32_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-VisibleString.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='VisibleString.c' object='libasn1cskeletons_c89_32_la-VisibleString.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-VisibleString.lo `test -f 'VisibleString.c' || echo '$(srcdir)/'`VisibleString.c - -libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo: asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SEQUENCE_OF.c' object='libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_SEQUENCE_OF.lo `test -f 'asn_SEQUENCE_OF.c' || echo '$(srcdir)/'`asn_SEQUENCE_OF.c - -libasn1cskeletons_c89_32_la-asn_SET_OF.lo: asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Tpo -c -o libasn1cskeletons_c89_32_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_SET_OF.c' object='libasn1cskeletons_c89_32_la-asn_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_SET_OF.lo `test -f 'asn_SET_OF.c' || echo '$(srcdir)/'`asn_SET_OF.c - -libasn1cskeletons_c89_32_la-asn_application.lo: asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_application.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Tpo -c -o libasn1cskeletons_c89_32_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_application.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_application.c' object='libasn1cskeletons_c89_32_la-asn_application.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_application.lo `test -f 'asn_application.c' || echo '$(srcdir)/'`asn_application.c - -libasn1cskeletons_c89_32_la-asn_codecs_prim.lo: asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_codecs_prim.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Tpo -c -o libasn1cskeletons_c89_32_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_codecs_prim.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_codecs_prim.c' object='libasn1cskeletons_c89_32_la-asn_codecs_prim.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_codecs_prim.lo `test -f 'asn_codecs_prim.c' || echo '$(srcdir)/'`asn_codecs_prim.c - -libasn1cskeletons_c89_32_la-asn_internal.lo: asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_internal.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Tpo -c -o libasn1cskeletons_c89_32_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_internal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_internal.c' object='libasn1cskeletons_c89_32_la-asn_internal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_internal.lo `test -f 'asn_internal.c' || echo '$(srcdir)/'`asn_internal.c - -libasn1cskeletons_c89_32_la-asn_bit_data.lo: asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_bit_data.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Tpo -c -o libasn1cskeletons_c89_32_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_bit_data.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_bit_data.c' object='libasn1cskeletons_c89_32_la-asn_bit_data.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_bit_data.lo `test -f 'asn_bit_data.c' || echo '$(srcdir)/'`asn_bit_data.c - -libasn1cskeletons_c89_32_la-asn_random_fill.lo: asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-asn_random_fill.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Tpo -c -o libasn1cskeletons_c89_32_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-asn_random_fill.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asn_random_fill.c' object='libasn1cskeletons_c89_32_la-asn_random_fill.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-asn_random_fill.lo `test -f 'asn_random_fill.c' || echo '$(srcdir)/'`asn_random_fill.c - -libasn1cskeletons_c89_32_la-ber_decoder.lo: ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_decoder.c' object='libasn1cskeletons_c89_32_la-ber_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_decoder.lo `test -f 'ber_decoder.c' || echo '$(srcdir)/'`ber_decoder.c - -libasn1cskeletons_c89_32_la-ber_tlv_length.lo: ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_tlv_length.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Tpo -c -o libasn1cskeletons_c89_32_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_length.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_length.c' object='libasn1cskeletons_c89_32_la-ber_tlv_length.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_tlv_length.lo `test -f 'ber_tlv_length.c' || echo '$(srcdir)/'`ber_tlv_length.c - -libasn1cskeletons_c89_32_la-ber_tlv_tag.lo: ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-ber_tlv_tag.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Tpo -c -o libasn1cskeletons_c89_32_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-ber_tlv_tag.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ber_tlv_tag.c' object='libasn1cskeletons_c89_32_la-ber_tlv_tag.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-ber_tlv_tag.lo `test -f 'ber_tlv_tag.c' || echo '$(srcdir)/'`ber_tlv_tag.c - -libasn1cskeletons_c89_32_la-constr_CHOICE.lo: constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_CHOICE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE.c' object='libasn1cskeletons_c89_32_la-constr_CHOICE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_CHOICE.lo `test -f 'constr_CHOICE.c' || echo '$(srcdir)/'`constr_CHOICE.c - -libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo: constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_CHOICE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_CHOICE_oer.c' object='libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_CHOICE_oer.lo `test -f 'constr_CHOICE_oer.c' || echo '$(srcdir)/'`constr_CHOICE_oer.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo: constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE.lo `test -f 'constr_SEQUENCE.c' || echo '$(srcdir)/'`constr_SEQUENCE.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo: constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_oer.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_oer.lo `test -f 'constr_SEQUENCE_oer.c' || echo '$(srcdir)/'`constr_SEQUENCE_oer.c - -libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo: constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SEQUENCE_OF.c' object='libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SEQUENCE_OF.lo `test -f 'constr_SEQUENCE_OF.c' || echo '$(srcdir)/'`constr_SEQUENCE_OF.c - -libasn1cskeletons_c89_32_la-constr_SET.lo: constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET.c' object='libasn1cskeletons_c89_32_la-constr_SET.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET.lo `test -f 'constr_SET.c' || echo '$(srcdir)/'`constr_SET.c - -libasn1cskeletons_c89_32_la-constr_SET_OF.lo: constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET_OF.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF.c' object='libasn1cskeletons_c89_32_la-constr_SET_OF.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET_OF.lo `test -f 'constr_SET_OF.c' || echo '$(srcdir)/'`constr_SET_OF.c - -libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo: constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Tpo -c -o libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_SET_OF_oer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_SET_OF_oer.c' object='libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_SET_OF_oer.lo `test -f 'constr_SET_OF_oer.c' || echo '$(srcdir)/'`constr_SET_OF_oer.c - -libasn1cskeletons_c89_32_la-constr_TYPE.lo: constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constr_TYPE.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Tpo -c -o libasn1cskeletons_c89_32_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constr_TYPE.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constr_TYPE.c' object='libasn1cskeletons_c89_32_la-constr_TYPE.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constr_TYPE.lo `test -f 'constr_TYPE.c' || echo '$(srcdir)/'`constr_TYPE.c - -libasn1cskeletons_c89_32_la-constraints.lo: constraints.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-constraints.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Tpo -c -o libasn1cskeletons_c89_32_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-constraints.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='constraints.c' object='libasn1cskeletons_c89_32_la-constraints.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-constraints.lo `test -f 'constraints.c' || echo '$(srcdir)/'`constraints.c - -libasn1cskeletons_c89_32_la-der_encoder.lo: der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-der_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-der_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='der_encoder.c' object='libasn1cskeletons_c89_32_la-der_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-der_encoder.lo `test -f 'der_encoder.c' || echo '$(srcdir)/'`der_encoder.c - -libasn1cskeletons_c89_32_la-oer_decoder.lo: oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_decoder.c' object='libasn1cskeletons_c89_32_la-oer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_decoder.lo `test -f 'oer_decoder.c' || echo '$(srcdir)/'`oer_decoder.c - -libasn1cskeletons_c89_32_la-oer_encoder.lo: oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_encoder.c' object='libasn1cskeletons_c89_32_la-oer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_encoder.lo `test -f 'oer_encoder.c' || echo '$(srcdir)/'`oer_encoder.c - -libasn1cskeletons_c89_32_la-oer_support.lo: oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-oer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Tpo -c -o libasn1cskeletons_c89_32_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-oer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='oer_support.c' object='libasn1cskeletons_c89_32_la-oer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-oer_support.lo `test -f 'oer_support.c' || echo '$(srcdir)/'`oer_support.c - -libasn1cskeletons_c89_32_la-per_decoder.lo: per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_decoder.c' object='libasn1cskeletons_c89_32_la-per_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_decoder.lo `test -f 'per_decoder.c' || echo '$(srcdir)/'`per_decoder.c - -libasn1cskeletons_c89_32_la-per_encoder.lo: per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_encoder.c' object='libasn1cskeletons_c89_32_la-per_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_encoder.lo `test -f 'per_encoder.c' || echo '$(srcdir)/'`per_encoder.c - -libasn1cskeletons_c89_32_la-per_opentype.lo: per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_opentype.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Tpo -c -o libasn1cskeletons_c89_32_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_opentype.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_opentype.c' object='libasn1cskeletons_c89_32_la-per_opentype.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_opentype.lo `test -f 'per_opentype.c' || echo '$(srcdir)/'`per_opentype.c - -libasn1cskeletons_c89_32_la-per_support.lo: per_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-per_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Tpo -c -o libasn1cskeletons_c89_32_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-per_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='per_support.c' object='libasn1cskeletons_c89_32_la-per_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-per_support.lo `test -f 'per_support.c' || echo '$(srcdir)/'`per_support.c - -libasn1cskeletons_c89_32_la-xer_decoder.lo: xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_decoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Tpo -c -o libasn1cskeletons_c89_32_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_decoder.c' object='libasn1cskeletons_c89_32_la-xer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_decoder.lo `test -f 'xer_decoder.c' || echo '$(srcdir)/'`xer_decoder.c - -libasn1cskeletons_c89_32_la-xer_encoder.lo: xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_encoder.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Tpo -c -o libasn1cskeletons_c89_32_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_encoder.c' object='libasn1cskeletons_c89_32_la-xer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_encoder.lo `test -f 'xer_encoder.c' || echo '$(srcdir)/'`xer_encoder.c - -libasn1cskeletons_c89_32_la-xer_support.lo: xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -MT libasn1cskeletons_c89_32_la-xer_support.lo -MD -MP -MF $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Tpo -c -o libasn1cskeletons_c89_32_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Tpo $(DEPDIR)/libasn1cskeletons_c89_32_la-xer_support.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xer_support.c' object='libasn1cskeletons_c89_32_la-xer_support.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libasn1cskeletons_c89_32_la_CFLAGS) $(CFLAGS) -c -o libasn1cskeletons_c89_32_la-xer_support.lo `test -f 'xer_support.c' || echo '$(srcdir)/'`xer_support.c - -check_converter_c89_32_example-converter-example.o: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_32_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo -c -o check_converter_c89_32_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_32_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_c89_32_example-converter-example.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_32_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_c89_32_example-converter-example.obj: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_32_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo -c -o check_converter_c89_32_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_32_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_32_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_c89_32_example-converter-example.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_32_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_32_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -check_converter_c89_example-converter-example.o: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_c89_example-converter-example.Tpo -c -o check_converter_c89_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_c89_example-converter-example.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_c89_example-converter-example.obj: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -MT check_converter_c89_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_c89_example-converter-example.Tpo -c -o check_converter_c89_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_c89_example-converter-example.Tpo $(DEPDIR)/check_converter_c89_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_c89_example-converter-example.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_c89_example_CFLAGS) $(CFLAGS) -c -o check_converter_c89_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -check_converter_example-converter-example.o: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -MT check_converter_example-converter-example.o -MD -MP -MF $(DEPDIR)/check_converter_example-converter-example.Tpo -c -o check_converter_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_example-converter-example.Tpo $(DEPDIR)/check_converter_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_example-converter-example.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -c -o check_converter_example-converter-example.o `test -f 'converter-example.c' || echo '$(srcdir)/'`converter-example.c - -check_converter_example-converter-example.obj: converter-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -MT check_converter_example-converter-example.obj -MD -MP -MF $(DEPDIR)/check_converter_example-converter-example.Tpo -c -o check_converter_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_converter_example-converter-example.Tpo $(DEPDIR)/check_converter_example-converter-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='converter-example.c' object='check_converter_example-converter-example.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_converter_example_CFLAGS) $(CFLAGS) -c -o check_converter_example-converter-example.obj `if test -f 'converter-example.c'; then $(CYGPATH_W) 'converter-example.c'; else $(CYGPATH_W) '$(srcdir)/converter-example.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-dist_pkgdataDATA: $(dist_pkgdata_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \ - done - -uninstall-dist_pkgdataDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) -install-nobase_dist_smodsDATA: $(nobase_dist_smods_DATA) - @$(NORMAL_INSTALL) - @list='$(nobase_dist_smods_DATA)'; test -n "$(smodsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(smodsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(smodsdir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(smodsdir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(smodsdir)/$$dir"; }; \ - echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(smodsdir)/$$dir'"; \ - $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(smodsdir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_dist_smodsDATA: - @$(NORMAL_UNINSTALL) - @list='$(nobase_dist_smods_DATA)'; test -n "$(smodsdir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(smodsdir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(smodsdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-dist_pkgdataDATA \ - install-nobase_dist_smodsDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-dist_pkgdataDATA uninstall-local \ - uninstall-nobase_dist_smodsDATA - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_pkgdataDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man \ - install-nobase_dist_smodsDATA install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-dist_pkgdataDATA \ - uninstall-local uninstall-nobase_dist_smodsDATA - -.PRECIOUS: Makefile - - -uninstall-local: - -@echo -n " " - -rm -f -r $(DESTDIR)$(pkgdatadir) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/skeletons/NULL.c b/skeletons/NULL.c deleted file mode 100644 index 4a2914f..0000000 --- a/skeletons/NULL.c +++ /dev/null @@ -1,299 +0,0 @@ -/*- - * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include /* Implemented in terms of BOOLEAN type */ - -/* - * NULL basic type description. - */ -static const ber_tlv_tag_t asn_DEF_NULL_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) -}; -asn_TYPE_operation_t asn_OP_NULL = { - BOOLEAN_free, - NULL_print, - NULL_compare, - BOOLEAN_decode_ber, /* Implemented in terms of BOOLEAN */ - NULL_encode_der, /* Special handling of DER encoding */ - NULL_decode_xer, - NULL_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - NULL_decode_oer, - NULL_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - NULL_decode_uper, /* Unaligned PER decoder */ - NULL_encode_uper, /* Unaligned PER encoder */ - NULL_decode_aper, /* Aligned PER decoder */ - NULL_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - NULL_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_NULL = { - "NULL", - "NULL", - &asn_OP_NULL, - asn_DEF_NULL_tags, - sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), - asn_DEF_NULL_tags, /* Same as above */ - sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -asn_enc_rval_t -NULL_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, - ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t erval = {0,0,0}; - - erval.encoded = der_write_tags(td, 0, tag_mode, 0, tag, cb, app_key); - if(erval.encoded == -1) { - erval.failed_type = td; - erval.structure_ptr = ptr; - } - - ASN__ENCODED_OK(erval); -} - -asn_enc_rval_t -NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t er = {0,0,0}; - - (void)td; - (void)sptr; - (void)ilevel; - (void)flags; - (void)cb; - (void)app_key; - - /* XMLNullValue is empty */ - er.encoded = 0; - ASN__ENCODED_OK(er); -} - - -static enum xer_pbd_rval -NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - (void)td; - (void)sptr; - (void)chunk_buf; /* Going to be empty according to the rules below. */ - - /* - * There must be no content in self-terminating tag. - */ - if(chunk_size) - return XPBD_BROKEN_ENCODING; - else - return XPBD_BODY_CONSUMED; -} - -asn_dec_rval_t -NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(NULL_t), opt_mname, buf_ptr, size, - NULL__xer_body_decode); -} - -int -NULL_compare(const asn_TYPE_descriptor_t *td, const void *a, const void *b) { - (void)td; - (void)a; - (void)b; - return 0; -} - -int -NULL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(sptr) { - return (cb("", 9, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -#ifndef ASN_DISABLE_OER_SUPPORT - -asn_dec_rval_t -NULL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - asn_dec_rval_t rv = {RC_OK, 0}; - (void)opt_codec_ctx; - (void)td; - (void)constraints; - (void)ptr; - (void)size; - - if(!*sptr) { - *sptr = MALLOC(sizeof(NULL_t)); - if(*sptr) { - *(NULL_t *)*sptr = 0; - } else { - ASN__DECODE_FAILED; - } - } - - return rv; -} - -asn_enc_rval_t -NULL_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = {0,0,0}; - - (void)td; - (void)sptr; - (void)constraints; - (void)cb; - (void)app_key; - - er.encoded = 0; /* Encoding in 0 bytes. */ - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -NULL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rv; - - (void)opt_codec_ctx; - (void)td; - (void)constraints; - (void)pd; - - if(!*sptr) { - *sptr = MALLOC(sizeof(NULL_t)); - if(*sptr) { - *(NULL_t *)*sptr = 0; - } else { - ASN__DECODE_FAILED; - } - } - - /* - * NULL type does not have content octets. - */ - - rv.code = RC_OK; - rv.consumed = 0; - return rv; -} - -asn_enc_rval_t -NULL_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - asn_enc_rval_t er = {0,0,0}; - - (void)td; - (void)constraints; - (void)sptr; - (void)po; - - er.encoded = 0; - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -NULL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - asn_dec_rval_t rv = {RC_OK, 0}; - - (void)opt_codec_ctx; - (void)td; - (void)constraints; - (void)pd; - - if(!*sptr) { - *sptr = MALLOC(sizeof(NULL_t)); - if(*sptr) { - *(NULL_t *)*sptr = 0; - } else { - ASN__DECODE_FAILED; - } - } - - /* - * NULL type does not have content octets. - */ - - rv.code = RC_OK; - rv.consumed = 0; - return rv; -} - - -asn_enc_rval_t -NULL_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - asn_enc_rval_t er = {0,0,0}; - - (void)td; - (void)constraints; - (void)sptr; - (void)po; - - er.encoded = 0; - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -asn_random_fill_result_t -NULL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constr, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - NULL_t *st = *sptr; - - (void)td; - (void)constr; - - if(max_length == 0) return result_skipped; - - if(st == NULL) { - st = (NULL_t *)(*sptr = CALLOC(1, sizeof(*st))); - if(st == NULL) { - return result_failed; - } - } - - return result_ok; -} - diff --git a/skeletons/NULL.h b/skeletons/NULL.h deleted file mode 100644 index 802d12c..0000000 --- a/skeletons/NULL.h +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_TYPE_NULL_H -#define ASN_TYPE_NULL_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The value of the NULL type is meaningless: see BOOLEAN if you want to - * carry true/false semantics. - */ -typedef int NULL_t; - -extern asn_TYPE_descriptor_t asn_DEF_NULL; -extern asn_TYPE_operation_t asn_OP_NULL; - -asn_struct_print_f NULL_print; -asn_struct_compare_f NULL_compare; -der_type_encoder_f NULL_encode_der; -xer_type_decoder_f NULL_decode_xer; -xer_type_encoder_f NULL_encode_xer; -oer_type_decoder_f NULL_decode_oer; -oer_type_encoder_f NULL_encode_oer; -per_type_decoder_f NULL_decode_uper; -per_type_encoder_f NULL_encode_uper; -per_type_decoder_f NULL_decode_aper; -per_type_encoder_f NULL_encode_aper; -asn_random_fill_f NULL_random_fill; - -#define NULL_free BOOLEAN_free -#define NULL_decode_ber BOOLEAN_decode_ber -#define NULL_constraint asn_generic_no_constraint - -#ifdef __cplusplus -} -#endif - -#endif /* NULL_H */ diff --git a/skeletons/NativeEnumerated.c b/skeletons/NativeEnumerated.c deleted file mode 100644 index 50ffb1d..0000000 --- a/skeletons/NativeEnumerated.c +++ /dev/null @@ -1,367 +0,0 @@ -/*- - * Copyright (c) 2004, 2007 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Read the NativeInteger.h for the explanation wrt. differences between - * INTEGER and NativeInteger. - * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this - * implementation deals with the standard (machine-specific) representation - * of them instead of using the platform-independent buffer. - */ -#include -#include - -/* - * NativeEnumerated basic type description. - */ -static const ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_operation_t asn_OP_NativeEnumerated = { - NativeInteger_free, - NativeInteger_print, - NativeInteger_compare, - NativeInteger_decode_ber, - NativeInteger_encode_der, - NativeInteger_decode_xer, - NativeEnumerated_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - NativeEnumerated_decode_oer, - NativeEnumerated_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - NativeEnumerated_decode_uper, - NativeEnumerated_encode_uper, - NativeEnumerated_decode_aper, - NativeEnumerated_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - NativeEnumerated_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = { - "ENUMERATED", /* The ASN.1 type is still ENUMERATED */ - "ENUMERATED", - &asn_OP_NativeEnumerated, - asn_DEF_NativeEnumerated_tags, - sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), - asn_DEF_NativeEnumerated_tags, /* Same as above */ - sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -asn_enc_rval_t -NativeEnumerated_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - const long *native = (const long *)sptr; - const asn_INTEGER_enum_map_t *el; - - (void)ilevel; - (void)flags; - - if(!native) ASN__ENCODE_FAILED; - - el = INTEGER_map_value2enum(specs, *native); - if(el) { - er.encoded = - asn__format_to_callback(cb, app_key, "<%s/>", el->enum_name); - if(er.encoded < 0) ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } else { - ASN_DEBUG( - "ASN.1 forbids dealing with " - "unknown value of ENUMERATED type"); - ASN__ENCODE_FAILED; - } -} - -asn_dec_rval_t -NativeEnumerated_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd) { - const asn_INTEGER_specifics_t *specs = td->specifics; - asn_dec_rval_t rval = { RC_OK, 0 }; - long *native = (long *)*sptr; - const asn_per_constraint_t *ct = NULL; - long value; - - (void)opt_codec_ctx; - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ASN__DECODE_FAILED; /* Mandatory! */ - if(!specs) ASN__DECODE_FAILED; - - if(!native) { - native = (long *)(*sptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); - - if(ct && ct->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) ASN__DECODE_STARVED; - if(inext) ct = 0; - } - - if(ct && ct->range_bits >= 0) { - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - if(value >= (specs->extension - ? specs->extension - 1 : specs->map_count)) - ASN__DECODE_FAILED; - } else { - if(!specs->extension) - ASN__DECODE_FAILED; - /* - * X.691, #10.6: normally small non-negative whole number; - */ - value = uper_get_nsnnwn(pd); - if(value < 0) ASN__DECODE_STARVED; - value += specs->extension - 1; - if(value >= specs->map_count) - ASN__DECODE_FAILED; - } - - *native = specs->value2enum[value].nat_value; - ASN_DEBUG("Decoded %s = %ld", td->name, *native); - - return rval; -} - -static int -NativeEnumerated__compar_value2enum(const void *ap, const void *bp) { - const asn_INTEGER_enum_map_t *a = ap; - const asn_INTEGER_enum_map_t *b = bp; - if(a->nat_value == b->nat_value) - return 0; - if(a->nat_value < b->nat_value) - return -1; - return 1; -} - -asn_enc_rval_t -NativeEnumerated_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - long native, value; - const asn_per_constraint_t *ct = NULL; - int inext = 0; - asn_INTEGER_enum_map_t key; - const asn_INTEGER_enum_map_t *kf; - - if(!sptr) ASN__ENCODE_FAILED; - if(!specs) ASN__ENCODE_FAILED; - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ASN__ENCODE_FAILED; /* Mandatory! */ - - ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); - - er.encoded = 0; - - native = *(const long *)sptr; - - key.nat_value = native; - kf = bsearch(&key, specs->value2enum, specs->map_count, - sizeof(key), NativeEnumerated__compar_value2enum); - if(!kf) { - ASN_DEBUG("No element corresponds to %ld", native); - ASN__ENCODE_FAILED; - } - value = kf - specs->value2enum; - - if(ct && ct->range_bits >= 0) { - int cmpWith = specs->extension - ? specs->extension - 1 : specs->map_count; - if(value >= cmpWith) - inext = 1; - } - if(ct && ct->flags & APC_EXTENSIBLE) { - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - if(inext) ct = 0; - } else if(inext) { - ASN__ENCODE_FAILED; - } - - if(ct && ct->range_bits >= 0) { - if(per_put_few_bits(po, value, ct->range_bits)) - ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - if(!specs->extension) - ASN__ENCODE_FAILED; - - /* - * X.691, #10.6: normally small non-negative whole number; - */ - ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", - value, specs->extension, inext, - value - (inext ? (specs->extension - 1) : 0)); - if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -NativeEnumerated_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd) { - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval = { RC_OK, 0 }; - long *native = (long *)*sptr; - const asn_per_constraint_t *ct = NULL; - long value; - - (void)opt_codec_ctx; - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ASN__DECODE_FAILED; /* Mandatory! */ - if(!specs) ASN__DECODE_FAILED; - - if(!native) { - native = (long *)(*sptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); - - if(ct && ct->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) ASN__DECODE_STARVED; - if(inext) ct = 0; - } - - /* Deal with APER padding */ - if(ct && ct->upper_bound >= 255) { - int padding = 0; - padding = (8 - (pd->moved % 8)) % 8; - ASN_DEBUG("For NativeEnumerated %s,offset= %lu Padding bits = %d", td->name, pd->moved, padding); - ASN_DEBUG("For NativeEnumerated %s, upper bound = %lu", td->name, ct->upper_bound); - if(padding > 0) - per_get_few_bits(pd, padding); - } - - if(ct && ct->range_bits >= 0) { - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - if(value >= (specs->extension - ? specs->extension - 1 : specs->map_count)) - ASN__DECODE_FAILED; - } else { - if(!specs->extension) - ASN__DECODE_FAILED; - /* - * X.691, #10.6: normally small non-negative whole number; - */ - value = uper_get_nsnnwn(pd); - if(value < 0) ASN__DECODE_STARVED; - value += specs->extension - 1; - if(value >= specs->map_count) - ASN__DECODE_FAILED; - } - - *native = specs->value2enum[value].nat_value; - ASN_DEBUG("Decoded %s = %ld", td->name, *native); - - return rval; -} - -asn_enc_rval_t -NativeEnumerated_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - long native, value; - const asn_per_constraint_t *ct = NULL; - int inext = 0; - asn_INTEGER_enum_map_t key; - asn_INTEGER_enum_map_t *kf; - - if(!sptr) ASN__ENCODE_FAILED; - if(!specs) ASN__ENCODE_FAILED; - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ASN__ENCODE_FAILED; /* Mandatory! */ - - ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); - - er.encoded = 0; - - native = *(const long *)sptr; - if(native < 0) ASN__ENCODE_FAILED; - - key.nat_value = native; - kf = bsearch(&key, specs->value2enum, specs->map_count, - sizeof(key), NativeEnumerated__compar_value2enum); - if(!kf) { - ASN_DEBUG("No element corresponds to %ld", native); - ASN__ENCODE_FAILED; - } - value = kf - specs->value2enum; - - if(ct && ct->range_bits >= 0) { - int cmpWith = specs->extension - ? specs->extension - 1 : specs->map_count; - if(value >= cmpWith) - inext = 1; - } - if(ct && ct->flags & APC_EXTENSIBLE) { - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - if(inext) ct = 0; - } else if(inext) { - ASN__ENCODE_FAILED; - } - - if(ct && ct->range_bits >= 0) { - if(per_put_few_bits(po, value, ct->range_bits)) - ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - if(!specs->extension) - ASN__ENCODE_FAILED; - - /* - * X.691, #10.6: normally small non-negative whole number; - */ - ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", - value, specs->extension, inext, - value - (inext ? (specs->extension - 1) : 0)); - if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} diff --git a/skeletons/NativeEnumerated.h b/skeletons/NativeEnumerated.h deleted file mode 100644 index 459f0e6..0000000 --- a/skeletons/NativeEnumerated.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This type differs from the standard ENUMERATED in that it is modelled using - * the fixed machine type (long, int, short), so it can hold only values of - * limited length. There is no type (i.e., NativeEnumerated_t, any integer type - * will do). - * This type may be used when integer range is limited by subtype constraints. - */ -#ifndef _NativeEnumerated_H_ -#define _NativeEnumerated_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern asn_TYPE_descriptor_t asn_DEF_NativeEnumerated; -extern asn_TYPE_operation_t asn_OP_NativeEnumerated; - -xer_type_encoder_f NativeEnumerated_encode_xer; -oer_type_decoder_f NativeEnumerated_decode_oer; -oer_type_encoder_f NativeEnumerated_encode_oer; -per_type_decoder_f NativeEnumerated_decode_uper; -per_type_encoder_f NativeEnumerated_encode_uper; -per_type_decoder_f NativeEnumerated_decode_aper; -per_type_encoder_f NativeEnumerated_encode_aper; - -#define NativeEnumerated_free NativeInteger_free -#define NativeEnumerated_print NativeInteger_print -#define NativeEnumerated_compare NativeInteger_compare -#define NativeEnumerated_random_fill NativeInteger_random_fill -#define NativeEnumerated_constraint asn_generic_no_constraint -#define NativeEnumerated_decode_ber NativeInteger_decode_ber -#define NativeEnumerated_encode_der NativeInteger_encode_der -#define NativeEnumerated_decode_xer NativeInteger_decode_xer - -#ifdef __cplusplus -} -#endif - -#endif /* _NativeEnumerated_H_ */ diff --git a/skeletons/NativeEnumerated_oer.c b/skeletons/NativeEnumerated_oer.c deleted file mode 100644 index ee3c189..0000000 --- a/skeletons/NativeEnumerated_oer.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -static long -asn__nativeenumerated_convert(const uint8_t *b, const uint8_t *end) { - unsigned long value; - - /* Perform the sign initialization */ - /* Actually value = -(*b >> 7); gains nothing, yet unreadable! */ - if((*b >> 7)) { - value = (unsigned long)(-1); - } else { - value = 0; - } - - /* Conversion engine */ - for(; b < end; b++) { - value = (value << 8) | *b; - } - - return value; -} - -asn_dec_rval_t -NativeEnumerated_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - void **nint_ptr, const void *ptr, size_t size) { - asn_dec_rval_t rval = {RC_OK, 0}; - long *native = (long *)*nint_ptr; - const uint8_t *b = ptr; - - (void)opt_codec_ctx; - (void)constraints; - - if(size < 1) { - ASN__DECODE_STARVED; - } - - if((*b & 0x80) == 0) { - /* - * X.696 (08/2015) #11.2 Short form for Enumerated. - */ - if(!native) { - native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - *native = *b; - rval.consumed = 1; - } else { - /* - * X.696 (08/2015) #11.4 Long form for Enumerated. - */ - size_t length = *b & 0x7f; - const uint8_t *bend; - long value; - - if(length < 1 || length > sizeof(*native)) { - ASN__DECODE_FAILED; - } - if((1 + length) > size) { - ASN__DECODE_STARVED; - } - b++; - bend = b + length; - - value = asn__nativeenumerated_convert(b, bend); - if(value < 0) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - if(specs && specs->field_unsigned) { - ASN__DECODE_FAILED; - } - } - - if(!native) { - native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - *native = value; - - rval.consumed = (1 + length); - } - - return rval; -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -NativeEnumerated_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t er = {0,0,0}; - long native; - - (void)constraints; - - if(!sptr) ASN__ENCODE_FAILED; - - native = *(const long *)sptr; - - if(native >= 0 && native <= 127) { - /* #11.2 Short form */ - uint8_t b = native; - er.encoded = 1; - if(cb(&b, er.encoded, app_key) < 0) { - ASN__ENCODE_FAILED; - } - ASN__ENCODED_OK(er); - } else { - /* #11.2 Long form */ - uint8_t buf[1 + sizeof(native)]; - uint8_t *b = &buf[sizeof(native)]; /* Last addressable */ - long final_pattern = -1 * (native < 0); - - for(;;) { - *b-- = native; - native >>= 8; - if(native == final_pattern) { - if(final_pattern) { - if((b[1] & 0x80)) break; - } else { - if(!(b[1] & 0x80)) break; - } - } - } - *b = 0x80 | (&buf[sizeof(native)] - b); - er.encoded = 1 + (&buf[sizeof(native)] - b); - if(cb(b, er.encoded, app_key) < 0) { - ASN__ENCODE_FAILED; - } - ASN__ENCODED_OK(er); - } -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/NativeInteger.c b/skeletons/NativeInteger.c deleted file mode 100644 index 316e872..0000000 --- a/skeletons/NativeInteger.c +++ /dev/null @@ -1,550 +0,0 @@ -/*- - * Copyright (c) 2004, 2005, 2006 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Read the NativeInteger.h for the explanation wrt. differences between - * INTEGER and NativeInteger. - * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this - * implementation deals with the standard (machine-specific) representation - * of them instead of using the platform-independent buffer. - */ -#include -#include - -/* - * NativeInteger basic type description. - */ -static const ber_tlv_tag_t asn_DEF_NativeInteger_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_operation_t asn_OP_NativeInteger = { - NativeInteger_free, - NativeInteger_print, - NativeInteger_compare, - NativeInteger_decode_ber, - NativeInteger_encode_der, - NativeInteger_decode_xer, - NativeInteger_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - NativeInteger_decode_oer, /* OER decoder */ - NativeInteger_encode_oer, /* Canonical OER encoder */ -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - NativeInteger_decode_uper, /* Unaligned PER decoder */ - NativeInteger_encode_uper, /* Unaligned PER encoder */ - NativeInteger_decode_aper, /* Aligned PER decoder */ - NativeInteger_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - NativeInteger_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_NativeInteger = { - "INTEGER", /* The ASN.1 type is still INTEGER */ - "INTEGER", - &asn_OP_NativeInteger, - asn_DEF_NativeInteger_tags, - sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), - asn_DEF_NativeInteger_tags, /* Same as above */ - sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -/* - * Decode INTEGER type. - */ -asn_dec_rval_t -NativeInteger_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **nint_ptr, - const void *buf_ptr, size_t size, int tag_mode) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - long *native = (long *)*nint_ptr; - asn_dec_rval_t rval; - ber_tlv_len_t length; - - /* - * If the structure is not there, allocate it. - */ - if(native == NULL) { - native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); - if(native == NULL) { - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; - } - } - - ASN_DEBUG("Decoding %s as INTEGER (tm=%d)", - td->name, tag_mode); - - /* - * Check tags. - */ - rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, - tag_mode, 0, &length, 0); - if(rval.code != RC_OK) - return rval; - - ASN_DEBUG("%s length is %d bytes", td->name, (int)length); - - /* - * Make sure we have this length. - */ - buf_ptr = ((const char *)buf_ptr) + rval.consumed; - size -= rval.consumed; - if(length > (ber_tlv_len_t)size) { - rval.code = RC_WMORE; - rval.consumed = 0; - return rval; - } - - /* - * ASN.1 encoded INTEGER: buf_ptr, length - * Fill the native, at the same time checking for overflow. - * If overflow occured, return with RC_FAIL. - */ - { - INTEGER_t tmp; - union { - const void *constbuf; - void *nonconstbuf; - } unconst_buf; - long l; - - unconst_buf.constbuf = buf_ptr; - tmp.buf = (uint8_t *)unconst_buf.nonconstbuf; - tmp.size = length; - - if((specs&&specs->field_unsigned) - ? asn_INTEGER2ulong(&tmp, (unsigned long *)&l) /* sic */ - : asn_INTEGER2long(&tmp, &l)) { - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; - } - - *native = l; - } - - rval.code = RC_OK; - rval.consumed += length; - - ASN_DEBUG("Took %ld/%ld bytes to encode %s (%ld)", - (long)rval.consumed, (long)length, td->name, (long)*native); - - return rval; -} - -/* - * Encode the NativeInteger using the standard INTEGER type DER encoder. - */ -asn_enc_rval_t -NativeInteger_encode_der(const asn_TYPE_descriptor_t *sd, const void *ptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - unsigned long native = *(const unsigned long *)ptr; /* Disable sign ext. */ - asn_enc_rval_t erval = {0,0,0}; - INTEGER_t tmp; - -#ifdef WORDS_BIGENDIAN /* Opportunistic optimization */ - - tmp.buf = (uint8_t *)&native; - tmp.size = sizeof(native); - -#else /* Works even if WORDS_BIGENDIAN is not set where should've been */ - uint8_t buf[sizeof(native)]; - uint8_t *p; - - /* Prepare a fake INTEGER */ - for(p = buf + sizeof(buf) - 1; p >= buf; p--, native >>= 8) - *p = (uint8_t)native; - - tmp.buf = buf; - tmp.size = sizeof(buf); -#endif /* WORDS_BIGENDIAN */ - - /* Encode fake INTEGER */ - erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key); - if(erval.structure_ptr == &tmp) { - erval.structure_ptr = ptr; - } - return erval; -} - -/* - * Decode the chunk of XML text encoding INTEGER. - */ -asn_dec_rval_t -NativeInteger_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval; - INTEGER_t st; - void *st_ptr = (void *)&st; - long *native = (long *)*sptr; - - if(!native) { - native = (long *)(*sptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - memset(&st, 0, sizeof(st)); - rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr, - opt_mname, buf_ptr, size); - if(rval.code == RC_OK) { - long l; - if((specs&&specs->field_unsigned) - ? asn_INTEGER2ulong(&st, (unsigned long *)&l) /* sic */ - : asn_INTEGER2long(&st, &l)) { - rval.code = RC_FAIL; - rval.consumed = 0; - } else { - *native = l; - } - } else { - /* - * Cannot restart from the middle; - * there is no place to save state in the native type. - * Request a continuation from the very beginning. - */ - rval.consumed = 0; - } - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &st); - return rval; -} - - -asn_enc_rval_t -NativeInteger_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - char scratch[32]; /* Enough for 64-bit int */ - asn_enc_rval_t er = {0,0,0}; - const long *native = (const long *)sptr; - - (void)ilevel; - (void)flags; - - if(!native) ASN__ENCODE_FAILED; - - er.encoded = snprintf(scratch, sizeof(scratch), - (specs && specs->field_unsigned) - ? "%lu" : "%ld", *native); - if(er.encoded <= 0 || (size_t)er.encoded >= sizeof(scratch) - || cb(scratch, er.encoded, app_key) < 0) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -NativeInteger_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval; - long *native = (long *)*sptr; - INTEGER_t tmpint; - void *tmpintptr = &tmpint; - - (void)opt_codec_ctx; - ASN_DEBUG("Decoding NativeInteger %s (UPER)", td->name); - - if(!native) { - native = (long *)(*sptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - memset(&tmpint, 0, sizeof tmpint); - rval = INTEGER_decode_uper(opt_codec_ctx, td, constraints, - &tmpintptr, pd); - if(rval.code == RC_OK) { - if((specs&&specs->field_unsigned) - ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) - : asn_INTEGER2long(&tmpint, native)) - rval.code = RC_FAIL; - else - ASN_DEBUG("NativeInteger %s got value %ld", - td->name, *native); - } - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - - return rval; -} - -asn_enc_rval_t -NativeInteger_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - long native; - INTEGER_t tmpint; - - if(!sptr) ASN__ENCODE_FAILED; - - native = *(const long *)sptr; - - ASN_DEBUG("Encoding NativeInteger %s %ld (UPER)", td->name, native); - - memset(&tmpint, 0, sizeof(tmpint)); - if((specs&&specs->field_unsigned) - ? asn_ulong2INTEGER(&tmpint, native) - : asn_long2INTEGER(&tmpint, native)) - ASN__ENCODE_FAILED; - er = INTEGER_encode_uper(td, constraints, &tmpint, po); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - return er; -} - -asn_dec_rval_t -NativeInteger_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval; - long *native = (long *)*sptr; - INTEGER_t tmpint; - void *tmpintptr = &tmpint; - - (void)opt_codec_ctx; - ASN_DEBUG("Decoding NativeInteger %s (APER)", td->name); - - if(!native) { - native = (long *)(*sptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - memset(&tmpint, 0, sizeof tmpint); - rval = INTEGER_decode_aper(opt_codec_ctx, td, constraints, - &tmpintptr, pd); - if(rval.code == RC_OK) { - if((specs&&specs->field_unsigned) - ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) - : asn_INTEGER2long(&tmpint, native)) - rval.code = RC_FAIL; - else - ASN_DEBUG("NativeInteger %s got value %ld", - td->name, *native); - } - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - - return rval; -} - -asn_enc_rval_t -NativeInteger_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - - const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - long native; - INTEGER_t tmpint; - - if(!sptr) ASN__ENCODE_FAILED; - - native = *(const long *)sptr; - - ASN_DEBUG("Encoding NativeInteger %s %ld (APER)", td->name, native); - - memset(&tmpint, 0, sizeof(tmpint)); - if((specs&&specs->field_unsigned) - ? asn_ulong2INTEGER(&tmpint, (unsigned long)native) - : asn_long2INTEGER(&tmpint, native)) - ASN__ENCODE_FAILED; - er = INTEGER_encode_aper(td, constraints, &tmpint, po); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - return er; -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -/* - * INTEGER specific human-readable output. - */ -int -NativeInteger_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - const long *native = (const long *)sptr; - char scratch[32]; /* Enough for 64-bit int */ - int ret; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(native) { - long value = *native; - ret = snprintf(scratch, sizeof(scratch), - (specs && specs->field_unsigned) ? "%lu" : "%ld", value); - assert(ret > 0 && (size_t)ret < sizeof(scratch)); - if(cb(scratch, ret, app_key) < 0) return -1; - if(specs && (value >= 0 || !specs->field_unsigned)) { - const asn_INTEGER_enum_map_t *el = - INTEGER_map_value2enum(specs, value); - if(el) { - if(cb(" (", 2, app_key) < 0) return -1; - if(cb(el->enum_name, el->enum_len, app_key) < 0) return -1; - if(cb(")", 1, app_key) < 0) return -1; - } - } - return 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -void -NativeInteger_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - if(!td || !ptr) - return; - - ASN_DEBUG("Freeing %s as INTEGER (%d, %p, Native)", - td->name, method, ptr); - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(ptr, 0, sizeof(long)); - break; - } -} - -int -NativeInteger_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { - (void)td; - - if(aptr && bptr) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - if(specs && specs->field_unsigned) { - const unsigned long *a = aptr; - const unsigned long *b = bptr; - if(*a < *b) { - return -1; - } else if(*a > *b) { - return 1; - } else { - return 0; - } - } else { - const long *a = aptr; - const long *b = bptr; - if(*a < *b) { - return -1; - } else if(*a > *b) { - return 1; - } else { - return 0; - } - } - } else if(!aptr) { - return -1; - } else { - return 1; - } -} - -asn_random_fill_result_t -NativeInteger_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - long *st = *sptr; - const asn_INTEGER_enum_map_t *emap; - size_t emap_len; - intmax_t value; - int find_inside_map; - - if(max_length == 0) return result_skipped; - - if(st == NULL) { - st = (long *)CALLOC(1, sizeof(*st)); - if(st == NULL) { - return result_failed; - } - } - - if(specs) { - emap = specs->value2enum; - emap_len = specs->map_count; - if(specs->strict_enumeration) { - find_inside_map = emap_len > 0; - } else { - find_inside_map = emap_len ? asn_random_between(0, 1) : 0; - } - } else { - emap = 0; - emap_len = 0; - find_inside_map = 0; - } - - if(find_inside_map) { - assert(emap_len > 0); - value = emap[asn_random_between(0, emap_len - 1)].nat_value; - } else { - const asn_per_constraints_t *ct; - - static const long variants[] = { - -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, - -16383, -257, -256, -255, -254, -129, -128, -127, - -126, -1, 0, 1, 126, 127, 128, 129, - 254, 255, 256, 257, 16383, 16384, 16385, 32767, - 32768, 32769, 65534, 65535, 65536, 65537}; - if(specs && specs->field_unsigned) { - assert(variants[18] == 0); - value = variants[asn_random_between( - 18, sizeof(variants) / sizeof(variants[0]) - 1)]; - } else { - value = variants[asn_random_between( - 0, sizeof(variants) / sizeof(variants[0]) - 1)]; - } - - if(!constraints) constraints = &td->encoding_constraints; - ct = constraints ? constraints->per_constraints : 0; - if(ct && (ct->value.flags & APC_CONSTRAINED)) { - if(value < ct->value.lower_bound || value > ct->value.upper_bound) { - value = asn_random_between(ct->value.lower_bound, - ct->value.upper_bound); - } - } - } - - *sptr = st; - *st = value; - return result_ok; -} diff --git a/skeletons/NativeInteger.h b/skeletons/NativeInteger.h deleted file mode 100644 index c74406a..0000000 --- a/skeletons/NativeInteger.h +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This type differs from the standard INTEGER in that it is modelled using - * the fixed machine type (long, int, short), so it can hold only values of - * limited length. There is no type (i.e., NativeInteger_t, any integer type - * will do). - * This type may be used when integer range is limited by subtype constraints. - */ -#ifndef _NativeInteger_H_ -#define _NativeInteger_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern asn_TYPE_descriptor_t asn_DEF_NativeInteger; -extern asn_TYPE_operation_t asn_OP_NativeInteger; - -asn_struct_free_f NativeInteger_free; -asn_struct_print_f NativeInteger_print; -asn_struct_compare_f NativeInteger_compare; -ber_type_decoder_f NativeInteger_decode_ber; -der_type_encoder_f NativeInteger_encode_der; -xer_type_decoder_f NativeInteger_decode_xer; -xer_type_encoder_f NativeInteger_encode_xer; -oer_type_decoder_f NativeInteger_decode_oer; -oer_type_encoder_f NativeInteger_encode_oer; -per_type_decoder_f NativeInteger_decode_uper; -per_type_encoder_f NativeInteger_encode_uper; -per_type_decoder_f NativeInteger_decode_aper; -per_type_encoder_f NativeInteger_encode_aper; -asn_random_fill_f NativeInteger_random_fill; - -#define NativeInteger_constraint asn_generic_no_constraint - -#ifdef __cplusplus -} -#endif - -#endif /* _NativeInteger_H_ */ diff --git a/skeletons/NativeInteger_oer.c b/skeletons/NativeInteger_oer.c deleted file mode 100644 index 411413a..0000000 --- a/skeletons/NativeInteger_oer.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -asn_dec_rval_t -NativeInteger_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - void **nint_ptr, const void *ptr, size_t size) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - asn_dec_rval_t rval = {RC_OK, 0}; - long *native = (long *)*nint_ptr; - INTEGER_t tmpint; - INTEGER_t *tmpintptr = &tmpint; - - memset(&tmpint, 0, sizeof(tmpint)); - - if(!native) { - native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); - if(!native) ASN__DECODE_FAILED; - } - - /* - * OPTIMIZATION: Encode directly rather than passing through INTEGER. - * Saves a memory allocation. - */ - rval = INTEGER_decode_oer(opt_codec_ctx, td, constraints, - (void **)&tmpintptr, ptr, size); - if(rval.code != RC_OK) { - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - return rval; - } - - if(specs && specs->field_unsigned) { - unsigned long ul; - int ok = asn_INTEGER2ulong(&tmpint, &ul) == 0; - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - if(ok) { - *native = ul; - } else { - rval.code = RC_FAIL; - return rval; - } - } else { - long l; - int ok = asn_INTEGER2long(&tmpint, &l) == 0; - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - if(ok) { - *native = l; - } else { - rval.code = RC_FAIL; - return rval; - } - } - - return rval; -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -NativeInteger_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_INTEGER_specifics_t *specs = - (const asn_INTEGER_specifics_t *)td->specifics; - INTEGER_t tmpint; - long native; - - if(!sptr) ASN__ENCODE_FAILED; - - native = *(const long *)sptr; - memset(&tmpint, 0, sizeof(tmpint)); - - ASN_DEBUG("Encoding %s %ld as NativeInteger", td ? td->name : "", native); - - if((specs && specs->field_unsigned) ? asn_ulong2INTEGER(&tmpint, native) - : asn_long2INTEGER(&tmpint, native)) { - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - ASN__ENCODE_FAILED; - } else { - asn_enc_rval_t er = - INTEGER_encode_oer(td, constraints, &tmpint, cb, app_key); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); - return er; - } -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/NativeReal.c b/skeletons/NativeReal.c deleted file mode 100644 index 160a471..0000000 --- a/skeletons/NativeReal.c +++ /dev/null @@ -1,781 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Read the NativeReal.h for the explanation wrt. differences between - * REAL and NativeReal. - * Basically, both are decoders and encoders of ASN.1 REAL type, but this - * implementation deals with the standard (machine-specific) representation - * of them instead of using the platform-independent buffer. - */ -#include -#include -#include -#include -#include -#include - -#if defined(__clang__) -/* - * isnan() is defined using generic selections and won't compile in - * strict C89 mode because of too fancy system's standard library. - * However, prior to C11 the math had a perfectly working isnan() - * in the math library. - * Disable generic selection warning so we can test C89 mode with newer libc. - */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wc11-extensions" -static int asn_isnan(double d) { - return isnan(d); -} -#pragma clang diagnostic pop -#else -#define asn_isnan(v) isnan(v) -#endif /* generic selections */ - -/* - * NativeReal basic type description. - */ -static const ber_tlv_tag_t asn_DEF_NativeReal_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_operation_t asn_OP_NativeReal = { - NativeReal_free, - NativeReal_print, - NativeReal_compare, - NativeReal_decode_ber, - NativeReal_encode_der, - NativeReal_decode_xer, - NativeReal_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - NativeReal_decode_oer, - NativeReal_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - NativeReal_decode_uper, - NativeReal_encode_uper, - NativeReal_decode_aper, - NativeReal_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - NativeReal_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_NativeReal = { - "REAL", /* The ASN.1 type is still REAL */ - "REAL", - &asn_OP_NativeReal, - asn_DEF_NativeReal_tags, - sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]), - asn_DEF_NativeReal_tags, /* Same as above */ - sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -static size_t NativeReal__float_size(const asn_TYPE_descriptor_t *td); -static double NativeReal__get_double(const asn_TYPE_descriptor_t *td, - const void *ptr); -static ssize_t NativeReal__set(const asn_TYPE_descriptor_t *td, void **sptr, - double d); - -/* - * Decode REAL type. - */ -asn_dec_rval_t -NativeReal_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size, int tag_mode) { - asn_dec_rval_t rval; - ber_tlv_len_t length; - - ASN_DEBUG("Decoding %s as REAL (tm=%d)", td->name, tag_mode); - - /* - * Check tags. - */ - rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, tag_mode, 0, - &length, 0); - if(rval.code != RC_OK) return rval; - assert(length >= 0); /* Ensured by ber_check_tags */ - - ASN_DEBUG("%s length is %d bytes", td->name, (int)length); - - /* - * Make sure we have this length. - */ - buf_ptr = ((const char *)buf_ptr) + rval.consumed; - size -= rval.consumed; - if(length > (ber_tlv_len_t)size) { - rval.code = RC_WMORE; - rval.consumed = 0; - return rval; - } - - /* - * ASN.1 encoded REAL: buf_ptr, length - * Fill the Dbl, at the same time checking for overflow. - * If overflow occured, return with RC_FAIL. - */ - { - uint8_t scratch[24]; /* Longer than %.16f in decimal */ - REAL_t tmp; - double d; - int ret; - - if((size_t)length < sizeof(scratch)) { - tmp.buf = scratch; - tmp.size = length; - } else { - /* This rarely happens: impractically long value */ - tmp.buf = CALLOC(1, length + 1); - tmp.size = length; - if(!tmp.buf) { - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; - } - } - - memcpy(tmp.buf, buf_ptr, length); - tmp.buf[length] = '\0'; - - ret = asn_REAL2double(&tmp, &d); - if(tmp.buf != scratch) FREEMEM(tmp.buf); - if(ret) { - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; - } - - if(NativeReal__set(td, sptr, d) < 0) - ASN__DECODE_FAILED; - } - - rval.code = RC_OK; - rval.consumed += length; - - ASN_DEBUG("Took %ld/%ld bytes to encode %s", (long)rval.consumed, - (long)length, td->name); - - return rval; -} - -/* - * Encode the NativeReal using the standard REAL type DER encoder. - */ -asn_enc_rval_t -NativeReal_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - double d = NativeReal__get_double(td, sptr); - asn_enc_rval_t erval = {0,0,0}; - REAL_t tmp; - - /* Prepare a temporary clean structure */ - memset(&tmp, 0, sizeof(tmp)); - - if(asn_double2REAL(&tmp, d)) - ASN__ENCODE_FAILED; - - /* Encode a fake REAL */ - erval = der_encode_primitive(td, &tmp, tag_mode, tag, cb, app_key); - if(erval.encoded == -1) { - assert(erval.structure_ptr == &tmp); - erval.structure_ptr = sptr; - } - - /* Free possibly allocated members of the temporary structure */ - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - - return erval; -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -/* - * Decode REAL type using PER. - */ -asn_dec_rval_t -NativeReal_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rval; - double d; - REAL_t tmp; - void *ptmp = &tmp; - int ret; - - (void)constraints; - - memset(&tmp, 0, sizeof(tmp)); - rval = OCTET_STRING_decode_uper(opt_codec_ctx, &asn_DEF_REAL, - NULL, &ptmp, pd); - if(rval.code != RC_OK) { - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - return rval; - } - - ret = asn_REAL2double(&tmp, &d); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - if(ret) ASN__DECODE_FAILED; - - if(NativeReal__set(td, sptr, d) < 0 ) - ASN__DECODE_FAILED; - - return rval; -} - -/* - * Encode the NativeReal using the OCTET STRING PER encoder. - */ -asn_enc_rval_t -NativeReal_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - double d = NativeReal__get_double(td, sptr); - asn_enc_rval_t erval = {0,0,0}; - REAL_t tmp; - - (void)constraints; - - /* Prepare a temporary clean structure */ - memset(&tmp, 0, sizeof(tmp)); - - if(asn_double2REAL(&tmp, d)) - ASN__ENCODE_FAILED; - - /* Encode a DER REAL */ - erval = OCTET_STRING_encode_uper(&asn_DEF_REAL, NULL, &tmp, po); - if(erval.encoded == -1) - erval.structure_ptr = sptr; - - /* Free possibly allocated members of the temporary structure */ - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - - return erval; -} - - -asn_dec_rval_t -NativeReal_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **dbl_ptr, asn_per_data_t *pd) { - double *Dbl = (double *)*dbl_ptr; - asn_dec_rval_t rval; - REAL_t tmp; - void *ptmp = &tmp; - int ret; - - (void)constraints; - - /* - * If the structure is not there, allocate it. - */ - if(Dbl == NULL) { - *dbl_ptr = CALLOC(1, sizeof(*Dbl)); - Dbl = (double *)*dbl_ptr; - if(Dbl == NULL) - ASN__DECODE_FAILED; - } - - memset(&tmp, 0, sizeof(tmp)); - rval = OCTET_STRING_decode_aper(opt_codec_ctx, td, NULL, - &ptmp, pd); - if(rval.code != RC_OK) { - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - return rval; - } - - ret = asn_REAL2double(&tmp, Dbl); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - if(ret) ASN__DECODE_FAILED; - - return rval; -} - -asn_enc_rval_t -NativeReal_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - double Dbl = *(const double *)sptr; - asn_enc_rval_t erval = {0,0,0}; - REAL_t tmp; - - (void)constraints; - - /* Prepare a temporary clean structure */ - memset(&tmp, 0, sizeof(tmp)); - - if(asn_double2REAL(&tmp, Dbl)) - ASN__ENCODE_FAILED; - - /* Encode a DER REAL */ - erval = OCTET_STRING_encode_aper(td, NULL, &tmp, po); - if(erval.encoded == -1) - erval.structure_ptr = sptr; - - /* Free possibly allocated members of the temporary structure */ - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - - return erval; -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -#ifndef ASN_DISABLE_OER_SUPPORT - -/* - * Swap bytes from/to network, if local is little-endian. - * Unused endianness sections are likely removed at compile phase. - */ -static void -NativeReal__network_swap(size_t float_size, const void *srcp, uint8_t *dst) { - const uint8_t *src = srcp; - double test = -0.0; - int float_big_endian = *(const char *)&test != 0; - /* In lieu of static_assert(sizeof(double) == 8) */ - static const char sizeof_double_is_8_a[sizeof(double)-7] CC_NOTUSED; - static const char sizeof_double_is_8_b[9-sizeof(double)] CC_NOTUSED; - /* In lieu of static_assert(sizeof(sizeof) == 4) */ - static const char sizeof_float_is_4_a[sizeof(float)-3] CC_NOTUSED; - static const char sizeof_float_is_4_b[5-sizeof(float)] CC_NOTUSED; - - switch(float_size) { - case sizeof(double): - assert(sizeof(double) == 8); - if(float_big_endian) { - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - dst[3] = src[3]; - dst[4] = src[4]; - dst[5] = src[5]; - dst[6] = src[6]; - dst[7] = src[7]; - } else { - dst[0] = src[7]; - dst[1] = src[6]; - dst[2] = src[5]; - dst[3] = src[4]; - dst[4] = src[3]; - dst[5] = src[2]; - dst[6] = src[1]; - dst[7] = src[0]; - } - return; - case sizeof(float): - assert(sizeof(float) == 4); - if(float_big_endian) { - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - dst[3] = src[3]; - } else { - dst[0] = src[3]; - dst[1] = src[2]; - dst[2] = src[1]; - dst[3] = src[0]; - } - return; - } -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -NativeReal_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t er = {0, 0, 0}; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints && constraints->value.width != 0) { - /* X.696 IEEE 754 binary32 and binary64 encoding */ - uint8_t scratch[sizeof(double)]; - const asn_NativeReal_specifics_t *specs = - (const asn_NativeReal_specifics_t *)td->specifics; - size_t wire_size = constraints->value.width; - - if(specs ? (wire_size == specs->float_size) - : (wire_size == sizeof(double))) { - /* - * Our representation matches the wire, modulo endianness. - * That was the whole point of compact encoding! - */ - } else { - assert((wire_size == sizeof(double)) - || (specs && specs->float_size == wire_size)); - ASN__ENCODE_FAILED; - } - - /* - * The X.696 standard doesn't specify endianness, neither is IEEE 754. - * So we assume the network format is big endian. - */ - NativeReal__network_swap(wire_size, sptr, scratch); - if(cb(scratch, wire_size, app_key) < 0) { - ASN__ENCODE_FAILED; - } else { - er.encoded = wire_size; - ASN__ENCODED_OK(er); - } - } else { - double d = NativeReal__get_double(td, sptr); - ssize_t len_len; - REAL_t tmp; - - /* Prepare a temporary clean structure */ - memset(&tmp, 0, sizeof(tmp)); - - if(asn_double2REAL(&tmp, d)) { - ASN__ENCODE_FAILED; - } - - /* Encode a fake REAL */ - len_len = oer_serialize_length(tmp.size, cb, app_key); - if(len_len < 0 || cb(tmp.buf, tmp.size, app_key) < 0) { - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - ASN__ENCODE_FAILED; - } else { - er.encoded = len_len + tmp.size; - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); - ASN__ENCODED_OK(er); - } - } -} - -asn_dec_rval_t -NativeReal_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - asn_dec_rval_t ok = {RC_OK, 0}; - double d; - ssize_t len_len; - size_t real_body_len; - - (void)opt_codec_ctx; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints && constraints->value.width != 0) { - /* X.696 IEEE 754 binary32 and binary64 encoding */ - uint8_t scratch[sizeof(double)]; - size_t wire_size = constraints->value.width; - - if(size < wire_size) - ASN__DECODE_STARVED; - - /* - * The X.696 standard doesn't specify endianness, neither is IEEE 754. - * So we assume the network format is big endian. - */ - NativeReal__network_swap(wire_size, ptr, scratch); - - - switch(wire_size) { - case sizeof(double): - { - double tmp; - memcpy(&tmp, scratch, sizeof(double)); - if(NativeReal__set(td, sptr, tmp) < 0) - ASN__DECODE_FAILED; - } - break; - case sizeof(float): - { - float tmp; - memcpy(&tmp, scratch, sizeof(float)); - if(NativeReal__set(td, sptr, tmp) < 0) - ASN__DECODE_FAILED; - } - break; - default: - ASN__DECODE_FAILED; - } - - ok.consumed = wire_size; - return ok; - } - - len_len = oer_fetch_length(ptr, size, &real_body_len); - if(len_len < 0) ASN__DECODE_FAILED; - if(len_len == 0) ASN__DECODE_STARVED; - - ptr = (const char *)ptr + len_len; - size -= len_len; - - if(real_body_len > size) ASN__DECODE_STARVED; - - { - uint8_t scratch[24]; /* Longer than %.16f in decimal */ - REAL_t tmp; - int ret; - - if(real_body_len < sizeof(scratch)) { - tmp.buf = scratch; - tmp.size = real_body_len; - } else { - /* This rarely happens: impractically long value */ - tmp.buf = CALLOC(1, real_body_len + 1); - tmp.size = real_body_len; - if(!tmp.buf) { - ASN__DECODE_FAILED; - } - } - - memcpy(tmp.buf, ptr, real_body_len); - tmp.buf[real_body_len] = '\0'; - - ret = asn_REAL2double(&tmp, &d); - if(tmp.buf != scratch) FREEMEM(tmp.buf); - if(ret) { - ASN_DEBUG("REAL decoded in %" ASN_PRI_SIZE " bytes, but can't convert t double", - real_body_len); - ASN__DECODE_FAILED; - } - } - - if(NativeReal__set(td, sptr, d) < 0) - ASN__DECODE_FAILED; - - ok.consumed = len_len + real_body_len; - return ok; -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ - -/* - * Decode the chunk of XML text encoding REAL. - */ -asn_dec_rval_t -NativeReal_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - asn_dec_rval_t rval; - REAL_t st = { 0, 0 }; - REAL_t *stp = &st; - - rval = REAL_decode_xer(opt_codec_ctx, td, (void **)&stp, opt_mname, - buf_ptr, size); - if(rval.code == RC_OK) { - double d; - if(asn_REAL2double(&st, &d) || NativeReal__set(td, sptr, d) < 0) { - rval.code = RC_FAIL; - rval.consumed = 0; - } - } else { - /* Convert all errors into RC_FAIL */ - rval.consumed = 0; - } - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &st); - return rval; -} - -asn_enc_rval_t -NativeReal_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - double d = NativeReal__get_double(td, sptr); - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; - - er.encoded = REAL__dump(d, flags & XER_F_CANONICAL, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -/* - * REAL specific human-readable output. - */ -int -NativeReal_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - (void)ilevel; /* Unused argument */ - - if(sptr) { - double d = NativeReal__get_double(td, sptr); - return (REAL__dump(d, 0, cb, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -int -NativeReal_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - - if(aptr && bptr) { - double a = NativeReal__get_double(td, aptr); - double b = NativeReal__get_double(td, bptr); - - /* NaN sorted above everything else */ - if(asn_isnan(a)) { - if(asn_isnan(b)) { - return 0; - } else { - return -1; - } - } else if(asn_isnan(b)) { - return 1; - } - /* Value comparison. */ - if(a < b) { - return -1; - } else if(a > b) { - return 1; - } else { - return 0; - } - } else if(!aptr) { - return -1; - } else { - return 1; - } -} - -void -NativeReal_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - if(!td || !ptr) - return; - - ASN_DEBUG("Freeing %s as REAL (%d, %p, Native)", - td->name, method, ptr); - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: { - const asn_NativeReal_specifics_t *specs; - size_t float_size; - specs = (const asn_NativeReal_specifics_t *)td->specifics; - float_size = specs ? specs->float_size : sizeof(double); - memset(ptr, 0, float_size); - } break; - } -} - -asn_random_fill_result_t -NativeReal_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 0}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; -#ifndef INFINITY -#define INFINITY (1.0/0.0) -#endif -#ifndef NAN -#define NAN (0.0/0.0) -#endif - static const double double_values[] = { - -M_E, M_E, -M_PI, M_PI, /* Better precision than with floats */ - -1E+308, 1E+308, - /* 2^51 */ - -2251799813685248.0, 2251799813685248.0, - /* 2^52 */ - -4503599627370496.0, 4503599627370496.0, - /* 2^100 */ - -1267650600228229401496703205376.0, 1267650600228229401496703205376.0, - -DBL_MIN, DBL_MIN, - -DBL_MAX, DBL_MAX, -#ifdef DBL_TRUE_MIN - -DBL_TRUE_MIN, DBL_TRUE_MIN -#endif - }; - static const float float_values[] = { - 0, -0.0, -1, 1, -M_E, M_E, -3.14, 3.14, -M_PI, M_PI, -255, 255, - -FLT_MIN, FLT_MIN, - -FLT_MAX, FLT_MAX, -#ifdef FLT_TRUE_MIN - -FLT_TRUE_MIN, FLT_TRUE_MIN, -#endif - INFINITY, -INFINITY, NAN - }; - ssize_t float_set_size = NativeReal__float_size(td); - const size_t n_doubles = sizeof(double_values) / sizeof(double_values[0]); - const size_t n_floats = sizeof(float_values) / sizeof(float_values[0]); - double d; - - (void)constraints; - - if(max_length == 0) return result_skipped; - - if(float_set_size == sizeof(double) && asn_random_between(0, 1) == 0) { - d = double_values[asn_random_between(0, n_doubles - 1)]; - } else { - d = float_values[asn_random_between(0, n_floats - 1)]; - } - - if(NativeReal__set(td, sptr, d) < 0) { - return result_failed; - } - - result_ok.length = float_set_size; - return result_ok; -} - - -/* - * Local helper functions. - */ - -static size_t -NativeReal__float_size(const asn_TYPE_descriptor_t *td) { - const asn_NativeReal_specifics_t *specs = - (const asn_NativeReal_specifics_t *)td->specifics; - return specs ? specs->float_size : sizeof(double); -} - -static double -NativeReal__get_double(const asn_TYPE_descriptor_t *td, const void *ptr) { - size_t float_size = NativeReal__float_size(td); - if(float_size == sizeof(float)) { - return *(const float *)ptr; - } else { - return *(const double *)ptr; - } -} - -static ssize_t /* Returns -1 or float size. */ -NativeReal__set(const asn_TYPE_descriptor_t *td, void **sptr, double d) { - size_t float_size = NativeReal__float_size(td); - void *native; - - if(!(native = *sptr)) { - native = (*sptr = CALLOC(1, float_size)); - if(!native) { - return -1; - } - } - - if(float_size == sizeof(float)) { - if(asn_double2float(d, (float *)native)) { - return -1; - } - } else { - *(double *)native = d; - } - - return float_size; -} - diff --git a/skeletons/NativeReal.h b/skeletons/NativeReal.h deleted file mode 100644 index 1bfdc96..0000000 --- a/skeletons/NativeReal.h +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This type differs from the standard REAL in that it is modelled using - * the fixed machine type (double), so it can hold only values of - * limited precision. There is no explicit type (i.e., NativeReal_t). - * Use of this type is normally enabled by -fnative-types. - */ -#ifndef ASN_TYPE_NativeReal_H -#define ASN_TYPE_NativeReal_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_NativeReal_specifics_s { - unsigned float_size; /* sizeof(float) or sizeof(double) */ -} asn_NativeReal_specifics_t; - -extern asn_TYPE_descriptor_t asn_DEF_NativeReal; -extern asn_TYPE_operation_t asn_OP_NativeReal; - -asn_struct_free_f NativeReal_free; -asn_struct_print_f NativeReal_print; -asn_struct_compare_f NativeReal_compare; -ber_type_decoder_f NativeReal_decode_ber; -der_type_encoder_f NativeReal_encode_der; -per_type_decoder_f NativeReal_decode_uper; -per_type_encoder_f NativeReal_encode_uper; -per_type_decoder_f NativeReal_decode_aper; -per_type_encoder_f NativeReal_encode_aper; -oer_type_decoder_f NativeReal_decode_oer; -oer_type_encoder_f NativeReal_encode_oer; -xer_type_decoder_f NativeReal_decode_xer; -xer_type_encoder_f NativeReal_encode_xer; -asn_random_fill_f NativeReal_random_fill; - -#define NativeReal_constraint asn_generic_no_constraint - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_TYPE_NativeReal_H */ diff --git a/skeletons/NumericString.c b/skeletons/NumericString.c deleted file mode 100644 index ec98ba5..0000000 --- a/skeletons/NumericString.c +++ /dev/null @@ -1,121 +0,0 @@ -/*- - * Copyright (c) 2003, 2006 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * NumericString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_NumericString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (18 << 2)), /* [UNIVERSAL 18] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static int asn_DEF_NumericString_v2c(unsigned int value) { - switch(value) { - case 0x20: return 0; - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - return value - (0x30 - 1); - } - return -1; -} -static int asn_DEF_NumericString_c2v(unsigned int code) { - if(code > 0) { - if(code <= 10) - return code + (0x30 - 1); - else - return -1; - } else { - return 0x20; - } -} -static asn_per_constraints_t asn_DEF_NumericString_per_constraints = { - { APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - asn_DEF_NumericString_v2c, - asn_DEF_NumericString_c2v -}; -asn_TYPE_operation_t asn_OP_NumericString = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* ASCII subset */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_NumericString = { - "NumericString", - "NumericString", - &asn_OP_NumericString, - asn_DEF_NumericString_tags, - sizeof(asn_DEF_NumericString_tags) - / sizeof(asn_DEF_NumericString_tags[0]) - 1, - asn_DEF_NumericString_tags, - sizeof(asn_DEF_NumericString_tags) - / sizeof(asn_DEF_NumericString_tags[0]), - { 0, &asn_DEF_NumericString_per_constraints, NumericString_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -int -NumericString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const NumericString_t *st = (const NumericString_t *)sptr; - - if(st && st->buf) { - uint8_t *buf = st->buf; - uint8_t *end = buf + st->size; - - /* - * Check the alphabet of the NumericString. - * ASN.1:1984 (X.409) - */ - for(; buf < end; buf++) { - switch(*buf) { - case 0x20: - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - continue; - } - ASN__CTFAIL(app_key, td, sptr, - "%s: value byte %ld (%d) " - "not in NumericString alphabet (%s:%d)", - td->name, - (long)((buf - st->buf) + 1), - *buf, - __FILE__, __LINE__); - return -1; - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} diff --git a/skeletons/NumericString.h b/skeletons/NumericString.h deleted file mode 100644 index 5f33484..0000000 --- a/skeletons/NumericString.h +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _NumericString_H_ -#define _NumericString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t NumericString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_NumericString; -extern asn_TYPE_operation_t asn_OP_NumericString; - -asn_constr_check_f NumericString_constraint; - -#define NumericString_free OCTET_STRING_free -#define NumericString_print OCTET_STRING_print_utf8 -#define NumericString_compare OCTET_STRING_compare -#define NumericString_decode_ber OCTET_STRING_decode_ber -#define NumericString_encode_der OCTET_STRING_encode_der -#define NumericString_decode_xer OCTET_STRING_decode_xer_utf8 -#define NumericString_encode_xer OCTET_STRING_encode_xer_utf8 -#define NumericString_decode_uper OCTET_STRING_decode_uper -#define NumericString_encode_uper OCTET_STRING_encode_uper -#define NumericString_decode_aper OCTET_STRING_decode_aper -#define NumericString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _NumericString_H_ */ diff --git a/skeletons/OBJECT_IDENTIFIER.c b/skeletons/OBJECT_IDENTIFIER.c deleted file mode 100644 index 8dccf01..0000000 --- a/skeletons/OBJECT_IDENTIFIER.c +++ /dev/null @@ -1,656 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include -#include /* for CHAR_BIT */ -#include - -/* - * OBJECT IDENTIFIER basic type description. - */ -static const ber_tlv_tag_t asn_DEF_OBJECT_IDENTIFIER_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)) -}; -asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER = { - ASN__PRIMITIVE_TYPE_free, - OBJECT_IDENTIFIER_print, - OCTET_STRING_compare, /* Implemented in terms of a string comparison */ - ber_decode_primitive, - der_encode_primitive, - OBJECT_IDENTIFIER_decode_xer, - OBJECT_IDENTIFIER_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OBJECT_IDENTIFIER_decode_oer, - OBJECT_IDENTIFIER_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OBJECT_IDENTIFIER_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = { - "OBJECT IDENTIFIER", - "OBJECT_IDENTIFIER", - &asn_OP_OBJECT_IDENTIFIER, - asn_DEF_OBJECT_IDENTIFIER_tags, - sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) - / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), - asn_DEF_OBJECT_IDENTIFIER_tags, /* Same as above */ - sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) - / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), - { 0, 0, OBJECT_IDENTIFIER_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -int -OBJECT_IDENTIFIER_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, - void *app_key) { - const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; - - if(st && st->buf) { - if(st->size < 1) { - ASN__CTFAIL(app_key, td, sptr, - "%s: at least one numerical value " - "expected (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} - -static ssize_t -OBJECT_IDENTIFIER_get_first_arcs(const uint8_t *arcbuf, size_t arcbuf_len, - asn_oid_arc_t *arc0, asn_oid_arc_t *arc1) { - asn_oid_arc_t value; - - ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(arcbuf, arcbuf_len, &value); - if(rd <= 0) return rd; - - if(value >= 80) { - *arc0 = 2; - *arc1 = value - 80; - } else if(value >= 40) { - *arc0 = 1; - *arc1 = value - 40; - } else { - *arc0 = 0; - *arc1 = value; - } - - return rd; -} - -ssize_t -OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, size_t arcbuf_len, - asn_oid_arc_t *ret_value) { - const uint8_t *b = arcbuf; - const uint8_t *arcend = arcbuf + arcbuf_len; /* End of arc */ - - if(arcbuf == arcend) { - return 0; - } else { - asn_oid_arc_t accum; - asn_oid_arc_t upper_limit = (ASN_OID_ARC_MAX >> 7); - /* When the value reaches "upper_limit", it can take */ - /* at most one more digit. If it exceeds "upper_limit" */ - /* but there are more digits - it's an Overflow condition */ - /* Gather all bits into the accumulator */ - for(accum = 0; b < arcend; b++) { - accum = (accum << 7) | (*b & ~0x80); - if((*b & 0x80) == 0) { // no more digits - if(accum <= ASN_OID_ARC_MAX) { - *ret_value = accum; - return 1 + (b - arcbuf); - } else { - errno = ERANGE; /* Overflow */ - return -1; - } - } else { // to make sure we aren't wrapping around - if(accum > upper_limit) { - errno = ERANGE; /* Overflow */ - return -1; - } - } - } - errno = EINVAL; - return -1; - } - -} - -static ssize_t -OBJECT_IDENTIFIER__dump_body(const OBJECT_IDENTIFIER_t *st, - asn_app_consume_bytes_f *cb, void *app_key) { - char scratch[32]; - asn_oid_arc_t arc0, arc1; - size_t produced = 0; - size_t off = 0; - ssize_t rd; - int ret; - - rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); - if(rd <= 0) { - return -1; - } - - ret = snprintf(scratch, sizeof(scratch), "%"PRIu32".%"PRIu32, arc0, arc1); - if(ret >= (ssize_t)sizeof(scratch)) { - return -1; - } - produced += ret; - if(cb(scratch, ret, app_key) < 0) - return -1; - - for(off = rd; ; ) { - asn_oid_arc_t arc; - rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, - &arc); - if(rd < 0) { - return -1; - } else if(rd == 0) { - /* No more arcs. */ - break; - } else { - off += rd; - assert(off <= st->size); - ret = snprintf(scratch, sizeof(scratch), ".%" PRIu32, arc); - if(ret >= (ssize_t)sizeof(scratch)) { - return -1; - } - produced += ret; - if(cb(scratch, ret, app_key) < 0) return -1; - } - } - - if(off != st->size) { - ASN_DEBUG("Could not scan to the end of Object Identifier"); - return -1; - } - - return produced; -} - -static enum xer_pbd_rval -OBJECT_IDENTIFIER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - OBJECT_IDENTIFIER_t *st = (OBJECT_IDENTIFIER_t *)sptr; - const char *chunk_end = (const char *)chunk_buf + chunk_size; - const char *endptr; - asn_oid_arc_t s_arcs[10]; - asn_oid_arc_t *arcs = s_arcs; - ssize_t num_arcs; - ssize_t ret; - - (void)td; - - num_arcs = OBJECT_IDENTIFIER_parse_arcs( - (const char *)chunk_buf, chunk_size, arcs, - sizeof(s_arcs) / sizeof(s_arcs[0]), &endptr); - if(num_arcs < 0) { - /* Expecting more than zero arcs */ - return XPBD_BROKEN_ENCODING; - } else if(num_arcs == 0) { - return XPBD_NOT_BODY_IGNORE; - } - assert(endptr == chunk_end); - - if((size_t)num_arcs > sizeof(s_arcs)/sizeof(s_arcs[0])) { - arcs = (asn_oid_arc_t *)MALLOC(num_arcs * sizeof(asn_oid_arc_t)); - if(!arcs) return XPBD_SYSTEM_FAILURE; - ret = OBJECT_IDENTIFIER_parse_arcs((const char *)chunk_buf, chunk_size, - arcs, num_arcs, &endptr); - if(ret != num_arcs) - return XPBD_SYSTEM_FAILURE; /* assert?.. */ - } - - /* - * Convert arcs into BER representation. - */ - ret = OBJECT_IDENTIFIER_set_arcs(st, arcs, num_arcs); - if(arcs != s_arcs) FREEMEM(arcs); - - return ret ? XPBD_SYSTEM_FAILURE : XPBD_BODY_CONSUMED; -} - -asn_dec_rval_t -OBJECT_IDENTIFIER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(OBJECT_IDENTIFIER_t), opt_mname, - buf_ptr, size, OBJECT_IDENTIFIER__xer_body_decode); -} - -asn_enc_rval_t -OBJECT_IDENTIFIER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; - (void)flags; - - if(!st || !st->buf) { - ASN__ENCODE_FAILED; - } - - er.encoded = OBJECT_IDENTIFIER__dump_body(st, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -int -OBJECT_IDENTIFIER_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, - void *app_key) { - const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(!st || !st->buf) - return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* Dump preamble */ - if(cb("{ ", 2, app_key) < 0) - return -1; - - if(OBJECT_IDENTIFIER__dump_body(st, cb, app_key) < 0) { - return -1; - } - - return (cb(" }", 2, app_key) < 0) ? -1 : 0; -} - -ssize_t -OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *st, asn_oid_arc_t *arcs, - size_t arc_slots) { - asn_oid_arc_t arc0, arc1; - size_t num_arcs = 0; - size_t off; - ssize_t rd; - - if(!st || !st->buf) { - errno = EINVAL; - return -1; - } - - rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); - if(rd <= 0) { - return -1; - } - num_arcs = 2; - switch(arc_slots) { - default: - case 2: - arcs[1] = arc1; - /* Fall through */ - case 1: - arcs[0] = arc0; - /* Fall through */ - case 0: - break; - } - - for(off = rd; ; ) { - asn_oid_arc_t arc; - rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, - &arc); - if(rd < 0) { - return -1; - } else if(rd == 0) { - /* No more arcs. */ - break; - } else { - off += rd; - if(num_arcs < arc_slots) { - arcs[num_arcs] = arc; - } - num_arcs++; - } - } - - if(off != st->size) { - return -1; - } - - return num_arcs; -} - - -/* - * Save the single value as an object identifier arc. - */ -ssize_t -OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, - asn_oid_arc_t value) { - /* - * The following conditions must hold: - * assert(arcbuf); - */ - uint8_t scratch[((sizeof(value) * CHAR_BIT + 6) / 7)]; - uint8_t *scratch_end = &scratch[sizeof(scratch)-1]; - uint8_t *b; - size_t result_len; - uint8_t mask; - - for(b = scratch_end, mask = 0; ; mask = 0x80, b--) { - *b = mask | (value & 0x7f); - value >>= 7; - if(!value) { - break; - } - } - - result_len = (scratch_end - b) + 1; - - if(result_len > arcbuf_len) { - return -1; - } - - memcpy(arcbuf, b, result_len); - - return result_len; -} - -int -OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *st, const asn_oid_arc_t *arcs, - size_t arc_slots) { - uint8_t *buf; - uint8_t *bp; - ssize_t wrote; - asn_oid_arc_t arc0; - asn_oid_arc_t arc1; - size_t size; - size_t i; - - if(!st || !arcs || arc_slots < 2) { - errno = EINVAL; - return -1; - } - - arc0 = arcs[0]; - arc1 = arcs[1]; - - if(arc0 <= 1) { - if(arc1 >= 40) { - /* 8.19.4: At most 39 subsequent values (including 0) */ - errno = ERANGE; - return -1; - } - } else if(arc0 == 2) { - if(arc1 > ASN_OID_ARC_MAX - 80) { - errno = ERANGE; - return -1; - } - } else if(arc0 > 2) { - /* 8.19.4: Only three values are allocated from the root node */ - errno = ERANGE; - return -1; - } - - /* - * After above tests it is known that the value of arc0 is completely - * trustworthy (0..2). However, the arc1's value is still meaningless. - */ - - /* - * Roughly estimate the maximum size necessary to encode these arcs. - * This estimation implicitly takes in account the following facts, - * that cancel each other: - * * the first two arcs are encoded in a single value. - * * the first value may require more space (+1 byte) - * * the value of the first arc which is in range (0..2) - */ - size = ((sizeof(asn_oid_arc_t) * CHAR_BIT + 6) / 7) * arc_slots; - bp = buf = (uint8_t *)MALLOC(size + 1); - if(!buf) { - /* ENOMEM */ - return -1; - } - - wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arc0 * 40 + arc1); - if(wrote <= 0) { - FREEMEM(buf); - return -1; - } - assert((size_t)wrote <= size); - bp += wrote; - size -= wrote; - - for(i = 2; i < arc_slots; i++) { - wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arcs[i]); - if(wrote <= 0) { - FREEMEM(buf); - return -1; - } - assert((size_t)wrote <= size); - bp += wrote; - size -= wrote; - } - - /* - * Replace buffer. - */ - st->size = bp - buf; - bp = st->buf; - st->buf = buf; - st->buf[st->size] = '\0'; - if(bp) FREEMEM(bp); - - return 0; -} - -ssize_t -OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, ssize_t oid_txt_length, - asn_oid_arc_t *arcs, size_t arcs_count, - const char **opt_oid_text_end) { - size_t num_arcs = 0; - const char *oid_end; - enum { - ST_LEADSPACE, - ST_TAILSPACE, - ST_AFTERVALUE, /* Next character ought to be '.' or a space */ - ST_WAITDIGITS /* Next character is expected to be a digit */ - } state = ST_LEADSPACE; - - if(!oid_text || oid_txt_length < -1 || (arcs_count && !arcs)) { - if(opt_oid_text_end) *opt_oid_text_end = oid_text; - errno = EINVAL; - return -1; - } - - if(oid_txt_length == -1) - oid_txt_length = strlen(oid_text); - -#define _OID_CAPTURE_ARC(oid_text, oid_end) \ - do { \ - const char *endp = oid_end; \ - unsigned long value; \ - switch(asn_strtoul_lim(oid_text, &endp, &value)) { \ - case ASN_STRTOX_EXTRA_DATA: \ - case ASN_STRTOX_OK: \ - if(value <= ASN_OID_ARC_MAX) { \ - if(num_arcs < arcs_count) arcs[num_arcs] = value; \ - num_arcs++; \ - oid_text = endp - 1; \ - break; \ - } \ - /* Fall through */ \ - case ASN_STRTOX_ERROR_RANGE: \ - if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ - errno = ERANGE; \ - return -1; \ - case ASN_STRTOX_ERROR_INVAL: \ - case ASN_STRTOX_EXPECT_MORE: \ - if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ - errno = EINVAL; \ - return -1; \ - } \ - } while(0) - - for(oid_end = oid_text + oid_txt_length; oid_text broken OID */ - return -1; - case ST_LEADSPACE: - case ST_WAITDIGITS: - _OID_CAPTURE_ARC(oid_text, oid_end); - state = ST_AFTERVALUE; - continue; - } - break; - default: - /* Unexpected symbols */ - state = ST_WAITDIGITS; - break; - } /* switch() */ - break; - } /* for() */ - - - if(opt_oid_text_end) *opt_oid_text_end = oid_text; - - /* Finalize last arc */ - switch(state) { - case ST_LEADSPACE: - return 0; /* No OID found in input data */ - case ST_WAITDIGITS: - errno = EINVAL; /* Broken OID */ - return -1; - case ST_AFTERVALUE: - case ST_TAILSPACE: - return num_arcs; - } - - errno = EINVAL; /* Broken OID */ - return -1; -} - -/* - * Generate values from the list of interesting values, or just a random - * value up to the upper limit. - */ -static asn_oid_arc_t -OBJECT_IDENTIFIER__biased_random_arc(asn_oid_arc_t upper_bound) { - const asn_oid_arc_t values[] = {0, 1, 127, 128, 129, 254, 255, 256}; - size_t idx; - - switch(asn_random_between(0, 2)) { - case 0: - idx = asn_random_between(0, sizeof(values) / sizeof(values[0]) - 1); - if(values[idx] < upper_bound) { - return values[idx]; - } - /* Fall through */ - case 1: - return asn_random_between(0, upper_bound); - case 2: - default: - return upper_bound; - } -} - -asn_random_fill_result_t -OBJECT_IDENTIFIER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - OBJECT_IDENTIFIER_t *st; - asn_oid_arc_t arcs[5]; - size_t arcs_len = asn_random_between(2, 5); - size_t i; - - (void)constraints; - - if(max_length < arcs_len) return result_skipped; - - if(*sptr) { - st = *sptr; - } else { - st = CALLOC(1, sizeof(*st)); - } - - arcs[0] = asn_random_between(0, 2); - arcs[1] = OBJECT_IDENTIFIER__biased_random_arc( - arcs[0] <= 1 ? 39 : (ASN_OID_ARC_MAX - 80)); - for(i = 2; i < arcs_len; i++) { - arcs[i] = OBJECT_IDENTIFIER__biased_random_arc(ASN_OID_ARC_MAX); - } - - if(OBJECT_IDENTIFIER_set_arcs(st, arcs, arcs_len)) { - if(st != *sptr) { - ASN_STRUCT_FREE(*td, st); - } - return result_failed; - } - - *sptr = st; - - result_ok.length = st->size; - return result_ok; -} diff --git a/skeletons/OBJECT_IDENTIFIER.h b/skeletons/OBJECT_IDENTIFIER.h deleted file mode 100644 index 087c6fd..0000000 --- a/skeletons/OBJECT_IDENTIFIER.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _OBJECT_IDENTIFIER_H_ -#define _OBJECT_IDENTIFIER_H_ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef uint32_t asn_oid_arc_t; -#define ASN_OID_ARC_MAX (~((asn_oid_arc_t)0)) - -typedef ASN__PRIMITIVE_TYPE_t OBJECT_IDENTIFIER_t; - -extern asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER; -extern asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER; - -asn_struct_print_f OBJECT_IDENTIFIER_print; -asn_constr_check_f OBJECT_IDENTIFIER_constraint; -der_type_encoder_f OBJECT_IDENTIFIER_encode_der; -xer_type_decoder_f OBJECT_IDENTIFIER_decode_xer; -xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer; -asn_random_fill_f OBJECT_IDENTIFIER_random_fill; - -#define OBJECT_IDENTIFIER_free ASN__PRIMITIVE_TYPE_free -#define OBJECT_IDENTIFIER_compare OCTET_STRING_compare -#define OBJECT_IDENTIFIER_decode_ber ber_decode_primitive -#define OBJECT_IDENTIFIER_encode_der der_encode_primitive -#define OBJECT_IDENTIFIER_decode_oer oer_decode_primitive -#define OBJECT_IDENTIFIER_encode_oer oer_encode_primitive -#define OBJECT_IDENTIFIER_decode_uper OCTET_STRING_decode_uper -#define OBJECT_IDENTIFIER_encode_uper OCTET_STRING_encode_uper -#define OBJECT_IDENTIFIER_decode_aper OCTET_STRING_decode_aper -#define OBJECT_IDENTIFIER_encode_aper OCTET_STRING_encode_aper - -/********************************** - * Some handy conversion routines * - **********************************/ - -/* - * This function fills an (arcs) array with OBJECT IDENTIFIER arcs - * up to specified (arc_slots) elements. - * - * EXAMPLE: - * void print_arcs(OBJECT_IDENTIFIER_t *oid) { - * asn_oid_arc_t fixed_arcs[10]; // Try with fixed space first - * asn_oid_arc_t *arcs = fixed_arcs; - * size_t arc_slots = sizeof(fixed_arcs)/sizeof(fixed_arcs[0]); // 10 - * ssize_t count; // Real number of arcs. - * int i; - * - * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); - * // If necessary, reallocate arcs array and try again. - * if(count > arc_slots) { - * arc_slots = count; - * arcs = malloc(sizeof(asn_oid_arc_t) * arc_slots); - * if(!arcs) return; - * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); - * assert(count == arc_slots); - * } - * - * // Print the contents of the arcs array. - * for(i = 0; i < count; i++) - * printf("%"PRIu32"\n", arcs[i]); - * - * // Avoid memory leak. - * if(arcs != fixed_arcs) free(arcs); - * } - * - * RETURN VALUES: - * -1/EINVAL: Invalid arguments (oid is missing) - * -1/ERANGE: One or more arcs have value out of array cell type range. - * >=0: Number of arcs contained in the OBJECT IDENTIFIER - * - * WARNING: The function always returns the actual number of arcs, - * even if there is no sufficient (arc_slots) provided. - */ -ssize_t OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *oid, - asn_oid_arc_t *arcs, size_t arc_slots); - -/* - * This functions initializes the OBJECT IDENTIFIER object with - * the given set of arcs. - * The minimum of two arcs must be present; some restrictions apply. - * RETURN VALUES: - * -1/EINVAL: Invalid arguments - * -1/ERANGE: The first two arcs do not conform to ASN.1 restrictions. - * -1/ENOMEM: Memory allocation failed - * 0: The object was initialized with new arcs. - */ -int OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *oid, - const asn_oid_arc_t *arcs, size_t arcs_count); - - -/* - * Parse the OBJECT IDENTIFIER textual representation ("1.3.6.1.4.1.9363"). - * No arc can exceed the (0..ASN_OID_ARC_MAX, which is the same as UINT32_MAX). - * This function is not specific to OBJECT IDENTIFIER, it may be used to parse - * the RELATIVE-OID data, or any other data consisting of dot-separated - * series of numeric values. - * - * If (oid_txt_length == -1), the strlen() will be invoked to determine the - * size of the (oid_text) string. - * - * After return, the optional (opt_oid_text_end) is set to the character after - * the last parsed one. (opt_oid_text_end) is never less than (oid_text). - * - * RETURN VALUES: - * -1: Parse error. - * >= 0: Number of arcs contained in the OBJECT IDENTIFIER. - * - * WARNING: The function always returns the real number of arcs, - * even if there is no sufficient (arc_slots) provided. - * This is useful for (arc_slots) value estimation. - */ -ssize_t OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, - ssize_t oid_txt_length, - asn_oid_arc_t *arcs, size_t arcs_count, - const char **opt_oid_text_end); - -/* - * Internal functions. - * Used by RELATIVE-OID implementation in particular. - */ - -/* - * Retrieve a single arc of size from the (arcbuf) buffer. - * RETURN VALUES: - * -1: Failed to retrieve the value from the (arcbuf). - * >0: Number of bytes consumed from the (arcbuf), <= (arcbuf_len). - */ -ssize_t OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, - size_t arcbuf_len, - asn_oid_arc_t *ret_value); - -/* - * Write the unterminated arc value into the (arcbuf) which has the size at - * least (arcbuf_len). - * RETURN VALUES: - * -1: (arcbuf_len) size is not sufficient to write the value. - * : Number of bytes appended to the arcbuf (<= arcbuf_len). - */ -ssize_t OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, - asn_oid_arc_t arc_value); - -#ifdef __cplusplus -} -#endif - -#endif /* _OBJECT_IDENTIFIER_H_ */ diff --git a/skeletons/OCTET_STRING.c b/skeletons/OCTET_STRING.c deleted file mode 100644 index ae34c96..0000000 --- a/skeletons/OCTET_STRING.c +++ /dev/null @@ -1,2411 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include /* for .bits_unused member */ -#include - -/* - * OCTET STRING basic type description. - */ -static const ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs = { - sizeof(OCTET_STRING_t), - offsetof(OCTET_STRING_t, _asn_ctx), - ASN_OSUBV_STR -}; - -asn_TYPE_operation_t asn_OP_OCTET_STRING = { - OCTET_STRING_free, - OCTET_STRING_print, /* OCTET STRING generally means a non-ascii sequence */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, /* Unaligned PER decoder */ - OCTET_STRING_encode_uper, /* Unaligned PER encoder */ - OCTET_STRING_decode_aper, /* Aligned PER decoder */ - OCTET_STRING_encode_aper, /* Aligned PER encoder */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = { - "OCTET STRING", /* Canonical name */ - "OCTET_STRING", /* XML tag name */ - &asn_OP_OCTET_STRING, - asn_DEF_OCTET_STRING_tags, - sizeof(asn_DEF_OCTET_STRING_tags) - / sizeof(asn_DEF_OCTET_STRING_tags[0]), - asn_DEF_OCTET_STRING_tags, /* Same as above */ - sizeof(asn_DEF_OCTET_STRING_tags) - / sizeof(asn_DEF_OCTET_STRING_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - &asn_SPC_OCTET_STRING_specs -}; - -#undef _CH_PHASE -#undef NEXT_PHASE -#undef PREV_PHASE -#define _CH_PHASE(ctx, inc) do { \ - if(ctx->phase == 0) \ - ctx->context = 0; \ - ctx->phase += inc; \ - } while(0) -#define NEXT_PHASE(ctx) _CH_PHASE(ctx, +1) -#define PREV_PHASE(ctx) _CH_PHASE(ctx, -1) - -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = (num_bytes); \ - buf_ptr = ((const char *)buf_ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -#undef RETURN -#define RETURN(_code) do { \ - asn_dec_rval_t tmprval; \ - tmprval.code = _code; \ - tmprval.consumed = consumed_myself; \ - return tmprval; \ - } while(0) - -#undef APPEND -#define APPEND(bufptr, bufsize) do { \ - size_t _bs = (bufsize); /* Append size */ \ - size_t _ns = ctx->context; /* Allocated now */ \ - size_t _es = st->size + _bs; /* Expected size */ \ - /* int is really a typeof(st->size): */ \ - if((int)_es < 0) RETURN(RC_FAIL); \ - if(_ns <= _es) { \ - void *ptr; \ - /* Be nice and round to the memory allocator */ \ - do { _ns = _ns ? _ns << 1 : 16; } \ - while(_ns <= _es); \ - /* int is really a typeof(st->size): */ \ - if((int)_ns < 0) RETURN(RC_FAIL); \ - ptr = REALLOC(st->buf, _ns); \ - if(ptr) { \ - st->buf = (uint8_t *)ptr; \ - ctx->context = _ns; \ - } else { \ - RETURN(RC_FAIL); \ - } \ - ASN_DEBUG("Reallocating into %ld", (long)_ns); \ - } \ - memcpy(st->buf + st->size, bufptr, _bs); \ - /* Convenient nul-termination */ \ - st->buf[_es] = '\0'; \ - st->size = _es; \ - } while(0) - -/* - * The main reason why ASN.1 is still alive is that too much time and effort - * is necessary for learning it more or less adequately, thus creating a gut - * necessity to demonstrate that aquired skill everywhere afterwards. - * No, I am not going to explain what the following stuff is. - */ -struct _stack_el { - ber_tlv_len_t left; /* What's left to read (or -1) */ - ber_tlv_len_t got; /* What was actually processed */ - unsigned cont_level; /* Depth of subcontainment */ - int want_nulls; /* Want null "end of content" octets? */ - int bits_chopped; /* Flag in BIT STRING mode */ - ber_tlv_tag_t tag; /* For debugging purposes */ - struct _stack_el *prev; - struct _stack_el *next; -}; -struct _stack { - struct _stack_el *tail; - struct _stack_el *cur_ptr; -}; - -static struct _stack_el * -OS__add_stack_el(struct _stack *st) { - struct _stack_el *nel; - - /* - * Reuse the old stack frame or allocate a new one. - */ - if(st->cur_ptr && st->cur_ptr->next) { - nel = st->cur_ptr->next; - nel->bits_chopped = 0; - nel->got = 0; - /* Retain the nel->cont_level, it's correct. */ - } else { - nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el)); - if(nel == NULL) - return NULL; - - if(st->tail) { - /* Increase a subcontainment depth */ - nel->cont_level = st->tail->cont_level + 1; - st->tail->next = nel; - } - nel->prev = st->tail; - st->tail = nel; - } - - st->cur_ptr = nel; - - return nel; -} - -static struct _stack * -_new_stack(void) { - return (struct _stack *)CALLOC(1, sizeof(struct _stack)); -} - -/* - * Decode OCTET STRING type. - */ -asn_dec_rval_t -OCTET_STRING_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size, int tag_mode) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - BIT_STRING_t *st = (BIT_STRING_t *)*sptr; - asn_dec_rval_t rval; - asn_struct_ctx_t *ctx; - ssize_t consumed_myself = 0; - struct _stack *stck; /* Expectations stack structure */ - struct _stack_el *sel = 0; /* Stack element */ - int tlv_constr; - enum asn_OS_Subvariant type_variant = specs->subvariant; - - ASN_DEBUG("Decoding %s as %s (frame %ld)", - td->name, - (type_variant == ASN_OSUBV_STR) ? - "OCTET STRING" : "OS-SpecialCase", - (long)size); - - /* - * Create the string if does not exist. - */ - if(st == NULL) { - st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(st == NULL) RETURN(RC_FAIL); - } - - /* Restore parsing context */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - switch(ctx->phase) { - case 0: - /* - * Check tags. - */ - rval = ber_check_tags(opt_codec_ctx, td, ctx, - buf_ptr, size, tag_mode, -1, - &ctx->left, &tlv_constr); - if(rval.code != RC_OK) - return rval; - - if(tlv_constr) { - /* - * Complex operation, requires stack of expectations. - */ - ctx->ptr = _new_stack(); - if(!ctx->ptr) { - RETURN(RC_FAIL); - } - } else { - /* - * Jump into stackless primitive decoding. - */ - _CH_PHASE(ctx, 3); - if(type_variant == ASN_OSUBV_ANY && tag_mode != 1) - APPEND(buf_ptr, rval.consumed); - ADVANCE(rval.consumed); - goto phase3; - } - - NEXT_PHASE(ctx); - /* Fall through */ - case 1: - phase1: - /* - * Fill the stack with expectations. - */ - stck = (struct _stack *)ctx->ptr; - sel = stck->cur_ptr; - do { - ber_tlv_tag_t tlv_tag; - ber_tlv_len_t tlv_len; - ber_tlv_tag_t expected_tag; - ssize_t tl, ll, tlvl; - /* This one works even if (sel->left == -1) */ - size_t Left = ((!sel||(size_t)sel->left >= size) - ?size:(size_t)sel->left); - - - ASN_DEBUG("%p, s->l=%ld, s->wn=%ld, s->g=%ld\n", (void *)sel, - (long)(sel?sel->left:0), - (long)(sel?sel->want_nulls:0), - (long)(sel?sel->got:0) - ); - if(sel && sel->left <= 0 && sel->want_nulls == 0) { - if(sel->prev) { - struct _stack_el *prev = sel->prev; - if(prev->left != -1) { - if(prev->left < sel->got) - RETURN(RC_FAIL); - prev->left -= sel->got; - } - prev->got += sel->got; - sel = stck->cur_ptr = prev; - if(!sel) break; - tlv_constr = 1; - continue; - } else { - sel = stck->cur_ptr = 0; - break; /* Nothing to wait */ - } - } - - tl = ber_fetch_tag(buf_ptr, Left, &tlv_tag); - ASN_DEBUG("fetch tag(size=%ld,L=%ld), %sstack, left=%ld, wn=%ld, tl=%ld", - (long)size, (long)Left, sel?"":"!", - (long)(sel?sel->left:0), - (long)(sel?sel->want_nulls:0), - (long)tl); - switch(tl) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - - tlv_constr = BER_TLV_CONSTRUCTED(buf_ptr); - - ll = ber_fetch_length(tlv_constr, - (const char *)buf_ptr + tl,Left - tl,&tlv_len); - ASN_DEBUG("Got tag=%s, tc=%d, left=%ld, tl=%ld, len=%ld, ll=%ld", - ber_tlv_tag_string(tlv_tag), tlv_constr, - (long)Left, (long)tl, (long)tlv_len, (long)ll); - switch(ll) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - - if(sel && sel->want_nulls - && ((const uint8_t *)buf_ptr)[0] == 0 - && ((const uint8_t *)buf_ptr)[1] == 0) - { - - ASN_DEBUG("Eat EOC; wn=%d--", sel->want_nulls); - - if(type_variant == ASN_OSUBV_ANY - && (tag_mode != 1 || sel->cont_level)) - APPEND("\0\0", 2); - - ADVANCE(2); - sel->got += 2; - if(sel->left != -1) { - sel->left -= 2; /* assert(sel->left >= 2) */ - } - - sel->want_nulls--; - if(sel->want_nulls == 0) { - /* Move to the next expectation */ - sel->left = 0; - tlv_constr = 1; - } - - continue; - } - - /* - * Set up expected tags, - * depending on ASN.1 type being decoded. - */ - switch(type_variant) { - case ASN_OSUBV_BIT: - /* X.690: 8.6.4.1, NOTE 2 */ - /* Fall through */ - case ASN_OSUBV_STR: - default: - if(sel) { - unsigned level = sel->cont_level; - if(level < td->all_tags_count) { - expected_tag = td->all_tags[level]; - break; - } else if(td->all_tags_count) { - expected_tag = td->all_tags - [td->all_tags_count - 1]; - break; - } - /* else, Fall through */ - } - /* Fall through */ - case ASN_OSUBV_ANY: - expected_tag = tlv_tag; - break; - } - - - if(tlv_tag != expected_tag) { - char buf[2][32]; - ber_tlv_tag_snprint(tlv_tag, - buf[0], sizeof(buf[0])); - ber_tlv_tag_snprint(td->tags[td->tags_count-1], - buf[1], sizeof(buf[1])); - ASN_DEBUG("Tag does not match expectation: %s != %s", - buf[0], buf[1]); - RETURN(RC_FAIL); - } - - tlvl = tl + ll; /* Combined length of T and L encoding */ - if((tlv_len + tlvl) < 0) { - /* tlv_len value is too big */ - ASN_DEBUG("TLV encoding + length (%ld) is too big", - (long)tlv_len); - RETURN(RC_FAIL); - } - - /* - * Append a new expectation. - */ - sel = OS__add_stack_el(stck); - if(!sel) RETURN(RC_FAIL); - - sel->tag = tlv_tag; - - sel->want_nulls = (tlv_len==-1); - if(sel->prev && sel->prev->left != -1) { - /* Check that the parent frame is big enough */ - if(sel->prev->left < tlvl + (tlv_len==-1?0:tlv_len)) - RETURN(RC_FAIL); - if(tlv_len == -1) - sel->left = sel->prev->left - tlvl; - else - sel->left = tlv_len; - } else { - sel->left = tlv_len; - } - if(type_variant == ASN_OSUBV_ANY - && (tag_mode != 1 || sel->cont_level)) - APPEND(buf_ptr, tlvl); - sel->got += tlvl; - ADVANCE(tlvl); - - ASN_DEBUG("+EXPECT2 got=%ld left=%ld, wn=%d, clvl=%u", - (long)sel->got, (long)sel->left, - sel->want_nulls, sel->cont_level); - - } while(tlv_constr); - if(sel == NULL) { - /* Finished operation, "phase out" */ - ASN_DEBUG("Phase out"); - _CH_PHASE(ctx, +3); - break; - } - - NEXT_PHASE(ctx); - /* Fall through */ - case 2: - stck = (struct _stack *)ctx->ptr; - sel = stck->cur_ptr; - ASN_DEBUG("Phase 2: Need %ld bytes, size=%ld, alrg=%ld, wn=%d", - (long)sel->left, (long)size, (long)sel->got, - sel->want_nulls); - { - ber_tlv_len_t len; - - assert(sel->left >= 0); - - len = ((ber_tlv_len_t)size < sel->left) - ? (ber_tlv_len_t)size : sel->left; - if(len > 0) { - if(type_variant == ASN_OSUBV_BIT - && sel->bits_chopped == 0) { - /* Put the unused-bits-octet away */ - st->bits_unused = *(const uint8_t *)buf_ptr; - APPEND(((const char *)buf_ptr+1), (len - 1)); - sel->bits_chopped = 1; - } else { - APPEND(buf_ptr, len); - } - ADVANCE(len); - sel->left -= len; - sel->got += len; - } - - if(sel->left) { - ASN_DEBUG("OS left %ld, size = %ld, wn=%d\n", - (long)sel->left, (long)size, sel->want_nulls); - RETURN(RC_WMORE); - } - - PREV_PHASE(ctx); - goto phase1; - } - break; - case 3: - phase3: - /* - * Primitive form, no stack required. - */ - assert(ctx->left >= 0); - - if(size < (size_t)ctx->left) { - if(!size) RETURN(RC_WMORE); - if(type_variant == ASN_OSUBV_BIT && !ctx->context) { - st->bits_unused = *(const uint8_t *)buf_ptr; - ctx->left--; - ADVANCE(1); - } - APPEND(buf_ptr, size); - assert(ctx->context > 0); - ctx->left -= size; - ADVANCE(size); - RETURN(RC_WMORE); - } else { - if(type_variant == ASN_OSUBV_BIT - && !ctx->context && ctx->left) { - st->bits_unused = *(const uint8_t *)buf_ptr; - ctx->left--; - ADVANCE(1); - } - APPEND(buf_ptr, ctx->left); - ADVANCE(ctx->left); - ctx->left = 0; - - NEXT_PHASE(ctx); - } - break; - } - - if(sel) { - ASN_DEBUG("3sel p=%p, wn=%d, l=%ld, g=%ld, size=%ld", - (void *)sel->prev, sel->want_nulls, - (long)sel->left, (long)sel->got, (long)size); - if(sel->prev || sel->want_nulls > 1 || sel->left > 0) { - RETURN(RC_WMORE); - } - } - - /* - * BIT STRING-specific processing. - */ - if(type_variant == ASN_OSUBV_BIT) { - if(st->size) { - if(st->bits_unused < 0 || st->bits_unused > 7) { - RETURN(RC_FAIL); - } - /* Finalize BIT STRING: zero out unused bits. */ - st->buf[st->size-1] &= 0xff << st->bits_unused; - } else { - if(st->bits_unused) { - RETURN(RC_FAIL); - } - } - } - - ASN_DEBUG("Took %ld bytes to encode %s: [%s]:%ld", - (long)consumed_myself, td->name, - (type_variant == ASN_OSUBV_STR) ? (char *)st->buf : "", - (long)st->size); - - - RETURN(RC_OK); -} - -/* - * Encode OCTET STRING type using DER. - */ -asn_enc_rval_t -OCTET_STRING_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = { 0, 0, 0 }; - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - enum asn_OS_Subvariant type_variant = specs->subvariant; - int fix_last_byte = 0; - - ASN_DEBUG("%s %s as OCTET STRING", - cb?"Estimating":"Encoding", td->name); - - /* - * Write tags. - */ - if(type_variant != ASN_OSUBV_ANY || tag_mode == 1) { - er.encoded = der_write_tags(td, - (type_variant == ASN_OSUBV_BIT) + st->size, - tag_mode, type_variant == ASN_OSUBV_ANY, tag, - cb, app_key); - if(er.encoded == -1) { - er.failed_type = td; - er.structure_ptr = sptr; - return er; - } - } else { - /* Disallow: [] IMPLICIT ANY */ - assert(type_variant != ASN_OSUBV_ANY || tag_mode != -1); - er.encoded = 0; - } - - if(!cb) { - er.encoded += (type_variant == ASN_OSUBV_BIT) + st->size; - ASN__ENCODED_OK(er); - } - - /* - * Prepare to deal with the last octet of BIT STRING. - */ - if(type_variant == ASN_OSUBV_BIT) { - uint8_t b = st->bits_unused & 0x07; - if(b && st->size) fix_last_byte = 1; - ASN__CALLBACK(&b, 1); - } - - /* Invoke callback for the main part of the buffer */ - ASN__CALLBACK(st->buf, st->size - fix_last_byte); - - /* The last octet should be stripped off the unused bits */ - if(fix_last_byte) { - uint8_t b = st->buf[st->size-1] & (0xff << st->bits_unused); - ASN__CALLBACK(&b, 1); - } - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -asn_enc_rval_t -OCTET_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const char * const h2c = "0123456789ABCDEF"; - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - char scratch[16 * 3 + 4]; - char *p = scratch; - uint8_t *buf; - uint8_t *end; - size_t i; - - if(!st || (!st->buf && st->size)) - ASN__ENCODE_FAILED; - - er.encoded = 0; - - /* - * Dump the contents of the buffer in hexadecimal. - */ - buf = st->buf; - end = buf + st->size; - if(flags & XER_F_CANONICAL) { - char *scend = scratch + (sizeof(scratch) - 2); - for(; buf < end; buf++) { - if(p >= scend) { - ASN__CALLBACK(scratch, p - scratch); - p = scratch; - } - *p++ = h2c[(*buf >> 4) & 0x0F]; - *p++ = h2c[*buf & 0x0F]; - } - - ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ - } else { - for(i = 0; buf < end; buf++, i++) { - if(!(i % 16) && (i || st->size > 16)) { - ASN__CALLBACK(scratch, p-scratch); - p = scratch; - ASN__TEXT_INDENT(1, ilevel); - } - *p++ = h2c[(*buf >> 4) & 0x0F]; - *p++ = h2c[*buf & 0x0F]; - *p++ = 0x20; - } - if(p - scratch) { - p--; /* Remove the tail space */ - ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ - if(st->size > 16) - ASN__TEXT_INDENT(1, ilevel-1); - } - } - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -static const struct OCTET_STRING__xer_escape_table_s { - const char *string; - int size; -} OCTET_STRING__xer_escape_table[] = { -#define OSXET(s) { s, sizeof(s) - 1 } - OSXET("\074\156\165\154\057\076"), /* */ - OSXET("\074\163\157\150\057\076"), /* */ - OSXET("\074\163\164\170\057\076"), /* */ - OSXET("\074\145\164\170\057\076"), /* */ - OSXET("\074\145\157\164\057\076"), /* */ - OSXET("\074\145\156\161\057\076"), /* */ - OSXET("\074\141\143\153\057\076"), /* */ - OSXET("\074\142\145\154\057\076"), /* */ - OSXET("\074\142\163\057\076"), /* */ - OSXET("\011"), /* \t */ - OSXET("\012"), /* \n */ - OSXET("\074\166\164\057\076"), /* */ - OSXET("\074\146\146\057\076"), /* */ - OSXET("\015"), /* \r */ - OSXET("\074\163\157\057\076"), /* */ - OSXET("\074\163\151\057\076"), /* */ - OSXET("\074\144\154\145\057\076"), /* */ - OSXET("\074\144\143\061\057\076"), /* */ - OSXET("\074\144\143\062\057\076"), /* */ - OSXET("\074\144\143\063\057\076"), /* */ - OSXET("\074\144\143\064\057\076"), /* */ - OSXET("\074\156\141\153\057\076"), /* */ - OSXET("\074\163\171\156\057\076"), /* */ - OSXET("\074\145\164\142\057\076"), /* */ - OSXET("\074\143\141\156\057\076"), /* */ - OSXET("\074\145\155\057\076"), /* */ - OSXET("\074\163\165\142\057\076"), /* */ - OSXET("\074\145\163\143\057\076"), /* */ - OSXET("\074\151\163\064\057\076"), /* */ - OSXET("\074\151\163\063\057\076"), /* */ - OSXET("\074\151\163\062\057\076"), /* */ - OSXET("\074\151\163\061\057\076"), /* */ - { 0, 0 }, /* " " */ - { 0, 0 }, /* ! */ - { 0, 0 }, /* \" */ - { 0, 0 }, /* # */ - { 0, 0 }, /* $ */ - { 0, 0 }, /* % */ - OSXET("\046\141\155\160\073"), /* & */ - { 0, 0 }, /* ' */ - {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* ()*+,-./ */ - {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 01234567 */ - {0,0},{0,0},{0,0},{0,0}, /* 89:; */ - OSXET("\046\154\164\073"), /* < */ - { 0, 0 }, /* = */ - OSXET("\046\147\164\073"), /* > */ -}; - -static int -OS__check_escaped_control_char(const void *buf, int size) { - size_t i; - /* - * Inefficient algorithm which translates the escape sequences - * defined above into characters. Returns -1 if not found. - * TODO: replace by a faster algorithm (bsearch(), hash or - * nested table lookups). - */ - for(i = 0; i < 32 /* Don't spend time on the bottom half */; i++) { - const struct OCTET_STRING__xer_escape_table_s *el; - el = &OCTET_STRING__xer_escape_table[i]; - if(el->size == size && memcmp(buf, el->string, size) == 0) - return i; - } - return -1; -} - -static int -OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size_t chunk_size) { - /* - * This might be one of the escape sequences - * for control characters. Check it out. - * #11.15.5 - */ - int control_char = OS__check_escaped_control_char(chunk_buf,chunk_size); - if(control_char >= 0) { - OCTET_STRING_t *st = (OCTET_STRING_t *)struct_ptr; - void *p = REALLOC(st->buf, st->size + 2); - if(p) { - st->buf = (uint8_t *)p; - st->buf[st->size++] = control_char; - st->buf[st->size] = '\0'; /* nul-termination */ - return 0; - } - } - - return -1; /* No, it's not */ -} - -asn_enc_rval_t -OCTET_STRING_encode_xer_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - uint8_t *buf, *end; - uint8_t *ss; /* Sequence start */ - ssize_t encoded_len = 0; - - (void)ilevel; /* Unused argument */ - (void)flags; /* Unused argument */ - - if(!st || (!st->buf && st->size)) - ASN__ENCODE_FAILED; - - buf = st->buf; - end = buf + st->size; - for(ss = buf; buf < end; buf++) { - unsigned int ch = *buf; - int s_len; /* Special encoding sequence length */ - - /* - * Escape certain characters: X.680/11.15 - */ - if(ch < sizeof(OCTET_STRING__xer_escape_table) - /sizeof(OCTET_STRING__xer_escape_table[0]) - && (s_len = OCTET_STRING__xer_escape_table[ch].size)) { - if(((buf - ss) && cb(ss, buf - ss, app_key) < 0) - || cb(OCTET_STRING__xer_escape_table[ch].string, s_len, - app_key) < 0) - ASN__ENCODE_FAILED; - encoded_len += (buf - ss) + s_len; - ss = buf + 1; - } - } - - encoded_len += (buf - ss); - if((buf - ss) && cb(ss, buf - ss, app_key) < 0) - ASN__ENCODE_FAILED; - - er.encoded = encoded_len; - ASN__ENCODED_OK(er); -} - -/* - * Convert from hexadecimal format (cstring): "AB CD EF" - */ -static ssize_t OCTET_STRING__convert_hexadecimal(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { - OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; - const char *chunk_stop = (const char *)chunk_buf; - const char *p = chunk_stop; - const char *pend = p + chunk_size; - unsigned int clv = 0; - int half = 0; /* Half bit */ - uint8_t *buf; - - /* Reallocate buffer according to high cap estimation */ - size_t new_size = st->size + (chunk_size + 1) / 2; - void *nptr = REALLOC(st->buf, new_size + 1); - if(!nptr) return -1; - st->buf = (uint8_t *)nptr; - buf = st->buf + st->size; - - /* - * If something like " a b c " appears here, the " a b":3 will be - * converted, and the rest skipped. That is, unless buf_size is greater - * than chunk_size, then it'll be equivalent to "ABC0". - */ - for(; p < pend; p++) { - int ch = *(const unsigned char *)p; - switch(ch) { - case 0x09: case 0x0a: case 0x0c: case 0x0d: - case 0x20: - /* Ignore whitespace */ - continue; - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ - clv = (clv << 4) + (ch - 0x30); - break; - case 0x41: case 0x42: case 0x43: /* ABC */ - case 0x44: case 0x45: case 0x46: /* DEF */ - clv = (clv << 4) + (ch - 0x41 + 10); - break; - case 0x61: case 0x62: case 0x63: /* abc */ - case 0x64: case 0x65: case 0x66: /* def */ - clv = (clv << 4) + (ch - 0x61 + 10); - break; - default: - *buf = 0; /* JIC */ - return -1; - } - if(half++) { - half = 0; - *buf++ = clv; - chunk_stop = p + 1; - } - } - - /* - * Check partial decoding. - */ - if(half) { - if(have_more) { - /* - * Partial specification is fine, - * because no more more PXER_TEXT data is available. - */ - *buf++ = clv << 4; - chunk_stop = p; - } - } else { - chunk_stop = p; - } - - st->size = buf - st->buf; /* Adjust the buffer size */ - assert(st->size <= new_size); - st->buf[st->size] = 0; /* Courtesy termination */ - - return (chunk_stop - (const char *)chunk_buf); /* Converted size */ -} - -/* - * Convert from binary format: "00101011101" - */ -static ssize_t OCTET_STRING__convert_binary(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { - BIT_STRING_t *st = (BIT_STRING_t *)sptr; - const char *p = (const char *)chunk_buf; - const char *pend = p + chunk_size; - int bits_unused = st->bits_unused & 0x7; - uint8_t *buf; - - /* Reallocate buffer according to high cap estimation */ - size_t new_size = st->size + (chunk_size + 7) / 8; - void *nptr = REALLOC(st->buf, new_size + 1); - if(!nptr) return -1; - st->buf = (uint8_t *)nptr; - buf = st->buf + st->size; - - (void)have_more; - - if(bits_unused == 0) - bits_unused = 8; - else if(st->size) - buf--; - - /* - * Convert series of 0 and 1 into the octet string. - */ - for(; p < pend; p++) { - int ch = *(const unsigned char *)p; - switch(ch) { - case 0x09: case 0x0a: case 0x0c: case 0x0d: - case 0x20: - /* Ignore whitespace */ - break; - case 0x30: - case 0x31: - if(bits_unused-- <= 0) { - *++buf = 0; /* Clean the cell */ - bits_unused = 7; - } - *buf |= (ch&1) << bits_unused; - break; - default: - st->bits_unused = bits_unused; - return -1; - } - } - - if(bits_unused == 8) { - st->size = buf - st->buf; - st->bits_unused = 0; - } else { - st->size = buf - st->buf + 1; - st->bits_unused = bits_unused; - } - - assert(st->size <= new_size); - st->buf[st->size] = 0; /* Courtesy termination */ - - return chunk_size; /* Converted in full */ -} - -/* - * Something like strtod(), but with stricter rules. - */ -static int -OS__strtoent(int base, const char *buf, const char *end, int32_t *ret_value) { - const int32_t last_unicode_codepoint = 0x10ffff; - int32_t val = 0; - const char *p; - - for(p = buf; p < end; p++) { - int ch = *p; - - switch(ch) { - case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ - val = val * base + (ch - 0x30); - break; - case 0x41: case 0x42: case 0x43: /* ABC */ - case 0x44: case 0x45: case 0x46: /* DEF */ - val = val * base + (ch - 0x41 + 10); - break; - case 0x61: case 0x62: case 0x63: /* abc */ - case 0x64: case 0x65: case 0x66: /* def */ - val = val * base + (ch - 0x61 + 10); - break; - case 0x3b: /* ';' */ - *ret_value = val; - return (p - buf) + 1; - default: - return -1; /* Character set error */ - } - - /* Value exceeds the Unicode range. */ - if(val > last_unicode_codepoint) { - return -1; - } - } - - *ret_value = -1; - return (p - buf); -} - -/* - * Convert from the plain UTF-8 format, expanding entity references: "2 < 3" - */ -static ssize_t -OCTET_STRING__convert_entrefs(void *sptr, const void *chunk_buf, - size_t chunk_size, int have_more) { - OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; - const char *p = (const char *)chunk_buf; - const char *pend = p + chunk_size; - uint8_t *buf; - - /* Reallocate buffer */ - size_t new_size = st->size + chunk_size; - void *nptr = REALLOC(st->buf, new_size + 1); - if(!nptr) return -1; - st->buf = (uint8_t *)nptr; - buf = st->buf + st->size; - - /* - * Convert series of 0 and 1 into the octet string. - */ - for(; p < pend; p++) { - int ch = *(const unsigned char *)p; - int len; /* Length of the rest of the chunk */ - - if(ch != 0x26 /* '&' */) { - *buf++ = ch; - continue; /* That was easy... */ - } - - /* - * Process entity reference. - */ - len = chunk_size - (p - (const char *)chunk_buf); - if(len == 1 /* "&" */) goto want_more; - if(p[1] == 0x23 /* '#' */) { - const char *pval; /* Pointer to start of digits */ - int32_t val = 0; /* Entity reference value */ - int base; - - if(len == 2 /* "&#" */) goto want_more; - if(p[2] == 0x78 /* 'x' */) - pval = p + 3, base = 16; - else - pval = p + 2, base = 10; - len = OS__strtoent(base, pval, p + len, &val); - if(len == -1) { - /* Invalid charset. Just copy verbatim. */ - *buf++ = ch; - continue; - } - if(!len || pval[len-1] != 0x3b) goto want_more; - assert(val > 0); - p += (pval - p) + len - 1; /* Advance past entref */ - - if(val < 0x80) { - *buf++ = (char)val; - } else if(val < 0x800) { - *buf++ = 0xc0 | ((val >> 6)); - *buf++ = 0x80 | ((val & 0x3f)); - } else if(val < 0x10000) { - *buf++ = 0xe0 | ((val >> 12)); - *buf++ = 0x80 | ((val >> 6) & 0x3f); - *buf++ = 0x80 | ((val & 0x3f)); - } else if(val < 0x200000) { - *buf++ = 0xf0 | ((val >> 18)); - *buf++ = 0x80 | ((val >> 12) & 0x3f); - *buf++ = 0x80 | ((val >> 6) & 0x3f); - *buf++ = 0x80 | ((val & 0x3f)); - } else if(val < 0x4000000) { - *buf++ = 0xf8 | ((val >> 24)); - *buf++ = 0x80 | ((val >> 18) & 0x3f); - *buf++ = 0x80 | ((val >> 12) & 0x3f); - *buf++ = 0x80 | ((val >> 6) & 0x3f); - *buf++ = 0x80 | ((val & 0x3f)); - } else { - *buf++ = 0xfc | ((val >> 30) & 0x1); - *buf++ = 0x80 | ((val >> 24) & 0x3f); - *buf++ = 0x80 | ((val >> 18) & 0x3f); - *buf++ = 0x80 | ((val >> 12) & 0x3f); - *buf++ = 0x80 | ((val >> 6) & 0x3f); - *buf++ = 0x80 | ((val & 0x3f)); - } - } else { - /* - * Ugly, limited parsing of & > < - */ - char *sc = (char *)memchr(p, 0x3b, len > 5 ? 5 : len); - if(!sc) goto want_more; - if((sc - p) == 4 - && p[1] == 0x61 /* 'a' */ - && p[2] == 0x6d /* 'm' */ - && p[3] == 0x70 /* 'p' */) { - *buf++ = 0x26; - p = sc; - continue; - } - if((sc - p) == 3) { - if(p[1] == 0x6c) { - *buf = 0x3c; /* '<' */ - } else if(p[1] == 0x67) { - *buf = 0x3e; /* '>' */ - } else { - /* Unsupported entity reference */ - *buf++ = ch; - continue; - } - if(p[2] != 0x74) { - /* Unsupported entity reference */ - *buf++ = ch; - continue; - } - buf++; - p = sc; - continue; - } - /* Unsupported entity reference */ - *buf++ = ch; - } - - continue; - want_more: - if(have_more) { - /* - * We know that no more data (of the same type) - * is coming. Copy the rest verbatim. - */ - *buf++ = ch; - continue; - } - chunk_size = (p - (const char *)chunk_buf); - /* Processing stalled: need more data */ - break; - } - - st->size = buf - st->buf; - assert(st->size <= new_size); - st->buf[st->size] = 0; /* Courtesy termination */ - - return chunk_size; /* Converted in full */ -} - -/* - * Decode OCTET STRING from the XML element's body. - */ -static asn_dec_rval_t -OCTET_STRING__decode_xer( - const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, - void **sptr, const char *opt_mname, const void *buf_ptr, size_t size, - int (*opt_unexpected_tag_decoder)(void *struct_ptr, const void *chunk_buf, - size_t chunk_size), - ssize_t (*body_receiver)(void *struct_ptr, const void *chunk_buf, - size_t chunk_size, int have_more)) { - OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - asn_struct_ctx_t *ctx; /* Per-structure parser context */ - asn_dec_rval_t rval; /* Return value from the decoder */ - int st_allocated; - - /* - * Create the string if does not exist. - */ - if(!st) { - st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); - *sptr = (void *)st; - if(!st) goto sta_failed; - st_allocated = 1; - } else { - st_allocated = 0; - } - if(!st->buf) { - /* This is separate from above section */ - st->buf = (uint8_t *)CALLOC(1, 1); - if(!st->buf) { - if(st_allocated) { - *sptr = 0; - goto stb_failed; - } else { - goto sta_failed; - } - } - } - - /* Restore parsing context */ - ctx = (asn_struct_ctx_t *)(((char *)*sptr) + specs->ctx_offset); - - return xer_decode_general(opt_codec_ctx, ctx, *sptr, xml_tag, - buf_ptr, size, opt_unexpected_tag_decoder, body_receiver); - -stb_failed: - FREEMEM(st); -sta_failed: - rval.code = RC_FAIL; - rval.consumed = 0; - return rval; -} - -/* - * Decode OCTET STRING from the hexadecimal data. - */ -asn_dec_rval_t -OCTET_STRING_decode_xer_hex(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, - buf_ptr, size, 0, OCTET_STRING__convert_hexadecimal); -} - -/* - * Decode OCTET STRING from the binary (0/1) data. - */ -asn_dec_rval_t -OCTET_STRING_decode_xer_binary(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, - buf_ptr, size, 0, OCTET_STRING__convert_binary); -} - -/* - * Decode OCTET STRING from the string (ASCII/UTF-8) data. - */ -asn_dec_rval_t -OCTET_STRING_decode_xer_utf8(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, - buf_ptr, size, - OCTET_STRING__handle_control_chars, - OCTET_STRING__convert_entrefs); -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -static int -OCTET_STRING_per_get_characters(asn_per_data_t *po, uint8_t *buf, - size_t units, unsigned int bpc, unsigned int unit_bits, - long lb, long ub, const asn_per_constraints_t *pc) { - uint8_t *end = buf + units * bpc; - - ASN_DEBUG("Expanding %d characters into (%ld..%ld):%d", - (int)units, lb, ub, unit_bits); - - /* X.691: 27.5.4 */ - if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { - /* Decode without translation */ - lb = 0; - } else if(pc && pc->code2value) { - if(unit_bits > 16) - return 1; /* FATAL: can't have constrained - * UniversalString with more than - * 16 million code points */ - for(; buf < end; buf += bpc) { - int value; - int code = per_get_few_bits(po, unit_bits); - if(code < 0) return -1; /* WMORE */ - value = pc->code2value(code); - if(value < 0) { - ASN_DEBUG("Code %d (0x%02x) is" - " not in map (%ld..%ld)", - code, code, lb, ub); - return 1; /* FATAL */ - } - switch(bpc) { - case 1: *buf = value; break; - case 2: buf[0] = value >> 8; buf[1] = value; break; - case 4: buf[0] = value >> 24; buf[1] = value >> 16; - buf[2] = value >> 8; buf[3] = value; break; - } - } - return 0; - } - - /* Shortcut the no-op copying to the aligned structure */ - if(lb == 0 && (unit_bits == 8 * bpc)) { - return per_get_many_bits(po, buf, 0, unit_bits * units); - } - - for(; buf < end; buf += bpc) { - int32_t code = per_get_few_bits(po, unit_bits); - int32_t ch = code + lb; - if(code < 0) return -1; /* WMORE */ - if(ch > ub) { - ASN_DEBUG("Code %d is out of range (%ld..%ld)", - ch, lb, ub); - return 1; /* FATAL */ - } - switch(bpc) { - case 1: *buf = ch; break; - case 2: buf[0] = ch >> 8; buf[1] = ch; break; - case 4: buf[0] = ch >> 24; buf[1] = ch >> 16; - buf[2] = ch >> 8; buf[3] = ch; break; - } - } - - return 0; -} - -static int -OCTET_STRING_per_put_characters(asn_per_outp_t *po, const uint8_t *buf, - size_t units, unsigned int bpc, unsigned int unit_bits, - long lb, long ub, const asn_per_constraints_t *pc) { - const uint8_t *end = buf + units * bpc; - - ASN_DEBUG("Squeezing %d characters into (%ld..%ld):%d (%d bpc)", - (int)units, lb, ub, unit_bits, bpc); - - /* X.691: 27.5.4 */ - if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { - /* Encode as is */ - lb = 0; - } else if(pc && pc->value2code) { - for(; buf < end; buf += bpc) { - int code; - uint32_t value; - switch(bpc) { - case 1: value = *(const uint8_t *)buf; break; - case 2: value = (buf[0] << 8) | buf[1]; break; - case 4: value = (buf[0] << 24) | (buf[1] << 16) - | (buf[2] << 8) | buf[3]; break; - default: return -1; - } - code = pc->value2code(value); - if(code < 0) { - ASN_DEBUG("Character %d (0x%02x) is" - " not in map (%ld..%ld)", - *buf, *buf, lb, ub); - return -1; - } - if(per_put_few_bits(po, code, unit_bits)) - return -1; - } - } - - /* Shortcut the no-op copying to the aligned structure */ - if(lb == 0 && (unit_bits == 8 * bpc)) { - return per_put_many_bits(po, buf, unit_bits * units); - } - - for(ub -= lb; buf < end; buf += bpc) { - int ch; - uint32_t value; - switch(bpc) { - case 1: - value = *(const uint8_t *)buf; - break; - case 2: - value = (buf[0] << 8) | buf[1]; - break; - case 4: - value = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; - break; - default: - return -1; - } - ch = value - lb; - if(ch < 0 || ch > ub) { - ASN_DEBUG("Character %d (0x%02x) is out of range (%ld..%ld)", *buf, - value, lb, ub + lb); - return -1; - } - if(per_put_few_bits(po, ch, unit_bits)) return -1; - } - - return 0; -} - -static asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = { - { APC_CONSTRAINED, 8, 8, 0, 255 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, - 0, 0 -}; - -asn_dec_rval_t -OCTET_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const asn_per_constraints_t *pc = - constraints ? constraints : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *cval; - const asn_per_constraint_t *csiz; - asn_dec_rval_t rval = { RC_OK, 0 }; - OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; - ssize_t consumed_myself = 0; - int repeat; - enum { - OS__BPC_CHAR = 1, - OS__BPC_U16 = 2, - OS__BPC_U32 = 4 - } bpc; /* Bytes per character */ - unsigned int unit_bits; - unsigned int canonical_unit_bits; - - (void)opt_codec_ctx; - - if(pc) { - cval = &pc->value; - csiz = &pc->size; - } else { - cval = &asn_DEF_OCTET_STRING_constraints.value; - csiz = &asn_DEF_OCTET_STRING_constraints.size; - } - - switch(specs->subvariant) { - default: - case ASN_OSUBV_ANY: - case ASN_OSUBV_BIT: - ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); - RETURN(RC_FAIL); - break; - case ASN_OSUBV_STR: - canonical_unit_bits = unit_bits = 8; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_CHAR; - break; - case ASN_OSUBV_U16: - canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U16; - break; - case ASN_OSUBV_U32: - canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U32; - break; - } - - /* - * Allocate the string. - */ - if(!st) { - st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) RETURN(RC_FAIL); - } - - ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", - csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", - csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); - - if(csiz->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) RETURN(RC_WMORE); - if(inext) { - csiz = &asn_DEF_OCTET_STRING_constraints.size; - unit_bits = canonical_unit_bits; - } - } - - if(csiz->effective_bits >= 0) { - FREEMEM(st->buf); - if(bpc) { - st->size = csiz->upper_bound * bpc; - } else { - st->size = (csiz->upper_bound + 7) >> 3; - } - st->buf = (uint8_t *)MALLOC(st->size + 1); - if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } - } - - /* X.691, #16.5: zero-length encoding */ - /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ - /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ - if(csiz->effective_bits == 0) { - int ret; - if(bpc) { - ASN_DEBUG("Encoding OCTET STRING size %ld", - csiz->upper_bound); - ret = OCTET_STRING_per_get_characters(pd, st->buf, - csiz->upper_bound, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - if(ret > 0) RETURN(RC_FAIL); - } else { - ASN_DEBUG("Encoding BIT STRING size %ld", - csiz->upper_bound); - ret = per_get_many_bits(pd, st->buf, 0, - unit_bits * csiz->upper_bound); - } - if(ret < 0) RETURN(RC_WMORE); - consumed_myself += unit_bits * csiz->upper_bound; - st->buf[st->size] = 0; - RETURN(RC_OK); - } - - st->size = 0; - do { - ssize_t raw_len; - ssize_t len_bytes; - void *p; - int ret; - - /* Get the PER length */ - raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, - &repeat); - if(raw_len < 0) RETURN(RC_WMORE); - if(raw_len == 0 && st->buf) break; - - ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", - (long)csiz->effective_bits, (long)raw_len, - repeat ? "repeat" : "once", td->name); - len_bytes = raw_len * bpc; - p = REALLOC(st->buf, st->size + len_bytes + 1); - if(!p) RETURN(RC_FAIL); - st->buf = (uint8_t *)p; - - ret = OCTET_STRING_per_get_characters(pd, &st->buf[st->size], raw_len, - bpc, unit_bits, cval->lower_bound, - cval->upper_bound, pc); - if(ret > 0) RETURN(RC_FAIL); - if(ret < 0) RETURN(RC_WMORE); - st->size += len_bytes; - } while(repeat); - st->buf[st->size] = 0; /* nul-terminate */ - - return rval; -} - -asn_enc_rval_t -OCTET_STRING_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const asn_per_constraints_t *pc = constraints ? constraints - : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *cval; - const asn_per_constraint_t *csiz; - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - int inext = 0; /* Lies not within extension root */ - unsigned int unit_bits; - unsigned int canonical_unit_bits; - size_t size_in_units; - const uint8_t *buf; - int ret; - enum { - OS__BPC_CHAR = 1, - OS__BPC_U16 = 2, - OS__BPC_U32 = 4 - } bpc; /* Bytes per character */ - int ct_extensible; - - if(!st || (!st->buf && st->size)) - ASN__ENCODE_FAILED; - - if(pc) { - cval = &pc->value; - csiz = &pc->size; - } else { - cval = &asn_DEF_OCTET_STRING_constraints.value; - csiz = &asn_DEF_OCTET_STRING_constraints.size; - } - ct_extensible = csiz->flags & APC_EXTENSIBLE; - - switch(specs->subvariant) { - default: - case ASN_OSUBV_ANY: - case ASN_OSUBV_BIT: - ASN__ENCODE_FAILED; - case ASN_OSUBV_STR: - canonical_unit_bits = unit_bits = 8; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_CHAR; - size_in_units = st->size; - break; - case ASN_OSUBV_U16: - canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U16; - size_in_units = st->size >> 1; - if(st->size & 1) { - ASN_DEBUG("%s string size is not modulo 2", td->name); - ASN__ENCODE_FAILED; - } - break; - case ASN_OSUBV_U32: - canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U32; - size_in_units = st->size >> 2; - if(st->size & 3) { - ASN_DEBUG("%s string size is not modulo 4", td->name); - ASN__ENCODE_FAILED; - } - break; - } - - ASN_DEBUG("Encoding %s into %" ASN_PRI_SIZE " units of %d bits" - " (%ld..%ld, effective %d)%s", - td->name, size_in_units, unit_bits, - csiz->lower_bound, csiz->upper_bound, - csiz->effective_bits, ct_extensible ? " EXT" : ""); - - /* Figure out whether size lies within PER visible constraint */ - - if(csiz->effective_bits >= 0) { - if((ssize_t)size_in_units < csiz->lower_bound - || (ssize_t)size_in_units > csiz->upper_bound) { - if(ct_extensible) { - csiz = &asn_DEF_OCTET_STRING_constraints.size; - unit_bits = canonical_unit_bits; - inext = 1; - } else { - ASN__ENCODE_FAILED; - } - } - } else { - inext = 0; - } - - if(ct_extensible) { - /* Declare whether length is [not] within extension root */ - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - } - - if(csiz->effective_bits >= 0 && !inext) { - ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes (%ld), length in %d bits", st->size, - size_in_units - csiz->lower_bound, csiz->effective_bits); - ret = per_put_few_bits(po, size_in_units - csiz->lower_bound, - csiz->effective_bits); - if(ret) ASN__ENCODE_FAILED; - ret = OCTET_STRING_per_put_characters(po, st->buf, size_in_units, bpc, - unit_bits, cval->lower_bound, - cval->upper_bound, pc); - if(ret) ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); - - buf = st->buf; - ASN_DEBUG("Encoding %" ASN_PRI_SIZE " in units", size_in_units); - do { - int need_eom = 0; - ssize_t may_save = uper_put_length(po, size_in_units, &need_eom); - if(may_save < 0) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "%s", may_save, size_in_units, - need_eom ? ",+EOM" : ""); - - ret = OCTET_STRING_per_put_characters(po, buf, may_save, bpc, unit_bits, - cval->lower_bound, - cval->upper_bound, pc); - if(ret) ASN__ENCODE_FAILED; - - buf += may_save * bpc; - size_in_units -= may_save; - assert(!(may_save & 0x07) || !size_in_units); - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - } while(size_in_units); - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -OCTET_STRING_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd) { - - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const asn_per_constraints_t *pc = constraints ? constraints - : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *cval; - const asn_per_constraint_t *csiz; - asn_dec_rval_t rval = { RC_OK, 0 }; - BIT_STRING_t *st = (BIT_STRING_t *)*sptr; - ssize_t consumed_myself = 0; - int repeat; - enum { - OS__BPC_BIT = 0, - OS__BPC_CHAR = 1, - OS__BPC_U16 = 2, - OS__BPC_U32 = 4 - } bpc; /* Bytes per character */ - unsigned int unit_bits; - unsigned int canonical_unit_bits; - - (void)opt_codec_ctx; - - if(pc) { - cval = &pc->value; - csiz = &pc->size; - } else { - cval = &asn_DEF_OCTET_STRING_constraints.value; - csiz = &asn_DEF_OCTET_STRING_constraints.size; - } - - switch(specs->subvariant) { - default: -/* case ASN_OSUBV_ANY: - ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); - RETURN(RC_FAIL); -*/ - case ASN_OSUBV_BIT: - canonical_unit_bits = unit_bits = 1; - bpc = OS__BPC_BIT; - break; - case ASN_OSUBV_ANY: - case ASN_OSUBV_STR: - canonical_unit_bits = unit_bits = 8; -/* if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; -*/ - bpc = OS__BPC_CHAR; - break; - case ASN_OSUBV_U16: - canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U16; - break; - case ASN_OSUBV_U32: - canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U32; - break; - } - - /* - * Allocate the string. - */ - if(!st) { - st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) RETURN(RC_FAIL); - } - - ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", - csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", - csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); - - if(csiz->flags & APC_EXTENSIBLE) { - int inext = per_get_few_bits(pd, 1); - if(inext < 0) RETURN(RC_WMORE); - if(inext) { - csiz = &asn_DEF_OCTET_STRING_constraints.size; - cval = &asn_DEF_OCTET_STRING_constraints.value; - unit_bits = canonical_unit_bits; - } - } - - if(csiz->effective_bits >= 0) { - FREEMEM(st->buf); - if(bpc) { - st->size = csiz->upper_bound * bpc; - } else { - st->size = (csiz->upper_bound + 7) >> 3; - } - st->buf = (uint8_t *)MALLOC(st->size + 1); - if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } - } - - /* X.691, #16.5: zero-length encoding */ - /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ - /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ - if(csiz->effective_bits == 0) { - int ret; - if (st->size > 2) { /* X.691 #16 NOTE 1 */ - if (aper_get_align(pd) < 0) - RETURN(RC_FAIL); - } - if(bpc) { - ASN_DEBUG("Decoding OCTET STRING size %ld", - csiz->upper_bound); - ret = OCTET_STRING_per_get_characters(pd, st->buf, - csiz->upper_bound, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - if(ret > 0) RETURN(RC_FAIL); - } else { - ASN_DEBUG("Decoding BIT STRING size %ld", - csiz->upper_bound); - ret = per_get_many_bits(pd, st->buf, 0, - unit_bits * csiz->upper_bound); - } - if(ret < 0) RETURN(RC_WMORE); - consumed_myself += unit_bits * csiz->upper_bound; - st->buf[st->size] = 0; - if(bpc == 0) { - int ubs = (csiz->upper_bound & 0x7); - st->bits_unused = ubs ? 8 - ubs : 0; - } - RETURN(RC_OK); - } - - st->size = 0; - do { - ssize_t raw_len; - ssize_t len_bytes; - ssize_t len_bits; - void *p; - int ret; - - /* Get the PER length */ - if (csiz->upper_bound - csiz->lower_bound == 0) - /* Indefinite length case */ - raw_len = aper_get_length(pd, -1, csiz->effective_bits, &repeat); - else - raw_len = aper_get_length(pd, csiz->upper_bound - csiz->lower_bound + 1, csiz->effective_bits, &repeat); - repeat = 0; - if(raw_len < 0) RETURN(RC_WMORE); - raw_len += csiz->lower_bound; - - ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", - (long)csiz->effective_bits, (long)raw_len, - repeat ? "repeat" : "once", td->name); - - if (raw_len > 2) { /* X.691 #16 NOTE 1 */ - if (aper_get_align(pd) < 0) - RETURN(RC_FAIL); - } - - if(bpc) { - len_bytes = raw_len * bpc; - len_bits = len_bytes * unit_bits; - } else { - len_bits = raw_len; - len_bytes = (len_bits + 7) >> 3; - if(len_bits & 0x7) - st->bits_unused = 8 - (len_bits & 0x7); - /* len_bits be multiple of 16K if repeat is set */ - } - p = REALLOC(st->buf, st->size + len_bytes + 1); - if(!p) RETURN(RC_FAIL); - st->buf = (uint8_t *)p; - - if(bpc) { - ret = OCTET_STRING_per_get_characters(pd, - &st->buf[st->size], raw_len, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - if(ret > 0) RETURN(RC_FAIL); - } else { - ret = per_get_many_bits(pd, &st->buf[st->size], - 0, len_bits); - } - if(ret < 0) RETURN(RC_WMORE); - st->size += len_bytes; - } while(repeat); - st->buf[st->size] = 0; /* nul-terminate */ - - return rval; -} - -asn_enc_rval_t -OCTET_STRING_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const asn_per_constraints_t *pc = constraints ? constraints - : td->encoding_constraints.per_constraints; - const asn_per_constraint_t *cval; - const asn_per_constraint_t *csiz; - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - asn_enc_rval_t er = { 0, 0, 0 }; - int inext = 0; /* Lies not within extension root */ - unsigned int unit_bits; - unsigned int canonical_unit_bits; - unsigned int sizeinunits; - const uint8_t *buf; - int ret; - enum { - OS__BPC_BIT = 0, - OS__BPC_CHAR = 1, - OS__BPC_U16 = 2, - OS__BPC_U32 = 4 - } bpc; /* Bytes per character */ - int ct_extensible; - - if(!st || (!st->buf && st->size)) - ASN__ENCODE_FAILED; - - if(pc) { - cval = &pc->value; - csiz = &pc->size; - } else { - cval = &asn_DEF_OCTET_STRING_constraints.value; - csiz = &asn_DEF_OCTET_STRING_constraints.size; - } - ct_extensible = csiz->flags & APC_EXTENSIBLE; - - switch(specs->subvariant) { - default: - /* case ASN_OSUBV_ANY: - ASN__ENCODE_FAILED; - */ - case ASN_OSUBV_BIT: - canonical_unit_bits = unit_bits = 1; - bpc = OS__BPC_BIT; - sizeinunits = st->size * 8 - (st->bits_unused & 0x07); - ASN_DEBUG("BIT STRING of %d bytes", - sizeinunits); - break; - case ASN_OSUBV_ANY: - case ASN_OSUBV_STR: - canonical_unit_bits = unit_bits = 8; -/* if(cval->flags & APC_CONSTRAINED) - unit_bits = 8; -*/ - bpc = OS__BPC_CHAR; - sizeinunits = st->size; - break; - case ASN_OSUBV_U16: - canonical_unit_bits = unit_bits = 16; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U16; - sizeinunits = st->size / 2; - break; - case ASN_OSUBV_U32: - canonical_unit_bits = unit_bits = 32; - if(cval->flags & APC_CONSTRAINED) - unit_bits = cval->range_bits; - bpc = OS__BPC_U32; - sizeinunits = st->size / 4; - break; - } - - ASN_DEBUG("Encoding %s into %d units of %d bits" - " (%ld..%ld, effective %d)%s", - td->name, sizeinunits, unit_bits, - csiz->lower_bound, csiz->upper_bound, - csiz->effective_bits, ct_extensible ? " EXT" : ""); - - /* Figure out wheter size lies within PER visible constraint */ - - if(csiz->effective_bits >= 0) { - if((int)sizeinunits < csiz->lower_bound - || (int)sizeinunits > csiz->upper_bound) { - if(ct_extensible) { - cval = &asn_DEF_OCTET_STRING_constraints.value; - csiz = &asn_DEF_OCTET_STRING_constraints.size; - unit_bits = canonical_unit_bits; - inext = 1; - } else - ASN__ENCODE_FAILED; - } - } else { - inext = 0; - } - - - if(ct_extensible) { - /* Declare whether length is [not] within extension root */ - if(per_put_few_bits(po, inext, 1)) - ASN__ENCODE_FAILED; - } - - /* X.691, #16.5: zero-length encoding */ - /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ - /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ - if(csiz->effective_bits >= 0) { - ASN_DEBUG("Encoding %lu bytes (%ld), length in %d bits", - st->size, sizeinunits - csiz->lower_bound, - csiz->effective_bits); - if (csiz->effective_bits > 0) { - ret = aper_put_length(po, csiz->upper_bound - csiz->lower_bound + 1, sizeinunits - csiz->lower_bound); - if(ret) ASN__ENCODE_FAILED; - } - /* EB MOD - AFAIU if lb != ub it is aligned whatever the number of bits */ - if ((st->size > 2) || (csiz->lower_bound != csiz->upper_bound)) { /* X.691 #16.11 */ - if (aper_put_align(po) < 0) - ASN__ENCODE_FAILED; - } - if(bpc) { - ret = OCTET_STRING_per_put_characters(po, st->buf, - sizeinunits, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - } else { - ret = per_put_many_bits(po, st->buf, - sizeinunits * unit_bits); - } - if(ret) ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - ASN_DEBUG("Encoding %lu bytes", st->size); - - if(sizeinunits == 0) { - if(aper_put_length(po, -1, 0)) - ASN__ENCODE_FAILED; - ASN__ENCODED_OK(er); - } - - buf = st->buf; - while(sizeinunits) { - ssize_t maySave = aper_put_length(po, -1, sizeinunits); - - if(maySave < 0) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %ld of %ld", - (long)maySave, (long)sizeinunits); - - if(bpc) { - ret = OCTET_STRING_per_put_characters(po, buf, - maySave, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - } else { - ret = per_put_many_bits(po, buf, maySave * unit_bits); - } - if(ret) ASN__ENCODE_FAILED; - - if(bpc) - buf += maySave * bpc; - else - buf += maySave >> 3; - sizeinunits -= maySave; - assert(!(maySave & 0x07) || !sizeinunits); - } - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -int -OCTET_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - const char * const h2c = "0123456789ABCDEF"; - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - char scratch[16 * 3 + 4]; - char *p = scratch; - uint8_t *buf; - uint8_t *end; - size_t i; - - (void)td; /* Unused argument */ - - if(!st || (!st->buf && st->size)) - return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* - * Dump the contents of the buffer in hexadecimal. - */ - buf = st->buf; - end = buf + st->size; - for(i = 0; buf < end; buf++, i++) { - if(!(i % 16) && (i || st->size > 16)) { - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - _i_INDENT(1); - p = scratch; - } - *p++ = h2c[(*buf >> 4) & 0x0F]; - *p++ = h2c[*buf & 0x0F]; - *p++ = 0x20; - } - - if(p > scratch) { - p--; /* Remove the tail space */ - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - } - - return 0; -} - -int -OCTET_STRING_print_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, - void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(st && (st->buf || !st->size)) { - return (cb(st->buf, st->size, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -void -OCTET_STRING_free(const asn_TYPE_descriptor_t *td, void *sptr, - enum asn_struct_free_method method) { - OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; - const asn_OCTET_STRING_specifics_t *specs; - asn_struct_ctx_t *ctx; - struct _stack *stck; - - if(!td || !st) - return; - - specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - ASN_DEBUG("Freeing %s as OCTET STRING", td->name); - - if(st->buf) { - FREEMEM(st->buf); - st->buf = 0; - } - - /* - * Remove decode-time stack. - */ - stck = (struct _stack *)ctx->ptr; - if(stck) { - while(stck->tail) { - struct _stack_el *sel = stck->tail; - stck->tail = sel->prev; - FREEMEM(sel); - } - FREEMEM(stck); - } - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(sptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(sptr, 0, - td->specifics - ? ((const asn_OCTET_STRING_specifics_t *)(td->specifics)) - ->struct_size - : sizeof(OCTET_STRING_t)); - break; - } -} - -/* - * Conversion routines. - */ -int -OCTET_STRING_fromBuf(OCTET_STRING_t *st, const char *str, int len) { - void *buf; - - if(st == 0 || (str == 0 && len)) { - errno = EINVAL; - return -1; - } - - /* - * Clear the OCTET STRING. - */ - if(str == NULL) { - FREEMEM(st->buf); - st->buf = 0; - st->size = 0; - return 0; - } - - /* Determine the original string size, if not explicitly given */ - if(len < 0) - len = strlen(str); - - /* Allocate and fill the memory */ - buf = MALLOC(len + 1); - if(buf == NULL) - return -1; - - memcpy(buf, str, len); - ((uint8_t *)buf)[len] = '\0'; /* Couldn't use memcpy(len+1)! */ - FREEMEM(st->buf); - st->buf = (uint8_t *)buf; - st->size = len; - - return 0; -} - -OCTET_STRING_t * -OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, const char *str, - int len) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - OCTET_STRING_t *st; - - st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); - if(st && str && OCTET_STRING_fromBuf(st, str, len)) { - FREEMEM(st); - st = NULL; - } - - return st; -} - -/* - * Lexicographically compare the common prefix of both strings, - * and if it is the same return -1 for the smallest string. - */ -int -OCTET_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics; - const OCTET_STRING_t *a = aptr; - const OCTET_STRING_t *b = bptr; - - assert(!specs || specs->subvariant != ASN_OSUBV_BIT); - - if(a && b) { - size_t common_prefix_size = a->size <= b->size ? a->size : b->size; - int ret = memcmp(a->buf, b->buf, common_prefix_size); - if(ret == 0) { - /* Figure out which string with equal prefixes is longer. */ - if(a->size < b->size) { - return -1; - } else if(a->size > b->size) { - return 1; - } else { - return 0; - } - } else { - return ret < 0 ? -1 : 1; - } - } else if(!a && !b) { - return 0; - } else if(!a) { - return -1; - } else { - return 1; - } - -} - -/* - * Biased function for randomizing character values around their limits. - */ -static uint32_t -OCTET_STRING__random_char(unsigned long lb, unsigned long ub) { - assert(lb <= ub); - switch(asn_random_between(0, 16)) { - case 0: - if(lb < ub) return lb + 1; - /* Fall through */ - case 1: - return lb; - case 2: - if(lb < ub) return ub - 1; - /* Fall through */ - case 3: - return ub; - default: - return asn_random_between(lb, ub); - } -} - - -size_t -OCTET_STRING_random_length_constrained( - const asn_TYPE_descriptor_t *td, - const asn_encoding_constraints_t *constraints, size_t max_length) { - const unsigned lengths[] = {0, 1, 2, 3, 4, 8, - 126, 127, 128, 16383, 16384, 16385, - 65534, 65535, 65536, 65537}; - size_t rnd_len; - - /* Figure out how far we should go */ - rnd_len = lengths[asn_random_between( - 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; - - if(!constraints || !constraints->per_constraints) - constraints = &td->encoding_constraints; - if(constraints->per_constraints) { - const asn_per_constraint_t *pc = &constraints->per_constraints->size; - if(pc->flags & APC_CONSTRAINED) { - long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length - ? pc->upper_bound - : (ssize_t)max_length; - if(max_length <= (size_t)pc->lower_bound) { - return pc->lower_bound; - } - if(pc->flags & APC_EXTENSIBLE) { - switch(asn_random_between(0, 5)) { - case 0: - if(pc->lower_bound > 0) { - rnd_len = pc->lower_bound - 1; - break; - } - /* Fall through */ - case 1: - rnd_len = pc->upper_bound + 1; - break; - case 2: - /* Keep rnd_len from the table */ - if(rnd_len <= max_length) { - break; - } - /* Fall through */ - default: - rnd_len = asn_random_between(pc->lower_bound, - suggested_upper_bound); - } - } else { - rnd_len = - asn_random_between(pc->lower_bound, suggested_upper_bound); - } - } else { - rnd_len = asn_random_between(0, max_length); - } - } else if(rnd_len > max_length) { - rnd_len = asn_random_between(0, max_length); - } - - return rnd_len; -} - -asn_random_fill_result_t -OCTET_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - const asn_OCTET_STRING_specifics_t *specs = td->specifics - ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - unsigned int unit_bytes = 1; - unsigned long clb = 0; /* Lower bound on char */ - unsigned long cub = 255; /* Higher bound on char value */ - uint8_t *buf; - uint8_t *bend; - uint8_t *b; - size_t rnd_len; - OCTET_STRING_t *st; - - if(max_length == 0 && !*sptr) return result_skipped; - - switch(specs->subvariant) { - default: - case ASN_OSUBV_ANY: - return result_failed; - case ASN_OSUBV_BIT: - /* Handled by BIT_STRING itself. */ - return result_failed; - case ASN_OSUBV_STR: - unit_bytes = 1; - clb = 0; - cub = 255; - break; - case ASN_OSUBV_U16: - unit_bytes = 2; - clb = 0; - cub = 65535; - break; - case ASN_OSUBV_U32: - unit_bytes = 4; - clb = 0; - cub = 0x10FFFF; - break; - } - - if(!constraints || !constraints->per_constraints) - constraints = &td->encoding_constraints; - if(constraints->per_constraints) { - const asn_per_constraint_t *pc = &constraints->per_constraints->value; - if(pc->flags & APC_SEMI_CONSTRAINED) { - clb = pc->lower_bound; - } else if(pc->flags & APC_CONSTRAINED) { - clb = pc->lower_bound; - cub = pc->upper_bound; - } - } - - rnd_len = - OCTET_STRING_random_length_constrained(td, constraints, max_length); - - buf = CALLOC(unit_bytes, rnd_len + 1); - if(!buf) return result_failed; - - bend = &buf[unit_bytes * rnd_len]; - - switch(unit_bytes) { - case 1: - for(b = buf; b < bend; b += unit_bytes) { - *(uint8_t *)b = OCTET_STRING__random_char(clb, cub); - } - *(uint8_t *)b = 0; - break; - case 2: - for(b = buf; b < bend; b += unit_bytes) { - uint32_t code = OCTET_STRING__random_char(clb, cub); - b[0] = code >> 8; - b[1] = code; - } - *(uint16_t *)b = 0; - break; - case 4: - for(b = buf; b < bend; b += unit_bytes) { - uint32_t code = OCTET_STRING__random_char(clb, cub); - b[0] = code >> 24; - b[1] = code >> 16; - b[2] = code >> 8; - b[3] = code; - } - *(uint32_t *)b = 0; - break; - } - - if(*sptr) { - st = *sptr; - FREEMEM(st->buf); - } else { - st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) { - FREEMEM(buf); - return result_failed; - } - } - - st->buf = buf; - st->size = unit_bytes * rnd_len; - - result_ok.length = st->size; - return result_ok; -} diff --git a/skeletons/OCTET_STRING.h b/skeletons/OCTET_STRING.h deleted file mode 100644 index c2f8bae..0000000 --- a/skeletons/OCTET_STRING.h +++ /dev/null @@ -1,102 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _OCTET_STRING_H_ -#define _OCTET_STRING_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct OCTET_STRING { - uint8_t *buf; /* Buffer with consecutive OCTET_STRING bits */ - size_t size; /* Size of the buffer */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} OCTET_STRING_t; - -extern asn_TYPE_descriptor_t asn_DEF_OCTET_STRING; -extern asn_TYPE_operation_t asn_OP_OCTET_STRING; - -asn_struct_free_f OCTET_STRING_free; -asn_struct_print_f OCTET_STRING_print; -asn_struct_print_f OCTET_STRING_print_utf8; -asn_struct_compare_f OCTET_STRING_compare; -ber_type_decoder_f OCTET_STRING_decode_ber; -der_type_encoder_f OCTET_STRING_encode_der; -xer_type_decoder_f OCTET_STRING_decode_xer_hex; /* Hexadecimal */ -xer_type_decoder_f OCTET_STRING_decode_xer_binary; /* 01010111010 */ -xer_type_decoder_f OCTET_STRING_decode_xer_utf8; /* ASCII/UTF-8 */ -xer_type_encoder_f OCTET_STRING_encode_xer; -xer_type_encoder_f OCTET_STRING_encode_xer_utf8; -oer_type_decoder_f OCTET_STRING_decode_oer; -oer_type_encoder_f OCTET_STRING_encode_oer; -per_type_decoder_f OCTET_STRING_decode_uper; -per_type_encoder_f OCTET_STRING_encode_uper; -per_type_decoder_f OCTET_STRING_decode_aper; -per_type_encoder_f OCTET_STRING_encode_aper; -asn_random_fill_f OCTET_STRING_random_fill; - -#define OCTET_STRING_constraint asn_generic_no_constraint -#define OCTET_STRING_decode_xer OCTET_STRING_decode_xer_hex - -/****************************** - * Handy conversion routines. * - ******************************/ - -/* - * This function clears the previous value of the OCTET STRING (if any) - * and then allocates a new memory with the specified content (str/size). - * If size = -1, the size of the original string will be determined - * using strlen(str). - * If str equals to NULL, the function will silently clear the - * current contents of the OCTET STRING. - * Returns 0 if it was possible to perform operation, -1 otherwise. - */ -int OCTET_STRING_fromBuf(OCTET_STRING_t *s, const char *str, int size); - -/* Handy conversion from the C string into the OCTET STRING. */ -#define OCTET_STRING_fromString(s, str) OCTET_STRING_fromBuf(s, str, -1) - -/* - * Allocate and fill the new OCTET STRING and return a pointer to the newly - * allocated object. NULL is permitted in str: the function will just allocate - * empty OCTET STRING. - */ -OCTET_STRING_t *OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, - const char *str, int size); - -/**************************** - * Internally useful stuff. * - ****************************/ - -typedef struct asn_OCTET_STRING_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the structure */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - enum asn_OS_Subvariant { - ASN_OSUBV_ANY, /* The open type (ANY) */ - ASN_OSUBV_BIT, /* BIT STRING */ - ASN_OSUBV_STR, /* String types, not {BMP,Universal}String */ - ASN_OSUBV_U16, /* 16-bit character (BMPString) */ - ASN_OSUBV_U32 /* 32-bit character (UniversalString) */ - } subvariant; -} asn_OCTET_STRING_specifics_t; - -extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs; - -size_t OCTET_STRING_random_length_constrained( - const asn_TYPE_descriptor_t *, const asn_encoding_constraints_t *, - size_t max_length); - -#ifdef __cplusplus -} -#endif - -#endif /* _OCTET_STRING_H_ */ diff --git a/skeletons/OCTET_STRING_oer.c b/skeletons/OCTET_STRING_oer.c deleted file mode 100644 index c16faea..0000000 --- a/skeletons/OCTET_STRING_oer.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -asn_dec_rval_t -OCTET_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; - const asn_oer_constraints_t *cts = - constraints ? constraints : td->encoding_constraints.oer_constraints; - ssize_t ct_size = cts ? cts->size : -1; - asn_dec_rval_t rval = {RC_OK, 0}; - size_t expected_length = 0; - - size_t unit_bytes; - switch(specs->subvariant) { - default: - case ASN_OSUBV_BIT: - ASN_DEBUG("Invalid use of OCTET STRING to decode BIT STRING"); - ASN__DECODE_FAILED; - case ASN_OSUBV_ANY: - /* Fall through */ - case ASN_OSUBV_STR: - unit_bytes = 1; - break; - case ASN_OSUBV_U16: - unit_bytes = 2; - break; - case ASN_OSUBV_U32: - unit_bytes = 4; - break; - } - - (void)opt_codec_ctx; - - if(!st) { - st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); - if(!st) ASN__DECODE_FAILED; - } - - if(ct_size >= 0) { - expected_length = unit_bytes * ct_size; - } else { - /* - * X.696 (08/2015) #27.2 - * Encode length determinant as _number of octets_, but only - * if upper bound is not equal to lower bound. - */ - ssize_t len_len = oer_fetch_length(ptr, size, &expected_length); - if(len_len > 0) { - rval.consumed = len_len; - ptr = (const char *)ptr + len_len; - size -= len_len; - } else if(len_len == 0) { - ASN__DECODE_STARVED; - } else if(len_len < 0) { - ASN__DECODE_FAILED; - } - - if(expected_length % unit_bytes != 0) { - ASN_DEBUG( - "Data size %" ASN_PRI_SIZE " bytes is not consistent with multiplier %" ASN_PRI_SIZE "", - expected_length, unit_bytes); - ASN__DECODE_FAILED; - } - } - - if(size < expected_length) { - ASN__DECODE_STARVED; - } else { - uint8_t *buf = MALLOC(expected_length + 1); - if(buf == NULL) { - ASN__DECODE_FAILED; - } else { - memcpy(buf, ptr, expected_length); - buf[expected_length] = '\0'; - } - FREEMEM(st->buf); - st->buf = buf; - st->size = expected_length; - - rval.consumed += expected_length; - return rval; - } -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -OCTET_STRING_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_OCTET_STRING_specifics_t *specs = - td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics - : &asn_SPC_OCTET_STRING_specs; - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - const asn_oer_constraints_t *cts = - constraints ? constraints : td->encoding_constraints.oer_constraints; - ssize_t ct_size = cts ? cts->size : -1; - asn_enc_rval_t er = {0, 0, 0}; - - if(!st) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %s %" ASN_PRI_SIZE " as OCTET STRING", td ? td->name : "", st->size); - - if(ct_size >= 0) { - /* - * Check that available data matches the constraint - */ - size_t unit_bytes; - switch(specs->subvariant) { - default: - case ASN_OSUBV_BIT: - ASN_DEBUG("Invalid use of OCTET STRING to encode BIT STRING"); - ASN__ENCODE_FAILED; - case ASN_OSUBV_ANY: - /* Fall through */ - case ASN_OSUBV_STR: - unit_bytes = 1; - break; - case ASN_OSUBV_U16: - unit_bytes = 2; - break; - case ASN_OSUBV_U32: - unit_bytes = 4; - break; - } - - if(st->size != unit_bytes * (size_t)ct_size) { - ASN_DEBUG( - "Trying to encode %s (%" ASN_PRI_SIZE " bytes) which doesn't fit SIZE " - "constraint (%" ASN_PRI_SIZE ")", - td->name, st->size, ct_size); - ASN__ENCODE_FAILED; - } - } else { - /* - * X.696 (08/2015) #27.2 - * Encode length determinant as _number of octets_, but only - * if upper bound is not equal to lower bound. - */ - ssize_t ret = oer_serialize_length(st->size, cb, app_key); - if(ret < 0) { - ASN__ENCODE_FAILED; - } - er.encoded += ret; - } - - er.encoded += st->size; - if(cb(st->buf, st->size, app_key) < 0) { - ASN__ENCODE_FAILED; - } else { - ASN__ENCODED_OK(er); - } -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/OPEN_TYPE.c b/skeletons/OPEN_TYPE.c deleted file mode 100644 index a54e99c..0000000 --- a/skeletons/OPEN_TYPE.c +++ /dev/null @@ -1,509 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include -#include - -asn_TYPE_operation_t asn_OP_OPEN_TYPE = { - OPEN_TYPE_free, - OPEN_TYPE_print, - OPEN_TYPE_compare, - OPEN_TYPE_decode_ber, - OPEN_TYPE_encode_der, - OPEN_TYPE_decode_xer, - OPEN_TYPE_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, 0, /* No OER support, use "-gen-OER" to enable */ -#else - OPEN_TYPE_decode_oer, - OPEN_TYPE_encode_oer, -#endif -#ifdef ASN_DISABLE_PER_SUPPORT - 0, 0, 0, 0, -#else - OPEN_TYPE_decode_uper, - OPEN_TYPE_encode_uper, - OPEN_TYPE_decode_aper, - OPEN_TYPE_encode_aper, -#endif - 0, /* Random fill is not supported for open type */ - 0 /* Use generic outmost tag fetcher */ -}; - -#undef ADVANCE -#define ADVANCE(num_bytes) \ - do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -asn_dec_rval_t -OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - const asn_TYPE_member_t *elm, const void *ptr, size_t size) { - size_t consumed_myself = 0; - asn_type_selector_result_t selected; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *inner_value; - asn_dec_rval_t rv; - - if(!(elm->flags & ATF_OPEN_TYPE)) { - ASN__DECODE_FAILED; - } - - if(!elm->type_selector) { - ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", - td->name, elm->name, elm->type->name); - ASN__DECODE_FAILED; - } - - selected = elm->type_selector(td, sptr); - if(!selected.presence_index) { - ASN__DECODE_FAILED; - } - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); - } else { - memb_ptr = (char *)sptr + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - if(*memb_ptr2 != NULL) { - /* Make sure we reset the structure first before encoding */ - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) != 0) { - ASN__DECODE_FAILED; - } - } - - inner_value = - (char *)*memb_ptr2 - + elm->type->elements[selected.presence_index - 1].memb_offset; - - ASN_DEBUG("presence %d\n", selected.presence_index); - - rv = selected.type_descriptor->op->ber_decoder( - opt_codec_ctx, selected.type_descriptor, &inner_value, ptr, size, - elm->tag_mode); - ADVANCE(rv.consumed); - rv.consumed = 0; - switch(rv.code) { - case RC_OK: - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, - selected.presence_index) - == 0) { - rv.code = RC_OK; - rv.consumed = consumed_myself; - return rv; - } else { - /* Oh, now a full-blown failure failure */ - } - /* Fall through */ - case RC_FAIL: - rv.consumed = consumed_myself; - /* Fall through */ - case RC_WMORE: - break; - } - - if(*memb_ptr2) { - if(elm->flags & ATF_POINTER) { - ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); - *memb_ptr2 = NULL; - } else { - ASN_STRUCT_RESET(*selected.type_descriptor, - inner_value); - } - } - return rv; -} - -asn_dec_rval_t -OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - const asn_TYPE_member_t *elm, const void *ptr, size_t size) { - size_t consumed_myself = 0; - asn_type_selector_result_t selected; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *inner_value; - asn_dec_rval_t rv; - - int xer_context = 0; - ssize_t ch_size; - pxer_chunk_type_e ch_type; - - if(!(elm->flags & ATF_OPEN_TYPE)) { - ASN__DECODE_FAILED; - } - - if(!elm->type_selector) { - ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", - td->name, elm->name, elm->type->name); - ASN__DECODE_FAILED; - } - - selected = elm->type_selector(td, sptr); - if(!selected.presence_index) { - ASN__DECODE_FAILED; - } - - /* Fetch the pointer to this member */ - assert(elm->flags == ATF_OPEN_TYPE); - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); - } else { - memb_ptr = (char *)sptr + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - if(*memb_ptr2 != NULL) { - /* Make sure we reset the structure first before encoding */ - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) - != 0) { - ASN__DECODE_FAILED; - } - } - - /* - * Confirm wrapper. - */ - for(;;) { - ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); - if(ch_size < 0) { - ASN__DECODE_FAILED; - } else { - switch(ch_type) { - case PXER_WMORE: - ASN__DECODE_STARVED; - case PXER_COMMENT: - case PXER_TEXT: - ADVANCE(ch_size); - continue; - case PXER_TAG: - break; - } - break; - } - } - - /* - * Wrapper value confirmed. - */ - switch(xer_check_tag(ptr, ch_size, elm->name)) { - case XCT_OPENING: - ADVANCE(ch_size); - break; - case XCT_BROKEN: - default: - ASN__DECODE_FAILED; - } - - inner_value = - (char *)*memb_ptr2 - + elm->type->elements[selected.presence_index - 1].memb_offset; - - rv = selected.type_descriptor->op->xer_decoder( - opt_codec_ctx, selected.type_descriptor, &inner_value, NULL, ptr, size); - ADVANCE(rv.consumed); - rv.consumed = 0; - switch(rv.code) { - case RC_OK: - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, - selected.presence_index) - == 0) { - break; - } else { - rv.code = RC_FAIL; - } - /* Fall through */ - case RC_FAIL: - /* Point to a best position where failure occurred */ - rv.consumed = consumed_myself; - /* Fall through */ - case RC_WMORE: - /* Wrt. rv.consumed==0: - * In case a genuine RC_WMORE, the whole Open Type decoding - * will have to be restarted. - */ - if(*memb_ptr2) { - if(elm->flags & ATF_POINTER) { - ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); - *memb_ptr2 = NULL; - } else { - ASN_STRUCT_RESET(*selected.type_descriptor, - inner_value); - } - } - return rv; - } - - /* - * Finalize wrapper. - */ - for(;;) { - ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); - if(ch_size < 0) { - ASN__DECODE_FAILED; - } else { - switch(ch_type) { - case PXER_WMORE: - ASN__DECODE_STARVED; - case PXER_COMMENT: - case PXER_TEXT: - ADVANCE(ch_size); - continue; - case PXER_TAG: - break; - } - break; - } - } - - /* - * Wrapper value confirmed. - */ - switch(xer_check_tag(ptr, ch_size, elm->name)) { - case XCT_CLOSING: - ADVANCE(ch_size); - break; - case XCT_BROKEN: - default: - ASN__DECODE_FAILED; - } - - rv.consumed += consumed_myself; - - return rv; -} - - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - const asn_TYPE_member_t *elm, asn_per_data_t *pd) { - asn_type_selector_result_t selected; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *inner_value; - asn_dec_rval_t rv; - - if(!(elm->flags & ATF_OPEN_TYPE)) { - ASN__DECODE_FAILED; - } - - if(!elm->type_selector) { - ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", - td->name, elm->name, elm->type->name); - ASN__DECODE_FAILED; - } - - selected = elm->type_selector(td, sptr); - if(!selected.presence_index) { - ASN__DECODE_FAILED; - } - - /* Fetch the pointer to this member */ - assert(elm->flags == ATF_OPEN_TYPE); - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); - } else { - memb_ptr = (char *)sptr + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - if(*memb_ptr2 != NULL) { - /* Make sure we reset the structure first before encoding */ - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) - != 0) { - ASN__DECODE_FAILED; - } - } - - inner_value = - (char *)*memb_ptr2 - + elm->type->elements[selected.presence_index - 1].memb_offset; - - rv = uper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, - &inner_value, pd); - switch(rv.code) { - case RC_OK: - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, - selected.presence_index) - == 0) { - break; - } else { - rv.code = RC_FAIL; - } - /* Fall through */ - case RC_WMORE: - case RC_FAIL: - if(*memb_ptr2) { - if(elm->flags & ATF_POINTER) { - ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); - *memb_ptr2 = NULL; - } else { - ASN_STRUCT_RESET(*selected.type_descriptor, - inner_value); - } - } - } - return rv; -} - -asn_enc_rval_t -OPEN_TYPE_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const void *memb_ptr; /* Pointer to the member */ - asn_TYPE_member_t *elm; /* CHOICE's element */ - asn_enc_rval_t er = {0,0,0}; - unsigned present; - - (void)constraints; - - present = CHOICE_variant_get_presence(td, sptr); - if(present == 0 || present > td->elements_count) { - ASN__ENCODE_FAILED; - } else { - present--; - } - - ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); - - elm = &td->elements[present]; - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) ASN__ENCODE_FAILED; - } else { - memb_ptr = (const char *)sptr + elm->memb_offset; - } - - if(uper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { - ASN__ENCODE_FAILED; - } - - er.encoded = 0; - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - const asn_TYPE_member_t *elm, asn_per_data_t *pd) { - asn_type_selector_result_t selected; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *inner_value; - asn_dec_rval_t rv; - - if(!(elm->flags & ATF_OPEN_TYPE)) { - ASN__DECODE_FAILED; - } - - if(!elm->type_selector) { - ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", - td->name, elm->name, elm->type->name); - ASN__DECODE_FAILED; - } - - selected = elm->type_selector(td, sptr); - if(!selected.presence_index) { - ASN__DECODE_FAILED; - } - - /* Fetch the pointer to this member */ - assert(elm->flags == ATF_OPEN_TYPE); - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); - } else { - memb_ptr = (char *)sptr + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - if(*memb_ptr2 != NULL) { - /* Make sure we reset the structure first before encoding */ - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) - != 0) { - ASN__DECODE_FAILED; - } - } - - inner_value = - (char *)*memb_ptr2 - + elm->type->elements[selected.presence_index - 1].memb_offset; - - rv = aper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, - &inner_value, pd); - switch(rv.code) { - case RC_OK: - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, - selected.presence_index) - == 0) { - break; - } else { - rv.code = RC_FAIL; - } - /* Fall through */ - case RC_WMORE: - case RC_FAIL: - if(*memb_ptr2) { - if(elm->flags & ATF_POINTER) { - ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); - *memb_ptr2 = NULL; - } else { - ASN_STRUCT_RESET(*selected.type_descriptor, - inner_value); - } - } - } - return rv; -} - -asn_enc_rval_t -OPEN_TYPE_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const void *memb_ptr; /* Pointer to the member */ - asn_TYPE_member_t *elm; /* CHOICE's element */ - asn_enc_rval_t er = {0,0,0}; - unsigned present; - - (void)constraints; - - present = CHOICE_variant_get_presence(td, sptr); - if(present == 0 || present > td->elements_count) { - ASN__ENCODE_FAILED; - } else { - present--; - } - - ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); - - elm = &td->elements[present]; - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) ASN__ENCODE_FAILED; - } else { - memb_ptr = (const char *)sptr + elm->memb_offset; - } - - if(aper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { - ASN__ENCODE_FAILED; - } - - er.encoded = 0; - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ diff --git a/skeletons/OPEN_TYPE.h b/skeletons/OPEN_TYPE.h deleted file mode 100644 index b0d023c..0000000 --- a/skeletons/OPEN_TYPE.h +++ /dev/null @@ -1,77 +0,0 @@ -/*- - * Copyright (c) 2017-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_OPEN_TYPE_H -#define ASN_OPEN_TYPE_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define OPEN_TYPE_free CHOICE_free -#define OPEN_TYPE_print CHOICE_print -#define OPEN_TYPE_compare CHOICE_compare -#define OPEN_TYPE_constraint CHOICE_constraint -#define OPEN_TYPE_decode_ber NULL -#define OPEN_TYPE_encode_der CHOICE_encode_der -#define OPEN_TYPE_decode_xer NULL -#define OPEN_TYPE_encode_xer CHOICE_encode_xer -#define OPEN_TYPE_decode_oer NULL -#define OPEN_TYPE_encode_oer CHOICE_encode_oer -#define OPEN_TYPE_decode_uper NULL -#define OPEN_TYPE_decode_aper NULL - -extern asn_TYPE_operation_t asn_OP_OPEN_TYPE; - -/* - * Decode an Open Type which is potentially constraiend - * by the other members of the parent structure. - */ -asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - const void *ptr, size_t size); - -asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - const void *ptr, size_t size); - -asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - asn_TYPE_member_t *element, const void *ptr, - size_t size); - -asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - asn_per_data_t *pd); - -asn_dec_rval_t OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - asn_per_data_t *pd); - -asn_enc_rval_t OPEN_TYPE_encode_uper( - const asn_TYPE_descriptor_t *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); - -asn_enc_rval_t OPEN_TYPE_encode_aper( - const asn_TYPE_descriptor_t *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_OPEN_TYPE_H */ diff --git a/skeletons/OPEN_TYPE_oer.c b/skeletons/OPEN_TYPE_oer.c deleted file mode 100644 index dd2f5c6..0000000 --- a/skeletons/OPEN_TYPE_oer.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include - -asn_dec_rval_t -OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void *sptr, - asn_TYPE_member_t *elm, const void *ptr, size_t size) { - asn_type_selector_result_t selected; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *inner_value; - asn_dec_rval_t rv; - size_t ot_ret; - - - if(!(elm->flags & ATF_OPEN_TYPE)) { - ASN__DECODE_FAILED; - } - - if(!elm->type_selector) { - ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", - td->name, elm->name, elm->type->name); - ASN__DECODE_FAILED; - } - - selected = elm->type_selector(td, sptr); - if(!selected.presence_index) { - ASN__DECODE_FAILED; - } - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); - } else { - memb_ptr = (char *)sptr + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - if(*memb_ptr2 != NULL) { - /* Make sure we reset the structure first before encoding */ - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) != 0) { - ASN__DECODE_FAILED; - } - } - - inner_value = - (char *)*memb_ptr2 - + elm->type->elements[selected.presence_index - 1].memb_offset; - - ot_ret = oer_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, - &inner_value, ptr, size); - switch(ot_ret) { - default: - if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, - selected.presence_index) - == 0) { - rv.code = RC_OK; - rv.consumed = ot_ret; - return rv; - } else { - /* Oh, now a full-blown failure failure */ - } - /* Fall through */ - case -1: - rv.code = RC_FAIL; - rv.consumed = ot_ret; - break; - case 0: - rv.code = RC_WMORE; - rv.consumed = 0; - break; - } - - if(*memb_ptr2) { - const asn_CHOICE_specifics_t *specs = - selected.type_descriptor->specifics; - if(elm->flags & ATF_POINTER) { - ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); - *memb_ptr2 = NULL; - } else { - ASN_STRUCT_FREE_CONTENTS_ONLY(*selected.type_descriptor, - inner_value); - memset(*memb_ptr2, 0, specs->struct_size); - } - } - return rv; -} diff --git a/skeletons/ObjectDescriptor.c b/skeletons/ObjectDescriptor.c deleted file mode 100644 index 5d8bfb2..0000000 --- a/skeletons/ObjectDescriptor.c +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * ObjectDescriptor basic type description. - */ -static const ber_tlv_tag_t asn_DEF_ObjectDescriptor_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), /* [UNIVERSAL 7] IMPLICIT ... */ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_ObjectDescriptor = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* Treat as ASCII subset (it's not) */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - 0, - 0, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - 0, /* Not supported for ObjectDescriptor */ - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor = { - "ObjectDescriptor", - "ObjectDescriptor", - &asn_OP_ObjectDescriptor, - asn_DEF_ObjectDescriptor_tags, - sizeof(asn_DEF_ObjectDescriptor_tags) - / sizeof(asn_DEF_ObjectDescriptor_tags[0]) - 1, - asn_DEF_ObjectDescriptor_tags, - sizeof(asn_DEF_ObjectDescriptor_tags) - / sizeof(asn_DEF_ObjectDescriptor_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/skeletons/ObjectDescriptor.h b/skeletons/ObjectDescriptor.h deleted file mode 100644 index fa1c1fc..0000000 --- a/skeletons/ObjectDescriptor.h +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _ObjectDescriptor_H_ -#define _ObjectDescriptor_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef GraphicString_t ObjectDescriptor_t; /* Implemented via GraphicString */ - -extern asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor; -extern asn_TYPE_operation_t asn_OP_ObjectDescriptor; - -#define ObjectDescriptor_free OCTET_STRING_free -#define ObjectDescriptor_print OCTET_STRING_print_utf8 -#define ObjectDescriptor_constraint asn_generic_unknown_constraint -#define ObjectDescriptor_decode_ber OCTET_STRING_decode_ber -#define ObjectDescriptor_encode_der OCTET_STRING_encode_der -#define ObjectDescriptor_decode_xer OCTET_STRING_decode_xer_utf8 -#define ObjectDescriptor_encode_xer OCTET_STRING_encode_xer_utf8 -#define ObjectDescriptor_decode_uper OCTET_STRING_decode_uper -#define ObjectDescriptor_encode_uper OCTET_STRING_encode_uper -#define ObjectDescriptor_decode_aper OCTET_STRING_decode_aper -#define ObjectDescriptor_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _ObjectDescriptor_H_ */ diff --git a/skeletons/PrintableString.c b/skeletons/PrintableString.c deleted file mode 100644 index 8fc3939..0000000 --- a/skeletons/PrintableString.c +++ /dev/null @@ -1,130 +0,0 @@ -/*- - * Copyright (c) 2003, 2004, 2006 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * ASN.1:1984 (X.409) - */ -static const int _PrintableString_alphabet[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9, /* . '() +,-./ */ -10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22, /* 0123456789: = ? */ - 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, /* ABCDEFGHIJKLMNO */ -38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */ - 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, /* abcdefghijklmno */ -64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; -static const int _PrintableString_code2value[74] = { -32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54, -55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74, -75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90, -97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112, -113,114,115,116,117,118,119,120,121,122}; - -/* - * PrintableString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_PrintableString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)), /* [UNIVERSAL 19] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static int asn_DEF_PrintableString_v2c(unsigned int value) { - return _PrintableString_alphabet[value > 255 ? 0 : value] - 1; -} -static int asn_DEF_PrintableString_c2v(unsigned int code) { - if(code < 74) - return _PrintableString_code2value[code]; - return -1; -} -static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = { - { APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - asn_DEF_PrintableString_v2c, - asn_DEF_PrintableString_c2v -}; -asn_TYPE_operation_t asn_OP_PrintableString = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* ASCII subset */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_PrintableString = { - "PrintableString", - "PrintableString", - &asn_OP_PrintableString, - asn_DEF_PrintableString_tags, - sizeof(asn_DEF_PrintableString_tags) - / sizeof(asn_DEF_PrintableString_tags[0]) - 1, - asn_DEF_PrintableString_tags, - sizeof(asn_DEF_PrintableString_tags) - / sizeof(asn_DEF_PrintableString_tags[0]), - { 0, &asn_DEF_PrintableString_per_constraints, PrintableString_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -int -PrintableString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, - void *app_key) { - const PrintableString_t *st = (const PrintableString_t *)sptr; - - if(st && st->buf) { - uint8_t *buf = st->buf; - uint8_t *end = buf + st->size; - - /* - * Check the alphabet of the PrintableString. - * ASN.1:1984 (X.409) - */ - for(; buf < end; buf++) { - if(!_PrintableString_alphabet[*buf]) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value byte %ld (%d) " - "not in PrintableString alphabet " - "(%s:%d)", - td->name, - (long)((buf - st->buf) + 1), - *buf, - __FILE__, __LINE__); - return -1; - } - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} diff --git a/skeletons/PrintableString.h b/skeletons/PrintableString.h deleted file mode 100644 index 8c2b61a..0000000 --- a/skeletons/PrintableString.h +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PrintableString_H_ -#define _PrintableString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t PrintableString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_PrintableString; -extern asn_TYPE_operation_t asn_OP_PrintableString; - -asn_constr_check_f PrintableString_constraint; - -#define PrintableString_free OCTET_STRING_free -#define PrintableString_print OCTET_STRING_print_utf8 -#define PrintableString_compare OCTET_STRING_compare -#define PrintableString_decode_ber OCTET_STRING_decode_ber -#define PrintableString_encode_der OCTET_STRING_encode_der -#define PrintableString_decode_xer OCTET_STRING_decode_xer_utf8 -#define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8 -#define PrintableString_decode_uper OCTET_STRING_decode_uper -#define PrintableString_encode_uper OCTET_STRING_encode_uper -#define PrintableString_decode_aper OCTET_STRING_decode_aper -#define PrintableString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _PrintableString_H_ */ diff --git a/skeletons/README b/skeletons/README deleted file mode 100644 index df5521f..0000000 --- a/skeletons/README +++ /dev/null @@ -1,4 +0,0 @@ -This directory contains encoder/decoder code for various encoding rules -(OER, PER, DER, BER, XER) that work with the tables constructed by the compiler. -The compiler itself does not generate much code. It creates parsing tables -and then copies (or links) over these files which contain generic codecs. diff --git a/skeletons/REAL.c b/skeletons/REAL.c deleted file mode 100644 index e3daf37..0000000 --- a/skeletons/REAL.c +++ /dev/null @@ -1,1028 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#define _ISOC99_SOURCE /* For ilogb() and quiet NAN */ -#ifndef _BSD_SOURCE -#define _BSD_SOURCE /* To reintroduce finite(3) */ -#endif -#include -#if defined(__alpha) -#include /* For INFINITY */ -#endif -#include /* for strtod(3) */ -#include -#include -#include -#include -#include - -#undef INT_MAX -#define INT_MAX ((int)(((unsigned int)-1) >> 1)) - -#if !(defined(NAN) || defined(INFINITY)) -static volatile double real_zero CC_NOTUSED = 0.0; -#endif -#ifndef NAN -#define NAN (0.0/0.0) -#endif -#ifndef INFINITY -#define INFINITY (1.0/0.0) -#endif - -#if defined(__clang__) -/* - * isnan() is defined using generic selections and won't compile in - * strict C89 mode because of too fancy system's standard library. - * However, prior to C11 the math had a perfectly working isnan() - * in the math library. - * Disable generic selection warning so we can test C89 mode with newer libc. - */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wc11-extensions" -static int asn_isnan(double d) { - return isnan(d); -} -static int asn_isfinite(double d) { -#ifdef isfinite - return isfinite(d); /* ISO C99 */ -#else - return finite(d); /* Deprecated on Mac OS X 10.9 */ -#endif -} -#pragma clang diagnostic pop -#else /* !clang */ -#define asn_isnan(v) isnan(v) -#ifdef isfinite -#define asn_isfinite(d) isfinite(d) /* ISO C99 */ -#else -#define asn_isfinite(d) finite(d) /* Deprecated on Mac OS X 10.9 */ -#endif -#endif /* clang */ - -/* - * REAL basic type description. - */ -static const ber_tlv_tag_t asn_DEF_REAL_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_operation_t asn_OP_REAL = { - ASN__PRIMITIVE_TYPE_free, - REAL_print, - REAL_compare, - ber_decode_primitive, - der_encode_primitive, - REAL_decode_xer, - REAL_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - REAL_decode_oer, - REAL_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - REAL_decode_uper, - REAL_encode_uper, - REAL_decode_aper, - REAL_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - REAL_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_REAL = { - "REAL", - "REAL", - &asn_OP_REAL, - asn_DEF_REAL_tags, - sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]), - asn_DEF_REAL_tags, /* Same as above */ - sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, - 0, /* No members */ - 0 /* No specifics */ -}; - -typedef enum specialRealValue { - SRV__NOT_A_NUMBER, - SRV__MINUS_INFINITY, - SRV__PLUS_INFINITY -} specialRealValue_e; -static struct specialRealValue_s { - char *string; - size_t length; - long dv; -} specialRealValue[] = { -#define SRV_SET(foo, val) { foo, sizeof(foo) - 1, val } - SRV_SET("", 0), - SRV_SET("", -1), - SRV_SET("", 1), -#undef SRV_SET -}; - -ssize_t -REAL__dump(double d, int canonical, asn_app_consume_bytes_f *cb, void *app_key) { - char local_buf[64]; - char *buf = local_buf; - ssize_t buflen = sizeof(local_buf); - const char *fmt = canonical ? "%.17E" /* Precise */ : "%.15f" /* Pleasant*/; - ssize_t ret; - - /* - * Check whether it is a special value. - */ - /* fpclassify(3) is not portable yet */ - if(asn_isnan(d)) { - buf = specialRealValue[SRV__NOT_A_NUMBER].string; - buflen = specialRealValue[SRV__NOT_A_NUMBER].length; - return (cb(buf, buflen, app_key) < 0) ? -1 : buflen; - } else if(!asn_isfinite(d)) { - if(copysign(1.0, d) < 0.0) { - buf = specialRealValue[SRV__MINUS_INFINITY].string; - buflen = specialRealValue[SRV__MINUS_INFINITY].length; - } else { - buf = specialRealValue[SRV__PLUS_INFINITY].string; - buflen = specialRealValue[SRV__PLUS_INFINITY].length; - } - return (cb(buf, buflen, app_key) < 0) ? -1 : buflen; - } else if(ilogb(d) <= -INT_MAX) { - if(copysign(1.0, d) < 0.0) { - buf = "-0"; - buflen = 2; - } else { - buf = "0"; - buflen = 1; - } - return (cb(buf, buflen, app_key) < 0) ? -1 : buflen; - } - - /* - * Use the libc's double printing, hopefully they got it right. - */ - do { - ret = snprintf(buf, buflen, fmt, d); - if(ret < 0) { - /* There are some old broken APIs. */ - buflen <<= 1; - if(buflen > 4096) { - /* Should be plenty. */ - if(buf != local_buf) FREEMEM(buf); - return -1; - } - } else if(ret >= buflen) { - buflen = ret + 1; - } else { - buflen = ret; - break; - } - if(buf != local_buf) FREEMEM(buf); - buf = (char *)MALLOC(buflen); - if(!buf) return -1; - } while(1); - - if(canonical) { - /* - * Transform the "[-]d.dddE+-dd" output into "[-]d.dddE[-]d" - * Check that snprintf() constructed the output correctly. - */ - char *dot; - char *end = buf + buflen; - char *last_zero; - char *first_zero_in_run; - char *s; - - enum { - LZSTATE_NOTHING, - LZSTATE_ZEROES - } lz_state = LZSTATE_NOTHING; - - dot = (buf[0] == 0x2d /* '-' */) ? (buf + 2) : (buf + 1); - if(*dot >= 0x30) { - if(buf != local_buf) FREEMEM(buf); - errno = EINVAL; - return -1; /* Not a dot, really */ - } - *dot = 0x2e; /* Replace possible comma */ - - for(first_zero_in_run = last_zero = s = dot + 2; s < end; s++) { - switch(*s) { - case 0x45: /* 'E' */ - if(lz_state == LZSTATE_ZEROES) last_zero = first_zero_in_run; - break; - case 0x30: /* '0' */ - if(lz_state == LZSTATE_NOTHING) first_zero_in_run = s; - lz_state = LZSTATE_ZEROES; - continue; - default: - lz_state = LZSTATE_NOTHING; - continue; - } - break; - } - - if(s == end) { - if(buf != local_buf) FREEMEM(buf); - errno = EINVAL; - return -1; /* No promised E */ - } - - assert(*s == 0x45); - { - char *E = s; - char *expptr = ++E; - char *s = expptr; - int sign; - - if(*expptr == 0x2b /* '+' */) { - /* Skip the "+" */ - buflen -= 1; - sign = 0; - } else { - sign = 1; - s++; - } - expptr++; - if(expptr > end) { - if(buf != local_buf) FREEMEM(buf); - errno = EINVAL; - return -1; - } - if(*expptr == 0x30) { - buflen--; - expptr++; - } - if(lz_state == LZSTATE_ZEROES) { - *last_zero = 0x45; /* E */ - buflen -= s - (last_zero + 1); - s = last_zero + 1; - if(sign) { - *s++ = 0x2d /* '-' */; - buflen++; - } - } - for(; expptr <= end; s++, expptr++) - *s = *expptr; - } - } else { - /* - * Remove trailing zeros. - */ - char *end = buf + buflen; - char *last_zero = end; - int stoplooking = 0; - char *z; - for(z = end - 1; z > buf; z--) { - switch(*z) { - case 0x30: - if(!stoplooking) - last_zero = z; - continue; - case 0x31: case 0x32: case 0x33: case 0x34: - case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: - stoplooking = 1; - continue; - default: /* Catch dot and other separators */ - /* - * Replace possible comma (which may even - * be not a comma at all: locale-defined). - */ - *z = 0x2e; - if(last_zero == z + 1) { /* leave x.0 */ - last_zero++; - } - buflen = last_zero - buf; - *last_zero = '\0'; - break; - } - break; - } - } - - ret = cb(buf, buflen, app_key); - if(buf != local_buf) FREEMEM(buf); - return (ret < 0) ? -1 : buflen; -} - -int -REAL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const REAL_t *st = (const REAL_t *)sptr; - ssize_t ret; - double d; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(!st || !st->buf) - ret = cb("", 8, app_key); - else if(asn_REAL2double(st, &d)) - ret = cb("", 7, app_key); - else - ret = REAL__dump(d, 0, cb, app_key); - - return (ret < 0) ? -1 : 0; -} - -int -REAL_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const REAL_t *a = aptr; - const REAL_t *b = bptr; - - (void)td; - - if(a && b) { - double adbl, bdbl; - int ra, rb; - ra = asn_REAL2double(a, &adbl); - rb = asn_REAL2double(b, &bdbl); - if(ra == 0 && rb == 0) { - if(asn_isnan(adbl)) { - if(asn_isnan(bdbl)) { - return 0; - } else { - return -1; - } - } else if(asn_isnan(bdbl)) { - return 1; - } - /* Value comparison. */ - if(adbl < bdbl) { - return -1; - } else if(adbl > bdbl) { - return 1; - } else { - return 0; - } - } else if(ra) { - return -1; - } else { - return 1; - } - } else if(!a) { - return -1; - } else { - return 1; - } -} - -asn_enc_rval_t -REAL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - const REAL_t *st = (const REAL_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - double d; - - (void)ilevel; - - if(!st || !st->buf || asn_REAL2double(st, &d)) - ASN__ENCODE_FAILED; - - er.encoded = REAL__dump(d, flags & XER_F_CANONICAL, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - - -/* - * Decode the chunk of XML text encoding REAL. - */ -static enum xer_pbd_rval -REAL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - REAL_t *st = (REAL_t *)sptr; - double value; - const char *xerdata = (const char *)chunk_buf; - char *endptr = 0; - char *b; - - (void)td; - - if(!chunk_size) return XPBD_BROKEN_ENCODING; - - /* - * Decode an XMLSpecialRealValue: , etc. - */ - if(xerdata[0] == 0x3c /* '<' */) { - size_t i; - for(i = 0; i < sizeof(specialRealValue) - / sizeof(specialRealValue[0]); i++) { - struct specialRealValue_s *srv = &specialRealValue[i]; - double dv; - - if(srv->length != chunk_size - || memcmp(srv->string, chunk_buf, chunk_size)) - continue; - - /* - * It could've been done using - * (double)srv->dv / real_zero, - * but it summons fp exception on some platforms. - */ - switch(srv->dv) { - case -1: dv = - INFINITY; break; - case 0: dv = NAN; break; - case 1: dv = INFINITY; break; - default: return XPBD_SYSTEM_FAILURE; - } - - if(asn_double2REAL(st, dv)) - return XPBD_SYSTEM_FAILURE; - - return XPBD_BODY_CONSUMED; - } - ASN_DEBUG("Unknown XMLSpecialRealValue"); - return XPBD_BROKEN_ENCODING; - } - - /* - * Copy chunk into the nul-terminated string, and run strtod. - */ - b = (char *)MALLOC(chunk_size + 1); - if(!b) return XPBD_SYSTEM_FAILURE; - memcpy(b, chunk_buf, chunk_size); - b[chunk_size] = 0; /* nul-terminate */ - - value = strtod(b, &endptr); - FREEMEM(b); - if(endptr == b) return XPBD_BROKEN_ENCODING; - - if(asn_double2REAL(st, value)) - return XPBD_SYSTEM_FAILURE; - - return XPBD_BODY_CONSUMED; -} - -asn_dec_rval_t -REAL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(REAL_t), opt_mname, - buf_ptr, size, REAL__xer_body_decode); -} - -int -asn_REAL2double(const REAL_t *st, double *dbl_value) { - unsigned int octv; - - if(!st || !st->buf) { - errno = EINVAL; - return -1; - } - - if(st->size == 0) { - *dbl_value = 0; - return 0; - } - - octv = st->buf[0]; /* unsigned byte */ - - switch(octv & 0xC0) { - case 0x40: /* X.690: 8.5.6 a) => 8.5.9 */ - /* "SpecialRealValue" */ - - /* Be liberal in what you accept... - * http://en.wikipedia.org/wiki/Robustness_principle - if(st->size != 1) ... - */ - - switch(st->buf[0]) { - case 0x40: /* 01000000: PLUS-INFINITY */ - *dbl_value = INFINITY; - return 0; - case 0x41: /* 01000001: MINUS-INFINITY */ - *dbl_value = - INFINITY; - return 0; - case 0x42: /* 01000010: NOT-A-NUMBER */ - *dbl_value = NAN; - return 0; - case 0x43: /* 01000011: minus zero */ - *dbl_value = -0.0; - return 0; - } - - errno = EINVAL; - return -1; - case 0x00: { /* X.690: 8.5.7 */ - /* - * Decimal. NR{1,2,3} format from ISO 6093. - * NR1: [ ]*[+-]?[0-9]+ - * NR2: [ ]*[+-]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+) - * NR3: [ ]*[+-]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)[Ee][+-]?[0-9]+ - */ - double d; - char *source = 0; - char *endptr; - int used_malloc = 0; - - if(octv == 0 || (octv & 0x3C)) { - /* Remaining values of bits 6 to 1 are Reserved. */ - errno = EINVAL; - return -1; - } - - /* 1. By contract, an input buffer should be '\0'-terminated. - * OCTET STRING decoder ensures that, as is asn_double2REAL(). - * 2. ISO 6093 specifies COMMA as a possible decimal separator. - * However, strtod() can't always deal with COMMA. - * So her we fix both by reallocating, copying and fixing. - */ - if(st->buf[st->size] != '\0' || memchr(st->buf, ',', st->size)) { - const uint8_t *p, *end; - char *b; - - b = source = (char *)MALLOC(st->size + 1); - if(!source) return -1; - used_malloc = 1; - - /* Copy without the first byte and with 0-termination */ - for(p = st->buf + 1, end = st->buf + st->size; - p < end; b++, p++) - *b = (*p == ',') ? '.' : *p; - *b = '\0'; - } else { - source = (char *)&st->buf[1]; - } - - endptr = source; - d = strtod(source, &endptr); - if(*endptr != '\0') { - /* Format is not consistent with ISO 6093 */ - if(used_malloc) FREEMEM(source); - errno = EINVAL; - return -1; - } - if(used_malloc) FREEMEM(source); - if(asn_isfinite(d)) { - *dbl_value = d; - return 0; - } else { - errno = ERANGE; - return -1; - } - } - } - - /* - * Binary representation. - */ - { - double m; - int32_t expval; /* exponent value */ - unsigned int elen; /* exponent value length, in octets */ - int scaleF; - int baseF; - uint8_t *ptr; - uint8_t *end; - int sign; - - switch((octv & 0x30) >> 4) { - case 0x00: baseF = 1; break; /* base 2 */ - case 0x01: baseF = 3; break; /* base 8 */ - case 0x02: baseF = 4; break; /* base 16 */ - default: - /* Reserved field, can't parse now. */ - errno = EINVAL; - return -1; - } - - sign = (octv & 0x40); /* bit 7 */ - scaleF = (octv & 0x0C) >> 2; /* bits 4 to 3 */ - - if(st->size <= 1 + (octv & 0x03)) { - errno = EINVAL; - return -1; - } - - elen = (octv & 0x03); /* bits 2 to 1; 8.5.6.4 */ - if(elen == 0x03) { /* bits 2 to 1 = 11; 8.5.6.4, case d) */ - elen = st->buf[1]; /* unsigned binary number */ - if(elen == 0 || st->size <= (2 + elen)) { - errno = EINVAL; - return -1; - } - /* FIXME: verify constraints of case d) */ - ptr = &st->buf[2]; - } else { - ptr = &st->buf[1]; - } - - /* Fetch the multibyte exponent */ - expval = (int)(*(int8_t *)ptr); - if(elen >= sizeof(expval)-1) { - errno = ERANGE; - return -1; - } - end = ptr + elen + 1; - for(ptr++; ptr < end; ptr++) - expval = (expval * 256) + *ptr; - - m = 0.0; /* Initial mantissa value */ - - /* Okay, the exponent is here. Now, what about mantissa? */ - end = st->buf + st->size; - for(; ptr < end; ptr++) - m = ldexp(m, 8) + *ptr; - - if(0) - ASN_DEBUG("m=%.10f, scF=%d, bF=%d, expval=%d, ldexp()=%f, ldexp()=%f\n", - m, scaleF, baseF, expval, - ldexp(m, expval * baseF + scaleF), - ldexp(m, scaleF) * pow(pow(2, baseF), expval) - ); - - /* - * (S * N * 2^F) * B^E - * Essentially: - m = ldexp(m, scaleF) * pow(pow(2, baseF), expval); - */ - m = ldexp(m, expval * baseF + scaleF); - if(asn_isfinite(m)) { - *dbl_value = sign ? -m : m; - } else { - errno = ERANGE; - return -1; - } - - } /* if(binary_format) */ - - return 0; -} - -/* - * Assume IEEE 754 floating point: standard 64 bit double. - * [1 bit sign] [11 bits exponent] [52 bits mantissa] - */ -int -asn_double2REAL(REAL_t *st, double dbl_value) { - double test = -0.0; - int float_big_endian = *(const char *)&test != 0; - uint8_t buf[16]; /* More than enough for 8-byte dbl_value */ - uint8_t dscr[sizeof(dbl_value)]; /* double value scratch pad */ - /* Assertion guards: won't even compile, if unexpected double size */ - char assertion_buffer1[9 - sizeof(dbl_value)] CC_NOTUSED; - char assertion_buffer2[sizeof(dbl_value) - 7] CC_NOTUSED; - uint8_t *ptr = buf; - uint8_t *mstop; /* Last byte of mantissa */ - unsigned int mval; /* Value of the last byte of mantissa */ - unsigned int bmsign; /* binary mask with sign */ - unsigned int buflen; - unsigned int accum; - int expval; - - if(!st) { - errno = EINVAL; - return -1; - } - - /* - * ilogb(+-0) returns -INT_MAX or INT_MIN (platform-dependent) - * ilogb(+-inf) returns INT_MAX, logb(+-inf) returns +inf - * ilogb(NaN) returns INT_MIN or INT_MAX (platform-dependent) - */ - expval = ilogb(dbl_value); - if(expval <= -INT_MAX /* Also catches +-0 and maybe isnan() */ - || expval == INT_MAX /* catches isfin() and maybe isnan() */ - ) { - if(!st->buf || st->size < 2) { - ptr = (uint8_t *)MALLOC(2); - if(!ptr) return -1; - if(st->buf) FREEMEM(st->buf); - st->buf = ptr; - } - /* fpclassify(3) is not portable yet */ - if(asn_isnan(dbl_value)) { - st->buf[0] = 0x42; /* NaN */ - st->buf[1] = 0; - st->size = 1; - } else if(!asn_isfinite(dbl_value)) { - if(copysign(1.0, dbl_value) < 0.0) { - st->buf[0] = 0x41; /* MINUS-INFINITY */ - } else { - st->buf[0] = 0x40; /* PLUS-INFINITY */ - } - st->buf[1] = 0; - st->size = 1; - } else { - if(copysign(1.0, dbl_value) >= 0.0) { - /* no content octets: positive zero */ - st->buf[0] = 0; /* JIC */ - st->size = 0; - } else { - /* Negative zero. #8.5.3, 8.5.9 */ - st->buf[0] = 0x43; - st->buf[1] = 0; - st->size = 1; - } - } - return 0; - } - - if(float_big_endian) { - uint8_t *s = ((uint8_t *)&dbl_value) + 1; - uint8_t *end = ((uint8_t *)&dbl_value) + sizeof(double); - uint8_t *d; - - bmsign = 0x80 | ((s[-1] >> 1) & 0x40); /* binary mask & - */ - for(mstop = d = dscr; s < end; d++, s++) { - *d = *s; - if(*d) mstop = d; - } - } else { - uint8_t *s = ((uint8_t *)&dbl_value) + sizeof(dbl_value) - 2; - uint8_t *start = ((uint8_t *)&dbl_value); - uint8_t *d; - - bmsign = 0x80 | ((s[1] >> 1) & 0x40); /* binary mask & - */ - for(mstop = d = dscr; s >= start; d++, s--) { - *d = *s; - if(*d) mstop = d; - } - } - - /* Remove parts of the exponent, leave mantissa and explicit 1. */ - dscr[0] = 0x10 | (dscr[0] & 0x0f); - - /* Adjust exponent in a very unobvious way */ - expval -= 8 * ((mstop - dscr) + 1) - 4; - - /* This loop ensures DER conformance by forcing mantissa odd: 11.3.1 */ - mval = *mstop; - if(mval && !(mval & 1)) { - int shift_count = 1; - int ishift; - uint8_t *mptr; - - /* - * Figure out what needs to be done to make mantissa odd. - */ - if(!(mval & 0x0f)) /* Speed-up a little */ - shift_count = 4; - while(((mval >> shift_count) & 1) == 0) - shift_count++; - - ishift = 8 - shift_count; - accum = 0; - - /* Go over the buffer, shifting it shift_count bits right. */ - for(mptr = dscr; mptr <= mstop; mptr++) { - mval = *mptr; - *mptr = accum | (mval >> shift_count); - accum = mval << ishift; - } - - /* Adjust exponent appropriately. */ - expval += shift_count; - } - - if(expval < 0) { - if((expval >> 7) == -1) { - *ptr++ = bmsign | 0x00; - *ptr++ = expval; - } else if((expval >> 15) == -1) { - *ptr++ = bmsign | 0x01; - *ptr++ = expval >> 8; - *ptr++ = expval; - } else { - *ptr++ = bmsign | 0x02; - *ptr++ = expval >> 16; - *ptr++ = expval >> 8; - *ptr++ = expval; - } - } else if(expval <= 0x7f) { - *ptr++ = bmsign | 0x00; - *ptr++ = expval; - } else if(expval <= 0x7fff) { - *ptr++ = bmsign | 0x01; - *ptr++ = expval >> 8; - *ptr++ = expval; - } else { - assert(expval <= 0x7fffff); - *ptr++ = bmsign | 0x02; - *ptr++ = expval >> 16; - *ptr++ = expval >> 8; - *ptr++ = expval; - } - - buflen = (mstop - dscr) + 1; - memcpy(ptr, dscr, buflen); - ptr += buflen; - buflen = ptr - buf; - - ptr = (uint8_t *)MALLOC(buflen + 1); - if(!ptr) return -1; - - memcpy(ptr, buf, buflen); - buf[buflen] = 0; /* JIC */ - - if(st->buf) FREEMEM(st->buf); - st->buf = ptr; - st->size = buflen; - - return 0; -} - -int CC_ATTR_NO_SANITIZE("float-cast-overflow") -asn_double2float(double d, float *outcome) { - float f = d; - - *outcome = f; - - if(asn_isfinite(d) == asn_isfinite(f)) { - return 0; - } else { - return -1; - } -} - -#ifndef ASN_DISABLE_OER_SUPPORT - -/* - * Encode as Canonical OER - */ -asn_enc_rval_t -REAL_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const REAL_t *st = sptr; - asn_enc_rval_t er = {0,0,0}; - ssize_t len_len; - - if(!st || !st->buf || !td) - ASN__ENCODE_FAILED; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints && constraints->value.width != 0) { - /* If we're constrained to a narrow float/double representation, we - * shouldn't have ended up using REAL. Expecting NativeReal. */ - ASN__ENCODE_FAILED; - } - - /* Encode a fake REAL */ - len_len = oer_serialize_length(st->size, cb, app_key); - if(len_len < 0 || cb(st->buf, st->size, app_key) < 0) { - ASN__ENCODE_FAILED; - } else { - er.encoded = len_len + st->size; - ASN__ENCODED_OK(er); - } -} - -asn_dec_rval_t -REAL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - asn_dec_rval_t ok = {RC_OK, 0}; - REAL_t *st; - uint8_t *buf; - ssize_t len_len; - size_t real_body_len; - - (void)opt_codec_ctx; - - if(!constraints) constraints = td->encoding_constraints.oer_constraints; - if(constraints && constraints->value.width != 0) { - /* If we're constrained to a narrow float/double representation, we - * shouldn't have ended up using REAL. Expecting NativeReal. */ - ASN__DECODE_FAILED; - } - - len_len = oer_fetch_length(ptr, size, &real_body_len); - if(len_len < 0) ASN__DECODE_FAILED; - if(len_len == 0) ASN__DECODE_STARVED; - - ptr = (const char *)ptr + len_len; - size -= len_len; - - if(real_body_len > size) ASN__DECODE_STARVED; - - buf = CALLOC(1, real_body_len + 1); - if(!buf) ASN__DECODE_FAILED; - - if(!(st = *sptr)) { - st = (*sptr = CALLOC(1, sizeof(REAL_t))); - if(!st) { - FREEMEM(buf); - ASN__DECODE_FAILED; - } - } else { - FREEMEM(st->buf); - } - - memcpy(buf, ptr, real_body_len); - buf[real_body_len] = '\0'; - - st->buf = buf; - st->size = real_body_len; - - ok.consumed = len_len + real_body_len; - return ok; -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -REAL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - (void)constraints; /* No PER visible constraints */ - return OCTET_STRING_decode_uper(opt_codec_ctx, td, 0, sptr, pd); -} - -asn_enc_rval_t -REAL_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - (void)constraints; /* No PER visible constraints */ - return OCTET_STRING_encode_uper(td, 0, sptr, po); -} - -asn_dec_rval_t -REAL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd) { - (void)constraints; /* No PER visible constraints */ - return OCTET_STRING_decode_aper(opt_codec_ctx, td, 0, sptr, pd); -} - -asn_enc_rval_t -REAL_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - (void)constraints; /* No PER visible constraints */ - return OCTET_STRING_encode_aper(td, 0, sptr, po); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -asn_random_fill_result_t -REAL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - static const double values[] = { - 0, -0.0, -1, 1, -M_E, M_E, -3.14, 3.14, -M_PI, M_PI, -255, 255, - /* 2^51 */ - -2251799813685248.0, 2251799813685248.0, - /* 2^52 */ - -4503599627370496.0, 4503599627370496.0, - /* 2^100 */ - -1267650600228229401496703205376.0, 1267650600228229401496703205376.0, - -FLT_MIN, FLT_MIN, - -FLT_MAX, FLT_MAX, - -DBL_MIN, DBL_MIN, - -DBL_MAX, DBL_MAX, -#ifdef FLT_TRUE_MIN - -FLT_TRUE_MIN, FLT_TRUE_MIN, -#endif -#ifdef DBL_TRUE_MIN - -DBL_TRUE_MIN, DBL_TRUE_MIN, -#endif - INFINITY, -INFINITY, NAN}; - REAL_t *st; - double d; - - (void)constraints; - - if(max_length == 0) return result_skipped; - - d = values[asn_random_between(0, sizeof(values) / sizeof(values[0]) - 1)]; - - if(*sptr) { - st = *sptr; - } else { - st = (REAL_t*)(*sptr = CALLOC(1, sizeof(REAL_t))); - if(!st) { - return result_failed; - } - } - - if(asn_double2REAL(st, d)) { - if(st == *sptr) { - ASN_STRUCT_RESET(*td, st); - } else { - ASN_STRUCT_FREE(*td, st); - } - return result_failed; - } - - result_ok.length = st->size; - return result_ok; -} - diff --git a/skeletons/REAL.h b/skeletons/REAL.h deleted file mode 100644 index fce6714..0000000 --- a/skeletons/REAL.h +++ /dev/null @@ -1,67 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_TYPE_REAL_H -#define ASN_TYPE_REAL_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef ASN__PRIMITIVE_TYPE_t REAL_t; - -extern asn_TYPE_descriptor_t asn_DEF_REAL; -extern asn_TYPE_operation_t asn_OP_REAL; - -asn_struct_print_f REAL_print; -asn_struct_compare_f REAL_compare; -oer_type_decoder_f REAL_decode_oer; -oer_type_encoder_f REAL_encode_oer; -per_type_decoder_f REAL_decode_uper; -per_type_encoder_f REAL_encode_uper; -per_type_decoder_f REAL_decode_aper; -per_type_encoder_f REAL_encode_aper; -xer_type_decoder_f REAL_decode_xer; -xer_type_encoder_f REAL_encode_xer; -asn_random_fill_f REAL_random_fill; - -#define REAL_free ASN__PRIMITIVE_TYPE_free, -#define REAL_constraint asn_generic_no_constraint -#define REAL_decode_ber ber_decode_primitive -#define REAL_encode_der der_encode_primitive - -/*********************************** - * Some handy conversion routines. * - ***********************************/ - -ssize_t REAL__dump(double d, int canonical, asn_app_consume_bytes_f *cb, void *app_key); - -/* - * Convert between native double type and REAL representation (DER). - * RETURN VALUES: - * 0: Value converted successfully - * -1: An error occured while converting the value: invalid format. - */ -int asn_REAL2double(const REAL_t *real_ptr, double *d); -int asn_double2REAL(REAL_t *real_ptr, double d); - -/* - * Downcast double to float while checking that no overflow occurs. - * This allows stricter control of the input data. - * RETURN VALUES: - * 0: The conversion was successful (perhaps with a loss of precision) - * -1: The conversion created overflow into infinities. - * The (outcome) is ALWAYS set to a value you'd expect from the - * standard silent float to double conversion behavior. - */ -int asn_double2float(double d, float *outcome); - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_TYPE_REAL_H */ diff --git a/skeletons/RELATIVE-OID.c b/skeletons/RELATIVE-OID.c deleted file mode 100644 index 300dc1a..0000000 --- a/skeletons/RELATIVE-OID.c +++ /dev/null @@ -1,336 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include /* Encoder and decoder of a primitive type */ -#include /* for CHAR_BIT */ -#include - -/* - * RELATIVE-OID basic type description. - */ -static const ber_tlv_tag_t asn_DEF_RELATIVE_OID_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)) -}; -asn_TYPE_operation_t asn_OP_RELATIVE_OID = { - ASN__PRIMITIVE_TYPE_free, - RELATIVE_OID_print, - OCTET_STRING_compare, /* Implemented in terms of opaque comparison */ - ber_decode_primitive, - der_encode_primitive, - RELATIVE_OID_decode_xer, - RELATIVE_OID_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - RELATIVE_OID_decode_oer, - RELATIVE_OID_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - RELATIVE_OID_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID = { - "RELATIVE-OID", - "RELATIVE_OID", - &asn_OP_RELATIVE_OID, - asn_DEF_RELATIVE_OID_tags, - sizeof(asn_DEF_RELATIVE_OID_tags) - / sizeof(asn_DEF_RELATIVE_OID_tags[0]), - asn_DEF_RELATIVE_OID_tags, /* Same as above */ - sizeof(asn_DEF_RELATIVE_OID_tags) - / sizeof(asn_DEF_RELATIVE_OID_tags[0]), - { 0, 0, asn_generic_no_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -static ssize_t -RELATIVE_OID__dump_body(const RELATIVE_OID_t *st, asn_app_consume_bytes_f *cb, void *app_key) { - char scratch[32]; - size_t produced = 0; - size_t off = 0; - - for(;;) { - asn_oid_arc_t arc; - ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, - st->size - off, &arc); - if(rd < 0) { - return -1; - } else if(rd == 0) { - /* No more arcs. */ - break; - } else { - int ret = snprintf(scratch, sizeof(scratch), "%s%" PRIu32, - off ? "." : "", arc); - if(ret >= (ssize_t)sizeof(scratch)) { - return -1; - } - produced += ret; - off += rd; - assert(off <= st->size); - if(cb(scratch, ret, app_key) < 0) return -1; - } - } - - if(off != st->size) { - ASN_DEBUG("Could not scan to the end of Object Identifier"); - return -1; - } - - return produced; -} - -int -RELATIVE_OID_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - const RELATIVE_OID_t *st = (const RELATIVE_OID_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(!st || !st->buf) - return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* Dump preamble */ - if(cb("{ ", 2, app_key) < 0) - return -1; - - if(RELATIVE_OID__dump_body(st, cb, app_key) < 0) - return -1; - - return (cb(" }", 2, app_key) < 0) ? -1 : 0; -} - -static enum xer_pbd_rval -RELATIVE_OID__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, - const void *chunk_buf, size_t chunk_size) { - RELATIVE_OID_t *st = (RELATIVE_OID_t *)sptr; - const char *chunk_end = (const char *)chunk_buf + chunk_size; - const char *endptr; - asn_oid_arc_t s_arcs[6]; - asn_oid_arc_t *arcs = s_arcs; - ssize_t num_arcs; - int ret; - - (void)td; - - num_arcs = OBJECT_IDENTIFIER_parse_arcs( - (const char *)chunk_buf, chunk_size, arcs, - sizeof(s_arcs) / sizeof(s_arcs[0]), &endptr); - if(num_arcs < 0) { - /* Expecting at least one arc arcs */ - return XPBD_BROKEN_ENCODING; - } else if(num_arcs == 0) { - return XPBD_NOT_BODY_IGNORE; - } - assert(endptr == chunk_end); - - if((size_t)num_arcs > sizeof(s_arcs) / sizeof(s_arcs[0])) { - arcs = (asn_oid_arc_t *)MALLOC(num_arcs * sizeof(arcs[0])); - if(!arcs) return XPBD_SYSTEM_FAILURE; - ret = OBJECT_IDENTIFIER_parse_arcs((const char *)chunk_buf, chunk_size, - arcs, num_arcs, &endptr); - if(ret != num_arcs) { - return XPBD_SYSTEM_FAILURE; /* assert?.. */ - } - } - - /* - * Convert arcs into BER representation. - */ - ret = RELATIVE_OID_set_arcs(st, arcs, num_arcs); - if(arcs != s_arcs) FREEMEM(arcs); - - return ret ? XPBD_SYSTEM_FAILURE : XPBD_BODY_CONSUMED; -} - -asn_dec_rval_t -RELATIVE_OID_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - return xer_decode_primitive(opt_codec_ctx, td, - sptr, sizeof(RELATIVE_OID_t), opt_mname, - buf_ptr, size, RELATIVE_OID__xer_body_decode); -} - -asn_enc_rval_t -RELATIVE_OID_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const RELATIVE_OID_t *st = (const RELATIVE_OID_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; /* Unused argument */ - (void)flags; /* Unused argument */ - - if(!st || !st->buf) - ASN__ENCODE_FAILED; - - er.encoded = RELATIVE_OID__dump_body(st, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -ssize_t -RELATIVE_OID_get_arcs(const RELATIVE_OID_t *st, asn_oid_arc_t *arcs, - size_t arcs_count) { - size_t num_arcs = 0; - size_t off; - - if(!st || !st->buf) { - errno = EINVAL; - return -1; - } - - for(off = 0;;) { - asn_oid_arc_t arc; - ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, - st->size - off, &arc); - if(rd < 0) { - return -1; - } else if(rd == 0) { - /* No more arcs. */ - break; - } else { - off += rd; - if(num_arcs < arcs_count) { - arcs[num_arcs] = arc; - } - num_arcs++; - } - } - - if(off != st->size) { - return -1; - } - - return num_arcs; -} - -int -RELATIVE_OID_set_arcs(RELATIVE_OID_t *st, const asn_oid_arc_t *arcs, - size_t arcs_count) { - uint8_t *buf; - uint8_t *bp; - size_t size; - size_t i; - - if(!st || !arcs) { - errno = EINVAL; - return -1; - } - - /* - * Roughly estimate the maximum size necessary to encode these arcs. - */ - size = ((sizeof(asn_oid_arc_t) * CHAR_BIT + 6) / 7) * arcs_count; - bp = buf = (uint8_t *)MALLOC(size + 1); - if(!buf) { - /* ENOMEM */ - return -1; - } - - /* - * Encode the arcs. - */ - for(i = 0; i < arcs_count; i++) { - ssize_t wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arcs[i]); - if(wrote <= 0) { - FREEMEM(buf); - return -1; - } - assert((size_t)wrote <= size); - bp += wrote; - size -= wrote; - } - - /* - * Replace buffer. - */ - st->size = bp - buf; - bp = st->buf; - st->buf = buf; - st->buf[st->size] = '\0'; - if(bp) FREEMEM(bp); - - return 0; -} - - -/* - * Generate values from the list of interesting values, or just a random value. - */ -static asn_oid_arc_t -RELATIVE_OID__biased_random_arc() { - static const uint16_t values[] = {0, 1, 127, 128, 129, 254, 255, 256}; - - switch(asn_random_between(0, 2)) { - case 0: - return values[asn_random_between( - 0, sizeof(values) / sizeof(values[0]) - 1)]; - case 1: - return asn_random_between(0, UINT_MAX); - case 2: - default: - return UINT_MAX; - } -} - -asn_random_fill_result_t -RELATIVE_OID_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - RELATIVE_OID_t *st; - const int min_arcs = 1; /* A minimum of 1 arc is required */ - asn_oid_arc_t arcs[3]; - size_t arcs_len = - asn_random_between(min_arcs, sizeof(arcs) / sizeof(arcs[0])); - size_t i; - - (void)constraints; - - if(max_length < arcs_len) return result_skipped; - - if(*sptr) { - st = *sptr; - } else { - st = CALLOC(1, sizeof(*st)); - } - - for(i = 0; i < arcs_len; i++) { - arcs[i] = RELATIVE_OID__biased_random_arc(); - } - - if(RELATIVE_OID_set_arcs(st, arcs, arcs_len)) { - if(st != *sptr) { - ASN_STRUCT_FREE(*td, st); - } - return result_failed; - } - - *sptr = st; - - result_ok.length = st->size; - return result_ok; -} diff --git a/skeletons/RELATIVE-OID.h b/skeletons/RELATIVE-OID.h deleted file mode 100644 index a51bf51..0000000 --- a/skeletons/RELATIVE-OID.h +++ /dev/null @@ -1,53 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _RELATIVE_OID_H_ -#define _RELATIVE_OID_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Implemented via OBJECT IDENTIFIER */ -typedef OBJECT_IDENTIFIER_t RELATIVE_OID_t; - -extern asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID; -extern asn_TYPE_operation_t asn_OP_RELATIVE_OID; - -asn_struct_print_f RELATIVE_OID_print; -xer_type_decoder_f RELATIVE_OID_decode_xer; -xer_type_encoder_f RELATIVE_OID_encode_xer; -asn_random_fill_f RELATIVE_OID_random_fill; - -#define RELATIVE_OID_free ASN__PRIMITIVE_TYPE_free -#define RELATIVE_OID_compare OCTET_STRING_compare -#define RELATIVE_OID_constraint asn_generic_no_constraint -#define RELATIVE_OID_decode_ber ber_decode_primitive -#define RELATIVE_OID_encode_der der_encode_primitive -#define RELATIVE_OID_decode_oer oer_decode_primitive -#define RELATIVE_OID_encode_oer oer_encode_primitive -#define RELATIVE_OID_decode_uper OCTET_STRING_decode_uper -#define RELATIVE_OID_encode_uper OCTET_STRING_encode_uper -#define RELATIVE_OID_decode_aper OCTET_STRING_decode_aper -#define RELATIVE_OID_encode_aper OCTET_STRING_encode_aper - -/********************************** - * Some handy conversion routines * - **********************************/ - -/* See OBJECT_IDENTIFIER_get_arcs() function in OBJECT_IDENTIFIER.h */ -ssize_t RELATIVE_OID_get_arcs(const RELATIVE_OID_t *, asn_oid_arc_t *arcs, - size_t arcs_count); - -/* See OBJECT_IDENTIFIER_set_arcs() function in OBJECT_IDENTIFIER.h */ -int RELATIVE_OID_set_arcs(RELATIVE_OID_t *, const asn_oid_arc_t *arcs, - size_t arcs_count); - -#ifdef __cplusplus -} -#endif - -#endif /* _RELATIVE_OID_H_ */ diff --git a/skeletons/T61String.c b/skeletons/T61String.c deleted file mode 100644 index d3de88b..0000000 --- a/skeletons/T61String.c +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * T61String basic type description. - */ -static const ber_tlv_tag_t asn_DEF_T61String_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (20 << 2)), /* [UNIVERSAL 20] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_T61String = { - OCTET_STRING_free, - OCTET_STRING_print, /* non-ascii string */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_T61String = { - "T61String", - "T61String", - &asn_OP_T61String, - asn_DEF_T61String_tags, - sizeof(asn_DEF_T61String_tags) - / sizeof(asn_DEF_T61String_tags[0]) - 1, - asn_DEF_T61String_tags, - sizeof(asn_DEF_T61String_tags) - / sizeof(asn_DEF_T61String_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/skeletons/T61String.h b/skeletons/T61String.h deleted file mode 100644 index 9e9e380..0000000 --- a/skeletons/T61String.h +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _T61String_H_ -#define _T61String_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t T61String_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_T61String; -extern asn_TYPE_operation_t asn_OP_T61String; - -#define T61String_free OCTET_STRING_free -#define T61String_print OCTET_STRING_print -#define T61String_compare OCTET_STRING_compare -#define T61String_constraint asn_generic_unknown_constraint -#define T61String_decode_ber OCTET_STRING_decode_ber -#define T61String_encode_der OCTET_STRING_encode_der -#define T61String_decode_xer OCTET_STRING_decode_xer_hex -#define T61String_encode_xer OCTET_STRING_encode_xer -#define T61String_decode_uper OCTET_STRING_decode_uper -#define T61String_encode_uper OCTET_STRING_encode_uper -#define T61String_decode_aper OCTET_STRING_decode_aper -#define T61String_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _T61String_H_ */ diff --git a/skeletons/TeletexString.c b/skeletons/TeletexString.c deleted file mode 100644 index 9756c72..0000000 --- a/skeletons/TeletexString.c +++ /dev/null @@ -1,194 +0,0 @@ -/*- - * Copyright (c) 2003, 2006 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * TeletexString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_TeletexString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (20 << 2)), /* [UNIVERSAL 20] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_TeletexString = { - OCTET_STRING_free, - OCTET_STRING_print, /* non-ascii string */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_TeletexString = { - "TeletexString", - "TeletexString", - &asn_OP_TeletexString, - asn_DEF_TeletexString_tags, - sizeof(asn_DEF_TeletexString_tags) - / sizeof(asn_DEF_TeletexString_tags[0]) - 1, - asn_DEF_TeletexString_tags, - sizeof(asn_DEF_TeletexString_tags) - / sizeof(asn_DEF_TeletexString_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -/* - * Here is a formal attempt at creating a mapping from TeletexString - * (T61String) of the latest ASN.1 standard (X.680:2002) into the Unicode - * character set. -- Lev Walkin - * - * The first thing to keep in mind is that TeletexString (T61String) - * is defined in ASN.1, and is not really a T.61 string. - * The T.61 standard is withdrawn by ITU-T and is no longer an authoritative - * reference. See http://www.itu.int/rec/T-REC-T.61 - * - * The X.680 specifies TeletexString (T61String) as a combination of the - * character sets specified by the registration numbers listed in - * ISO International Register of Coded Character Sets to be used with - * Escape Sequences (ISO-2375): - * 6, 87, 102, 103, 106, 107, 126, 144, 150, 153, 156, 164, 165, 168, - * plus SPACE and DELETE characters. - * In addition to that, the X.680 Table 6 NOTE 2 allows using register entries - * 6 and 156 instead of 102 and 103. - * - * The ISO Register itself is available at http://www.itscj.ipsj.or.jp/ISO-IR/ - * - * #6 is ASCII. http://www.itscj.ipsj.or.jp/ISO-IR/006.pdf - * Escapes into: - * G0: ESC 2/8 4/2 ("(B") - * G1: ESC 2/9 4/2 (")B") - * The range is [0x21 .. 0x7e]. Conversion into Unicode - * is simple, because it has one-to-one correspondence. - * #87 is a "Japanese Graphic Character Set for Information Interchange". - * Is a multiple-byte set of 6877 characters. - * The character set is JIS X 0208-1983 (originally JIS C 6226-1983). - * Escapes into: - * G0: ESC 2/4 4/2 ("$B") - * G1: ESC 2/4 2/9 4/2 ("$)B") - * G2: ESC 2/4 2/10 4/2 ("$*B") - * G3: ESC 2/4 2/11 4/2 ("$+B") - * #102 is "Teletex Primary Set of Graphic Characters" and is almost ASCII. - * Escapes into: - * G0: ESC 2/8 7/5 ("(u") - * G1: ESC 2/9 7/5 (")u") - * G2: ESC 2/10 7/5 ("*u") - * G3: ESC 2/11 7/5 ("+u") - * It is almost identical to ASCII, except for ASCII position for '$' - * (DOLLAR SIGN) is filled with '¤' (CURRENCY SIGN), which is U+00A4. - * Also, ASCII positions for '`', '\', '^', '{', '}', '~' are marked - * as "should not be used". - * #103 is a supplementary set of characters used in combination with #102. - * Escapes into: - * G0: ESC 2/8 7/6 ("(v") - * G1: ESC 2/9 7/6 (")v") - * G2: ESC 2/10 7/6 ("*v") - * G3: ESC 2/11 7/6 ("+v") - * Some characters in that character set are combining characters, - * which can only be restrictively used with certain basic Latin letters. - * It can be thought of as a subset of #156 with the exception of 4/12 - * which is UNDERLINE in #103 and absent in #156. - * #106 is a primary set of control functions, used in combination with #107. - * Escapes into: - * C0: ESC 2/1 4/5 ("!E") - * This set is so short I can list it here: - * 0x08 BS BACKSPACE -- same as Unicode - * 0x0a LF LINE FEED -- same as Unicode - * 0x0c FF FORM FEED -- same as Unicode - * 0x0d CR CARRIAGE RETURN -- same as Unicode - * 0x0e LS1 LOCKING SHIFT ONE - * 0x0f LS0 LOCKING SHIFT ZERO - * 0x19 SS2 SINGLE SHIFT TWO - * 0x1a SUB SUBSTITUTE CHARACTER - * 0x1b ESC ESCAPE -- same as Unicode - * 0x1d SS3 SINGLE SHIFT THREE - * The LS1 and LS0 are two magical functions which, respectively, invoke - * the currently designated G1 or G0 set into positions 2/1 to 7/14 - * The SS2 and SS3, respectively, invoke one character of the - * currently designated set G2 and G3. - * The SUB is wholly equivalent to U+001a (SUBSTITUTE) - * #107 is a supplementary set of control functions, used with #106. - * Escapes into: - * C1: ESC 2/2 4/8 ('"H') - * This set contains three special control codes: - * 0x8b PLD PARTIAL LINE DOWN -- similar to - * 0x8c PLU PARTIAL LINE UP -- sumilar to - * 0x9b CSI CONTROL SEQUENCE INTRODUCER - * This set is so out of world we can probably safely ignore it. - * #126 is a "Right-hand Part of the Latin/Greek Alphabet". - * Comprises of 90 characters, including accented letters. - * Escapes into: - * G1: ESC 2/13 4/6 ("-F") - * G2: ESC 2/14 4/6 (".F") - * G3: ESC 2/15 4/6 ("/F") - * Note: This Registration is a subset of ISO-IR 227. - * #144 is a "Cyrillic part of the Latin/Cyrillic Alphabet". - * Comprises of 95 characters. - * Escapes into: - * G1: ESC 2/13 4/12 ("-L") - * G2: ESC 2/14 4/12 (".L") - * G3: ESC 2/15 4/12 ("/L") - * #150 is a "Greek Primary Set of Graphic Characters". - * Comprises of 94 characters. - * Escapes into: - * G0: ESC 2/8 2/1 4/0 ("(!@") - * G1: ESC 2/9 2/1 4/0 (")!@") - * G2: ESC 2/10 2/1 4/0 ("*!@") - * G3: ESC 2/11 2/1 4/0 ("+!@") - * #153 is a "Basic Cyrillic Character Set for 8-bit codes". - * Comprises of 68 characters. - * Escapes into: - * G1: ESC 2/13 4/15 ("-O") - * G2: ESC 2/14 4/15 (".O") - * G3: ESC 2/15 4/15 ("/O") - * #156 is a "Supplementary Set of ISO/IEC 6937:1992" for use with #6 - * Comprises of 87 characters. - * Escapes into: - * G1: ESC 2/13 5/2 ("-R") - * G2: ESC 2/14 5/2 (".R") - * G3: ESC 2/15 5/2 ("/R") - * #164 is a "Hebrew Supplementary Set of Graphic Characters" - * Comprises of 27 characters. - * Escapes into: - * G1: ESC 2/13 5/3 ("-S") - * G2: ESC 2/14 5/3 (".S") - * G3: ESC 2/15 5/3 ("/S") - * #165 is a set of "Codes of the Chinese graphic character set" - * Is a multiple-byte set of 8446 characters. - * Escapes into: - * G0: ESC 2/4 2/8 4/5 ("$(E") - * G1: ESC 2/4 2/9 4/5 ("$)E") - * G2: ESC 2/4 2/10 4/5 ("$*E") - * G3: ESC 2/4 2/11 4/5 ("$+E") - * #168 is a "Japanese Graphic Character Set for Information Interchange" - * A multiple-byte set of 6879 characters updated from #87. - * Escapes into: - * G0: ESC 2/6 4/0 ESC 2/4 4/2 ("&@" "$B") - * G1: ESC 2/6 4/0 ESC 2/4 2/9 4/2 ("&@" "$)B") - * G2: ESC 2/6 4/0 ESC 2/4 2/10 4/2 ("&@" "$*B") - * G3: ESC 2/6 4/0 ESC 2/4 2/11 4/2 ("&@" "$+B") - */ - diff --git a/skeletons/TeletexString.h b/skeletons/TeletexString.h deleted file mode 100644 index 9f04aef..0000000 --- a/skeletons/TeletexString.h +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _TeletexString_H_ -#define _TeletexString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t TeletexString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_TeletexString; -extern asn_TYPE_operation_t asn_OP_TeletexString; - -#define TeletexString_free OCTET_STRING_free -#define TeletexString_print OCTET_STRING_print -#define TeletexString_compare OCTET_STRING_compare -#define TeletexString_constraint asn_generic_unknown_constraint -#define TeletexString_decode_ber OCTET_STRING_decode_ber -#define TeletexString_encode_der OCTET_STRING_encode_der -#define TeletexString_decode_xer OCTET_STRING_decode_xer_hex -#define TeletexString_encode_xer OCTET_STRING_encode_xer -#define TeletexString_decode_uper OCTET_STRING_decode_uper -#define TeletexString_encode_uper OCTET_STRING_encode_uper -#define TeletexString_decode_aper OCTET_STRING_decode_aper -#define TeletexString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _TeletexString_H_ */ diff --git a/skeletons/UTCTime.c b/skeletons/UTCTime.c deleted file mode 100644 index 07891ac..0000000 --- a/skeletons/UTCTime.c +++ /dev/null @@ -1,277 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include - -#ifdef __CYGWIN__ -#include "/usr/include/time.h" -#else -#include -#endif /* __CYGWIN__ */ - -#ifndef ASN___INTERNAL_TEST_MODE - -/* - * UTCTime basic type description. - */ -static const ber_tlv_tag_t asn_DEF_UTCTime_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (23 << 2)), /* [UNIVERSAL 23] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static asn_per_constraints_t asn_DEF_UTCTime_constraints = { - { APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - 0, 0 -}; -asn_TYPE_operation_t asn_OP_UTCTime = { - OCTET_STRING_free, - UTCTime_print, - UTCTime_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_decode_xer_utf8, - UTCTime_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - UTCTime_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_UTCTime = { - "UTCTime", - "UTCTime", - &asn_OP_UTCTime, - asn_DEF_UTCTime_tags, - sizeof(asn_DEF_UTCTime_tags) - / sizeof(asn_DEF_UTCTime_tags[0]) - 2, - asn_DEF_UTCTime_tags, - sizeof(asn_DEF_UTCTime_tags) - / sizeof(asn_DEF_UTCTime_tags[0]), - { 0, &asn_DEF_UTCTime_constraints, UTCTime_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -#endif /* ASN___INTERNAL_TEST_MODE */ - -/* - * Check that the time looks like the time. - */ -int -UTCTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTCTime_t *st = (const UTCTime_t *)sptr; - time_t tloc; - - errno = EPERM; /* Just an unlikely error code */ - tloc = asn_UT2time(st, 0, 0); - if(tloc == -1 && errno != EPERM) { - ASN__CTFAIL(app_key, td, sptr, "%s: Invalid time format: %s (%s:%d)", - td->name, strerror(errno), __FILE__, __LINE__); - return -1; - } - - return 0; -} - -#ifndef ASN___INTERNAL_TEST_MODE - -asn_enc_rval_t -UTCTime_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - if(flags & XER_F_CANONICAL) { - asn_enc_rval_t rv; - UTCTime_t *ut; - struct tm tm; - - errno = EPERM; - if(asn_UT2time((const UTCTime_t *)sptr, &tm, 1) == -1 - && errno != EPERM) - ASN__ENCODE_FAILED; - - /* Fractions are not allowed in UTCTime */ - ut = asn_time2UT(0, &tm, 1); - if(!ut) ASN__ENCODE_FAILED; - - rv = OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, - cb, app_key); - OCTET_STRING_free(&asn_DEF_UTCTime, ut, 0); - return rv; - } else { - return OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, - cb, app_key); - } -} - -#endif /* ASN___INTERNAL_TEST_MODE */ - -int -UTCTime_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const UTCTime_t *st = (const UTCTime_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(st && st->buf) { - char buf[32]; - struct tm tm; - int ret; - - errno = EPERM; - if(asn_UT2time(st, &tm, 1) == -1 && errno != EPERM) - return (cb("", 11, app_key) < 0) ? -1 : 0; - - ret = snprintf(buf, sizeof(buf), - "%04d-%02d-%02d %02d:%02d:%02d (GMT)", - tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, - tm.tm_hour, tm.tm_min, tm.tm_sec); - assert(ret > 0 && ret < (int)sizeof(buf)); - return (cb(buf, ret, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -time_t -asn_UT2time(const UTCTime_t *st, struct tm *_tm, int as_gmt) { - char buf[24]; /* "AAMMJJhhmmss+hhmm" + cushion */ - GeneralizedTime_t gt; - - if(!st || !st->buf - || st->size < 11 || st->size >= ((int)sizeof(buf) - 2)) { - errno = EINVAL; - return -1; - } - - gt.buf = (unsigned char *)buf; - gt.size = st->size + 2; - memcpy(gt.buf + 2, st->buf, st->size); - if(st->buf[0] > 0x35) { - /* 19xx */ - gt.buf[0] = 0x31; - gt.buf[1] = 0x39; - } else { - /* 20xx */ - gt.buf[0] = 0x32; - gt.buf[1] = 0x30; - } - - return asn_GT2time(>, _tm, as_gmt); -} - -UTCTime_t * -asn_time2UT(UTCTime_t *opt_ut, const struct tm *tm, int force_gmt) { - GeneralizedTime_t *gt = (GeneralizedTime_t *)opt_ut; - - gt = asn_time2GT(gt, tm, force_gmt); - if(gt == 0) return 0; - - assert(gt->size >= 2); - gt->size -= 2; - memmove(gt->buf, gt->buf + 2, gt->size + 1); - - return (UTCTime_t *)gt; -} - - -asn_random_fill_result_t -UTCTime_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - static const char *values[] = { - "700101000000", "700101000000-0000", "700101000000+0000", - "700101000000Z", "821106210623", "691106210827-0500", - "821106210629Z", - }; - size_t rnd = asn_random_between(0, sizeof(values)/sizeof(values[0])-1); - - (void)constraints; - - if(max_length < sizeof("yymmddhhmmss") && !*sptr) { - return result_skipped; - } - - if(*sptr) { - if(OCTET_STRING_fromBuf(*sptr, values[rnd], -1) != 0) { - if(!sptr) return result_failed; - } - } else { - *sptr = OCTET_STRING_new_fromBuf(td, values[rnd], -1); - if(!sptr) return result_failed; - } - - return result_ok; -} - -int -UTCTime_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const GeneralizedTime_t *a = aptr; - const GeneralizedTime_t *b = bptr; - - (void)td; - - if(a && b) { - time_t at, bt; - int aerr, berr; - - errno = EPERM; - at = asn_UT2time(a, 0, 0); - aerr = errno; - errno = EPERM; - bt = asn_UT2time(b, 0, 0); - berr = errno; - - if(at == -1 && aerr != EPERM) { - if(bt == -1 && berr != EPERM) { - return OCTET_STRING_compare(td, aptr, bptr); - } else { - return -1; - } - } else if(bt == -1 && berr != EPERM) { - return 1; - } else { - /* Both values are valid. */ - } - - if(at < bt) { - return -1; - } else if(at > bt) { - return 1; - } else { - return 0; - } - } else if(!a && !b) { - return 0; - } else if(!a) { - return -1; - } else { - return 1; - } -} - diff --git a/skeletons/UTCTime.h b/skeletons/UTCTime.h deleted file mode 100644 index 295f156..0000000 --- a/skeletons/UTCTime.h +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UTCTime_H_ -#define _UTCTime_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t UTCTime_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_UTCTime; -extern asn_TYPE_operation_t asn_OP_UTCTime; - -asn_struct_print_f UTCTime_print; -asn_struct_compare_f UTCTime_compare; -asn_constr_check_f UTCTime_constraint; -xer_type_encoder_f UTCTime_encode_xer; -asn_random_fill_f UTCTime_random_fill; - -#define UTCTime_free OCTET_STRING_free -#define UTCTime_decode_ber OCTET_STRING_decode_ber -#define UTCTime_encode_der OCTET_STRING_encode_der -#define UTCTime_decode_xer OCTET_STRING_decode_xer_utf8 -#define UTCTime_decode_uper OCTET_STRING_decode_uper -#define UTCTime_encode_uper OCTET_STRING_encode_uper -#define UTCTime_decode_aper OCTET_STRING_decode_aper -#define UTCTime_encode_aper OCTET_STRING_encode_aper - -/*********************** - * Some handy helpers. * - ***********************/ - -struct tm; /* */ - -/* See asn_GT2time() in GeneralizedTime.h */ -time_t asn_UT2time(const UTCTime_t *, struct tm *_optional_tm4fill, int as_gmt); - -/* See asn_time2GT() in GeneralizedTime.h */ -UTCTime_t *asn_time2UT(UTCTime_t *__opt_ut, const struct tm *, int force_gmt); - -#ifdef __cplusplus -} -#endif - -#endif /* _UTCTime_H_ */ diff --git a/skeletons/UTF8String.c b/skeletons/UTF8String.c deleted file mode 100644 index c023ca1..0000000 --- a/skeletons/UTF8String.c +++ /dev/null @@ -1,294 +0,0 @@ -/*- - * Copyright (c) 2003, 2004, 2006 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * UTF8String basic type description. - */ -static const ber_tlv_tag_t asn_DEF_UTF8String_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), /* [UNIVERSAL 12] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_UTF8String = { - OCTET_STRING_free, - UTF8String_print, - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - UTF8String_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_UTF8String = { - "UTF8String", - "UTF8String", - &asn_OP_UTF8String, - asn_DEF_UTF8String_tags, - sizeof(asn_DEF_UTF8String_tags) - / sizeof(asn_DEF_UTF8String_tags[0]) - 1, - asn_DEF_UTF8String_tags, - sizeof(asn_DEF_UTF8String_tags) - / sizeof(asn_DEF_UTF8String_tags[0]), - { 0, 0, UTF8String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -/* - * This is the table of length expectations. - * The second half of this table is only applicable to the long sequences. - */ -static const int UTF8String_ht[2][16] = { - { /* 0x0 ... 0x7 */ - /* 0000..0111 */ - 1, 1, 1, 1, 1, 1, 1, 1, - /* 1000..1011(0), 1100..1101(2), 1110(3), 1111(-1) */ - 0, 0, 0, 0, 2, 2, 3, -1 }, - { /* 0xF0 .. 0xF7 */ - /* 11110000..11110111 */ - 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 6, 6, -1, -1 } -}; -static const int32_t UTF8String_mv[7] = { 0, 0, - 0x00000080, - 0x00000800, - 0x00010000, - 0x00200000, - 0x04000000 -}; - -/* Internal aliases for return codes */ -#define U8E_TRUNC -1 /* UTF-8 sequence truncated */ -#define U8E_ILLSTART -2 /* Illegal UTF-8 sequence start */ -#define U8E_NOTCONT -3 /* Continuation expectation failed */ -#define U8E_NOTMIN -4 /* Not minimal length encoding */ -#define U8E_EINVAL -5 /* Invalid arguments */ - -int -UTF8String_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - ssize_t len = UTF8String_length((const UTF8String_t *)sptr); - switch(len) { - case U8E_EINVAL: - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given", td->name); - break; - case U8E_TRUNC: - ASN__CTFAIL(app_key, td, sptr, - "%s: truncated UTF-8 sequence (%s:%d)", - td->name, __FILE__, __LINE__); - break; - case U8E_ILLSTART: - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8 illegal start of encoding (%s:%d)", - td->name, __FILE__, __LINE__); - break; - case U8E_NOTCONT: - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8 not continuation (%s:%d)", - td->name, __FILE__, __LINE__); - break; - case U8E_NOTMIN: - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8 not minimal sequence (%s:%d)", - td->name, __FILE__, __LINE__); - break; - } - return (len < 0) ? -1 : 0; -} - -static ssize_t -UTF8String__process(const UTF8String_t *st, uint32_t *dst, size_t dstlen) { - size_t length; - uint8_t *buf = st->buf; - uint8_t *end = buf + st->size; - uint32_t *dstend = dst + dstlen; - - for(length = 0; buf < end; length++) { - int ch = *buf; - uint8_t *cend; - int32_t value; - int want; - - /* Compute the sequence length */ - want = UTF8String_ht[0][ch >> 4]; - switch(want) { - case -1: - /* Second half of the table, long sequence */ - want = UTF8String_ht[1][ch & 0x0F]; - if(want != -1) break; - /* Fall through */ - case 0: - return U8E_ILLSTART; - } - - /* assert(want >= 1 && want <= 6) */ - - /* Check character sequence length */ - if(buf + want > end) return U8E_TRUNC; - - value = ch & (0xff >> want); - cend = buf + want; - for(buf++; buf < cend; buf++) { - ch = *buf; - if(ch < 0x80 || ch > 0xbf) return U8E_NOTCONT; - value = (value << 6) | (ch & 0x3F); - } - if(value < UTF8String_mv[want]) - return U8E_NOTMIN; - if(dst < dstend) - *dst++ = value; /* Record value */ - } - - if(dst < dstend) *dst = 0; /* zero-terminate */ - - return length; -} - - -ssize_t -UTF8String_length(const UTF8String_t *st) { - if(st && st->buf) { - return UTF8String__process(st, 0, 0); - } else { - return U8E_EINVAL; - } -} - -size_t -UTF8String_to_wcs(const UTF8String_t *st, uint32_t *dst, size_t dstlen) { - if(st && st->buf) { - ssize_t ret = UTF8String__process(st, dst, dstlen); - return (ret < 0) ? 0 : ret; - } else { - return 0; - } -} - -int -UTF8String_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(st && st->buf) { - return (cb(st->buf, st->size, app_key) < 0) ? -1 : 0; - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - - -/* - * Biased function for randomizing UTF-8 sequences. - */ -static size_t -UTF8String__random_char(uint8_t *b, size_t size) { - static const struct rnd_value { - const char *value; - size_t size; - } values[] = {{"\0", 1}, - {"\x01", 1}, - {"\x7f", 1}, - {"\xc2\xa2", 2}, - {"\xe2\x82\xac", 3}, - {"\xf0\x90\x8d\x88", 4}, - {"\xf4\x8f\xbf\xbf", 4}}; - - const struct rnd_value *v; - size_t max_idx = 0; - - switch(size) { - case 0: - assert(size != 0); - return 0; - case 1: - max_idx = 2; - break; - case 2: - max_idx = 3; - break; - default: - case 4: - max_idx = sizeof(values) / sizeof(values[0]) - 1; - break; - } - - v = &values[asn_random_between(0, max_idx)]; - memcpy(b, v->value, v->size); - return v->size; -} - -asn_random_fill_result_t -UTF8String_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - uint8_t *buf; - uint8_t *bend; - uint8_t *b; - size_t rnd_len; - size_t idx; - UTF8String_t *st; - - if(max_length == 0 && !*sptr) return result_skipped; - - /* Figure out how far we should go */ - rnd_len = OCTET_STRING_random_length_constrained(td, constraints, - max_length / 4); - - buf = CALLOC(4, rnd_len + 1); - if(!buf) return result_failed; - - bend = &buf[4 * rnd_len]; - - for(b = buf, idx = 0; idx < rnd_len; idx++) { - b += UTF8String__random_char(b, (bend - b)); - } - *(uint8_t *)b = 0; - - if(*sptr) { - st = *sptr; - FREEMEM(st->buf); - } else { - st = (OCTET_STRING_t *)(*sptr = CALLOC(1, sizeof(UTF8String_t))); - if(!st) { - FREEMEM(buf); - return result_failed; - } - } - - st->buf = buf; - st->size = b - buf; - - assert(UTF8String_length(st) == (ssize_t)rnd_len); - - return result_ok; -} diff --git a/skeletons/UTF8String.h b/skeletons/UTF8String.h deleted file mode 100644 index 7ad9c82..0000000 --- a/skeletons/UTF8String.h +++ /dev/null @@ -1,63 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UTF8String_H_ -#define _UTF8String_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t UTF8String_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_UTF8String; -extern asn_TYPE_operation_t asn_OP_UTF8String; - -asn_struct_print_f UTF8String_print; -asn_constr_check_f UTF8String_constraint; -asn_random_fill_f UTF8String_random_fill; - -#define UTF8String_free OCTET_STRING_free -#define UTF8String_compare OCTET_STRING_compare -#define UTF8String_constraint UTF8String_constraint -#define UTF8String_decode_ber OCTET_STRING_decode_ber -#define UTF8String_encode_der OCTET_STRING_encode_der -#define UTF8String_decode_xer OCTET_STRING_decode_xer_utf8 -#define UTF8String_encode_xer OCTET_STRING_encode_xer_utf8 -#define UTF8String_decode_uper OCTET_STRING_decode_uper -#define UTF8String_encode_uper OCTET_STRING_encode_uper -#define UTF8String_decode_aper OCTET_STRING_decode_aper -#define UTF8String_encode_aper OCTET_STRING_encode_aper - -/* - * Returns length of the given UTF-8 string in characters, - * or a negative error code: - * -1: UTF-8 sequence truncated - * -2: Illegal UTF-8 sequence start - * -3: Continuation expectation failed - * -4: Not minimal length encoding - * -5: Invalid arguments - */ -ssize_t UTF8String_length(const UTF8String_t *st); - -/* - * Convert the UTF-8 string into a sequence of wide characters. - * Returns the number of characters necessary. - * Returned value might be greater than dstlen. - * In case of conversion error, 0 is returned. - * - * If st points to a valid UTF-8 string, calling - * UTF8String_to_wcs(st, 0, 0); - * is equivalent to - * UTF8String_length(const UTF8String_t *st); - */ -size_t UTF8String_to_wcs(const UTF8String_t *st, uint32_t *dst, size_t dstlen); - -#ifdef __cplusplus -} -#endif - -#endif /* _UTF8String_H_ */ diff --git a/skeletons/UniversalString.c b/skeletons/UniversalString.c deleted file mode 100644 index 0f6d796..0000000 --- a/skeletons/UniversalString.c +++ /dev/null @@ -1,243 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * UniversalString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_UniversalString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), /* [UNIVERSAL 28] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs = { - sizeof(UniversalString_t), - offsetof(UniversalString_t, _asn_ctx), - ASN_OSUBV_U32 /* 32-bits character */ -}; -static asn_per_constraints_t asn_DEF_UniversalString_per_constraints = { - { APC_CONSTRAINED, 32, 32, 0, 2147483647 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, - 0, 0 -}; -asn_TYPE_operation_t asn_OP_UniversalString = { - OCTET_STRING_free, - UniversalString_print, /* Convert into UTF8 and print */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, - OCTET_STRING_encode_der, - UniversalString_decode_xer, /* Convert from UTF-8 */ - UniversalString_encode_xer, /* Convert into UTF-8 */ -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_UniversalString = { - "UniversalString", - "UniversalString", - &asn_OP_UniversalString, - asn_DEF_UniversalString_tags, - sizeof(asn_DEF_UniversalString_tags) - / sizeof(asn_DEF_UniversalString_tags[0]) - 1, - asn_DEF_UniversalString_tags, - sizeof(asn_DEF_UniversalString_tags) - / sizeof(asn_DEF_UniversalString_tags[0]), - { 0, &asn_DEF_UniversalString_per_constraints, UniversalString_constraint }, - 0, 0, /* No members */ - &asn_SPC_UniversalString_specs -}; - -int -UniversalString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, - void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - - if(st && st->buf) { - if(st->size % 4) { - ASN__CTFAIL(app_key, td, sptr, - "%s: invalid size %" ASN_PRI_SIZE " not divisible by 4 (%s:%d)", - td->name, st->size, __FILE__, __LINE__); - return -1; - } - } else { - ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, - __FILE__, __LINE__); - return -1; - } - - return 0; -} - -static ssize_t -UniversalString__dump(const UniversalString_t *st, - asn_app_consume_bytes_f *cb, void *app_key) { - char scratch[128]; /* Scratchpad buffer */ - char *p = scratch; - ssize_t wrote = 0; - uint8_t *ch; - uint8_t *end; - - ch = st->buf; - end = (st->buf + st->size); - for(end -= 3; ch < end; ch += 4) { - uint32_t wc = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; /* 4 bytes */ - if(sizeof(scratch) - (p - scratch) < 6) { - wrote += p - scratch; - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - p = scratch; - } - if(wc < 0x80) { - *p++ = (char)wc; - } else if(wc < 0x800) { - *p++ = 0xc0 | ((wc >> 6)); - *p++ = 0x80 | ((wc & 0x3f)); - } else if(wc < 0x10000) { - *p++ = 0xe0 | ((wc >> 12)); - *p++ = 0x80 | ((wc >> 6) & 0x3f); - *p++ = 0x80 | ((wc & 0x3f)); - } else if(wc < 0x200000) { - *p++ = 0xf0 | ((wc >> 18)); - *p++ = 0x80 | ((wc >> 12) & 0x3f); - *p++ = 0x80 | ((wc >> 6) & 0x3f); - *p++ = 0x80 | ((wc & 0x3f)); - } else if(wc < 0x4000000) { - *p++ = 0xf8 | ((wc >> 24)); - *p++ = 0x80 | ((wc >> 18) & 0x3f); - *p++ = 0x80 | ((wc >> 12) & 0x3f); - *p++ = 0x80 | ((wc >> 6) & 0x3f); - *p++ = 0x80 | ((wc & 0x3f)); - } else { - *p++ = 0xfc | ((wc >> 30) & 0x1); - *p++ = 0x80 | ((wc >> 24) & 0x3f); - *p++ = 0x80 | ((wc >> 18) & 0x3f); - *p++ = 0x80 | ((wc >> 12) & 0x3f); - *p++ = 0x80 | ((wc >> 6) & 0x3f); - *p++ = 0x80 | ((wc & 0x3f)); - } - } - - wrote += p - scratch; - if(cb(scratch, p - scratch, app_key) < 0) - return -1; - - return wrote; -} - -asn_dec_rval_t -UniversalString_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const char *opt_mname, const void *buf_ptr, - size_t size) { - asn_dec_rval_t rc; - - rc = OCTET_STRING_decode_xer_utf8(opt_codec_ctx, td, sptr, opt_mname, - buf_ptr, size); - if(rc.code == RC_OK) { - /* - * Now we have a whole string in UTF-8 format. - * Convert it into UCS-4. - */ - uint32_t *wcs; - size_t wcs_len; - UTF8String_t *st; -#ifndef WORDS_BIGENDIAN - int little_endian = 1; -#endif - - assert(*sptr); - st = (UTF8String_t *)*sptr; - assert(st->buf); - wcs_len = UTF8String_to_wcs(st, 0, 0); - - wcs = (uint32_t *)MALLOC(4 * (wcs_len + 1)); - if(wcs == 0 || UTF8String_to_wcs(st, wcs, wcs_len) != wcs_len) { - rc.code = RC_FAIL; - rc.consumed = 0; - return rc; - } else { - wcs[wcs_len] = 0; /* nul-terminate */ - } - -#ifndef WORDS_BIGENDIAN - if(*(char *)&little_endian) { - /* Swap byte order in encoding */ - uint32_t *wc = wcs; - uint32_t *wc_end = wcs + wcs_len; - for(; wc < wc_end; wc++) { - /* *wc = htonl(*wc); */ - uint32_t wch = *wc; - *((uint8_t *)wc + 0) = wch >> 24; - *((uint8_t *)wc + 1) = wch >> 16; - *((uint8_t *)wc + 2) = wch >> 8; - *((uint8_t *)wc + 3) = wch; - } - } -#endif /* WORDS_BIGENDIAN */ - - FREEMEM(st->buf); - st->buf = (uint8_t *)wcs; - st->size = 4 * wcs_len; - } - return rc; -} - -asn_enc_rval_t -UniversalString_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - asn_enc_rval_t er = {0,0,0}; - - (void)ilevel; - (void)flags; - - if(!st || !st->buf) - ASN__ENCODE_FAILED; - - er.encoded = UniversalString__dump(st, cb, app_key); - if(er.encoded < 0) ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -int -UniversalString_print(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - - (void)td; /* Unused argument */ - (void)ilevel; /* Unused argument */ - - if(!st || !st->buf) return (cb("", 8, app_key) < 0) ? -1 : 0; - - if(UniversalString__dump(st, cb, app_key) < 0) - return -1; - - return 0; -} - diff --git a/skeletons/UniversalString.h b/skeletons/UniversalString.h deleted file mode 100644 index 510807a..0000000 --- a/skeletons/UniversalString.h +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UniversalString_H_ -#define _UniversalString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t UniversalString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_UniversalString; -extern asn_TYPE_operation_t asn_OP_UniversalString; -extern asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs; - -asn_struct_print_f UniversalString_print; /* Human-readable output */ -asn_constr_check_f UniversalString_constraint; -xer_type_decoder_f UniversalString_decode_xer; -xer_type_encoder_f UniversalString_encode_xer; - -#define UniversalString_free OCTET_STRING_free -#define UniversalString_compare OCTET_STRING_compare -#define UniversalString_decode_ber OCTET_STRING_decode_ber -#define UniversalString_encode_der OCTET_STRING_encode_der -#define UniversalString_decode_uper OCTET_STRING_decode_uper -#define UniversalString_encode_uper OCTET_STRING_encode_uper -#define UniversalString_decode_aper OCTET_STRING_decode_aper -#define UniversalString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _UniversalString_H_ */ diff --git a/skeletons/VideotexString.c b/skeletons/VideotexString.c deleted file mode 100644 index 69417bd..0000000 --- a/skeletons/VideotexString.c +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * VideotexString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_VideotexString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (21 << 2)), /* [UNIVERSAL 21] IMPLICIT */ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -asn_TYPE_operation_t asn_OP_VideotexString = { - OCTET_STRING_free, - OCTET_STRING_print, /* non-ascii string */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - OCTET_STRING_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_VideotexString = { - "VideotexString", - "VideotexString", - &asn_OP_VideotexString, - asn_DEF_VideotexString_tags, - sizeof(asn_DEF_VideotexString_tags) - / sizeof(asn_DEF_VideotexString_tags[0]) - 1, - asn_DEF_VideotexString_tags, - sizeof(asn_DEF_VideotexString_tags) - / sizeof(asn_DEF_VideotexString_tags[0]), - { 0, 0, asn_generic_unknown_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/skeletons/VideotexString.h b/skeletons/VideotexString.h deleted file mode 100644 index b535389..0000000 --- a/skeletons/VideotexString.h +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _VideotexString_H_ -#define _VideotexString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t VideotexString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_VideotexString; -extern asn_TYPE_operation_t asn_OP_VideotexString; - -#define VideotexString_free OCTET_STRING_free -#define VideotexString_print OCTET_STRING_print -#define VideotexString_compare OCTET_STRING_compare -#define VideotexString_constraint asn_generic_unknown_constraint -#define VideotexString_decode_ber OCTET_STRING_decode_ber -#define VideotexString_encode_der OCTET_STRING_encode_der -#define VideotexString_decode_xer OCTET_STRING_decode_xer_hex -#define VideotexString_encode_xer OCTET_STRING_encode_xer -#define VideotexString_decode_uper OCTET_STRING_decode_uper -#define VideotexString_encode_uper OCTET_STRING_encode_uper -#define VideotexString_decode_aper OCTET_STRING_decode_aper -#define VideotexString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _VideotexString_H_ */ diff --git a/skeletons/VisibleString.c b/skeletons/VisibleString.c deleted file mode 100644 index 03fef8b..0000000 --- a/skeletons/VisibleString.c +++ /dev/null @@ -1,99 +0,0 @@ -/*- - * Copyright (c) 2003, 2006 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * VisibleString basic type description. - */ -static const ber_tlv_tag_t asn_DEF_VisibleString_tags[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/ - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ -}; -static asn_per_constraints_t asn_DEF_VisibleString_constraints = { - { APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */ - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ - 0, 0 -}; -asn_TYPE_operation_t asn_OP_VisibleString = { - OCTET_STRING_free, - OCTET_STRING_print_utf8, /* ASCII subset */ - OCTET_STRING_compare, - OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_utf8, - OCTET_STRING_encode_xer_utf8, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - OCTET_STRING_decode_oer, - OCTET_STRING_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, - OCTET_STRING_decode_aper, - OCTET_STRING_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - OCTET_STRING_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; -asn_TYPE_descriptor_t asn_DEF_VisibleString = { - "VisibleString", - "VisibleString", - &asn_OP_VisibleString, - asn_DEF_VisibleString_tags, - sizeof(asn_DEF_VisibleString_tags) - / sizeof(asn_DEF_VisibleString_tags[0]) - 1, - asn_DEF_VisibleString_tags, - sizeof(asn_DEF_VisibleString_tags) - / sizeof(asn_DEF_VisibleString_tags[0]), - { 0, &asn_DEF_VisibleString_constraints, VisibleString_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - -int -VisibleString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - - if(st && st->buf) { - uint8_t *buf = st->buf; - uint8_t *end = buf + st->size; - - /* - * Check the alphabet of the VisibleString. - * ISO646, ISOReg#6 - * The alphabet is a subset of ASCII between the space - * and "~" (tilde). - */ - for(; buf < end; buf++) { - if(*buf < 0x20 || *buf > 0x7e) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value byte %ld (%d) " - "not in VisibleString alphabet (%s:%d)", - td->name, - (long)((buf - st->buf) + 1), - *buf, - __FILE__, __LINE__); - return -1; - } - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - return 0; -} diff --git a/skeletons/VisibleString.h b/skeletons/VisibleString.h deleted file mode 100644 index ad5f713..0000000 --- a/skeletons/VisibleString.h +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _VisibleString_H_ -#define _VisibleString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t VisibleString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_VisibleString; -extern asn_TYPE_operation_t asn_OP_VisibleString; - -asn_constr_check_f VisibleString_constraint; - -#define VisibleString_free OCTET_STRING_free -#define VisibleString_print OCTET_STRING_print -#define VisibleString_compare OCTET_STRING_compare -#define VisibleString_constraint VisibleString_constraint -#define VisibleString_decode_ber OCTET_STRING_decode_ber -#define VisibleString_encode_der OCTET_STRING_encode_der -#define VisibleString_decode_xer OCTET_STRING_decode_xer_hex -#define VisibleString_encode_xer OCTET_STRING_encode_xer -#define VisibleString_decode_uper OCTET_STRING_decode_uper -#define VisibleString_encode_uper OCTET_STRING_encode_uper -#define VisibleString_decode_aper OCTET_STRING_decode_aper -#define VisibleString_encode_aper OCTET_STRING_encode_aper - -#ifdef __cplusplus -} -#endif - -#endif /* _VisibleString_H_ */ diff --git a/skeletons/asn_SEQUENCE_OF.c b/skeletons/asn_SEQUENCE_OF.c deleted file mode 100644 index ec952fc..0000000 --- a/skeletons/asn_SEQUENCE_OF.c +++ /dev/null @@ -1,41 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -typedef A_SEQUENCE_OF(void) asn_sequence; - -void -asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free) { - asn_sequence *as = (asn_sequence *)asn_sequence_of_x; - - if(as) { - void *ptr; - int n; - - if(number < 0 || number >= as->count) - return; /* Nothing to delete */ - - if(_do_free && as->free) { - ptr = as->array[number]; - } else { - ptr = 0; - } - - /* - * Shift all elements to the left to hide the gap. - */ - --as->count; - for(n = number; n < as->count; n++) - as->array[n] = as->array[n+1]; - - /* - * Invoke the third-party function only when the state - * of the parent structure is consistent. - */ - if(ptr) as->free(ptr); - } -} - diff --git a/skeletons/asn_SEQUENCE_OF.h b/skeletons/asn_SEQUENCE_OF.h deleted file mode 100644 index e35bc44..0000000 --- a/skeletons/asn_SEQUENCE_OF.h +++ /dev/null @@ -1,52 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_SEQUENCE_OF_H -#define ASN_SEQUENCE_OF_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * SEQUENCE OF is the same as SET OF with a tiny difference: - * the delete operation preserves the initial order of elements - * and thus MAY operate in non-constant time. - */ -#define A_SEQUENCE_OF(type) A_SET_OF(type) - -#define ASN_SEQUENCE_ADD(headptr, ptr) \ - asn_sequence_add((headptr), (ptr)) - -/*********************************************** - * Implementation of the SEQUENCE OF structure. - */ - -#define asn_sequence_add asn_set_add -#define asn_sequence_empty asn_set_empty - -/* - * Delete the element from the set by its number (base 0). - * This is NOT a constant-time operation. - * The order of elements is preserved. - * If _do_free is given AND the (*free) is initialized, the element - * will be freed using the custom (*free) function as well. - */ -void asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free); - -/* - * Cope with different conversions requirements to/from void in C and C++. - * This is mostly useful for support library. - */ -typedef A_SEQUENCE_OF(void) asn_anonymous_sequence_; -#define _A_SEQUENCE_FROM_VOID(ptr) ((asn_anonymous_sequence_ *)(ptr)) -#define _A_CSEQUENCE_FROM_VOID(ptr) ((const asn_anonymous_sequence_ *)(ptr)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_SEQUENCE_OF_H */ diff --git a/skeletons/asn_SET_OF.c b/skeletons/asn_SET_OF.c deleted file mode 100644 index 944f2cb..0000000 --- a/skeletons/asn_SET_OF.c +++ /dev/null @@ -1,88 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Add another element into the set. - */ -int -asn_set_add(void *asn_set_of_x, void *ptr) { - asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); - - if(as == 0 || ptr == 0) { - errno = EINVAL; /* Invalid arguments */ - return -1; - } - - /* - * Make sure there's enough space to insert an element. - */ - if(as->count == as->size) { - int _newsize = as->size ? (as->size << 1) : 4; - void *_new_arr; - _new_arr = REALLOC(as->array, _newsize * sizeof(as->array[0])); - if(_new_arr) { - as->array = (void **)_new_arr; - as->size = _newsize; - } else { - /* ENOMEM */ - return -1; - } - } - - as->array[as->count++] = ptr; - - return 0; -} - -void -asn_set_del(void *asn_set_of_x, int number, int _do_free) { - asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); - - if(as) { - void *ptr; - if(number < 0 || number >= as->count) - return; - - if(_do_free && as->free) { - ptr = as->array[number]; - } else { - ptr = 0; - } - - as->array[number] = as->array[--as->count]; - - /* - * Invoke the third-party function only when the state - * of the parent structure is consistent. - */ - if(ptr) as->free(ptr); - } -} - -/* - * Free the contents of the set, do not free the set itself. - */ -void -asn_set_empty(void *asn_set_of_x) { - asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); - - if(as) { - if(as->array) { - if(as->free) { - while(as->count--) - as->free(as->array[as->count]); - } - FREEMEM(as->array); - as->array = 0; - } - as->count = 0; - as->size = 0; - } - -} - diff --git a/skeletons/asn_SET_OF.h b/skeletons/asn_SET_OF.h deleted file mode 100644 index 882e1a4..0000000 --- a/skeletons/asn_SET_OF.h +++ /dev/null @@ -1,72 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_SET_OF_H -#define ASN_SET_OF_H - -#ifdef __cplusplus -#define A_SET_OF(type) \ - struct { \ - type **array; \ - int count; /* Meaningful size */ \ - int size; /* Allocated size */ \ - void (*free)(decltype(*array)); \ - } -#else /* C */ -#define A_SET_OF(type) \ - struct { \ - type **array; \ - int count; /* Meaningful size */ \ - int size; /* Allocated size */ \ - void (*free)(type *); \ - } -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define ASN_SET_ADD(headptr, ptr) \ - asn_set_add((headptr), (ptr)) - -/******************************************* - * Implementation of the SET OF structure. - */ - -/* - * Add another structure into the set by its pointer. - * RETURN VALUES: - * 0 for success and -1/errno for failure. - */ -int asn_set_add(void *asn_set_of_x, void *ptr); - -/* - * Delete the element from the set by its number (base 0). - * This is a constant-time operation. The order of elements before the - * deleted ones is guaranteed, the order of elements after the deleted - * one is NOT guaranteed. - * If _do_free is given AND the (*free) is initialized, the element - * will be freed using the custom (*free) function as well. - */ -void asn_set_del(void *asn_set_of_x, int number, int _do_free); - -/* - * Empty the contents of the set. Will free the elements, if (*free) is given. - * Will NOT free the set itself. - */ -void asn_set_empty(void *asn_set_of_x); - -/* - * Cope with different conversions requirements to/from void in C and C++. - * This is mostly useful for support library. - */ -typedef A_SET_OF(void) asn_anonymous_set_; -#define _A_SET_FROM_VOID(ptr) ((asn_anonymous_set_ *)(ptr)) -#define _A_CSET_FROM_VOID(ptr) ((const asn_anonymous_set_ *)(ptr)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_SET_OF_H */ diff --git a/skeletons/asn_application.c b/skeletons/asn_application.c deleted file mode 100644 index 2bff460..0000000 --- a/skeletons/asn_application.c +++ /dev/null @@ -1,481 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -static asn_enc_rval_t asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *td, - const void *sptr, - asn_app_consume_bytes_f *callback, - void *callback_key); - - -struct callback_count_bytes_key { - asn_app_consume_bytes_f *callback; - void *callback_key; - size_t computed_size; -}; - -/* - * Encoder which just counts bytes that come through it. - */ -static int -callback_count_bytes_cb(const void *data, size_t size, void *keyp) { - struct callback_count_bytes_key *key = keyp; - int ret; - - ret = key->callback(data, size, key->callback_key); - if(ret >= 0) { - key->computed_size += size; - } - - return ret; -} - -struct overrun_encoder_key { - void *buffer; - size_t buffer_size; - size_t computed_size; -}; - -struct dynamic_encoder_key { - void *buffer; - size_t buffer_size; - size_t computed_size; -}; - -struct callback_failure_catch_key { - asn_app_consume_bytes_f *callback; - void *callback_key; - int callback_failed; -}; - -/* - * Encoder which doesn't stop counting bytes - * even if it reaches the end of the buffer. - */ -static int -overrun_encoder_cb(const void *data, size_t size, void *keyp) { - struct overrun_encoder_key *key = keyp; - - if(key->computed_size + size > key->buffer_size) { - /* - * Avoid accident on the next call: - * stop adding bytes to the buffer. - */ - key->buffer_size = 0; - } else { - memcpy((char *)key->buffer + key->computed_size, data, size); - } - key->computed_size += size; - - return 0; -} - -/* - * Encoder which dynamically allocates output, and continues - * to count even if allocation failed. - */ -static int -dynamic_encoder_cb(const void *data, size_t size, void *keyp) { - struct dynamic_encoder_key *key = keyp; - - if(key->buffer) { - if(key->computed_size + size >= key->buffer_size) { - void *p; - size_t new_size = key->buffer_size; - - do { - new_size *= 2; - } while(new_size <= key->computed_size + size); - - p = REALLOC(key->buffer, new_size); - if(p) { - key->buffer = p; - key->buffer_size = new_size; - } else { - FREEMEM(key->buffer); - key->buffer = 0; - key->buffer_size = 0; - key->computed_size += size; - return 0; - } - } - memcpy((char *)key->buffer + key->computed_size, data, size); - } - - key->computed_size += size; - - return 0; -} - -/* - * Encoder which help convert the application level encoder failure into EIO. - */ -static int -callback_failure_catch_cb(const void *data, size_t size, void *keyp) { - struct callback_failure_catch_key *key = keyp; - int ret; - - ret = key->callback(data, size, key->callback_key); - if(ret < 0) { - key->callback_failed = 1; - } - - return ret; -} - -asn_enc_rval_t -asn_encode(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, - const void *sptr, asn_app_consume_bytes_f *callback, void *callback_key) { - struct callback_failure_catch_key cb_key; - asn_enc_rval_t er = {0,0,0}; - - if(!callback) { - errno = EINVAL; - ASN__ENCODE_FAILED; - } - - cb_key.callback = callback; - cb_key.callback_key = callback_key; - cb_key.callback_failed = 0; - - er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, - callback_failure_catch_cb, &cb_key); - if(cb_key.callback_failed) { - assert(er.encoded == -1); - assert(errno == EBADF); - errno = EIO; - } - - return er; -} - -asn_enc_rval_t -asn_encode_to_buffer(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *td, const void *sptr, - void *buffer, size_t buffer_size) { - struct overrun_encoder_key buf_key; - asn_enc_rval_t er = {0,0,0}; - - if(buffer_size > 0 && !buffer) { - errno = EINVAL; - ASN__ENCODE_FAILED; - } - - buf_key.buffer = buffer; - buf_key.buffer_size = buffer_size; - buf_key.computed_size = 0; - - er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, - overrun_encoder_cb, &buf_key); - - if(er.encoded >= 0 && (size_t)er.encoded != buf_key.computed_size) { - ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE - " yet produced %" ASN_PRI_SIZE " bytes", - er.encoded, buf_key.computed_size); - assert(er.encoded < 0 || (size_t)er.encoded == buf_key.computed_size); - } - - return er; -} - -asn_encode_to_new_buffer_result_t -asn_encode_to_new_buffer(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *td, const void *sptr) { - struct dynamic_encoder_key buf_key; - asn_encode_to_new_buffer_result_t res; - - buf_key.buffer_size = 16; - buf_key.buffer = MALLOC(buf_key.buffer_size); - buf_key.computed_size = 0; - - res.result = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, - dynamic_encoder_cb, &buf_key); - - if(res.result.encoded >= 0 - && (size_t)res.result.encoded != buf_key.computed_size) { - ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE - " yet produced %" ASN_PRI_SIZE " bytes", - res.result.encoded, buf_key.computed_size); - assert(res.result.encoded < 0 - || (size_t)res.result.encoded == buf_key.computed_size); - } - - res.buffer = buf_key.buffer; - - /* 0-terminate just in case. */ - if(res.buffer) { - assert(buf_key.computed_size < buf_key.buffer_size); - ((char *)res.buffer)[buf_key.computed_size] = '\0'; - } - - return res; -} - -static asn_enc_rval_t -asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, - const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_consume_bytes_f *callback, void *callback_key) { - asn_enc_rval_t er = {0,0,0}; - enum xer_encoder_flags_e xer_flags = XER_F_CANONICAL; - - (void)opt_codec_ctx; /* Parameters are not checked on encode yet. */ - - if(!td || !sptr) { - errno = EINVAL; - ASN__ENCODE_FAILED; - } - - switch(syntax) { - case ATS_NONSTANDARD_PLAINTEXT: - if(td->op->print_struct) { - struct callback_count_bytes_key cb_key; - cb_key.callback = callback; - cb_key.callback_key = callback_key; - cb_key.computed_size = 0; - if(td->op->print_struct(td, sptr, 1, callback_count_bytes_cb, - &cb_key) - < 0 - || callback_count_bytes_cb("\n", 1, &cb_key) < 0) { - errno = EBADF; /* Structure has incorrect form. */ - er.encoded = -1; - er.failed_type = td; - er.structure_ptr = sptr; - } else { - er.encoded = cb_key.computed_size; - er.failed_type = 0; - er.structure_ptr = 0; - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; - - case ATS_RANDOM: - errno = ENOENT; /* Randomization doesn't make sense on output. */ - ASN__ENCODE_FAILED; - - case ATS_BER: - /* BER is a superset of DER. */ - /* Fall through. */ - case ATS_DER: - if(td->op->der_encoder) { - er = der_encode(td, sptr, callback, callback_key); - if(er.encoded == -1) { - if(er.failed_type && er.failed_type->op->der_encoder) { - errno = EBADF; /* Structure has incorrect form. */ - } else { - errno = ENOENT; /* DER is not defined for this type. */ - } - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; - case ATS_CER: - errno = ENOENT; /* Transfer syntax is not defined for any type. */ - ASN__ENCODE_FAILED; - -#ifdef ASN_DISABLE_OER_SUPPORT - case ATS_BASIC_OER: - case ATS_CANONICAL_OER: - errno = ENOENT; /* PER is not defined. */ - ASN__ENCODE_FAILED; - break; -#else /* ASN_DISABLE_OER_SUPPORT */ - case ATS_BASIC_OER: - /* CANONICAL-OER is a superset of BASIC-OER. */ - /* Fall through. */ - case ATS_CANONICAL_OER: - if(td->op->oer_encoder) { - er = oer_encode(td, sptr, callback, callback_key); - if(er.encoded == -1) { - if(er.failed_type && er.failed_type->op->oer_encoder) { - errno = EBADF; /* Structure has incorrect form. */ - } else { - errno = ENOENT; /* OER is not defined for this type. */ - } - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; -#endif /* ASN_DISABLE_OER_SUPPORT */ - -#ifdef ASN_DISABLE_PER_SUPPORT - case ATS_UNALIGNED_BASIC_PER: - case ATS_UNALIGNED_CANONICAL_PER: - case ATS_ALIGNED_BASIC_PER: - case ATS_ALIGNED_CANONICAL_PER: - errno = ENOENT; /* PER is not defined. */ - ASN__ENCODE_FAILED; - break; -#else /* ASN_DISABLE_PER_SUPPORT */ - case ATS_UNALIGNED_BASIC_PER: - /* CANONICAL-UPER is a superset of BASIC-UPER. */ - /* Fall through. */ - case ATS_UNALIGNED_CANONICAL_PER: - if(td->op->uper_encoder) { - er = uper_encode(td, 0, sptr, callback, callback_key); - if(er.encoded == -1) { - if(er.failed_type && er.failed_type->op->uper_encoder) { - errno = EBADF; /* Structure has incorrect form. */ - } else { - errno = ENOENT; /* UPER is not defined for this type. */ - } - } else { - ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); - if(er.encoded == 0) { - /* Enforce "Complete Encoding" of X.691 #11.1 */ - if(callback("\0", 1, callback_key) < 0) { - errno = EBADF; - ASN__ENCODE_FAILED; - } - er.encoded = 8; /* Exactly 8 zero bits is added. */ - } - /* Convert bits into bytes */ - er.encoded = (er.encoded + 7) >> 3; - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; - case ATS_ALIGNED_BASIC_PER: - /* CANONICAL-APER is a superset of BASIC-APER. */ - /* Fall through. */ - case ATS_ALIGNED_CANONICAL_PER: - if(td->op->aper_encoder) { - er = aper_encode(td, 0, sptr, callback, callback_key); - if(er.encoded == -1) { - if(er.failed_type && er.failed_type->op->aper_encoder) { - errno = EBADF; /* Structure has incorrect form. */ - } else { - errno = ENOENT; /* APER is not defined for this type. */ - } - } else { - ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); - if(er.encoded == 0) { - /* Enforce "Complete Encoding" of X.691 #11.1 */ - if(callback("\0", 1, callback_key) < 0) { - errno = EBADF; - ASN__ENCODE_FAILED; - } - er.encoded = 8; /* Exactly 8 zero bits is added. */ - } - /* Convert bits into bytes */ - er.encoded = (er.encoded + 7) >> 3; - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; -#endif /* ASN_DISABLE_PER_SUPPORT */ - - case ATS_BASIC_XER: - /* CANONICAL-XER is a superset of BASIC-XER. */ - xer_flags &= ~XER_F_CANONICAL; - xer_flags |= XER_F_BASIC; - /* Fall through. */ - case ATS_CANONICAL_XER: - if(td->op->xer_encoder) { - er = xer_encode(td, sptr, xer_flags, callback, callback_key); - if(er.encoded == -1) { - if(er.failed_type && er.failed_type->op->xer_encoder) { - errno = EBADF; /* Structure has incorrect form. */ - } else { - errno = ENOENT; /* XER is not defined for this type. */ - } - } - } else { - errno = ENOENT; /* Transfer syntax is not defined for this type. */ - ASN__ENCODE_FAILED; - } - break; - - default: - errno = ENOENT; - ASN__ENCODE_FAILED; - } - - return er; -} - -asn_dec_rval_t -asn_decode(const asn_codec_ctx_t *opt_codec_ctx, - enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, - void **sptr, const void *buffer, size_t size) { - if(!td || !td->op || !sptr || (size && !buffer)) { - ASN__DECODE_FAILED; - } - - switch(syntax) { - case ATS_CER: - case ATS_NONSTANDARD_PLAINTEXT: - default: - errno = ENOENT; - ASN__DECODE_FAILED; - - case ATS_RANDOM: - if(!td->op->random_fill) { - ASN__DECODE_FAILED; - } else { - if(asn_random_fill(td, sptr, 16000) == 0) { - asn_dec_rval_t ret = {RC_OK, 0}; - return ret; - } else { - ASN__DECODE_FAILED; - } - } - break; - - case ATS_DER: - case ATS_BER: - return ber_decode(opt_codec_ctx, td, sptr, buffer, size); - - case ATS_BASIC_OER: - case ATS_CANONICAL_OER: -#ifdef ASN_DISABLE_OER_SUPPORT - errno = ENOENT; - ASN__DECODE_FAILED; -#else - return oer_decode(opt_codec_ctx, td, sptr, buffer, size); -#endif - - case ATS_UNALIGNED_BASIC_PER: - case ATS_UNALIGNED_CANONICAL_PER: -#ifdef ASN_DISABLE_PER_SUPPORT - errno = ENOENT; - ASN__DECODE_FAILED; -#else - return uper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); -#endif - - case ATS_ALIGNED_BASIC_PER: - case ATS_ALIGNED_CANONICAL_PER: -#ifdef ASN_DISABLE_PER_SUPPORT - errno = ENOENT; - ASN__DECODE_FAILED; -#else - return aper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); -#endif - - case ATS_BASIC_XER: - case ATS_CANONICAL_XER: - return xer_decode(opt_codec_ctx, td, sptr, buffer, size); - } -} - diff --git a/skeletons/asn_application.h b/skeletons/asn_application.h deleted file mode 100644 index 034f646..0000000 --- a/skeletons/asn_application.h +++ /dev/null @@ -1,171 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Application-level ASN.1 callbacks. - */ -#ifndef ASN_APPLICATION_H -#define ASN_APPLICATION_H - -#include "asn_system.h" /* for platform-dependent types */ -#include "asn_codecs.h" /* for ASN.1 codecs specifics */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * A selection of ASN.1 Transfer Syntaxes to use with generalized - * encoders and decoders declared further in this .h file. - */ -enum asn_transfer_syntax { - /* Avoid appearance of a default transfer syntax. */ - ATS_INVALID = 0, - /* Plaintext output (not conforming to any standard), for debugging. */ - ATS_NONSTANDARD_PLAINTEXT, - /* Returns a randomly generated structure. */ - ATS_RANDOM, - /* - * X.690: - * BER: Basic Encoding Rules. - * DER: Distinguished Encoding Rules. - * CER: Canonical Encoding Rules. - * DER and CER are more strict variants of BER. - */ - ATS_BER, - ATS_DER, - ATS_CER, /* Only decoding is supported */ - /* - * X.696: - * OER: Octet Encoding Rules. - * CANONICAL-OER is a more strict variant of BASIC-OER. - */ - ATS_BASIC_OER, - ATS_CANONICAL_OER, - /* - * X.691: - * PER: Packed Encoding Rules. - * CANONICAL-PER is a more strict variant of BASIC-PER. - * NOTE: Produces or consumes a complete encoding (X.691 (08/2015) #11.1). - */ - ATS_UNALIGNED_BASIC_PER, - ATS_UNALIGNED_CANONICAL_PER, - ATS_ALIGNED_BASIC_PER, - ATS_ALIGNED_CANONICAL_PER, - /* - * X.693: - * XER: XML Encoding Rules. - * CANONICAL-XER is a more strict variant of BASIC-XER. - */ - ATS_BASIC_XER, - ATS_CANONICAL_XER -}; - -/* - * A generic encoder for any supported transfer syntax. - * RETURN VALUES: - * The (.encoded) field of the return value is REDEFINED to mean the following: - * >=0: The computed size of the encoded data. Can exceed the (buffer_size). - * -1: Error encoding the structure. See the error code in (errno): - * EINVAL: Incorrect parameters to the function, such as NULLs. - * ENOENT: Encoding transfer syntax is not defined (for this type). - * EBADF: The structure has invalid form or content constraint failed. - * The (.failed_type) and (.structure_ptr) MIGHT be set to the appropriate - * values at the place of failure, if at all possible. - * WARNING: The (.encoded) field of the return value can exceed the buffer_size. - * This is similar to snprintf(3) contract which might return values - * greater than the buffer size. - */ -asn_enc_rval_t asn_encode_to_buffer( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode, void *buffer, size_t buffer_size); - -/* - * A variant of asn_encode_to_buffer() with automatically allocated buffer. - * RETURN VALUES: - * On success, returns a newly allocated (.buffer) containing the whole message. - * The message size is returned in (.result.encoded). - * On failure: - * (.buffer) is NULL, - * (.result.encoded) as in asn_encode_to_buffer(), - * The errno codes as in asn_encode_to_buffer(), plus the following: - * ENOMEM: Memory allocation failed due to system or internal limits. - * The user is responsible for freeing the (.buffer). - */ -typedef struct asn_encode_to_new_buffer_result_s { - void *buffer; /* NULL if failed to encode. */ - asn_enc_rval_t result; -} asn_encode_to_new_buffer_result_t; -asn_encode_to_new_buffer_result_t asn_encode_to_new_buffer( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode); - - -/* - * Generic type of an application-defined callback to return various - * types of data to the application. - * EXPECTED RETURN VALUES: - * -1: Failed to consume bytes. Abort the mission. - * Non-negative return values indicate success, and ignored. - */ -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, - void *application_specific_key); - - -/* - * A generic encoder for any supported transfer syntax. - * Returns the comprehensive encoding result descriptor (see asn_codecs.h). - * RETURN VALUES: - * The negative (.encoded) field of the return values is accompanied with the - * following error codes (errno): - * EINVAL: Incorrect parameters to the function, such as NULLs. - * ENOENT: Encoding transfer syntax is not defined (for this type). - * EBADF: The structure has invalid form or content constraint failed. - * EIO: The (callback) has returned negative value during encoding. - */ -asn_enc_rval_t asn_encode( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode, - asn_app_consume_bytes_f *callback, void *callback_key); - - -/* - * A generic decoder for any supported transfer syntax. - */ -asn_dec_rval_t asn_decode( - const asn_codec_ctx_t *opt_codec_parameters, enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_decode, - void **structure_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); - - -/* - * A callback of this type is called whenever constraint validation fails - * on some ASN.1 type. See "constraints.h" for more details on constraint - * validation. - * This callback specifies a descriptor of the ASN.1 type which failed - * the constraint check, as well as human readable message on what - * particular constraint has failed. - */ -typedef void (asn_app_constraint_failed_f)(void *application_specific_key, - const struct asn_TYPE_descriptor_s *type_descriptor_which_failed, - const void *structure_which_failed_ptr, - const char *error_message_format, ...) CC_PRINTFLIKE(4, 5); - - -#ifdef __cplusplus -} -#endif - -#include "constr_TYPE.h" /* for asn_TYPE_descriptor_t */ - -#endif /* ASN_APPLICATION_H */ diff --git a/skeletons/asn_bit_data.c b/skeletons/asn_bit_data.c deleted file mode 100644 index fe4b89b..0000000 --- a/skeletons/asn_bit_data.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Create a contiguous non-refillable bit data structure. - * Can be freed by FREEMEM(). - */ -asn_bit_data_t * -asn_bit_data_new_contiguous(const void *data, size_t size_bits) { - size_t size_bytes = (size_bits + 7) / 8; - asn_bit_data_t *pd; - uint8_t *bytes; - - /* Get the extensions map */ - pd = CALLOC(1, sizeof(*pd) + size_bytes + 1); - if(!pd) { - return NULL; - } - bytes = (void *)(((char *)pd) + sizeof(*pd)); - memcpy(bytes, data, size_bytes); - bytes[size_bytes] = 0; - pd->buffer = bytes; - pd->nboff = 0; - pd->nbits = size_bits; - - return pd; -} - - -char * -asn_bit_data_string(asn_bit_data_t *pd) { - static char buf[2][32]; - static int n; - n = (n+1) % 2; - snprintf(buf[n], sizeof(buf[n]), - "{m=%" ASN_PRI_SIZE " span %" ASN_PRI_SIZE "[%" ASN_PRI_SIZE - "..%" ASN_PRI_SIZE "] (%" ASN_PRI_SIZE ")}", - pd->moved, ((uintptr_t)(pd->buffer) & 0xf), pd->nboff, pd->nbits, - pd->nbits - pd->nboff); - return buf[n]; -} - -void -asn_get_undo(asn_bit_data_t *pd, int nbits) { - if((ssize_t)pd->nboff < nbits) { - assert((ssize_t)pd->nboff < nbits); - } else { - pd->nboff -= nbits; - pd->moved -= nbits; - } -} - -/* - * Extract a small number of bits (<= 31) from the specified PER data pointer. - */ -int32_t -asn_get_few_bits(asn_bit_data_t *pd, int nbits) { - size_t off; /* Next after last bit offset */ - ssize_t nleft; /* Number of bits left in this stream */ - uint32_t accum; - const uint8_t *buf; - - if(nbits < 0) - return -1; - - nleft = pd->nbits - pd->nboff; - if(nbits > nleft) { - int32_t tailv, vhead; - if(!pd->refill || nbits > 31) return -1; - /* Accumulate unused bytes before refill */ - ASN_DEBUG("Obtain the rest %d bits (want %d)", - (int)nleft, (int)nbits); - tailv = asn_get_few_bits(pd, nleft); - if(tailv < 0) return -1; - /* Refill (replace pd contents with new data) */ - if(pd->refill(pd)) - return -1; - nbits -= nleft; - vhead = asn_get_few_bits(pd, nbits); - /* Combine the rest of previous pd with the head of new one */ - tailv = (tailv << nbits) | vhead; /* Could == -1 */ - return tailv; - } - - /* - * Normalize position indicator. - */ - if(pd->nboff >= 8) { - pd->buffer += (pd->nboff >> 3); - pd->nbits -= (pd->nboff & ~0x07); - pd->nboff &= 0x07; - } - pd->moved += nbits; - pd->nboff += nbits; - off = pd->nboff; - buf = pd->buffer; - - /* - * Extract specified number of bits. - */ - if(off <= 8) - accum = nbits ? (buf[0]) >> (8 - off) : 0; - else if(off <= 16) - accum = ((buf[0] << 8) + buf[1]) >> (16 - off); - else if(off <= 24) - accum = ((buf[0] << 16) + (buf[1] << 8) + buf[2]) >> (24 - off); - else if(off <= 31) - accum = (((uint32_t)buf[0] << 24) + (buf[1] << 16) - + (buf[2] << 8) + (buf[3])) >> (32 - off); - else if(nbits <= 31) { - asn_bit_data_t tpd = *pd; - /* Here are we with our 31-bits limit plus 1..7 bits offset. */ - asn_get_undo(&tpd, nbits); - /* The number of available bits in the stream allow - * for the following operations to take place without - * invoking the ->refill() function */ - accum = asn_get_few_bits(&tpd, nbits - 24) << 24; - accum |= asn_get_few_bits(&tpd, 24); - } else { - asn_get_undo(pd, nbits); - return -1; - } - - accum &= (((uint32_t)1 << nbits) - 1); - - ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+ld[%d..%d]:%02x (%d) => 0x%x]", - (int)nbits, (int)nleft, - (int)pd->moved, - (((long)pd->buffer) & 0xf), - (int)pd->nboff, (int)pd->nbits, - ((pd->buffer != NULL)?pd->buffer[0]:0), - (int)(pd->nbits - pd->nboff), - (int)accum); - - return accum; -} - -/* - * Extract a large number of bits from the specified PER data pointer. - */ -int -asn_get_many_bits(asn_bit_data_t *pd, uint8_t *dst, int alright, int nbits) { - int32_t value; - - if(alright && (nbits & 7)) { - /* Perform right alignment of a first few bits */ - value = asn_get_few_bits(pd, nbits & 0x07); - if(value < 0) return -1; - *dst++ = value; /* value is already right-aligned */ - nbits &= ~7; - } - - while(nbits) { - if(nbits >= 24) { - value = asn_get_few_bits(pd, 24); - if(value < 0) return -1; - *(dst++) = value >> 16; - *(dst++) = value >> 8; - *(dst++) = value; - nbits -= 24; - } else { - value = asn_get_few_bits(pd, nbits); - if(value < 0) return -1; - if(nbits & 7) { /* implies left alignment */ - value <<= 8 - (nbits & 7), - nbits += 8 - (nbits & 7); - if(nbits > 24) - *dst++ = value >> 24; - } - if(nbits > 16) - *dst++ = value >> 16; - if(nbits > 8) - *dst++ = value >> 8; - *dst++ = value; - break; - } - } - - return 0; -} - -/* - * Put a small number of bits (<= 31). - */ -int -asn_put_few_bits(asn_bit_outp_t *po, uint32_t bits, int obits) { - size_t off; /* Next after last bit offset */ - size_t omsk; /* Existing last byte meaningful bits mask */ - uint8_t *buf; - - if(obits <= 0 || obits >= 32) return obits ? -1 : 0; - - ASN_DEBUG("[PER put %d bits %x to %p+%d bits]", - obits, (int)bits, (void *)po->buffer, (int)po->nboff); - - /* - * Normalize position indicator. - */ - if(po->nboff >= 8) { - po->buffer += (po->nboff >> 3); - po->nbits -= (po->nboff & ~0x07); - po->nboff &= 0x07; - } - - /* - * Flush whole-bytes output, if necessary. - */ - if(po->nboff + obits > po->nbits) { - size_t complete_bytes; - if(!po->buffer) po->buffer = po->tmpspace; - complete_bytes = (po->buffer - po->tmpspace); - ASN_DEBUG("[PER output %ld complete + %ld]", - (long)complete_bytes, (long)po->flushed_bytes); - if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) - return -1; - if(po->nboff) - po->tmpspace[0] = po->buffer[0]; - po->buffer = po->tmpspace; - po->nbits = 8 * sizeof(po->tmpspace); - po->flushed_bytes += complete_bytes; - } - - /* - * Now, due to sizeof(tmpspace), we are guaranteed large enough space. - */ - buf = po->buffer; - omsk = ~((1 << (8 - po->nboff)) - 1); - off = (po->nboff + obits); - - /* Clear data of debris before meaningful bits */ - bits &= (((uint32_t)1 << obits) - 1); - - ASN_DEBUG("[PER out %d %u/%x (t=%d,o=%d) %x&%x=%x]", obits, - (int)bits, (int)bits, - (int)po->nboff, (int)off, - buf[0], (int)(omsk&0xff), - (int)(buf[0] & omsk)); - - if(off <= 8) /* Completely within 1 byte */ - po->nboff = off, - bits <<= (8 - off), - buf[0] = (buf[0] & omsk) | bits; - else if(off <= 16) - po->nboff = off, - bits <<= (16 - off), - buf[0] = (buf[0] & omsk) | (bits >> 8), - buf[1] = bits; - else if(off <= 24) - po->nboff = off, - bits <<= (24 - off), - buf[0] = (buf[0] & omsk) | (bits >> 16), - buf[1] = bits >> 8, - buf[2] = bits; - else if(off <= 31) - po->nboff = off, - bits <<= (32 - off), - buf[0] = (buf[0] & omsk) | (bits >> 24), - buf[1] = bits >> 16, - buf[2] = bits >> 8, - buf[3] = bits; - else { - if(asn_put_few_bits(po, bits >> (obits - 24), 24)) return -1; - if(asn_put_few_bits(po, bits, obits - 24)) return -1; - } - - ASN_DEBUG("[PER out %u/%x => %02x buf+%ld]", - (int)bits, (int)bits, buf[0], - (long)(po->buffer - po->tmpspace)); - - return 0; -} - - -/* - * Output a large number of bits. - */ -int -asn_put_many_bits(asn_bit_outp_t *po, const uint8_t *src, int nbits) { - - while(nbits) { - uint32_t value; - - if(nbits >= 24) { - value = (src[0] << 16) | (src[1] << 8) | src[2]; - src += 3; - nbits -= 24; - if(asn_put_few_bits(po, value, 24)) - return -1; - } else { - value = src[0]; - if(nbits > 8) - value = (value << 8) | src[1]; - if(nbits > 16) - value = (value << 8) | src[2]; - if(nbits & 0x07) - value >>= (8 - (nbits & 0x07)); - if(asn_put_few_bits(po, value, nbits)) - return -1; - break; - } - } - - return 0; -} - - -int -asn_put_aligned_flush(asn_bit_outp_t *po) { - uint32_t unused_bits = (0x7 & (8 - (po->nboff & 0x07))); - size_t complete_bytes = - (po->buffer ? po->buffer - po->tmpspace : 0) + ((po->nboff + 7) >> 3); - - if(unused_bits) { - po->buffer[po->nboff >> 3] &= ~0u << unused_bits; - } - - if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) { - return -1; - } else { - po->buffer = po->tmpspace; - po->nboff = 0; - po->nbits = 8 * sizeof(po->tmpspace); - po->flushed_bytes += complete_bytes; - return 0; - } -} - diff --git a/skeletons/asn_bit_data.h b/skeletons/asn_bit_data.h deleted file mode 100644 index 59de7af..0000000 --- a/skeletons/asn_bit_data.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_BIT_DATA -#define ASN_BIT_DATA - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This structure describes a position inside an incoming PER bit stream. - */ -typedef struct asn_bit_data_s { - const uint8_t *buffer; /* Pointer to the octet stream */ - size_t nboff; /* Bit offset to the meaningful bit */ - size_t nbits; /* Number of bits in the stream */ - size_t moved; /* Number of bits moved through this bit stream */ - int (*refill)(struct asn_bit_data_s *); - void *refill_key; -} asn_bit_data_t; - -/* - * Create a contiguous non-refillable bit data structure. - * Can be freed by FREEMEM(). - */ -asn_bit_data_t *asn_bit_data_new_contiguous(const void *data, size_t size_bits); - -/* - * Extract a small number of bits (<= 31) from the specified PER data pointer. - * This function returns -1 if the specified number of bits could not be - * extracted due to EOD or other conditions. - */ -int32_t asn_get_few_bits(asn_bit_data_t *, int get_nbits); - -/* Undo the immediately preceeding "get_few_bits" operation */ -void asn_get_undo(asn_bit_data_t *, int get_nbits); - -/* - * Extract a large number of bits from the specified PER data pointer. - * This function returns -1 if the specified number of bits could not be - * extracted due to EOD or other conditions. - */ -int asn_get_many_bits(asn_bit_data_t *, uint8_t *dst, int right_align, - int get_nbits); - -/* Non-thread-safe debugging function, don't use it */ -char *asn_bit_data_string(asn_bit_data_t *); - -/* - * This structure supports forming bit output. - */ -typedef struct asn_bit_outp_s { - uint8_t *buffer; /* Pointer into the (tmpspace) */ - size_t nboff; /* Bit offset to the meaningful bit */ - size_t nbits; /* Number of bits left in (tmpspace) */ - uint8_t tmpspace[32]; /* Preliminary storage to hold data */ - int (*output)(const void *data, size_t size, void *op_key); - void *op_key; /* Key for (output) data callback */ - size_t flushed_bytes; /* Bytes already flushed through (output) */ -} asn_bit_outp_t; - -/* Output a small number of bits (<= 31) */ -int asn_put_few_bits(asn_bit_outp_t *, uint32_t bits, int obits); - -/* Output a large number of bits */ -int asn_put_many_bits(asn_bit_outp_t *, const uint8_t *src, int put_nbits); - -/* - * Flush whole bytes (0 or more) through (outper) member. - * The least significant bits which are not used are guaranteed to be set to 0. - * Returns -1 if callback returns -1. Otherwise, 0. - */ -int asn_put_aligned_flush(asn_bit_outp_t *); - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_BIT_DATA */ diff --git a/skeletons/asn_codecs.h b/skeletons/asn_codecs.h deleted file mode 100644 index e75c270..0000000 --- a/skeletons/asn_codecs.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_CODECS_H -#define ASN_CODECS_H - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * This structure defines a set of parameters that may be passed - * to every ASN.1 encoder or decoder function. - * WARNING: if max_stack_size member is set, and you are calling the - * function pointers of the asn_TYPE_descriptor_t directly, - * this structure must be ALLOCATED ON THE STACK! - * If you can't always satisfy this requirement, use ber_decode(), - * xer_decode() and uper_decode() functions instead. - */ -typedef struct asn_codec_ctx_s { - /* - * Limit the decoder routines to use no (much) more stack than a given - * number of bytes. Most of decoders are stack-based, and this - * would protect against stack overflows if the number of nested - * encodings is high. - * The OCTET STRING, BIT STRING and ANY BER decoders are heap-based, - * and are safe from this kind of overflow. - * A value from getrlimit(RLIMIT_STACK) may be used to initialize - * this variable. Be careful in multithreaded environments, as the - * stack size is rather limited. - */ - size_t max_stack_size; /* 0 disables stack bounds checking */ -} asn_codec_ctx_t; - -/* - * Type of the return value of the encoding functions (der_encode, xer_encode). - */ -typedef struct asn_enc_rval_s { - /* - * Number of bytes encoded. - * -1 indicates failure to encode the structure. - * In this case, the members below this one are meaningful. - */ - ssize_t encoded; - - /* - * Members meaningful when (encoded == -1), for post mortem analysis. - */ - - /* Type which cannot be encoded */ - const struct asn_TYPE_descriptor_s *failed_type; - - /* Pointer to the structure of that type */ - const void *structure_ptr; -} asn_enc_rval_t; -#define ASN__ENCODE_FAILED do { \ - asn_enc_rval_t tmp_error; \ - tmp_error.encoded = -1; \ - tmp_error.failed_type = td; \ - tmp_error.structure_ptr = sptr; \ - ASN_DEBUG("Failed to encode element %s", td ? td->name : ""); \ - return tmp_error; \ -} while(0) -#define ASN__ENCODED_OK(rval) do { \ - rval.structure_ptr = 0; \ - rval.failed_type = 0; \ - return rval; \ -} while(0) - -/* - * Type of the return value of the decoding functions (ber_decode, xer_decode) - * - * Please note that the number of consumed bytes is ALWAYS meaningful, - * even if code==RC_FAIL. This is to indicate the number of successfully - * decoded bytes, hence providing a possibility to fail with more diagnostics - * (i.e., print the offending remainder of the buffer). - */ -enum asn_dec_rval_code_e { - RC_OK, /* Decoded successfully */ - RC_WMORE, /* More data expected, call again */ - RC_FAIL /* Failure to decode data */ -}; -typedef struct asn_dec_rval_s { - enum asn_dec_rval_code_e code; /* Result code */ - size_t consumed; /* Number of bytes consumed */ -} asn_dec_rval_t; -#define ASN__DECODE_FAILED do { \ - asn_dec_rval_t tmp_error; \ - tmp_error.code = RC_FAIL; \ - tmp_error.consumed = 0; \ - ASN_DEBUG("Failed to decode element %s", td ? td->name : ""); \ - return tmp_error; \ -} while(0) -#define ASN__DECODE_STARVED do { \ - asn_dec_rval_t tmp_error; \ - tmp_error.code = RC_WMORE; \ - tmp_error.consumed = 0; \ - return tmp_error; \ -} while(0) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_CODECS_H */ diff --git a/skeletons/asn_codecs_prim.c b/skeletons/asn_codecs_prim.c deleted file mode 100644 index fc24247..0000000 --- a/skeletons/asn_codecs_prim.c +++ /dev/null @@ -1,317 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Decode an always-primitive type. - */ -asn_dec_rval_t -ber_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buf_ptr, size_t size, int tag_mode) { - ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)*sptr; - asn_dec_rval_t rval; - ber_tlv_len_t length = 0; /* =0 to avoid [incorrect] warning. */ - - /* - * If the structure is not there, allocate it. - */ - if(st == NULL) { - st = (ASN__PRIMITIVE_TYPE_t *)CALLOC(1, sizeof(*st)); - if(st == NULL) ASN__DECODE_FAILED; - *sptr = (void *)st; - } - - ASN_DEBUG("Decoding %s as plain primitive (tm=%d)", - td->name, tag_mode); - - /* - * Check tags and extract value length. - */ - rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, - tag_mode, 0, &length, 0); - if(rval.code != RC_OK) - return rval; - - ASN_DEBUG("%s length is %d bytes", td->name, (int)length); - - /* - * Make sure we have this length. - */ - buf_ptr = ((const char *)buf_ptr) + rval.consumed; - size -= rval.consumed; - if(length > (ber_tlv_len_t)size) { - rval.code = RC_WMORE; - rval.consumed = 0; - return rval; - } - - st->size = (int)length; - /* The following better be optimized away. */ - if(sizeof(st->size) != sizeof(length) - && (ber_tlv_len_t)st->size != length) { - st->size = 0; - ASN__DECODE_FAILED; - } - - st->buf = (uint8_t *)MALLOC(length + 1); - if(!st->buf) { - st->size = 0; - ASN__DECODE_FAILED; - } - - memcpy(st->buf, buf_ptr, length); - st->buf[length] = '\0'; /* Just in case */ - - rval.code = RC_OK; - rval.consumed += length; - - ASN_DEBUG("Took %ld/%ld bytes to encode %s", - (long)rval.consumed, - (long)length, td->name); - - return rval; -} - -/* - * Encode an always-primitive type using DER. - */ -asn_enc_rval_t -der_encode_primitive(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t erval = {0,0,0}; - const ASN__PRIMITIVE_TYPE_t *st = (const ASN__PRIMITIVE_TYPE_t *)sptr; - - ASN_DEBUG("%s %s as a primitive type (tm=%d)", - cb?"Encoding":"Estimating", td->name, tag_mode); - - erval.encoded = der_write_tags(td, st->size, tag_mode, 0, tag, - cb, app_key); - ASN_DEBUG("%s wrote tags %d", td->name, (int)erval.encoded); - if(erval.encoded == -1) { - erval.failed_type = td; - erval.structure_ptr = sptr; - return erval; - } - - if(cb && st->buf) { - if(cb(st->buf, st->size, app_key) < 0) { - erval.encoded = -1; - erval.failed_type = td; - erval.structure_ptr = sptr; - return erval; - } - } else { - assert(st->buf || st->size == 0); - } - - erval.encoded += st->size; - ASN__ENCODED_OK(erval); -} - -void -ASN__PRIMITIVE_TYPE_free(const asn_TYPE_descriptor_t *td, void *sptr, - enum asn_struct_free_method method) { - ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)sptr; - - if(!td || !sptr) - return; - - ASN_DEBUG("Freeing %s as a primitive type", td->name); - - if(st->buf) - FREEMEM(st->buf); - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(sptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(sptr, 0, sizeof(ASN__PRIMITIVE_TYPE_t)); - break; - } -} - - -/* - * Local internal type passed around as an argument. - */ -struct xdp_arg_s { - const asn_TYPE_descriptor_t *type_descriptor; - void *struct_key; - xer_primitive_body_decoder_f *prim_body_decoder; - int decoded_something; - int want_more; -}; - -/* - * Since some kinds of primitive values can be encoded using value-specific - * tags (, , etc), the primitive decoder must - * be supplied with such tags to parse them as needed. - */ -static int -xer_decode__unexpected_tag(void *key, const void *chunk_buf, size_t chunk_size) { - struct xdp_arg_s *arg = (struct xdp_arg_s *)key; - enum xer_pbd_rval bret; - - /* - * The chunk_buf is guaranteed to start at '<'. - */ - assert(chunk_size && ((const char *)chunk_buf)[0] == 0x3c); - - /* - * Decoding was performed once already. Prohibit doing it again. - */ - if(arg->decoded_something) - return -1; - - bret = arg->prim_body_decoder(arg->type_descriptor, - arg->struct_key, chunk_buf, chunk_size); - switch(bret) { - case XPBD_SYSTEM_FAILURE: - case XPBD_DECODER_LIMIT: - case XPBD_BROKEN_ENCODING: - break; - case XPBD_BODY_CONSUMED: - /* Tag decoded successfully */ - arg->decoded_something = 1; - /* Fall through */ - case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ - return 0; - } - - return -1; -} - -static ssize_t -xer_decode__primitive_body(void *key, const void *chunk_buf, size_t chunk_size, int have_more) { - struct xdp_arg_s *arg = (struct xdp_arg_s *)key; - enum xer_pbd_rval bret; - size_t lead_wsp_size; - - if(arg->decoded_something) { - if(xer_whitespace_span(chunk_buf, chunk_size) == chunk_size) { - /* - * Example: - * "123 " - * ^- chunk_buf position. - */ - return chunk_size; - } - /* - * Decoding was done once already. Prohibit doing it again. - */ - return -1; - } - - if(!have_more) { - /* - * If we've received something like "1", we can't really - * tell whether it is really `1` or `123`, until we know - * that there is no more data coming. - * The have_more argument will be set to 1 once something - * like this is available to the caller of this callback: - * "1want_more = 1; - return -1; - } - - lead_wsp_size = xer_whitespace_span(chunk_buf, chunk_size); - chunk_buf = (const char *)chunk_buf + lead_wsp_size; - chunk_size -= lead_wsp_size; - - bret = arg->prim_body_decoder(arg->type_descriptor, - arg->struct_key, chunk_buf, chunk_size); - switch(bret) { - case XPBD_SYSTEM_FAILURE: - case XPBD_DECODER_LIMIT: - case XPBD_BROKEN_ENCODING: - break; - case XPBD_BODY_CONSUMED: - /* Tag decoded successfully */ - arg->decoded_something = 1; - /* Fall through */ - case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ - return lead_wsp_size + chunk_size; - } - - return -1; -} - - -asn_dec_rval_t -xer_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - size_t struct_size, const char *opt_mname, - const void *buf_ptr, size_t size, - xer_primitive_body_decoder_f *prim_body_decoder) { - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - asn_struct_ctx_t s_ctx; - struct xdp_arg_s s_arg; - asn_dec_rval_t rc; - - /* - * Create the structure if does not exist. - */ - if(!*sptr) { - *sptr = CALLOC(1, struct_size); - if(!*sptr) ASN__DECODE_FAILED; - } - - memset(&s_ctx, 0, sizeof(s_ctx)); - s_arg.type_descriptor = td; - s_arg.struct_key = *sptr; - s_arg.prim_body_decoder = prim_body_decoder; - s_arg.decoded_something = 0; - s_arg.want_more = 0; - - rc = xer_decode_general(opt_codec_ctx, &s_ctx, &s_arg, - xml_tag, buf_ptr, size, - xer_decode__unexpected_tag, xer_decode__primitive_body); - switch(rc.code) { - case RC_OK: - if(!s_arg.decoded_something) { - char ch; - ASN_DEBUG("Primitive body is not recognized, " - "supplying empty one"); - /* - * Decoding opportunity has come and gone. - * Where's the result? - * Try to feed with empty body, see if it eats it. - */ - if(prim_body_decoder(s_arg.type_descriptor, - s_arg.struct_key, &ch, 0) - != XPBD_BODY_CONSUMED) { - /* - * This decoder does not like empty stuff. - */ - ASN__DECODE_FAILED; - } - } - break; - case RC_WMORE: - /* - * Redo the whole thing later. - * We don't have a context to save intermediate parsing state. - */ - rc.consumed = 0; - break; - case RC_FAIL: - rc.consumed = 0; - if(s_arg.want_more) - rc.code = RC_WMORE; - else - ASN__DECODE_FAILED; - break; - } - return rc; -} - diff --git a/skeletons/asn_codecs_prim.h b/skeletons/asn_codecs_prim.h deleted file mode 100644 index fbc5576..0000000 --- a/skeletons/asn_codecs_prim.h +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_CODECS_PRIM_H -#define ASN_CODECS_PRIM_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ASN__PRIMITIVE_TYPE_s { - uint8_t *buf; /* Buffer with consecutive primitive encoding bytes */ - size_t size; /* Size of the buffer */ -} ASN__PRIMITIVE_TYPE_t; /* Do not use this type directly! */ - -asn_struct_free_f ASN__PRIMITIVE_TYPE_free; -ber_type_decoder_f ber_decode_primitive; -der_type_encoder_f der_encode_primitive; - -/* - * A callback specification for the xer_decode_primitive() function below. - */ -enum xer_pbd_rval { - XPBD_SYSTEM_FAILURE, /* System failure (memory shortage, etc) */ - XPBD_DECODER_LIMIT, /* Hit some decoder limitation or deficiency */ - XPBD_BROKEN_ENCODING, /* Encoding of a primitive body is broken */ - XPBD_NOT_BODY_IGNORE, /* Not a body format, but safe to ignore */ - XPBD_BODY_CONSUMED /* Body is recognized and consumed */ -}; -typedef enum xer_pbd_rval(xer_primitive_body_decoder_f)( - const asn_TYPE_descriptor_t *td, void *struct_ptr, const void *chunk_buf, - size_t chunk_size); - -/* - * Specific function to decode simple primitive types. - * Also see xer_decode_general() in xer_decoder.h - */ -asn_dec_rval_t xer_decode_primitive( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, - size_t struct_size, const char *opt_mname, const void *buf_ptr, size_t size, - xer_primitive_body_decoder_f *prim_body_decoder); - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_CODECS_PRIM_H */ diff --git a/skeletons/asn_internal.c b/skeletons/asn_internal.c deleted file mode 100644 index 1aff95f..0000000 --- a/skeletons/asn_internal.c +++ /dev/null @@ -1,48 +0,0 @@ -#include - -ssize_t -asn__format_to_callback(int (*cb)(const void *, size_t, void *key), void *key, - const char *fmt, ...) { - char scratch[64]; - char *buf = scratch; - size_t buf_size = sizeof(scratch); - int wrote; - int cb_ret; - - do { - va_list args; - va_start(args, fmt); - - wrote = vsnprintf(buf, buf_size, fmt, args); - if(wrote < (ssize_t)buf_size) { - if(wrote < 0) { - if(buf != scratch) FREEMEM(buf); - va_end(args); - return -1; - } - break; - } - - buf_size <<= 1; - if(buf == scratch) { - buf = MALLOC(buf_size); - if(!buf) return -1; - } else { - void *p = REALLOC(buf, buf_size); - if(!p) { - FREEMEM(buf); - return -1; - } - buf = p; - } - } while(1); - - cb_ret = cb(buf, wrote, key); - if(buf != scratch) FREEMEM(buf); - if(cb_ret < 0) { - return -1; - } - - return wrote; -} - diff --git a/skeletons/asn_internal.h b/skeletons/asn_internal.h deleted file mode 100644 index c4105ad..0000000 --- a/skeletons/asn_internal.h +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Declarations internally useful for the ASN.1 support code. - */ -#ifndef ASN_INTERNAL_H -#define ASN_INTERNAL_H -#define __EXTENSIONS__ /* for Sun */ - -#include "asn_application.h" /* Application-visible API */ - -#ifndef __NO_ASSERT_H__ /* Include assert.h only for internal use. */ -#include /* for assert() macro */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Environment version might be used to avoid running with the old library */ -#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */ -int get_asn1c_environment_version(void); /* Run-time version */ - -#define CALLOC(nmemb, size) calloc(nmemb, size) -#define MALLOC(size) malloc(size) -#define REALLOC(oldptr, size) realloc(oldptr, size) -#define FREEMEM(ptr) free(ptr) - -#define asn_debug_indent 0 -#define ASN_DEBUG_INDENT_ADD(i) do{}while(0) - -#ifdef EMIT_ASN_DEBUG -#warning "Use ASN_EMIT_DEBUG instead of EMIT_ASN_DEBUG" -#define ASN_EMIT_DEBUG EMIT_ASN_DEBUG -#endif - -/* - * A macro for debugging the ASN.1 internals. - * You may enable or override it. - */ -#ifndef ASN_DEBUG /* If debugging code is not defined elsewhere... */ -#if ASN_EMIT_DEBUG == 1 /* And it was asked to emit this code... */ -#if !defined(BELL_LABS) /* Bell Labs */ - //#if __STDC_VERSION__ >= 199901L -#ifdef ASN_THREAD_SAFE -/* Thread safety requires sacrifice in output indentation: - * Retain empty definition of ASN_DEBUG_INDENT_ADD. */ -#else /* !ASN_THREAD_SAFE */ -#undef ASN_DEBUG_INDENT_ADD -#undef asn_debug_indent -int asn_debug_indent; -#define ASN_DEBUG_INDENT_ADD(i) do { asn_debug_indent += i; } while(0) -#endif /* ASN_THREAD_SAFE */ -#if defined(BELL_LABS) /* Bell Labs version */ -extern int logAsn1c(const char *filename, int linenumber, const char *format, ...); -#define ASN_DEBUG(fmt, args...) do { \ - (void) logAsn1c(__FILE__, __LINE__, fmt, ##args); \ - } while(0) -#else -#define ASN_DEBUG(fmt, args...) do { \ - int adi = asn_debug_indent; \ - while(adi--) fprintf(stderr, " "); \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) -#endif /* BELL_LABS */ -#else /* !C99 */ -void CC_PRINTFLIKE(1, 2) ASN_DEBUG_f(const char *fmt, ...); -#define ASN_DEBUG ASN_DEBUG_f -#endif /* C99 */ -#else /* ASN_EMIT_DEBUG != 1 */ -#if __STDC_VERSION__ >= 199901L -#define ASN_DEBUG(...) do{}while(0) -#else /* not C99 */ -static void CC_PRINTFLIKE(1, 2) ASN_DEBUG(const char *fmt, ...) { (void)fmt; } -#endif /* C99 or better */ -#endif /* ASN_EMIT_DEBUG */ -#endif /* ASN_DEBUG */ - -/* - * Print to a callback. - * The callback is expected to return negative values on error. - * 0 and positive values are treated as success. - * RETURN VALUES: - * -1: Failed to format or invoke the callback. - * >0: Size of the data that got delivered to the callback. - */ -ssize_t CC_PRINTFLIKE(3, 4) -asn__format_to_callback( - int (*callback)(const void *, size_t, void *key), void *key, - const char *fmt, ...); - -/* - * Invoke the application-supplied callback and fail, if something is wrong. - */ -#define ASN__E_cbc(buf, size) (cb((buf), (size), app_key) < 0) -#define ASN__E_CALLBACK(size, foo) \ - do { \ - if(foo) goto cb_failed; \ - er.encoded += (size); \ - } while(0) -#define ASN__CALLBACK(buf, size) ASN__E_CALLBACK(size, ASN__E_cbc(buf, size)) -#define ASN__CALLBACK2(buf1, size1, buf2, size2) \ - ASN__E_CALLBACK((size1) + (size2), \ - ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2)) -#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3) \ - ASN__E_CALLBACK((size1) + (size2) + (size3), \ - ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2) \ - || ASN__E_cbc(buf3, size3)) - -#define ASN__TEXT_INDENT(nl, level) \ - do { \ - int tmp_level = (level); \ - int tmp_nl = ((nl) != 0); \ - int tmp_i; \ - if(tmp_nl) ASN__CALLBACK("\n", 1); \ - if(tmp_level < 0) tmp_level = 0; \ - for(tmp_i = 0; tmp_i < tmp_level; tmp_i++) ASN__CALLBACK(" ", 4); \ - } while(0) - -#define _i_INDENT(nl) do { \ - int tmp_i; \ - if((nl) && cb("\n", 1, app_key) < 0) \ - return -1; \ - for(tmp_i = 0; tmp_i < ilevel; tmp_i++) \ - if(cb(" ", 4, app_key) < 0) \ - return -1; \ - } while(0) - -/* - * Check stack against overflow, if limit is set. - */ -#define ASN__DEFAULT_STACK_MAX (30000) -static int CC_NOTUSED -ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) { - if(ctx && ctx->max_stack_size) { - - /* ctx MUST be allocated on the stack */ - ptrdiff_t usedstack = ((const char *)ctx - (const char *)&ctx); - if(usedstack > 0) usedstack = -usedstack; /* grows up! */ - - /* double negative required to avoid int wrap-around */ - if(usedstack < -(ptrdiff_t)ctx->max_stack_size) { - ASN_DEBUG("Stack limit %ld reached", - (long)ctx->max_stack_size); - return -1; - } - } - return 0; -} - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_INTERNAL_H */ diff --git a/skeletons/asn_ioc.h b/skeletons/asn_ioc.h deleted file mode 100644 index 7de210e..0000000 --- a/skeletons/asn_ioc.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Run-time support for Information Object Classes. - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_IOC_H -#define ASN_IOC_H - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; -struct asn_ioc_cell_s; - -/* - * X.681, #13 - */ -typedef struct asn_ioc_set_s { - size_t rows_count; - size_t columns_count; - const struct asn_ioc_cell_s *rows; -} asn_ioc_set_t; - - -typedef struct asn_ioc_cell_s { - const char *field_name; /* Is equal to corresponding column_name */ - enum { - aioc__undefined = 0, - aioc__value, - aioc__type, - aioc__open_type, - } cell_kind; - struct asn_TYPE_descriptor_s *type_descriptor; - const void *value_sptr; - struct { - size_t types_count; - struct { - unsigned choice_position; - } *types; - } open_type; -} asn_ioc_cell_t; - - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_IOC_H */ diff --git a/skeletons/asn_random_fill.c b/skeletons/asn_random_fill.c deleted file mode 100644 index 819cf70..0000000 --- a/skeletons/asn_random_fill.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -int -asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, - size_t length) { - - if(td && td->op->random_fill) { - asn_random_fill_result_t res = - td->op->random_fill(td, struct_ptr, 0, length); - return (res.code == ARFILL_OK) ? 0 : -1; - } else { - return -1; - } -} - -static uintmax_t -asn__intmax_range(intmax_t lb, intmax_t ub) { - assert(lb <= ub); - if((ub < 0) == (lb < 0)) { - return ub - lb; - } else if(lb < 0) { - return 1 + ((uintmax_t)ub + (uintmax_t)-(lb + 1)); - } else { - assert(!"Unreachable"); - return 0; - } -} - -intmax_t -asn_random_between(intmax_t lb, intmax_t rb) { - if(lb == rb) { - return lb; - } else { - const uintmax_t intmax_max = ((~(uintmax_t)0) >> 1); - uintmax_t range = asn__intmax_range(lb, rb); - uintmax_t value = 0; - uintmax_t got_entropy = 0; - - assert(RAND_MAX > 0xffffff); /* Seen 7ffffffd! */ - assert(range < intmax_max); - - for(; got_entropy < range;) { - got_entropy = (got_entropy << 24) | 0xffffff; - value = (value << 24) | (random() % 0xffffff); - } - - return lb + (intmax_t)(value % (range + 1)); - } -} diff --git a/skeletons/asn_random_fill.h b/skeletons/asn_random_fill.h deleted file mode 100644 index 47f9b8a..0000000 --- a/skeletons/asn_random_fill.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_RANDOM_FILL -#define ASN_RANDOM_FILL - -/* Forward declarations */ -struct asn_TYPE_descriptor_s; -struct asn_encoding_constraints_s; - -/* - * Initialize a structure with random data according to the type specification - * and optional member constraints. - * ARGUMENTS: - * (max_length) - See (approx_max_length_limit). - * (memb_constraints) - Member constraints, if exist. - * The type can be constrained differently according - * to PER and OER specifications, so we find a value - * at the intersection of these constraints. - * In case the return differs from ARFILL_OK, the (struct_ptr) contents - * and (current_length) value remain in their original state. - */ -typedef struct asn_random_fill_result_s { - enum { - ARFILL_FAILED = -1, /* System error (memory?) */ - ARFILL_OK = 0, /* Initialization succeeded */ - ARFILL_SKIPPED = 1 /* Not done due to (length?) constraint */ - } code; - size_t length; /* Approximate number of bytes created. */ -} asn_random_fill_result_t; -typedef asn_random_fill_result_t(asn_random_fill_f)( - const struct asn_TYPE_descriptor_s *td, void **struct_ptr, - const struct asn_encoding_constraints_s *memb_constraints, - size_t max_length); - -/* - * Returns 0 if the structure was properly initialized, -1 otherwise. - * The (approx_max_length_limit) specifies the approximate limit of the - * resulting structure in units closely resembling bytes. The actual result - * might be several times larger or smaller than the length limit. - */ -int asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, - size_t approx_max_length_limit); - -/* - * Returns a random number between min and max. - */ -intmax_t asn_random_between(intmax_t min, intmax_t max); - -#endif /* ASN_RANDOM_FILL */ diff --git a/skeletons/asn_system.h b/skeletons/asn_system.h deleted file mode 100644 index fa8cf11..0000000 --- a/skeletons/asn_system.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Miscellaneous system-dependent types. - */ -#ifndef ASN_SYSTEM_H -#define ASN_SYSTEM_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef _DEFAULT_SOURCE -#define _DEFAULT_SOURCE 1 -#endif - -#ifndef _BSD_SOURCE -#define _BSD_SOURCE /* for snprintf() on some linux systems */ -#endif - -#include /* For snprintf(3) */ -#include /* For *alloc(3) */ -#include /* For memcpy(3) */ -#include /* For size_t */ -#include /* For LONG_MAX */ -#include /* For va_start */ -#include /* for offsetof and ptrdiff_t */ - -#ifdef _WIN32 - -#include -#define snprintf _snprintf -#define vsnprintf _vsnprintf - -/* To avoid linking with ws2_32.lib, here's the definition of ntohl() */ -#define sys_ntohl(l) ((((l) << 24) & 0xff000000) \ - | (((l) << 8) & 0xff0000) \ - | (((l) >> 8) & 0xff00) \ - | ((l >> 24) & 0xff)) - -#ifdef _MSC_VER /* MSVS.Net */ -#ifndef __cplusplus -#define inline __inline -#endif -#ifndef ASSUMESTDTYPES /* Standard types have been defined elsewhere */ -#define ssize_t SSIZE_T -#if _MSC_VER < 1600 -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#else /* _MSC_VER >= 1600 */ -#include -#endif /* _MSC_VER < 1600 */ -#endif /* ASSUMESTDTYPES */ -#define WIN32_LEAN_AND_MEAN -#include -#include -#define isnan _isnan -#define finite _finite -#define copysign _copysign -#define ilogb _logb -#else /* !_MSC_VER */ -#include -#endif /* _MSC_VER */ - -#else /* !_WIN32 */ - -#if defined(__vxworks) -#include -#else /* !defined(__vxworks) */ - -#include /* C99 specifies this file */ -#include /* for ntohl() */ -#define sys_ntohl(foo) ntohl(foo) -#endif /* defined(__vxworks) */ - -#endif /* _WIN32 */ - -#if __GNUC__ >= 3 || defined(__clang__) -#define CC_ATTRIBUTE(attr) __attribute__((attr)) -#else -#define CC_ATTRIBUTE(attr) -#endif -#define CC_PRINTFLIKE(fmt, var) CC_ATTRIBUTE(format(printf, fmt, var)) -#define CC_NOTUSED CC_ATTRIBUTE(unused) -#ifndef CC_ATTR_NO_SANITIZE -#define CC_ATTR_NO_SANITIZE(what) CC_ATTRIBUTE(no_sanitize(what)) -#endif - -/* Figure out if thread safety is requested */ -#if !defined(ASN_THREAD_SAFE) && (defined(THREAD_SAFE) || defined(_REENTRANT)) -#define ASN_THREAD_SAFE -#endif /* Thread safety */ - -#ifndef offsetof /* If not defined by */ -#define offsetof(s, m) ((ptrdiff_t)&(((s *)0)->m) - (ptrdiff_t)((s *)0)) -#endif /* offsetof */ - -#ifndef MIN /* Suitable for comparing primitive types (integers) */ -#if defined(__GNUC__) -#define MIN(a,b) ({ __typeof a _a = a; __typeof b _b = b; \ - ((_a)<(_b)?(_a):(_b)); }) -#else /* !__GNUC__ */ -#define MIN(a,b) ((a)<(b)?(a):(b)) /* Unsafe variant */ -#endif /* __GNUC__ */ -#endif /* MIN */ - -#if __STDC_VERSION__ >= 199901L -#ifndef SIZE_MAX -#define SIZE_MAX ((~((size_t)0)) >> 1) -#endif - -#ifndef RSIZE_MAX /* C11, Annex K */ -#define RSIZE_MAX (SIZE_MAX >> 1) -#endif -#ifndef RSSIZE_MAX /* Halve signed size even further than unsigned */ -#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) -#endif -#else /* Old compiler */ -#undef SIZE_MAX -#undef RSIZE_MAX -#undef RSSIZE_MAX -#define SIZE_MAX ((~((size_t)0)) >> 1) -#define RSIZE_MAX (SIZE_MAX >> 1) -#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) -#endif - -#if __STDC_VERSION__ >= 199901L -#define ASN_PRI_SIZE "zu" -#define ASN_PRI_SSIZE "zd" -#define ASN_PRIuMAX PRIuMAX -#define ASN_PRIdMAX PRIdMAX -#else -#define ASN_PRI_SIZE "lu" -#define ASN_PRI_SSIZE "ld" -#if LLONG_MAX > LONG_MAX -#define ASN_PRIuMAX "llu" -#define ASN_PRIdMAX "lld" -#else -#define ASN_PRIuMAX "lu" -#define ASN_PRIdMAX "ld" -#endif -#endif - -#endif /* ASN_SYSTEM_H */ diff --git a/skeletons/ber_decoder.c b/skeletons/ber_decoder.c deleted file mode 100644 index 75d6016..0000000 --- a/skeletons/ber_decoder.c +++ /dev/null @@ -1,283 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include - -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) -#undef RETURN -#define RETURN(_code) do { \ - asn_dec_rval_t rval; \ - rval.code = _code; \ - if(opt_ctx) opt_ctx->step = step; /* Save context */ \ - if(_code == RC_OK || opt_ctx) \ - rval.consumed = consumed_myself; \ - else \ - rval.consumed = 0; /* Context-free */ \ - return rval; \ - } while(0) - -/* - * The BER decoder of any type. - */ -asn_dec_rval_t -ber_decode(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, - const void *ptr, size_t size) { - asn_codec_ctx_t s_codec_ctx; - - /* - * Stack checker requires that the codec context - * must be allocated on the stack. - */ - if(opt_codec_ctx) { - if(opt_codec_ctx->max_stack_size) { - s_codec_ctx = *opt_codec_ctx; - opt_codec_ctx = &s_codec_ctx; - } - } else { - /* If context is not given, be security-conscious anyway */ - memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); - s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; - opt_codec_ctx = &s_codec_ctx; - } - - /* - * Invoke type-specific decoder. - */ - return type_descriptor->op->ber_decoder(opt_codec_ctx, type_descriptor, - struct_ptr, /* Pointer to the destination structure */ - ptr, size, /* Buffer and its size */ - 0 /* Default tag mode is 0 */ - ); -} - -/* - * Check the set of >> tags matches the definition. - */ -asn_dec_rval_t -ber_check_tags(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, asn_struct_ctx_t *opt_ctx, - const void *ptr, size_t size, int tag_mode, int last_tag_form, - ber_tlv_len_t *last_length, int *opt_tlv_form) { - ssize_t consumed_myself = 0; - ssize_t tag_len; - ssize_t len_len; - ber_tlv_tag_t tlv_tag; - ber_tlv_len_t tlv_len; - ber_tlv_len_t limit_len = -1; - int expect_00_terminators = 0; - int tlv_constr = -1; /* If CHOICE, opt_tlv_form is not given */ - int step = opt_ctx ? opt_ctx->step : 0; /* Where we left previously */ - int tagno; - - /* - * Make sure we didn't exceed the maximum stack size. - */ - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - RETURN(RC_FAIL); - - /* - * So what does all this implicit skip stuff mean? - * Imagine two types, - * A ::= [5] IMPLICIT T - * B ::= [2] EXPLICIT T - * Where T is defined as - * T ::= [4] IMPLICIT SEQUENCE { ... } - * - * Let's say, we are starting to decode type A, given the - * following TLV stream: <5> <0>. What does this mean? - * It means that the type A contains type T which is, - * in turn, empty. - * Remember though, that we are still in A. We cannot - * just pass control to the type T decoder. Why? Because - * the type T decoder expects <4> <0>, not <5> <0>. - * So, we must make sure we are going to receive <5> while - * still in A, then pass control to the T decoder, indicating - * that the tag <4> was implicitly skipped. The decoder of T - * hence will be prepared to treat <4> as valid tag, and decode - * it appropriately. - */ - - tagno = step /* Continuing where left previously */ - + (tag_mode==1?-1:0) - ; - ASN_DEBUG("ber_check_tags(%s, size=%ld, tm=%d, step=%d, tagno=%d)", - td->name, (long)size, tag_mode, step, tagno); - /* assert(td->tags_count >= 1) May not be the case for CHOICE or ANY */ - - if(tag_mode == 0 && tagno == (int)td->tags_count) { - /* - * This must be the _untagged_ ANY type, - * which outermost tag isn't known in advance. - * Fetch the tag and length separately. - */ - tag_len = ber_fetch_tag(ptr, size, &tlv_tag); - switch(tag_len) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - tlv_constr = BER_TLV_CONSTRUCTED(ptr); - len_len = ber_fetch_length(tlv_constr, - (const char *)ptr + tag_len, size - tag_len, &tlv_len); - switch(len_len) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - ASN_DEBUG("Advancing %ld in ANY case", - (long)(tag_len + len_len)); - ADVANCE(tag_len + len_len); - } else { - assert(tagno < (int)td->tags_count); /* At least one loop */ - } - for((void)tagno; tagno < (int)td->tags_count; tagno++, step++) { - - /* - * Fetch and process T from TLV. - */ - tag_len = ber_fetch_tag(ptr, size, &tlv_tag); - ASN_DEBUG("Fetching tag from {%p,%ld}: " - "len %ld, step %d, tagno %d got %s", - ptr, (long)size, - (long)tag_len, step, tagno, - ber_tlv_tag_string(tlv_tag)); - switch(tag_len) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - - tlv_constr = BER_TLV_CONSTRUCTED(ptr); - - /* - * If {I}, don't check anything. - * If {I,B,C}, check B and C unless we're at I. - */ - if(tag_mode != 0 && step == 0) { - /* - * We don't expect tag to match here. - * It's just because we don't know how the tag - * is supposed to look like. - */ - } else { - assert(tagno >= 0); /* Guaranteed by the code above */ - if(tlv_tag != td->tags[tagno]) { - /* - * Unexpected tag. Too bad. - */ - ASN_DEBUG("Expected: %s, " - "expectation failed (tn=%d, tm=%d)", - ber_tlv_tag_string(td->tags[tagno]), - tagno, tag_mode - ); - RETURN(RC_FAIL); - } - } - - /* - * Attention: if there are more tags expected, - * ensure that the current tag is presented - * in constructed form (it contains other tags!). - * If this one is the last one, check that the tag form - * matches the one given in descriptor. - */ - if(tagno < ((int)td->tags_count - 1)) { - if(tlv_constr == 0) { - ASN_DEBUG("tlv_constr = %d, expfail", - tlv_constr); - RETURN(RC_FAIL); - } - } else { - if(last_tag_form != tlv_constr - && last_tag_form != -1) { - ASN_DEBUG("last_tag_form %d != %d", - last_tag_form, tlv_constr); - RETURN(RC_FAIL); - } - } - - /* - * Fetch and process L from TLV. - */ - len_len = ber_fetch_length(tlv_constr, - (const char *)ptr + tag_len, size - tag_len, &tlv_len); - ASN_DEBUG("Fetching len = %ld", (long)len_len); - switch(len_len) { - case -1: RETURN(RC_FAIL); - case 0: RETURN(RC_WMORE); - } - - /* - * FIXME - * As of today, the chain of tags - * must either contain several indefinite length TLVs, - * or several definite length ones. - * No mixing is allowed. - */ - if(tlv_len == -1) { - /* - * Indefinite length. - */ - if(limit_len == -1) { - expect_00_terminators++; - } else { - ASN_DEBUG("Unexpected indefinite length " - "in a chain of definite lengths"); - RETURN(RC_FAIL); - } - ADVANCE(tag_len + len_len); - continue; - } else { - if(expect_00_terminators) { - ASN_DEBUG("Unexpected definite length " - "in a chain of indefinite lengths"); - RETURN(RC_FAIL); - } - } - - /* - * Check that multiple TLVs specify ever decreasing length, - * which is consistent. - */ - if(limit_len == -1) { - limit_len = tlv_len + tag_len + len_len; - if(limit_len < 0) { - /* Too great tlv_len value? */ - RETURN(RC_FAIL); - } - } else if(limit_len != tlv_len + tag_len + len_len) { - /* - * Inner TLV specifies length which is inconsistent - * with the outer TLV's length value. - */ - ASN_DEBUG("Outer TLV is %ld and inner is %ld", - (long)limit_len, (long)tlv_len); - RETURN(RC_FAIL); - } - - ADVANCE(tag_len + len_len); - - limit_len -= (tag_len + len_len); - if((ssize_t)size > limit_len) { - /* - * Make sure that we won't consume more bytes - * from the parent frame than the inferred limit. - */ - size = limit_len; - } - } - - if(opt_tlv_form) - *opt_tlv_form = tlv_constr; - if(expect_00_terminators) - *last_length = -expect_00_terminators; - else - *last_length = tlv_len; - - RETURN(RC_OK); -} diff --git a/skeletons/ber_decoder.h b/skeletons/ber_decoder.h deleted file mode 100644 index 1ac2a5e..0000000 --- a/skeletons/ber_decoder.h +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_DECODER_H_ -#define _BER_DECODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_codec_ctx_s; /* Forward declaration */ - -/* - * The BER decoder of any type. - * This function may be invoked directly from the application. - * Decodes BER, DER and CER data (DER and CER are different subsets of BER). - * - * NOTE: Use the der_encode() function (der_encoder.h) to produce encoding - * which is compliant with ber_decode(). - */ -asn_dec_rval_t ber_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); - -/* - * Type of generic function which decodes the byte stream into the structure. - */ -typedef asn_dec_rval_t(ber_type_decoder_f)( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, - const void *buf_ptr, size_t size, int tag_mode); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Check that all tags correspond to the type definition (as given in head). - * On return, last_length would contain either a non-negative length of the - * value part of the last TLV, or the negative number of expected - * "end of content" sequences. The number may only be negative if the - * head->last_tag_form is non-zero. - */ -asn_dec_rval_t ber_check_tags( - const struct asn_codec_ctx_s *opt_codec_ctx, /* codec options */ - const struct asn_TYPE_descriptor_s *type_descriptor, - asn_struct_ctx_t *opt_ctx, /* saved decoding context */ - const void *ptr, size_t size, - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - int last_tag_form, /* {-1,0:1}: any, primitive, constr */ - ber_tlv_len_t *last_length, int *opt_tlv_form /* optional tag form */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_DECODER_H_ */ diff --git a/skeletons/ber_tlv_length.c b/skeletons/ber_tlv_length.c deleted file mode 100644 index 0a0deec..0000000 --- a/skeletons/ber_tlv_length.c +++ /dev/null @@ -1,168 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -ssize_t -ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, - ber_tlv_len_t *len_r) { - const uint8_t *buf = (const uint8_t *)bufptr; - unsigned oct; - - if(size == 0) - return 0; /* Want more */ - - oct = *(const uint8_t *)buf; - if((oct & 0x80) == 0) { - /* - * Short definite length. - */ - *len_r = oct; /* & 0x7F */ - return 1; - } else { - ber_tlv_len_t len; - size_t skipped; - - if(_is_constructed && oct == 0x80) { - *len_r = -1; /* Indefinite length */ - return 1; - } - - if(oct == 0xff) { - /* Reserved in standard for future use. */ - return -1; - } - - oct &= 0x7F; /* Leave only the 7 LS bits */ - for(len = 0, buf++, skipped = 1; - oct && (++skipped <= size); buf++, oct--) { - - /* Verify that we won't overflow. */ - if(!(len >> ((8 * sizeof(len)) - (8+1)))) { - len = (len << 8) | *buf; - } else { - /* Too large length value. */ - return -1; - } - } - - if(oct == 0) { - if(len < 0 || len > RSSIZE_MAX) { - /* Length value out of sane range. */ - return -1; - } - - *len_r = len; - return skipped; - } - - return 0; /* Want more */ - } - -} - -ssize_t -ber_skip_length(const asn_codec_ctx_t *opt_codec_ctx, - int _is_constructed, const void *ptr, size_t size) { - ber_tlv_len_t vlen; /* Length of V in TLV */ - ssize_t tl; /* Length of L in TLV */ - ssize_t ll; /* Length of L in TLV */ - size_t skip; - - /* - * Make sure we didn't exceed the maximum stack size. - */ - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - return -1; - - /* - * Determine the size of L in TLV. - */ - ll = ber_fetch_length(_is_constructed, ptr, size, &vlen); - if(ll <= 0) return ll; - - /* - * Definite length. - */ - if(vlen >= 0) { - skip = ll + vlen; - if(skip > size) - return 0; /* Want more */ - return skip; - } - - /* - * Indefinite length! - */ - ASN_DEBUG("Skipping indefinite length"); - for(skip = ll, ptr = ((const char *)ptr) + ll, size -= ll;;) { - ber_tlv_tag_t tag; - - /* Fetch the tag */ - tl = ber_fetch_tag(ptr, size, &tag); - if(tl <= 0) return tl; - - ll = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - ((const char *)ptr) + tl, size - tl); - if(ll <= 0) return ll; - - skip += tl + ll; - - /* - * This may be the end of the indefinite length structure, - * two consecutive 0 octets. - * Check if it is true. - */ - if(((const uint8_t *)ptr)[0] == 0 - && ((const uint8_t *)ptr)[1] == 0) - return skip; - - ptr = ((const char *)ptr) + tl + ll; - size -= tl + ll; - } - - /* UNREACHABLE */ -} - -size_t -der_tlv_length_serialize(ber_tlv_len_t len, void *bufp, size_t size) { - size_t required_size; /* Size of len encoding */ - uint8_t *buf = (uint8_t *)bufp; - uint8_t *end; - int i; - - if(len <= 127) { - /* Encoded in 1 octet */ - if(size) *buf = (uint8_t)len; - return 1; - } - - /* - * Compute the size of the subsequent bytes. - */ - for(required_size = 1, i = 8; i < 8 * (int)sizeof(len); i += 8) { - if(len >> i) - required_size++; - else - break; - } - - if(size <= required_size) - return required_size + 1; - - *buf++ = (uint8_t)(0x80 | required_size); /* Length of the encoding */ - - /* - * Produce the len encoding, space permitting. - */ - end = buf + required_size; - for(i -= 8; buf < end; i -= 8, buf++) - *buf = (uint8_t)(len >> i); - - return required_size + 1; -} - diff --git a/skeletons/ber_tlv_length.h b/skeletons/ber_tlv_length.h deleted file mode 100644 index d1e4d48..0000000 --- a/skeletons/ber_tlv_length.h +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_TLV_LENGTH_H_ -#define _BER_TLV_LENGTH_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef ssize_t ber_tlv_len_t; - -/* - * This function tries to fetch the length of the BER TLV value and place it - * in *len_r. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - * On return with >0, len_r is constrained as -1..MAX, where -1 mean - * that the value is of indefinite length. - */ -ssize_t ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, - ber_tlv_len_t *len_r); - -/* - * This function expects bufptr to be positioned over L in TLV. - * It returns number of bytes occupied by L and V together, suitable - * for skipping. The function properly handles indefinite length. - * RETURN VALUES: - * Standard {-1,0,>0} convention. - */ -ssize_t ber_skip_length( - const struct asn_codec_ctx_s *opt_codec_ctx, /* optional context */ - int _is_constructed, const void *bufptr, size_t size); - -/* - * This function serializes the length (L from TLV) in DER format. - * It always returns number of bytes necessary to represent the length, - * it is a caller's responsibility to check the return value - * against the supplied buffer's size. - */ -size_t der_tlv_length_serialize(ber_tlv_len_t len, void *bufptr, size_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_TLV_LENGTH_H_ */ diff --git a/skeletons/ber_tlv_tag.c b/skeletons/ber_tlv_tag.c deleted file mode 100644 index 4a7d732..0000000 --- a/skeletons/ber_tlv_tag.c +++ /dev/null @@ -1,144 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -ssize_t -ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) { - ber_tlv_tag_t val; - ber_tlv_tag_t tclass; - size_t skipped; - - if(size == 0) - return 0; - - val = *(const uint8_t *)ptr; - tclass = (val >> 6); - if((val &= 0x1F) != 0x1F) { - /* - * Simple form: everything encoded in a single octet. - * Tag Class is encoded using two least significant bits. - */ - *tag_r = (val << 2) | tclass; - return 1; - } - - /* - * Each octet contains 7 bits of useful information. - * The MSB is 0 if it is the last octet of the tag. - */ - for(val = 0, ptr = ((const char *)ptr) + 1, skipped = 2; - skipped <= size; - ptr = ((const char *)ptr) + 1, skipped++) { - unsigned int oct = *(const uint8_t *)ptr; - if(oct & 0x80) { - val = (val << 7) | (oct & 0x7F); - /* - * Make sure there are at least 9 bits spare - * at the MS side of a value. - */ - if(val >> ((8 * sizeof(val)) - 9)) { - /* - * We would not be able to accomodate - * any more tag bits. - */ - return -1; - } - } else { - val = (val << 7) | oct; - *tag_r = (val << 2) | tclass; - return skipped; - } - } - - return 0; /* Want more */ -} - - -ssize_t -ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) { - char buf[sizeof("[APPLICATION ]") + 32]; - ssize_t ret; - - ret = ber_tlv_tag_snprint(tag, buf, sizeof(buf)); - if(ret >= (ssize_t)sizeof(buf) || ret < 2) { - errno = EPERM; - return -1; - } - - return fwrite(buf, 1, ret, f); -} - -ssize_t -ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t size) { - const char *type = 0; - int ret; - - switch(tag & 0x3) { - case ASN_TAG_CLASS_UNIVERSAL: type = "UNIVERSAL "; break; - case ASN_TAG_CLASS_APPLICATION: type = "APPLICATION "; break; - case ASN_TAG_CLASS_CONTEXT: type = ""; break; - case ASN_TAG_CLASS_PRIVATE: type = "PRIVATE "; break; - } - - ret = snprintf(buf, size, "[%s%u]", type, ((unsigned)tag) >> 2); - if(ret <= 0 && size) buf[0] = '\0'; /* against broken libc's */ - - return ret; -} - -char * -ber_tlv_tag_string(ber_tlv_tag_t tag) { - static char buf[sizeof("[APPLICATION ]") + 32]; - - (void)ber_tlv_tag_snprint(tag, buf, sizeof(buf)); - - return buf; -} - - -size_t -ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufp, size_t size) { - int tclass = BER_TAG_CLASS(tag); - ber_tlv_tag_t tval = BER_TAG_VALUE(tag); - uint8_t *buf = (uint8_t *)bufp; - uint8_t *end; - size_t required_size; - size_t i; - - if(tval <= 30) { - /* Encoded in 1 octet */ - if(size) buf[0] = (tclass << 6) | tval; - return 1; - } else if(size) { - *buf++ = (tclass << 6) | 0x1F; - size--; - } - - /* - * Compute the size of the subsequent bytes. - */ - for(required_size = 1, i = 7; i < 8 * sizeof(tval); i += 7) { - if(tval >> i) - required_size++; - else - break; - } - - if(size < required_size) - return required_size + 1; - - /* - * Fill in the buffer, space permitting. - */ - end = buf + required_size - 1; - for(i -= 7; buf < end; i -= 7, buf++) - *buf = 0x80 | ((tval >> i) & 0x7F); - *buf = (tval & 0x7F); /* Last octet without high bit */ - - return required_size + 1; -} - diff --git a/skeletons/ber_tlv_tag.h b/skeletons/ber_tlv_tag.h deleted file mode 100644 index ce227ad..0000000 --- a/skeletons/ber_tlv_tag.h +++ /dev/null @@ -1,60 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_TLV_TAG_H_ -#define _BER_TLV_TAG_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -enum asn_tag_class { - ASN_TAG_CLASS_UNIVERSAL = 0, /* 0b00 */ - ASN_TAG_CLASS_APPLICATION = 1, /* 0b01 */ - ASN_TAG_CLASS_CONTEXT = 2, /* 0b10 */ - ASN_TAG_CLASS_PRIVATE = 3 /* 0b11 */ -}; -typedef unsigned ber_tlv_tag_t; /* BER TAG from Tag-Length-Value */ - -/* - * Tag class is encoded together with tag value for optimization purposes. - */ -#define BER_TAG_CLASS(tag) ((tag) & 0x3) -#define BER_TAG_VALUE(tag) ((tag) >> 2) -#define BER_TLV_CONSTRUCTED(tagptr) (((*(const uint8_t *)tagptr)&0x20)?1:0) - -#define BER_TAGS_EQUAL(tag1, tag2) ((tag1) == (tag2)) - -/* - * Several functions for printing the TAG in the canonical form - * (i.e. "[PRIVATE 0]"). - * Return values correspond to their libc counterparts (if any). - */ -ssize_t ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t buflen); -ssize_t ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *); -char *ber_tlv_tag_string(ber_tlv_tag_t tag); - - -/* - * This function tries to fetch the tag from the input stream. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering tag. - * >0: Number of bytes used from bufptr. tag_r will contain the tag. - */ -ssize_t ber_fetch_tag(const void *bufptr, size_t size, ber_tlv_tag_t *tag_r); - -/* - * This function serializes the tag (T from TLV) in BER format. - * It always returns number of bytes necessary to represent the tag, - * it is a caller's responsibility to check the return value - * against the supplied buffer's size. - */ -size_t ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufptr, size_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_TLV_TAG_H_ */ diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c deleted file mode 100644 index 86dcbb0..0000000 --- a/skeletons/constr_CHOICE.c +++ /dev/null @@ -1,1533 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Number of bytes left for this structure. - * (ctx->left) indicates the number of bytes _transferred_ for the structure. - * (size) contains the number of bytes in the buffer passed. - */ -#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) - -/* - * If the subprocessor function returns with an indication that it wants - * more data, it may well be a fatal decoding problem, because the - * size is constrained by the 's L, even if the buffer size allows - * reading more data. - * For example, consider the buffer containing the following TLVs: - * ... - * The TLV length clearly indicates that one byte is expected in V, but - * if the V processor returns with "want more data" even if the buffer - * contains way more data than the V processor have seen. - */ -#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num;\ - size -= num; \ - if(ctx->left >= 0) \ - ctx->left -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#define NEXT_PHASE(ctx) do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself;\ - return rval; \ - } while(0) - -/* - * See the definitions. - */ -static unsigned _fetch_present_idx(const void *struct_ptr, unsigned off, - unsigned size); -static void _set_present_idx(void *sptr, unsigned offset, unsigned size, - unsigned pres); -static const void *_get_member_ptr(const asn_TYPE_descriptor_t *, - const void *sptr, asn_TYPE_member_t **elm, - unsigned *present); - -/* - * Tags are canonically sorted in the tag to member table. - */ -static int -_search4tag(const void *ap, const void *bp) { - const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; - const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; - - int a_class = BER_TAG_CLASS(a->el_tag); - int b_class = BER_TAG_CLASS(b->el_tag); - - if(a_class == b_class) { - ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); - ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); - - if(a_value == b_value) - return 0; - else if(a_value < b_value) - return -1; - else - return 1; - } else if(a_class < b_class) { - return -1; - } else { - return 1; - } -} - -/* - * The decoder of the CHOICE type. - */ -asn_dec_rval_t -CHOICE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size, int tag_mode) { - /* - * Bring closer parts of structure description. - */ - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_TYPE_member_t *elements = td->elements; - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - ber_tlv_tag_t tlv_tag; /* T from TLV */ - ssize_t tag_len; /* Length of TLV's T */ - asn_dec_rval_t rval; /* Return code from subparsers */ - - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - - ASN_DEBUG("Decoding %s as CHOICE", td->name); - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously - */ - switch(ctx->phase) { - case 0: - /* - * PHASE 0. - * Check that the set of tags associated with given structure - * perfectly fits our expectations. - */ - - if(tag_mode || td->tags_count) { - rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, - tag_mode, -1, &ctx->left, 0); - if(rval.code != RC_OK) { - ASN_DEBUG("%s tagging check failed: %d", - td->name, rval.code); - return rval; - } - - if(ctx->left >= 0) { - /* ?Substracted below! */ - ctx->left += rval.consumed; - } - ADVANCE(rval.consumed); - } else { - ctx->left = -1; - } - - NEXT_PHASE(ctx); - - ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", - (long)ctx->left, (long)size); - - /* Fall through */ - case 1: - /* - * Fetch the T from TLV. - */ - tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); - ASN_DEBUG("In %s CHOICE tag length %d", td->name, (int)tag_len); - switch(tag_len) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - do { - const asn_TYPE_tag2member_t *t2m; - asn_TYPE_tag2member_t key; - - key.el_tag = tlv_tag; - t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, - specs->tag2el, specs->tag2el_count, - sizeof(specs->tag2el[0]), _search4tag); - if(t2m) { - /* - * Found the element corresponding to the tag. - */ - NEXT_PHASE(ctx); - ctx->step = t2m->el_no; - break; - } else if(specs->ext_start == -1) { - ASN_DEBUG("Unexpected tag %s " - "in non-extensible CHOICE %s", - ber_tlv_tag_string(tlv_tag), td->name); - RETURN(RC_FAIL); - } else { - /* Skip this tag */ - ssize_t skip; - - ASN_DEBUG("Skipping unknown tag %s", - ber_tlv_tag_string(tlv_tag)); - - skip = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - (const char *)ptr + tag_len, - LEFT - tag_len); - - switch(skip) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - ADVANCE(skip + tag_len); - RETURN(RC_OK); - } - } while(0); - - case 2: - /* - * PHASE 2. - * Read in the element. - */ - do { - asn_TYPE_member_t *elm;/* CHOICE's element */ - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - - elm = &elements[ctx->step]; - - /* - * Compute the position of the member inside a structure, - * and also a type of containment (it may be contained - * as pointer or using inline inclusion). - */ - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - /* - * A pointer to a pointer - * holding the start of the structure - */ - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - /* Set presence to be able to free it properly at any time */ - _set_present_idx(st, specs->pres_offset, - specs->pres_size, ctx->step + 1); - /* - * Invoke the member fetch routine according to member's type - */ - rval = elm->type->op->ber_decoder(opt_codec_ctx, elm->type, - memb_ptr2, ptr, LEFT, elm->tag_mode); - switch(rval.code) { - case RC_OK: - break; - case RC_WMORE: /* More data expected */ - if(!SIZE_VIOLATION) { - ADVANCE(rval.consumed); - RETURN(RC_WMORE); - } - RETURN(RC_FAIL); - case RC_FAIL: /* Fatal error */ - RETURN(rval.code); - } /* switch(rval) */ - - ADVANCE(rval.consumed); - } while(0); - - NEXT_PHASE(ctx); - - /* Fall through */ - case 3: - ASN_DEBUG("CHOICE %s Leftover: %ld, size = %ld, tm=%d, tc=%d", - td->name, (long)ctx->left, (long)size, - tag_mode, td->tags_count); - - if(ctx->left > 0) { - /* - * The type must be fully decoded - * by the CHOICE member-specific decoder. - */ - RETURN(RC_FAIL); - } - - if(ctx->left == -1 - && !(tag_mode || td->tags_count)) { - /* - * This is an untagged CHOICE. - * It doesn't contain nothing - * except for the member itself, including all its tags. - * The decoding is completed. - */ - NEXT_PHASE(ctx); - break; - } - - /* - * Read in the "end of data chunks"'s. - */ - while(ctx->left < 0) { - ssize_t tl; - - tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); - switch(tl) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - /* - * Expected <0><0>... - */ - if(((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) - RETURN(RC_FAIL); - else - RETURN(RC_WMORE); - } else if(((const uint8_t *)ptr)[1] == 0) { - /* - * Correctly finished with <0><0>. - */ - ADVANCE(2); - ctx->left++; - continue; - } - } else { - ASN_DEBUG("Unexpected continuation in %s", - td->name); - RETURN(RC_FAIL); - } - - /* UNREACHABLE */ - } - - NEXT_PHASE(ctx); - case 4: - /* No meaningful work here */ - break; - } - - RETURN(RC_OK); -} - -asn_enc_rval_t -CHOICE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - asn_TYPE_member_t *elm; /* CHOICE element */ - asn_enc_rval_t erval = {0,0,0}; - const void *memb_ptr; - size_t computed_size = 0; - unsigned present; - - if(!sptr) ASN__ENCODE_FAILED; - - ASN_DEBUG("%s %s as CHOICE", - cb?"Encoding":"Estimating", td->name); - - present = _fetch_present_idx(sptr, - specs->pres_offset, specs->pres_size); - - /* - * If the structure was not initialized, it cannot be encoded: - * can't deduce what to encode in the choice type. - */ - if(present == 0 || present > td->elements_count) { - if(present == 0 && td->elements_count == 0) { - /* The CHOICE is empty?! */ - erval.encoded = 0; - ASN__ENCODED_OK(erval); - } - ASN__ENCODE_FAILED; - } - - /* - * Seek over the present member of the structure. - */ - elm = &td->elements[present-1]; - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(memb_ptr == 0) { - if(elm->optional) { - erval.encoded = 0; - ASN__ENCODED_OK(erval); - } - /* Mandatory element absent */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - /* - * If the CHOICE itself is tagged EXPLICIT: - * T ::= [2] EXPLICIT CHOICE { ... } - * Then emit the appropriate tags. - */ - if(tag_mode == 1 || td->tags_count) { - /* - * For this, we need to pre-compute the member. - */ - ssize_t ret; - - /* Encode member with its tag */ - erval = elm->type->op->der_encoder(elm->type, memb_ptr, - elm->tag_mode, elm->tag, 0, 0); - if(erval.encoded == -1) - return erval; - - /* Encode CHOICE with parent or my own tag */ - ret = der_write_tags(td, erval.encoded, tag_mode, 1, tag, - cb, app_key); - if(ret == -1) - ASN__ENCODE_FAILED; - computed_size += ret; - } - - /* - * Encode the single underlying member. - */ - erval = elm->type->op->der_encoder(elm->type, memb_ptr, - elm->tag_mode, elm->tag, cb, app_key); - if(erval.encoded == -1) - return erval; - - ASN_DEBUG("Encoded CHOICE member in %ld bytes (+%ld)", - (long)erval.encoded, (long)computed_size); - - erval.encoded += computed_size; - - return erval; -} - -ber_tlv_tag_t -CHOICE_outmost_tag(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, ber_tlv_tag_t tag) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - unsigned present; - - assert(tag_mode == 0); (void)tag_mode; - assert(tag == 0); (void)tag; - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); - - if(present > 0 && present <= td->elements_count) { - const asn_TYPE_member_t *elm = &td->elements[present-1]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *) - ((const char *)ptr + elm->memb_offset); - } else { - memb_ptr = (const void *) - ((const char *)ptr + elm->memb_offset); - } - - return asn_TYPE_outmost_tag(elm->type, memb_ptr, - elm->tag_mode, elm->tag); - } else { - return (ber_tlv_tag_t)-1; - } -} - -int -CHOICE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - unsigned present; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); - if(present > 0 && present <= td->elements_count) { - asn_TYPE_member_t *elm = &td->elements[present-1]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) - return 0; - ASN__CTFAIL(app_key, td, sptr, - "%s: mandatory CHOICE element %s absent (%s:%d)", - td->name, elm->name, __FILE__, __LINE__); - return -1; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - if(elm->encoding_constraints.general_constraints) { - return elm->encoding_constraints.general_constraints(elm->type, memb_ptr, - ctfailcb, app_key); - } else { - return elm->type->encoding_constraints.general_constraints(elm->type, - memb_ptr, ctfailcb, app_key); - } - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: no CHOICE element given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -#undef XER_ADVANCE -#define XER_ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - buf_ptr = (const void *)(((const char *)buf_ptr) + num); \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Decode the XER (XML) data. - */ -asn_dec_rval_t -CHOICE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - /* - * Bring closer parts of structure description. - */ - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - asn_dec_rval_t rval; /* Return value of a decoder */ - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - size_t edx; /* Element index */ - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) RETURN(RC_FAIL); - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - if(ctx->phase == 0 && !*xml_tag) - ctx->phase = 1; /* Skip the outer tag checking phase */ - - /* - * Phases of XER/XML processing: - * Phase 0: Check that the opening tag matches our expectations. - * Phase 1: Processing body and reacting on closing tag. - * Phase 2: Processing inner type. - * Phase 3: Only waiting for closing tag. - * Phase 4: Skipping unknown extensions. - * Phase 5: PHASED OUT - */ - for(edx = ctx->step; ctx->phase <= 4;) { - pxer_chunk_type_e ch_type; /* XER chunk type */ - ssize_t ch_size; /* Chunk size */ - xer_check_tag_e tcv; /* Tag check value */ - asn_TYPE_member_t *elm; - - /* - * Go inside the member. - */ - if(ctx->phase == 2) { - asn_dec_rval_t tmprval; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - unsigned old_present; - - elm = &td->elements[edx]; - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st - + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - /* Start/Continue decoding the inner member */ - tmprval = elm->type->op->xer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, elm->name, - buf_ptr, size); - XER_ADVANCE(tmprval.consumed); - ASN_DEBUG("XER/CHOICE: itdf: [%s] code=%d", - elm->type->name, tmprval.code); - old_present = _fetch_present_idx(st, - specs->pres_offset, specs->pres_size); - assert(old_present == 0 || old_present == edx + 1); - /* Record what we've got */ - _set_present_idx(st, - specs->pres_offset, specs->pres_size, edx + 1); - if(tmprval.code != RC_OK) - RETURN(tmprval.code); - ctx->phase = 3; - /* Fall through */ - } - - /* No need to wait for closing tag; special mode. */ - if(ctx->phase == 3 && !*xml_tag) { - ctx->phase = 5; /* Phase out */ - RETURN(RC_OK); - } - - /* - * Get the next part of the XML stream. - */ - ch_size = xer_next_token(&ctx->context, buf_ptr, size, &ch_type); - if(ch_size == -1) { - RETURN(RC_FAIL); - } else { - switch(ch_type) { - case PXER_WMORE: - RETURN(RC_WMORE); - case PXER_COMMENT: /* Got XML comment */ - case PXER_TEXT: /* Ignore free-standing text */ - XER_ADVANCE(ch_size); /* Skip silently */ - continue; - case PXER_TAG: - break; /* Check the rest down there */ - } - } - - tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); - ASN_DEBUG("XER/CHOICE checked [%c%c%c%c] vs [%s], tcv=%d", - ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', - ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', - ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', - ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', - xml_tag, tcv); - - /* Skip the extensions section */ - if(ctx->phase == 4) { - ASN_DEBUG("skip_unknown(%d, %ld)", - tcv, (long)ctx->left); - switch(xer_skip_unknown(tcv, &ctx->left)) { - case -1: - ctx->phase = 5; - RETURN(RC_FAIL); - case 1: - ctx->phase = 3; - /* Fall through */ - case 0: - XER_ADVANCE(ch_size); - continue; - case 2: - ctx->phase = 3; - break; - } - } - - switch(tcv) { - case XCT_BOTH: - break; /* No CHOICE? */ - case XCT_CLOSING: - if(ctx->phase != 3) - break; - XER_ADVANCE(ch_size); - ctx->phase = 5; /* Phase out */ - RETURN(RC_OK); - case XCT_OPENING: - if(ctx->phase == 0) { - XER_ADVANCE(ch_size); - ctx->phase = 1; /* Processing body phase */ - continue; - } - /* Fall through */ - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - - if(ctx->phase != 1) - break; /* Really unexpected */ - - /* - * Search which inner member corresponds to this tag. - */ - for(edx = 0; edx < td->elements_count; edx++) { - elm = &td->elements[edx]; - tcv = xer_check_tag(buf_ptr,ch_size,elm->name); - switch(tcv) { - case XCT_BOTH: - case XCT_OPENING: - /* - * Process this member. - */ - ctx->step = edx; - ctx->phase = 2; - break; - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - continue; - default: - edx = td->elements_count; - break; /* Phase out */ - } - break; - } - if(edx != td->elements_count) - continue; - - /* It is expected extension */ - if(specs->ext_start != -1) { - ASN_DEBUG("Got anticipated extension"); - /* - * Check for (XCT_BOTH or XCT_UNKNOWN_BO) - * By using a mask. Only record a pure - * tags. - */ - if(tcv & XCT_CLOSING) { - /* Found without body */ - ctx->phase = 3; /* Terminating */ - } else { - ctx->left = 1; - ctx->phase = 4; /* Skip ...'s */ - } - XER_ADVANCE(ch_size); - continue; - } - - /* Fall through */ - default: - break; - } - - ASN_DEBUG("Unexpected XML tag [%c%c%c%c] in CHOICE [%s]" - " (ph=%d, tag=%s)", - ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', - ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', - ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', - ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', - td->name, ctx->phase, xml_tag); - break; - } - - ctx->phase = 5; /* Phase out, just in case */ - RETURN(RC_FAIL); -} - - -asn_enc_rval_t -CHOICE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - unsigned present = 0; - - if(!sptr) - ASN__ENCODE_FAILED; - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); - - if(present == 0 || present > td->elements_count) { - ASN__ENCODE_FAILED; - } else { - asn_enc_rval_t tmper = {0,0,0}; - asn_TYPE_member_t *elm = &td->elements[present-1]; - const void *memb_ptr = NULL; - const char *mname = elm->name; - unsigned int mlen = strlen(mname); - - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) ASN__ENCODE_FAILED; - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - er.encoded = 0; - - if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - - tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, - ilevel + 1, flags, cb, app_key); - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - - ASN__CALLBACK3("", 1); - } - - if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel - 1); - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -asn_dec_rval_t -CHOICE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_dec_rval_t rv; - const asn_per_constraint_t *ct; - asn_TYPE_member_t *elm; /* CHOICE's element */ - void *memb_ptr; - void **memb_ptr2; - void *st = *sptr; - int value; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) ct = &td->encoding_constraints.per_constraints->value; - else ct = 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - value = per_get_few_bits(pd, 1); - if(value < 0) ASN__DECODE_STARVED; - if(value) ct = 0; /* Not restricted */ - } - - if(ct && ct->range_bits >= 0) { - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - ASN_DEBUG("CHOICE %s got index %d in range %d", - td->name, value, ct->range_bits); - if(value > ct->upper_bound) - ASN__DECODE_FAILED; - } else { - if(specs->ext_start == -1) - ASN__DECODE_FAILED; - value = uper_get_nsnnwn(pd); - if(value < 0) ASN__DECODE_STARVED; - value += specs->ext_start; - if((unsigned)value >= td->elements_count) - ASN__DECODE_FAILED; - } - - /* Adjust if canonical order is different from natural order */ - if(specs->from_canonical_order) { - ASN_DEBUG("CHOICE presence from wire %d", value); - value = specs->from_canonical_order[value]; - ASN_DEBUG("CHOICE presence index effective %d", value); - } - - /* Set presence to be able to free it later */ - _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); - - elm = &td->elements[value]; - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); - - if(ct && ct->range_bits >= 0) { - rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } else { - rv = uper_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } - - if(rv.code != RC_OK) - ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", - elm->name, td->name, rv.code); - return rv; -} - -asn_enc_rval_t -CHOICE_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - asn_TYPE_member_t *elm; /* CHOICE's element */ - const asn_per_constraint_t *ct; - const void *memb_ptr; - unsigned present; - int present_enc; - - if(!sptr) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %s as CHOICE", td->name); - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ct = 0; - - present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); - - /* - * If the structure was not initialized properly, it cannot be encoded: - * can't deduce what to encode in the choice type. - */ - if(present == 0 || present > td->elements_count) - ASN__ENCODE_FAILED; - else - present--; - - ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); - - /* Adjust if canonical order is different from natural order */ - if(specs->to_canonical_order) - present_enc = specs->to_canonical_order[present]; - else - present_enc = present; - - if(ct && ct->range_bits >= 0) { - if(present_enc < ct->lower_bound - || present_enc > ct->upper_bound) { - if(ct->flags & APC_EXTENSIBLE) { - ASN_DEBUG( - "CHOICE member %d (enc %d) is an extension (%ld..%ld)", - present, present_enc, ct->lower_bound, ct->upper_bound); - if(per_put_few_bits(po, 1, 1)) - ASN__ENCODE_FAILED; - } else { - ASN__ENCODE_FAILED; - } - ct = 0; - } - } - if(ct && ct->flags & APC_EXTENSIBLE) { - ASN_DEBUG("CHOICE member %d (enc %d) is not an extension (%ld..%ld)", - present, present_enc, ct->lower_bound, ct->upper_bound); - if(per_put_few_bits(po, 0, 1)) - ASN__ENCODE_FAILED; - } - - - elm = &td->elements[present]; - ASN_DEBUG("CHOICE member \"%s\" %d (as %d)", elm->name, present, - present_enc); - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) ASN__ENCODE_FAILED; - } else { - memb_ptr = (const char *)sptr + elm->memb_offset; - } - - if(ct && ct->range_bits >= 0) { - if(per_put_few_bits(po, present_enc, ct->range_bits)) - ASN__ENCODE_FAILED; - - return elm->type->op->uper_encoder( - elm->type, elm->encoding_constraints.per_constraints, memb_ptr, po); - } else { - asn_enc_rval_t rval = {0,0,0}; - if(specs->ext_start == -1) ASN__ENCODE_FAILED; - if(uper_put_nsnnwn(po, present_enc - specs->ext_start)) - ASN__ENCODE_FAILED; - if(uper_open_type_put(elm->type, - elm->encoding_constraints.per_constraints, - memb_ptr, po)) - ASN__ENCODE_FAILED; - rval.encoded = 0; - ASN__ENCODED_OK(rval); - } -} - -asn_dec_rval_t -CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - asn_dec_rval_t rv; - const asn_per_constraint_t *ct; - const asn_per_constraint_t *ext_ct = NULL; - asn_TYPE_member_t *elm; /* CHOICE's element */ - void *memb_ptr; - void **memb_ptr2; - void *st = *sptr; - int value; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ct = 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - value = per_get_few_bits(pd, 1); - if(value < 0) ASN__DECODE_STARVED; - if(value) { - ext_ct = ct; - ct = 0; /* Not restricted */ - } - } - - - if(ct && ct->range_bits >= 0) { - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - ASN_DEBUG("CHOICE %s got index %d in range %d", - td->name, value, ct->range_bits); - if(value > ct->upper_bound) - ASN__DECODE_FAILED; - } else { - if(specs->ext_start == -1) - ASN__DECODE_FAILED; - value = aper_get_nsnnwn(pd, ext_ct->range_bits); - if(value < 0) ASN__DECODE_STARVED; - value += specs->ext_start; - if((unsigned)value >= td->elements_count) - ASN__DECODE_FAILED; - } - - /* Adjust if canonical order is different from natural order */ - if(specs->from_canonical_order) - value = specs->from_canonical_order[value]; - - /* Set presence to be able to free it later */ - _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); - - elm = &td->elements[value]; - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); - - if(ct && ct->range_bits >= 0) { - rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } else { - rv = aper_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } - - if(rv.code != RC_OK) - ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", - elm->name, td->name, rv.code); - return rv; -} - -asn_enc_rval_t -CHOICE_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm; /* CHOICE's element */ - const asn_per_constraint_t *ct = NULL; - const asn_per_constraint_t *ext_ct = NULL; - const void *memb_ptr; - unsigned present; - int present_enc; - - if(!sptr) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name); - - if(constraints) ct = &constraints->value; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->value; - else ct = NULL; - - present = _fetch_present_idx(sptr, - specs->pres_offset, specs->pres_size); - - /* - * If the structure was not initialized properly, it cannot be encoded: - * can't deduce what to encode in the choice type. - */ - if(present <= 0 || (unsigned)present > td->elements_count) - ASN__ENCODE_FAILED; - else - present--; - - /* Adjust if canonical order is different from natural order */ - if(specs->to_canonical_order) - present_enc = specs->to_canonical_order[present]; - else - present_enc = present; - - ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); - - if(ct && (ct->range_bits >= 0)) { - // Value is not within the range of the primary values ? - if(present < ct->lower_bound || present > ct->upper_bound) { - if(ct->flags & APC_EXTENSIBLE) { - ASN_DEBUG("CHOICE member %d (enc %d) is an extension (%ld..%ld)", - present, present_enc, ct->lower_bound, ct->upper_bound); - // X691/23.5 Extension marker = 1 - if(per_put_few_bits(po, 1, 1)) { - ASN__ENCODE_FAILED; - } - } else { - ASN__ENCODE_FAILED; - } - // no more need of constraint. - ext_ct = ct; - ct = NULL; - } - } - - if(ct && (ct->flags & APC_EXTENSIBLE)) { - ASN_DEBUG("CHOICE member %d (enc %d) is not an extension (%ld..%ld)", - present, present, ct->lower_bound, ct->upper_bound); - // X691.23.5 Extension marker = 0 - if(per_put_few_bits(po, 0, 1)) { - ASN__ENCODE_FAILED; - } - } - - elm = &td->elements[present]; - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr = *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) ASN__ENCODE_FAILED; - } else { - memb_ptr = (const char *)sptr + elm->memb_offset; - } - - if(ct && (ct->range_bits >= 0)) { - // By construction (ct != 0), the alternative value is a non extended one. - // X691/23.7 X691/23.6 alternative value encoded as a range_bits bits value. - if(per_put_few_bits(po, present_enc, ct->range_bits)) - ASN__ENCODE_FAILED; - - return elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints, - memb_ptr, po); - } else { - asn_enc_rval_t rval = {0,0,0}; - if(specs->ext_start == -1) - ASN__ENCODE_FAILED; - // X691/23.8 normally encoded as a small non negative whole number - - if(ext_ct && aper_put_nsnnwn(po, ext_ct->range_bits, present_enc - specs->ext_start)) - ASN__ENCODE_FAILED; - if(aper_open_type_put(elm->type, elm->encoding_constraints.per_constraints, - memb_ptr, po)) - ASN__ENCODE_FAILED; - rval.encoded = 0; - ASN__ENCODED_OK(rval); - } -} - -int -CHOICE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; - unsigned present; - - if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); - - /* - * Print that element. - */ - if(present > 0 && present <= td->elements_count) { - asn_TYPE_member_t *elm = &td->elements[present-1]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) return (cb("", 8, app_key) < 0) ? -1 : 0; - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - /* Print member's name and stuff */ - if(0) { - if(cb(elm->name, strlen(elm->name), app_key) < 0 - || cb(": ", 2, app_key) < 0) - return -1; - } - - return elm->type->op->print_struct(elm->type, memb_ptr, ilevel, - cb, app_key); - } else { - return (cb("", 8, app_key) < 0) ? -1 : 0; - } -} - -void -CHOICE_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - unsigned present; - - if(!td || !ptr) - return; - - ASN_DEBUG("Freeing %s as CHOICE", td->name); - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); - - /* - * Free that element. - */ - if(present > 0 && present <= td->elements_count) { - asn_TYPE_member_t *elm = &td->elements[present-1]; - void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(void **)((char *)ptr + elm->memb_offset); - if(memb_ptr) - ASN_STRUCT_FREE(*elm->type, memb_ptr); - } else { - memb_ptr = (void *)((char *)ptr + elm->memb_offset); - ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); - } - } - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(ptr, 0, specs->struct_size); - break; - } -} - - -/* - * The following functions functions offer protection against -fshort-enums, - * compatible with little- and big-endian machines. - * If assertion is triggered, either disable -fshort-enums, or add an entry - * here with the ->pres_size of your target stracture. - * Unless the target structure is packed, the ".present" member - * is guaranteed to be aligned properly. ASN.1 compiler itself does not - * produce packed code. - */ -static unsigned -_fetch_present_idx(const void *struct_ptr, unsigned pres_offset, - unsigned pres_size) { - const void *present_ptr; - unsigned present; - - present_ptr = ((const char *)struct_ptr) + pres_offset; - - switch(pres_size) { - case sizeof(int): present = *(const unsigned int *)present_ptr; break; - case sizeof(short): present = *(const unsigned short *)present_ptr; break; - case sizeof(char): present = *(const unsigned char *)present_ptr; break; - default: - /* ANSI C mandates enum to be equivalent to integer */ - assert(pres_size != sizeof(int)); - return 0; /* If not aborted, pass back safe value */ - } - - return present; -} - -static void -_set_present_idx(void *struct_ptr, unsigned pres_offset, unsigned pres_size, - unsigned present) { - void *present_ptr; - present_ptr = ((char *)struct_ptr) + pres_offset; - - switch(pres_size) { - case sizeof(int): *(unsigned int *)present_ptr = present; break; - case sizeof(short): *(unsigned short *)present_ptr = present; break; - case sizeof(char): *(unsigned char *)present_ptr = present; break; - default: - /* ANSI C mandates enum to be equivalent to integer */ - assert(pres_size != sizeof(int)); - } -} - -static const void * -_get_member_ptr(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_TYPE_member_t **elm_ptr, unsigned *present_out) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - unsigned present; - - if(!sptr) { - *elm_ptr = NULL; - *present_out = 0; - return NULL; - } - - /* - * Figure out which CHOICE element is encoded. - */ - present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); - *present_out = present; - - /* - * The presence index is intentionally 1-based to avoid - * treating zeroed structure as a valid one. - */ - if(present > 0 && present <= td->elements_count) { - asn_TYPE_member_t *const elm = &td->elements[present - 1]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - *elm_ptr = elm; - return memb_ptr; - } else { - *elm_ptr = NULL; - return NULL; - } - -} - -int -CHOICE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { - asn_TYPE_member_t *aelm; - asn_TYPE_member_t *belm; - unsigned apresent = 0; - unsigned bpresent = 0; - const void *amember = _get_member_ptr(td, aptr, &aelm, &apresent); - const void *bmember = _get_member_ptr(td, bptr, &belm, &bpresent); - - if(amember && bmember) { - if(apresent == bpresent) { - assert(aelm == belm); - return aelm->type->op->compare_struct(aelm->type, amember, bmember); - } else if(apresent < bpresent) { - return -1; - } else { - return 1; - } - } else if(!amember) { - return -1; - } else { - return 1; - } -} - -/* - * Return the 1-based choice variant presence index. - * Returns 0 in case of error. - */ -unsigned -CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, const void *sptr) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - return _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); -} - -/* - * Sets or resets the 1-based choice variant presence index. - * In case a previous index is not zero, the currently selected structure - * member is freed and zeroed-out first. - * Returns 0 on success and -1 on error. - */ -int -CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, void *sptr, - unsigned present) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - unsigned old_present; - - if(!sptr) { - return -1; - } - - if(present > td->elements_count) - return -1; - - old_present = - _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); - if(present == old_present) - return 0; - - if(old_present != 0) { - assert(old_present <= td->elements_count); - ASN_STRUCT_RESET(*td, sptr); - } - - _set_present_idx(sptr, specs->pres_offset, specs->pres_size, present); - - return 0; -} - - -asn_random_fill_result_t -CHOICE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constr, - size_t max_length) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_random_fill_result_t res; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - const asn_TYPE_member_t *elm; - unsigned present; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - void *st = *sptr; - - if(max_length == 0) return result_skipped; - - (void)constr; - - if(st == NULL) { - st = CALLOC(1, specs->struct_size); - if(st == NULL) { - return result_failed; - } - } - - present = asn_random_between(1, td->elements_count); - elm = &td->elements[present - 1]; - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - res = elm->type->op->random_fill(elm->type, memb_ptr2, - &elm->encoding_constraints, max_length); - _set_present_idx(st, specs->pres_offset, specs->pres_size, present); - if(res.code == ARFILL_OK) { - *sptr = st; - } else { - if(st == *sptr) { - ASN_STRUCT_RESET(*td, st); - } else { - ASN_STRUCT_FREE(*td, st); - } - } - - return res; -} - - -asn_TYPE_operation_t asn_OP_CHOICE = { - CHOICE_free, - CHOICE_print, - CHOICE_compare, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - CHOICE_decode_oer, - CHOICE_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - CHOICE_random_fill, - CHOICE_outmost_tag -}; diff --git a/skeletons/constr_CHOICE.h b/skeletons/constr_CHOICE.h deleted file mode 100644 index a1999ed..0000000 --- a/skeletons/constr_CHOICE.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_CHOICE_H_ -#define _CONSTR_CHOICE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_CHOICE_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_codec_ctx_t member */ - unsigned pres_offset; /* Identifier of the present member */ - unsigned pres_size; /* Size of the identifier (enum) */ - - /* - * Tags to members mapping table. - */ - const asn_TYPE_tag2member_t *tag2el; - unsigned tag2el_count; - - /* Canonical ordering of CHOICE elements, for PER */ - const unsigned *to_canonical_order; - const unsigned *from_canonical_order; - - /* - * Extensions-related stuff. - */ - signed ext_start; /* First member of extensions, or -1 */ -} asn_CHOICE_specifics_t; - -/* - * A set specialized functions dealing with the CHOICE type. - */ -asn_struct_free_f CHOICE_free; -asn_struct_print_f CHOICE_print; -asn_struct_compare_f CHOICE_compare; -asn_constr_check_f CHOICE_constraint; -ber_type_decoder_f CHOICE_decode_ber; -der_type_encoder_f CHOICE_encode_der; -xer_type_decoder_f CHOICE_decode_xer; -xer_type_encoder_f CHOICE_encode_xer; -oer_type_decoder_f CHOICE_decode_oer; -oer_type_encoder_f CHOICE_encode_oer; -per_type_decoder_f CHOICE_decode_uper; -per_type_encoder_f CHOICE_encode_uper; -per_type_decoder_f CHOICE_decode_aper; -per_type_encoder_f CHOICE_encode_aper; -asn_outmost_tag_f CHOICE_outmost_tag; -asn_random_fill_f CHOICE_random_fill; -extern asn_TYPE_operation_t asn_OP_CHOICE; - -/* - * Return the 1-based choice variant presence index. - * Returns 0 in case of error. - */ -unsigned CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, - const void *structure_ptr); - -/* - * Sets or resets the 1-based choice variant presence index. - * In case a previous index is not zero, the currently selected structure - * member is freed and zeroed-out first. - * Returns 0 on success and -1 on error. - */ -int CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, - void *structure_ptr, unsigned present); - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_CHOICE_H_ */ diff --git a/skeletons/constr_CHOICE_oer.c b/skeletons/constr_CHOICE_oer.c deleted file mode 100644 index a4c591c..0000000 --- a/skeletons/constr_CHOICE_oer.c +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) \ - do { \ - asn_dec_rval_t rval; \ - rval.code = _code; \ - rval.consumed = consumed_myself; \ - return rval; \ - } while(0) - -#undef ADVANCE -#define ADVANCE(num_bytes) \ - do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#define NEXT_PHASE(ctx) \ - do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) -#undef SET_PHASE -#define SET_PHASE(ctx, value) \ - do { \ - ctx->phase = value; \ - ctx->step = 0; \ - } while(0) - -/* - * Tags are canonically sorted in the tag to member table. - */ -static int -_search4tag(const void *ap, const void *bp) { - const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; - const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; - - int a_class = BER_TAG_CLASS(a->el_tag); - int b_class = BER_TAG_CLASS(b->el_tag); - - if(a_class == b_class) { - ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); - ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); - - if(a_value == b_value) - return 0; - else if(a_value < b_value) - return -1; - else - return 1; - } else if(a_class < b_class) { - return -1; - } else { - return 1; - } -} - -/* - * X.696 (08/2015) #8.7 Encoding of tags - */ -static ssize_t -oer_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) { - ber_tlv_tag_t val; - ber_tlv_tag_t tclass; - size_t skipped; - - if(size == 0) - return 0; - - val = *(const uint8_t *)ptr; - tclass = (val >> 6); - if((val & 0x3F) != 0x3F) { - /* #8.7.1 */ - *tag_r = ((val & 0x3F) << 2) | tclass; - return 1; - } - - /* - * Each octet contains 7 bits of useful information. - * The MSB is 0 if it is the last octet of the tag. - */ - for(val = 0, ptr = ((const char *)ptr) + 1, skipped = 2; skipped <= size; - ptr = ((const char *)ptr) + 1, skipped++) { - unsigned int oct = *(const uint8_t *)ptr; - if(oct & 0x80) { - val = (val << 7) | (oct & 0x7F); - /* - * Make sure there are at least 9 bits spare - * at the MS side of a value. - */ - if(val >> ((8 * sizeof(val)) - 9)) { - /* - * We would not be able to accomodate - * any more tag bits. - */ - return -1; - } - } else { - val = (val << 7) | oct; - *tag_r = (val << 2) | tclass; - return skipped; - } - } - - return 0; /* Want more */ -} - -asn_dec_rval_t -CHOICE_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **struct_ptr, - const void *ptr, size_t size) { - /* - * Bring closer parts of structure description. - */ - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_TYPE_member_t *elements = td->elements; - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - - (void)constraints; - - ASN_DEBUG("Decoding %s as CHOICE", td->name); - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - switch(ctx->phase) { - case 0: { - /* - * Discover the tag. - */ - ber_tlv_tag_t tlv_tag; /* T from TLV */ - ssize_t tag_len; /* Length of TLV's T */ - - tag_len = oer_fetch_tag(ptr, size, &tlv_tag); - switch(tag_len) { - case 0: - ASN__DECODE_STARVED; - case -1: - ASN__DECODE_FAILED; - } - - do { - const asn_TYPE_tag2member_t *t2m; - asn_TYPE_tag2member_t key = {0, 0, 0, 0}; - key.el_tag = tlv_tag; - - t2m = (const asn_TYPE_tag2member_t *)bsearch( - &key, specs->tag2el, specs->tag2el_count, - sizeof(specs->tag2el[0]), _search4tag); - if(t2m) { - /* - * Found the element corresponding to the tag. - */ - NEXT_PHASE(ctx); - ctx->step = t2m->el_no; - break; - } else if(specs->ext_start == -1) { - ASN_DEBUG( - "Unexpected tag %s " - "in non-extensible CHOICE %s", - ber_tlv_tag_string(tlv_tag), td->name); - RETURN(RC_FAIL); - } else { - /* Skip open type extension */ - ASN_DEBUG( - "Not implemented skipping open type extension for tag %s", - ber_tlv_tag_string(tlv_tag)); - RETURN(RC_FAIL); - } - } while(0); - - - ADVANCE(tag_len); - } - /* Fall through */ - case 1: { - asn_TYPE_member_t *elm = &elements[ctx->step]; /* CHOICE's element */ - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - asn_dec_rval_t rval = {0,0}; - - /* - * Compute the position of the member inside a structure, - * and also a type of containment (it may be contained - * as pointer or using inline inclusion). - */ - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - /* - * A pointer to a pointer - * holding the start of the structure - */ - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - /* Set presence to be able to free it properly at any time */ - (void)CHOICE_variant_set_presence(td, st, ctx->step + 1); - - if(specs->ext_start >= 0 && specs->ext_start <= ctx->step) { - ssize_t got = - oer_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.oer_constraints, - memb_ptr2, ptr, size); - if(got < 0) ASN__DECODE_FAILED; - if(got == 0) ASN__DECODE_STARVED; - rval.code = RC_OK; - rval.consumed = got; - } else { - rval = elm->type->op->oer_decoder( - opt_codec_ctx, elm->type, - elm->encoding_constraints.oer_constraints, memb_ptr2, ptr, - size); - } - rval.consumed += consumed_myself; - switch(rval.code) { - case RC_OK: - NEXT_PHASE(ctx); - case RC_WMORE: - break; - case RC_FAIL: - SET_PHASE(ctx, 3); /* => 3 */ - } - return rval; - } - case 2: - /* Already decoded everything */ - RETURN(RC_OK); - case 3: - /* Failed to decode, after all */ - RETURN(RC_FAIL); - } - - RETURN(RC_FAIL); -} - -/* - * X.696 (08/2015) #8.7 Encoding of tags - */ -static ssize_t -oer_put_tag(ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { - uint8_t tclass = BER_TAG_CLASS(tag); - ber_tlv_tag_t tval = BER_TAG_VALUE(tag); - - if(tval < 0x3F) { - uint8_t b = (uint8_t)((tclass << 6) | tval); - if(cb(&b, 1, app_key) < 0) { - return -1; - } - return 1; - } else { - uint8_t buf[1 + 2 * sizeof(tval)]; - uint8_t *b = &buf[sizeof(buf)-1]; /* Last addressable */ - size_t encoded; - for(; ; tval >>= 7) { - if(tval >> 7) { - *b-- = 0x80 | (tval & 0x7f); - } else { - *b-- = tval & 0x7f; - break; - } - } - *b = (uint8_t)((tclass << 6) | 0x3F); - encoded = sizeof(buf) - (b - buf); - if(cb(b, encoded, app_key) < 0) { - return -1; - } - return encoded; - } - -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -CHOICE_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_CHOICE_specifics_t *specs = - (const asn_CHOICE_specifics_t *)td->specifics; - asn_TYPE_member_t *elm; /* CHOICE element */ - unsigned present; - const void *memb_ptr; - ber_tlv_tag_t tag; - ssize_t tag_len; - asn_enc_rval_t er = {0, 0, 0}; - - (void)constraints; - - if(!sptr) ASN__ENCODE_FAILED; - - ASN_DEBUG("OER %s encoding as CHOICE", td->name); - - present = CHOICE_variant_get_presence(td, sptr); - if(present == 0 || present > td->elements_count) { - ASN_DEBUG("CHOICE %s member is not selected", td->name); - ASN__ENCODE_FAILED; - } - - elm = &td->elements[present-1]; - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(memb_ptr == 0) { - /* Mandatory element absent */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - tag = asn_TYPE_outmost_tag(elm->type, memb_ptr, elm->tag_mode, elm->tag); - if(tag == 0) { - ASN__ENCODE_FAILED; - } - - tag_len = oer_put_tag(tag, cb, app_key); - if(tag_len < 0) { - ASN__ENCODE_FAILED; - } - - if(specs->ext_start >= 0 && (unsigned)specs->ext_start <= (present-1)) { - ssize_t encoded = oer_open_type_put(elm->type, - elm->encoding_constraints.oer_constraints, - memb_ptr, cb, app_key); - if(encoded < 0) ASN__ENCODE_FAILED; - er.encoded = tag_len + encoded; - } else { - er = elm->type->op->oer_encoder( - elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, - app_key); - if(er.encoded >= 0) er.encoded += tag_len; - } - - return er; -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/constr_SEQUENCE.c b/skeletons/constr_SEQUENCE.c deleted file mode 100644 index 43dcac7..0000000 --- a/skeletons/constr_SEQUENCE.c +++ /dev/null @@ -1,2059 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include - -/* - * Number of bytes left for this structure. - * (ctx->left) indicates the number of bytes _transferred_ for the structure. - * (size) contains the number of bytes in the buffer passed. - */ -#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) - -/* - * If the subprocessor function returns with an indication that it wants - * more data, it may well be a fatal decoding problem, because the - * size is constrained by the 's L, even if the buffer size allows - * reading more data. - * For example, consider the buffer containing the following TLVs: - * ... - * The TLV length clearly indicates that one byte is expected in V, but - * if the V processor returns with "want more data" even if the buffer - * contains way more data than the V processor have seen. - */ -#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - if(ctx->left >= 0) \ - ctx->left -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#undef PHASE_OUT -#define NEXT_PHASE(ctx) do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) -#define PHASE_OUT(ctx) do { ctx->phase = 10; } while(0) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself;\ - return rval; \ - } while(0) - -/* - * Check whether we are inside the extensions group. - */ -#define IN_EXTENSION_GROUP(specs, memb_idx) \ - ((specs)->first_extension >= 0 \ - && (unsigned)(specs)->first_extension <= (memb_idx)) - -/* - * Tags are canonically sorted in the tag2element map. - */ -static int -_t2e_cmp(const void *ap, const void *bp) { - const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; - const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; - - int a_class = BER_TAG_CLASS(a->el_tag); - int b_class = BER_TAG_CLASS(b->el_tag); - - if(a_class == b_class) { - ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); - ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); - - if(a_value == b_value) { - if(a->el_no > b->el_no) - return 1; - /* - * Important: we do not check - * for a->el_no <= b->el_no! - */ - return 0; - } else if(a_value < b_value) - return -1; - else - return 1; - } else if(a_class < b_class) { - return -1; - } else { - return 1; - } -} - - -/* - * The decoder of the SEQUENCE type. - */ -asn_dec_rval_t -SEQUENCE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size, int tag_mode) { - /* - * Bring closer parts of structure description. - */ - const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; - const asn_TYPE_member_t *elements = td->elements; - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - ber_tlv_tag_t tlv_tag; /* T from TLV */ - asn_dec_rval_t rval; /* Return code from subparsers */ - - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - size_t edx; /* SEQUENCE element's index */ - - ASN_DEBUG("Decoding %s as SEQUENCE", td->name); - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously - */ - switch(ctx->phase) { - case 0: - /* - * PHASE 0. - * Check that the set of tags associated with given structure - * perfectly fits our expectations. - */ - - rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, - tag_mode, 1, &ctx->left, 0); - if(rval.code != RC_OK) { - ASN_DEBUG("%s tagging check failed: %d", - td->name, rval.code); - return rval; - } - - if(ctx->left >= 0) - ctx->left += rval.consumed; /* ?Substracted below! */ - ADVANCE(rval.consumed); - - NEXT_PHASE(ctx); - - ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", - (long)ctx->left, (long)size); - - /* Fall through */ - case 1: - /* - * PHASE 1. - * From the place where we've left it previously, - * try to decode the next member from the list of - * this structure's elements. - * (ctx->step) stores the member being processed - * between invocations and the microphase {0,1} of parsing - * that member: - * step = ( * 2 + ). - */ - for(edx = ((size_t)ctx->step >> 1); edx < td->elements_count; - edx++, ctx->step = (ctx->step & ~1) + 2) { - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - ssize_t tag_len; /* Length of TLV's T */ - size_t opt_edx_end; /* Next non-optional element */ - size_t n; - int use_bsearch; - - if(ctx->step & 1) - goto microphase2; - - /* - * MICROPHASE 1: Synchronize decoding. - */ - ASN_DEBUG("In %s SEQUENCE left %d, edx=%" ASN_PRI_SIZE " flags=%d" - " opt=%d ec=%d", - td->name, (int)ctx->left, edx, - elements[edx].flags, elements[edx].optional, - td->elements_count); - - if(ctx->left == 0 /* No more stuff is expected */ - && ( - /* Explicit OPTIONAL specification reaches the end */ - (edx + elements[edx].optional == td->elements_count) || - /* All extensions are optional */ - IN_EXTENSION_GROUP(specs, edx))) { - ASN_DEBUG("End of SEQUENCE %s", td->name); - /* - * Found the legitimate end of the structure. - */ - PHASE_OUT(ctx); - RETURN(RC_OK); - } - - /* - * Fetch the T from TLV. - */ - tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); - ASN_DEBUG("Current tag in %s SEQUENCE for element %" ASN_PRI_SIZE " " - "(%s) is %s encoded in %d bytes, of frame %ld", - td->name, edx, elements[edx].name, - ber_tlv_tag_string(tlv_tag), (int)tag_len, (long)LEFT); - switch(tag_len) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) { - RETURN(RC_FAIL); - } else { - RETURN(RC_WMORE); - } - } else if(((const uint8_t *)ptr)[1] == 0) { - ASN_DEBUG("edx = %" ASN_PRI_SIZE ", opt = %d, ec=%d", edx, - elements[edx].optional, td->elements_count); - if((edx + elements[edx].optional == td->elements_count) - || IN_EXTENSION_GROUP(specs, edx)) { - /* - * Yeah, baby! Found the terminator - * of the indefinite length structure. - */ - /* - * Proceed to the canonical - * finalization function. - * No advancing is necessary. - */ - goto phase3; - } - } - } - - /* - * Find the next available type with this tag. - */ - use_bsearch = 0; - opt_edx_end = edx + elements[edx].optional + 1; - if(opt_edx_end > td->elements_count) - opt_edx_end = td->elements_count; /* Cap */ - else if(opt_edx_end - edx > 8) { - /* Limit the scope of linear search... */ - opt_edx_end = edx + 8; - use_bsearch = 1; - /* ... and resort to bsearch() */ - } - for(n = edx; n < opt_edx_end; n++) { - if(BER_TAGS_EQUAL(tlv_tag, elements[n].tag)) { - /* - * Found element corresponding to the tag - * being looked at. - * Reposition over the right element. - */ - edx = n; - ctx->step = 1 + 2 * edx; /* Remember! */ - goto microphase2; - } else if(elements[n].flags & ATF_ANY_TYPE) { - /* - * This is the ANY type, which may bear - * any flag whatsoever. - */ - edx = n; - ctx->step = 1 + 2 * edx; /* Remember! */ - goto microphase2; - } else if(elements[n].tag == (ber_tlv_tag_t)-1) { - use_bsearch = 1; - break; - } - } - if(use_bsearch) { - /* - * Resort to a binary search over - * sorted array of tags. - */ - const asn_TYPE_tag2member_t *t2m; - asn_TYPE_tag2member_t key = {0, 0, 0, 0}; - key.el_tag = tlv_tag; - key.el_no = edx; - t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, - specs->tag2el, specs->tag2el_count, - sizeof(specs->tag2el[0]), _t2e_cmp); - if(t2m) { - const asn_TYPE_tag2member_t *best = 0; - const asn_TYPE_tag2member_t *t2m_f, *t2m_l; - size_t edx_max = edx + elements[edx].optional; - /* - * Rewind to the first element with that tag, - * `cause bsearch() does not guarantee order. - */ - t2m_f = t2m + t2m->toff_first; - t2m_l = t2m + t2m->toff_last; - for(t2m = t2m_f; t2m <= t2m_l; t2m++) { - if(t2m->el_no > edx_max) break; - if(t2m->el_no < edx) continue; - best = t2m; - } - if(best) { - edx = best->el_no; - ctx->step = 1 + 2 * edx; - goto microphase2; - } - } - n = opt_edx_end; - } - if(n == opt_edx_end) { - /* - * If tag is unknown, it may be either - * an unknown (thus, incorrect) tag, - * or an extension (...), - * or an end of the indefinite-length structure. - */ - if(!IN_EXTENSION_GROUP(specs, - edx + elements[edx].optional)) { - ASN_DEBUG("Unexpected tag %s (at %" ASN_PRI_SIZE ")", - ber_tlv_tag_string(tlv_tag), edx); - ASN_DEBUG("Expected tag %s (%s)%s", - ber_tlv_tag_string(elements[edx].tag), - elements[edx].name, - elements[edx].optional - ?" or alternatives":""); - RETURN(RC_FAIL); - } else { - /* Skip this tag */ - ssize_t skip; - edx += elements[edx].optional; - - ASN_DEBUG("Skipping unexpected %s (at %" ASN_PRI_SIZE ")", - ber_tlv_tag_string(tlv_tag), edx); - skip = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - (const char *)ptr + tag_len, - LEFT - tag_len); - ASN_DEBUG("Skip length %d in %s", - (int)skip, td->name); - switch(skip) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - ADVANCE(skip + tag_len); - ctx->step -= 2; - edx--; - continue; /* Try again with the next tag */ - } - } - - /* - * MICROPHASE 2: Invoke the member-specific decoder. - */ - ctx->step |= 1; /* Confirm entering next microphase */ - microphase2: - ASN_DEBUG("Inside SEQUENCE %s MF2", td->name); - - /* - * Compute the position of the member inside a structure, - * and also a type of containment (it may be contained - * as pointer or using inline inclusion). - */ - if(elements[edx].flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elements[edx].memb_offset); - } else { - /* - * A pointer to a pointer - * holding the start of the structure - */ - memb_ptr = (char *)st + elements[edx].memb_offset; - memb_ptr2 = &memb_ptr; - } - /* - * Invoke the member fetch routine according to member's type - */ - if(elements[edx].flags & ATF_OPEN_TYPE) { - rval = OPEN_TYPE_ber_get(opt_codec_ctx, td, st, &elements[edx], ptr, LEFT); - } else { - rval = elements[edx].type->op->ber_decoder(opt_codec_ctx, - elements[edx].type, - memb_ptr2, ptr, LEFT, - elements[edx].tag_mode); - } - ASN_DEBUG("In %s SEQUENCE decoded %" ASN_PRI_SIZE " %s of %d " - "in %d bytes rval.code %d, size=%d", - td->name, edx, elements[edx].type->name, - (int)LEFT, (int)rval.consumed, rval.code, (int)size); - switch(rval.code) { - case RC_OK: - break; - case RC_WMORE: /* More data expected */ - if(!SIZE_VIOLATION) { - ADVANCE(rval.consumed); - RETURN(RC_WMORE); - } - ASN_DEBUG("Size violation (c->l=%ld <= s=%ld)", - (long)ctx->left, (long)size); - /* Fall through */ - case RC_FAIL: /* Fatal error */ - RETURN(RC_FAIL); - } /* switch(rval) */ - - ADVANCE(rval.consumed); - } /* for(all structure members) */ - - phase3: - ctx->phase = 3; - /* Fall through */ - case 3: /* 00 and other tags expected */ - case 4: /* only 00's expected */ - - ASN_DEBUG("SEQUENCE %s Leftover: %ld, size = %ld", - td->name, (long)ctx->left, (long)size); - - /* - * Skip everything until the end of the SEQUENCE. - */ - while(ctx->left) { - ssize_t tl, ll; - - tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); - switch(tl) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - /* - * If expected <0><0>... - */ - if(ctx->left < 0 - && ((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) - RETURN(RC_FAIL); - else - RETURN(RC_WMORE); - } else if(((const uint8_t *)ptr)[1] == 0) { - /* - * Correctly finished with <0><0>. - */ - ADVANCE(2); - ctx->left++; - ctx->phase = 4; - continue; - } - } - - if(!IN_EXTENSION_GROUP(specs, td->elements_count) - || ctx->phase == 4) { - ASN_DEBUG("Unexpected continuation " - "of a non-extensible type " - "%s (SEQUENCE): %s", - td->name, - ber_tlv_tag_string(tlv_tag)); - RETURN(RC_FAIL); - } - - ll = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - (const char *)ptr + tl, LEFT - tl); - switch(ll) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - ADVANCE(tl + ll); - } - - PHASE_OUT(ctx); - } - - RETURN(RC_OK); -} - - -/* - * The DER encoder of the SEQUENCE type. - */ -asn_enc_rval_t -SEQUENCE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - size_t computed_size = 0; - asn_enc_rval_t erval = {0,0,0}; - ssize_t ret; - size_t edx; - - ASN_DEBUG("%s %s as SEQUENCE", - cb?"Encoding":"Estimating", td->name); - - /* - * Gather the length of the underlying members sequence. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - - const void *memb_ptr; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) { - ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", - elm->name, edx); - if(elm->optional) - continue; - /* Mandatory element is missing */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) - continue; - - erval = elm->type->op->der_encoder(elm->type, *memb_ptr2, - elm->tag_mode, elm->tag, - 0, 0); - if(erval.encoded == -1) - return erval; - computed_size += erval.encoded; - ASN_DEBUG("Member %" ASN_PRI_SIZE " %s estimated %ld bytes", - edx, elm->name, (long)erval.encoded); - } - - /* - * Encode the TLV for the sequence itself. - */ - ret = der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); - ASN_DEBUG("Wrote tags: %ld (+%ld)", (long)ret, (long)computed_size); - if(ret == -1) - ASN__ENCODE_FAILED; - erval.encoded = computed_size + ret; - - if(!cb) ASN__ENCODED_OK(erval); - - /* - * Encode all members. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - asn_enc_rval_t tmperval = {0,0,0}; - const void *memb_ptr; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) continue; - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) - continue; - - tmperval = elm->type->op->der_encoder(elm->type, *memb_ptr2, - elm->tag_mode, elm->tag, cb, app_key); - if(tmperval.encoded == -1) - return tmperval; - computed_size -= tmperval.encoded; - ASN_DEBUG("Member %" ASN_PRI_SIZE " %s of SEQUENCE %s encoded in %ld bytes", - edx, elm->name, td->name, (long)tmperval.encoded); - } - - if(computed_size != 0) - /* - * Encoded size is not equal to the computed size. - */ - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(erval); -} - - -#undef XER_ADVANCE -#define XER_ADVANCE(num_bytes) \ - do { \ - size_t num = (num_bytes); \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Decode the XER (XML) data. - */ -asn_dec_rval_t -SEQUENCE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const char *opt_mname, const void *ptr, size_t size) { - /* - * Bring closer parts of structure description. - */ - const asn_SEQUENCE_specifics_t *specs - = (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_TYPE_member_t *elements = td->elements; - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - - /* - * ... and parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - asn_dec_rval_t rval; /* Return value from a decoder */ - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - size_t edx; /* Element index */ - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) RETURN(RC_FAIL); - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - - /* - * Phases of XER/XML processing: - * Phase 0: Check that the opening tag matches our expectations. - * Phase 1: Processing body and reacting on closing tag. - * Phase 2: Processing inner type. - * Phase 3: Skipping unknown extensions. - * Phase 4: PHASED OUT - */ - for(edx = ctx->step; ctx->phase <= 3;) { - pxer_chunk_type_e ch_type; /* XER chunk type */ - ssize_t ch_size; /* Chunk size */ - xer_check_tag_e tcv; /* Tag check value */ - asn_TYPE_member_t *elm; - - /* - * Go inside the inner member of a sequence. - */ - if(ctx->phase == 2) { - asn_dec_rval_t tmprval; - void *memb_ptr_dontuse; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - - elm = &td->elements[edx]; - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr_dontuse = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ - } - - if(elm->flags & ATF_OPEN_TYPE) { - tmprval = OPEN_TYPE_xer_get(opt_codec_ctx, td, st, elm, ptr, size); - } else { - /* Invoke the inner type decoder, m.b. multiple times */ - tmprval = elm->type->op->xer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, elm->name, - ptr, size); - } - XER_ADVANCE(tmprval.consumed); - if(tmprval.code != RC_OK) - RETURN(tmprval.code); - ctx->phase = 1; /* Back to body processing */ - ctx->step = ++edx; - ASN_DEBUG("XER/SEQUENCE phase => %d, step => %d", - ctx->phase, ctx->step); - /* Fall through */ - } - - /* - * Get the next part of the XML stream. - */ - ch_size = xer_next_token(&ctx->context, ptr, size, - &ch_type); - if(ch_size == -1) { - RETURN(RC_FAIL); - } else { - switch(ch_type) { - case PXER_WMORE: - RETURN(RC_WMORE); - case PXER_COMMENT: /* Got XML comment */ - case PXER_TEXT: /* Ignore free-standing text */ - XER_ADVANCE(ch_size); /* Skip silently */ - continue; - case PXER_TAG: - break; /* Check the rest down there */ - } - } - - tcv = xer_check_tag(ptr, ch_size, xml_tag); - ASN_DEBUG("XER/SEQUENCE: tcv = %d, ph=%d [%s]", - tcv, ctx->phase, xml_tag); - - /* Skip the extensions section */ - if(ctx->phase == 3) { - switch(xer_skip_unknown(tcv, &ctx->left)) { - case -1: - ctx->phase = 4; - RETURN(RC_FAIL); - case 0: - XER_ADVANCE(ch_size); - continue; - case 1: - XER_ADVANCE(ch_size); - ctx->phase = 1; - continue; - case 2: - ctx->phase = 1; - break; - } - } - - switch(tcv) { - case XCT_CLOSING: - if(ctx->phase == 0) break; - ctx->phase = 0; - /* Fall through */ - case XCT_BOTH: - if(ctx->phase == 0) { - if(edx >= td->elements_count || - /* Explicit OPTIONAL specs reaches the end */ - (edx + elements[edx].optional == td->elements_count) || - /* All extensions are optional */ - IN_EXTENSION_GROUP(specs, edx)) { - XER_ADVANCE(ch_size); - ctx->phase = 4; /* Phase out */ - RETURN(RC_OK); - } else { - ASN_DEBUG("Premature end of XER SEQUENCE"); - RETURN(RC_FAIL); - } - } - /* Fall through */ - case XCT_OPENING: - if(ctx->phase == 0) { - XER_ADVANCE(ch_size); - ctx->phase = 1; /* Processing body phase */ - continue; - } - /* Fall through */ - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - - ASN_DEBUG("XER/SEQUENCE: tcv=%d, ph=%d, edx=%" ASN_PRI_SIZE "", - tcv, ctx->phase, edx); - if(ctx->phase != 1) { - break; /* Really unexpected */ - } - - if(edx < td->elements_count) { - /* - * Search which member corresponds to this tag. - */ - size_t n; - size_t edx_end = edx + elements[edx].optional + 1; - if(edx_end > td->elements_count) - edx_end = td->elements_count; - for(n = edx; n < edx_end; n++) { - elm = &td->elements[n]; - tcv = xer_check_tag(ptr, ch_size, elm->name); - switch(tcv) { - case XCT_BOTH: - case XCT_OPENING: - /* - * Process this member. - */ - ctx->step = edx = n; - ctx->phase = 2; - break; - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - continue; - default: - n = edx_end; - break; /* Phase out */ - } - break; - } - if(n != edx_end) - continue; - } else { - ASN_DEBUG("Out of defined members: %" ASN_PRI_SIZE "/%u", - edx, td->elements_count); - } - - /* It is expected extension */ - if(IN_EXTENSION_GROUP(specs, - edx + (edx < td->elements_count - ? elements[edx].optional : 0))) { - ASN_DEBUG("Got anticipated extension at %" ASN_PRI_SIZE "", - edx); - /* - * Check for (XCT_BOTH or XCT_UNKNOWN_BO) - * By using a mask. Only record a pure - * tags. - */ - if(tcv & XCT_CLOSING) { - /* Found without body */ - } else { - ctx->left = 1; - ctx->phase = 3; /* Skip ...'s */ - } - XER_ADVANCE(ch_size); - continue; - } - - /* Fall through */ - default: - break; - } - - ASN_DEBUG("Unexpected XML tag in SEQUENCE [%c%c%c%c%c%c]", - size>0?((const char *)ptr)[0]:'.', - size>1?((const char *)ptr)[1]:'.', - size>2?((const char *)ptr)[2]:'.', - size>3?((const char *)ptr)[3]:'.', - size>4?((const char *)ptr)[4]:'.', - size>5?((const char *)ptr)[5]:'.'); - break; - } - - ctx->phase = 4; /* "Phase out" on hard failure */ - RETURN(RC_FAIL); -} - -asn_enc_rval_t -SEQUENCE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = {0,0,0}; - int xcan = (flags & XER_F_CANONICAL); - asn_TYPE_descriptor_t *tmp_def_val_td = 0; - void *tmp_def_val = 0; - size_t edx; - - if(!sptr) ASN__ENCODE_FAILED; - - er.encoded = 0; - - for(edx = 0; edx < td->elements_count; edx++) { - asn_enc_rval_t tmper = {0,0,0}; - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; - const char *mname = elm->name; - unsigned int mlen = strlen(mname); - - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - assert(tmp_def_val == 0); - if(elm->default_value_set) { - if(elm->default_value_set(&tmp_def_val)) { - ASN__ENCODE_FAILED; - } else { - memb_ptr = tmp_def_val; - tmp_def_val_td = elm->type; - } - } else if(elm->optional) { - continue; - } else { - /* Mandatory element is missing */ - ASN__ENCODE_FAILED; - } - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - - /* Print the member itself */ - tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, - flags, cb, app_key); - if(tmp_def_val) { - ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); - tmp_def_val = 0; - } - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - - ASN__CALLBACK3("", 1); - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); - - ASN__ENCODED_OK(er); -cb_failed: - if(tmp_def_val) ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); - ASN__ENCODE_FAILED; -} - -int -SEQUENCE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - size_t edx; - int ret; - - if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* Dump preamble */ - if(cb(td->name, strlen(td->name), app_key) < 0 - || cb(" ::= {", 6, app_key) < 0) - return -1; - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) continue; - /* Print line */ - /* Fall through */ - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - /* Indentation */ - _i_INDENT(1); - - /* Print the member's name and stuff */ - if(cb(elm->name, strlen(elm->name), app_key) < 0 - || cb(": ", 2, app_key) < 0) - return -1; - - /* Print the member itself */ - ret = elm->type->op->print_struct(elm->type, memb_ptr, ilevel + 1, - cb, app_key); - if(ret) return ret; - } - - ilevel--; - _i_INDENT(1); - - return (cb("}", 1, app_key) < 0) ? -1 : 0; -} - -void -SEQUENCE_free(const asn_TYPE_descriptor_t *td, void *sptr, - enum asn_struct_free_method method) { - size_t edx; - const asn_SEQUENCE_specifics_t *specs = - (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_struct_ctx_t *ctx; /* Decoder context */ - - if(!td || !sptr) - return; - - ASN_DEBUG("Freeing %s as SEQUENCE", td->name); - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; - if(elm->flags & ATF_POINTER) { - memb_ptr = *(void **)((char *)sptr + elm->memb_offset); - if(memb_ptr) - ASN_STRUCT_FREE(*elm->type, memb_ptr); - } else { - memb_ptr = (void *)((char *)sptr + elm->memb_offset); - ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); - } - } - - /* Clean parsing context */ - ctx = (asn_struct_ctx_t *)((char *)sptr + specs->ctx_offset); - FREEMEM(ctx->ptr); - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(sptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset( - sptr, 0, - ((const asn_SEQUENCE_specifics_t *)(td->specifics))->struct_size); - break; - } -} - -int -SEQUENCE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t edx; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* - * Iterate over structure members and check their validity. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) - continue; - ASN__CTFAIL(app_key, td, sptr, - "%s: mandatory element %s absent (%s:%d)", - td->name, elm->name, __FILE__, __LINE__); - return -1; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - if(elm->encoding_constraints.general_constraints) { - int ret = elm->encoding_constraints.general_constraints(elm->type, memb_ptr, - ctfailcb, app_key); - if(ret) return ret; - } else { - return elm->type->encoding_constraints.general_constraints(elm->type, - memb_ptr, ctfailcb, app_key); - } - } - - return 0; -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -SEQUENCE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; - void *st = *sptr; /* Target structure. */ - int extpresent; /* Extension additions are present */ - uint8_t *opres; /* Presence of optional root members */ - asn_per_data_t opmd; - asn_dec_rval_t rv; - size_t edx; - - (void)constraints; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - - ASN_DEBUG("Decoding %s as SEQUENCE (UPER)", td->name); - - /* Handle extensions */ - if(specs->first_extension < 0) { - extpresent = 0; - } else { - extpresent = per_get_few_bits(pd, 1); - if(extpresent < 0) ASN__DECODE_STARVED; - } - - /* Prepare a place and read-in the presence bitmap */ - memset(&opmd, 0, sizeof(opmd)); - if(specs->roms_count) { - opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); - if(!opres) ASN__DECODE_FAILED; - /* Get the presence map */ - if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { - FREEMEM(opres); - ASN__DECODE_STARVED; - } - opmd.buffer = opres; - opmd.nbits = specs->roms_count; - ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", - td->name, specs->roms_count, *opres); - } else { - opres = 0; - } - - /* - * Get the sequence ROOT elements. - */ - for(edx = 0; - edx < (specs->first_extension < 0 ? td->elements_count - : (size_t)specs->first_extension); - edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - - assert(!IN_EXTENSION_GROUP(specs, edx)); - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - /* Deal with optionality */ - if(elm->optional) { - int present = per_get_few_bits(&opmd, 1); - ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", - td->name, elm->name, present, - (int)opmd.nboff, (int)opmd.nbits); - if(present == 0) { - /* This element is not present */ - if(elm->default_value_set) { - /* Fill-in DEFAULT */ - if(elm->default_value_set(memb_ptr2)) { - FREEMEM(opres); - ASN__DECODE_FAILED; - } - ASN_DEBUG("Filled-in default"); - } - /* The member is just not present */ - continue; - } - /* Fall through */ - } - - /* Fetch the member from the stream */ - ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); - - if(elm->flags & ATF_OPEN_TYPE) { - rv = OPEN_TYPE_uper_get(opt_codec_ctx, td, st, elm, pd); - } else { - rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } - if(rv.code != RC_OK) { - ASN_DEBUG("Failed decode %s in %s", - elm->name, td->name); - FREEMEM(opres); - return rv; - } - } - - /* Optionality map is not needed anymore */ - FREEMEM(opres); - - /* - * Deal with extensions. - */ - if(extpresent) { - ssize_t bmlength; - uint8_t *epres; /* Presence of extension members */ - asn_per_data_t epmd; - - bmlength = uper_get_nslength(pd); - if(bmlength < 0) ASN__DECODE_STARVED; - - ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); - - epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); - if(!epres) ASN__DECODE_STARVED; - - /* Get the extensions map */ - if(per_get_many_bits(pd, epres, 0, bmlength)) { - FREEMEM(epres); - ASN__DECODE_STARVED; - } - - memset(&epmd, 0, sizeof(epmd)); - epmd.buffer = epres; - epmd.nbits = bmlength; - ASN_DEBUG("Read in extensions bitmap for %s of %ld bits (%x..)", - td->name, (long)bmlength, *epres); - - /* Go over extensions and read them in */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - int present; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (void *)((char *)st + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - present = per_get_few_bits(&epmd, 1); - if(present <= 0) { - if(present < 0) break; /* No more extensions */ - continue; - } - - ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, - *memb_ptr2); - rv = uper_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, - memb_ptr2, pd); - if(rv.code != RC_OK) { - FREEMEM(epres); - return rv; - } - } - - /* Skip over overflow extensions which aren't present - * in this system's version of the protocol */ - for(;;) { - ASN_DEBUG("Getting overflow extensions"); - switch(per_get_few_bits(&epmd, 1)) { - case -1: break; - case 0: continue; - default: - if(uper_open_type_skip(opt_codec_ctx, pd)) { - FREEMEM(epres); - ASN__DECODE_STARVED; - } - ASN_DEBUG("Skipped overflow extension"); - continue; - } - break; - } - - FREEMEM(epres); - } - - if(specs->first_extension >= 0) { - unsigned i; - /* Fill DEFAULT members in extensions */ - for(i = specs->roms_count; i < specs->roms_count + specs->aoms_count; - i++) { - asn_TYPE_member_t *elm; - void **memb_ptr2; /* Pointer to member pointer */ - - edx = specs->oms[i]; - elm = &td->elements[edx]; - - if(!elm->default_value_set) continue; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - if(*memb_ptr2) continue; - } else { - continue; /* Extensions are all optionals */ - } - - /* Set default value */ - if(elm->default_value_set(memb_ptr2)) { - ASN__DECODE_FAILED; - } - } - } - - rv.consumed = 0; - rv.code = RC_OK; - return rv; -} - -static int -SEQUENCE__handle_extensions(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_per_outp_t *po1, asn_per_outp_t *po2) { - const asn_SEQUENCE_specifics_t *specs = - (const asn_SEQUENCE_specifics_t *)td->specifics; - int exts_present = 0; - int exts_count = 0; - size_t edx; - - if(specs->first_extension < 0) { - return 0; - } - - /* Find out which extensions are present */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - int present; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - present = (*memb_ptr2 != 0); - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - present = 1; - } - - ASN_DEBUG("checking %s:%s (@%" ASN_PRI_SIZE ") present => %d", elm->name, - elm->type->name, edx, present); - exts_count++; - exts_present += present; - - /* Encode as presence marker */ - if(po1 && per_put_few_bits(po1, present, 1)) { - return -1; - } - /* Encode as open type field */ - if(po2 && present - && uper_open_type_put(elm->type, - elm->encoding_constraints.per_constraints, - *memb_ptr2, po2)) - return -1; - } - - return exts_present ? exts_count : 0; -} - -asn_enc_rval_t -SEQUENCE_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const asn_SEQUENCE_specifics_t *specs - = (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - int n_extensions; - size_t edx; - size_t i; - - (void)constraints; - - if(!sptr) - ASN__ENCODE_FAILED; - - er.encoded = 0; - - ASN_DEBUG("Encoding %s as SEQUENCE (UPER)", td->name); - - /* - * X.691#18.1 Whether structure is extensible - * and whether to encode extensions - */ - if(specs->first_extension < 0) { - n_extensions = 0; /* There are no extensions to encode */ - } else { - n_extensions = SEQUENCE__handle_extensions(td, sptr, 0, 0); - if(n_extensions < 0) ASN__ENCODE_FAILED; - if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { - ASN__ENCODE_FAILED; - } - } - - /* Encode a presence bitmap */ - for(i = 0; i < specs->roms_count; i++) { - asn_TYPE_member_t *elm; - const void *memb_ptr; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - int present; - - edx = specs->oms[i]; - elm = &td->elements[edx]; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - present = (*memb_ptr2 != 0); - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - present = 1; - } - - /* Eliminate default values */ - if(present && elm->default_value_cmp - && elm->default_value_cmp(*memb_ptr2) == 0) - present = 0; - - ASN_DEBUG("Element %s %s %s->%s is %s", - elm->flags & ATF_POINTER ? "ptr" : "inline", - elm->default_value_cmp ? "def" : "wtv", - td->name, elm->name, present ? "present" : "absent"); - if(per_put_few_bits(po, present, 1)) - ASN__ENCODE_FAILED; - } - - /* - * Encode the sequence ROOT elements. - */ - ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, - td->elements_count); - for(edx = 0; - edx < ((specs->first_extension < 0) ? td->elements_count - : (size_t)specs->first_extension); - edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - - ASN_DEBUG("About to encode %s", elm->type->name); - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) { - ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", - elm->name, edx); - if(elm->optional) - continue; - /* Mandatory element is missing */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) - continue; - - ASN_DEBUG("Encoding %s->%s:%s", td->name, elm->name, elm->type->name); - er = elm->type->op->uper_encoder( - elm->type, elm->encoding_constraints.per_constraints, *memb_ptr2, - po); - if(er.encoded == -1) return er; - } - - /* No extensions to encode */ - if(!n_extensions) ASN__ENCODED_OK(er); - - ASN_DEBUG("Length of extensions %d bit-map", n_extensions); - /* #18.8. Write down the presence bit-map length. */ - if(uper_put_nslength(po, n_extensions)) - ASN__ENCODE_FAILED; - - ASN_DEBUG("Bit-map of %d elements", n_extensions); - /* #18.7. Encoding the extensions presence bit-map. */ - /* TODO: act upon NOTE in #18.7 for canonical PER */ - if(SEQUENCE__handle_extensions(td, sptr, po, 0) != n_extensions) - ASN__ENCODE_FAILED; - - ASN_DEBUG("Writing %d extensions", n_extensions); - /* #18.9. Encode extensions as open type fields. */ - if(SEQUENCE__handle_extensions(td, sptr, 0, po) != n_extensions) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -asn_dec_rval_t -SEQUENCE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; - void *st = *sptr; /* Target structure. */ - int extpresent; /* Extension additions are present */ - uint8_t *opres; /* Presence of optional root members */ - asn_per_data_t opmd; - asn_dec_rval_t rv; - size_t edx; - - (void)constraints; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - - ASN_DEBUG("Decoding %s as SEQUENCE (APER)", td->name); - - /* Handle extensions */ - if(specs->first_extension < 0) { - extpresent = 0; - } else { - extpresent = per_get_few_bits(pd, 1); - if(extpresent < 0) ASN__DECODE_STARVED; - } - - /* Prepare a place and read-in the presence bitmap */ - memset(&opmd, 0, sizeof(opmd)); - if(specs->roms_count) { - opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); - if(!opres) ASN__DECODE_FAILED; - /* Get the presence map */ - if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { - FREEMEM(opres); - ASN__DECODE_STARVED; - } - opmd.buffer = opres; - opmd.nbits = specs->roms_count; - ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", - td->name, specs->roms_count, *opres); - } else { - opres = 0; - } - - /* - * Get the sequence ROOT elements. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ -#if 0 - int padding; -#endif - - if(IN_EXTENSION_GROUP(specs, edx)) - continue; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } -#if 0 - /* Get Padding */ - padding = (8 - (pd->moved % 8)) % 8; - if(padding > 0) - ASN_DEBUG("For element %s,offset= %ld Padding bits = %d", td->name, pd->moved, padding); -#if 0 /* old way of removing padding */ - per_get_few_bits(pd, padding); -#else /* Experimental fix proposed by @mhanna123 */ - if(edx != (td->elements_count-1)) - per_get_few_bits(pd, padding); - else { - if(specs->roms_count && (padding > 0)) - ASN_DEBUG(">>>>> not skipping padding of %d bits for element:%ld out of %d", padding, edx, td->elements_count); - else - per_get_few_bits(pd, padding); - } -#endif /* dealing with padding */ -#endif - /* Deal with optionality */ - if(elm->optional) { - int present = per_get_few_bits(&opmd, 1); - ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", - td->name, elm->name, present, - (int)opmd.nboff, (int)opmd.nbits); - if(present == 0) { - /* This element is not present */ - if(elm->default_value_set) { - /* Fill-in DEFAULT */ - if(elm->default_value_set(memb_ptr2)) { - FREEMEM(opres); - ASN__DECODE_FAILED; - } - ASN_DEBUG("Filled-in default"); - } - /* The member is just not present */ - continue; - } - /* Fall through */ - } - - /* Fetch the member from the stream */ - ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); - - if(elm->flags & ATF_OPEN_TYPE) { - rv = OPEN_TYPE_aper_get(opt_codec_ctx, td, st, elm, pd); - } else { - rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - } - if(rv.code != RC_OK) { - ASN_DEBUG("Failed decode %s in %s", - elm->name, td->name); - FREEMEM(opres); - return rv; - } - } - - /* Optionality map is not needed anymore */ - FREEMEM(opres); - - /* - * Deal with extensions. - */ - if(extpresent) { - ssize_t bmlength; - uint8_t *epres; /* Presence of extension members */ - asn_per_data_t epmd; - - bmlength = aper_get_nslength(pd); - if(bmlength < 0) ASN__DECODE_STARVED; - - ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); - - epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); - if(!epres) ASN__DECODE_STARVED; - - /* Get the extensions map */ - if(per_get_many_bits(pd, epres, 0, bmlength)) - ASN__DECODE_STARVED; - - memset(&epmd, 0, sizeof(epmd)); - epmd.buffer = epres; - epmd.nbits = bmlength; - ASN_DEBUG("Read in extensions bitmap for %s of %ld bits (%x..)", - td->name, bmlength, *epres); - - /* Go over extensions and read them in */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - int present; - - if(!IN_EXTENSION_GROUP(specs, edx)) { - ASN_DEBUG("%ld is not extension", edx); - continue; - } - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (void *)((char *)st + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - present = per_get_few_bits(&epmd, 1); - if(present <= 0) { - if(present < 0) break; /* No more extensions */ - continue; - } - - ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, *memb_ptr2); - rv = aper_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, memb_ptr2, pd); - if(rv.code != RC_OK) { - FREEMEM(epres); - return rv; - } - } - - /* Skip over overflow extensions which aren't present - * in this system's version of the protocol */ - for(;;) { - ASN_DEBUG("Getting overflow extensions"); - switch(per_get_few_bits(&epmd, 1)) { - case -1: - break; - case 0: - continue; - default: - if(aper_open_type_skip(opt_codec_ctx, pd)) { - FREEMEM(epres); - ASN__DECODE_STARVED; - } - } - break; - } - - FREEMEM(epres); - } - - /* Fill DEFAULT members in extensions */ - for(edx = specs->roms_count; edx < specs->roms_count - + specs->aoms_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void **memb_ptr2; /* Pointer to member pointer */ - - if(!elm->default_value_set) continue; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (void **)((char *)st - + elm->memb_offset); - if(*memb_ptr2) continue; - } else { - continue; /* Extensions are all optionals */ - } - - /* Set default value */ - if(elm->default_value_set(memb_ptr2)) { - ASN__DECODE_FAILED; - } - } - - rv.consumed = 0; - rv.code = RC_OK; - return rv; -} - -static int -SEQUENCE_handle_extensions_aper(const asn_TYPE_descriptor_t *td, - const void *sptr, - asn_per_outp_t *po1, asn_per_outp_t *po2) { - const asn_SEQUENCE_specifics_t *specs - = (const asn_SEQUENCE_specifics_t *)td->specifics; - int exts_present = 0; - int exts_count = 0; - size_t edx; - - if(specs->first_extension < 0) { - return 0; - } - - /* Find out which extensions are present */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; /* Pointer to the member */ - const void * const *memb_ptr2; /* Pointer to that pointer */ - int present; - - if(!IN_EXTENSION_GROUP(specs, edx)) { - ASN_DEBUG("%s (@%ld) is not extension", elm->type->name, edx); - continue; - } - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); - present = (*memb_ptr2 != 0); - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - present = 1; - } - - ASN_DEBUG("checking %s (@%ld) present => %d", - elm->type->name, edx, present); - exts_count++; - exts_present += present; - - /* Encode as presence marker */ - if(po1 && per_put_few_bits(po1, present, 1)) - return -1; - /* Encode as open type field */ - if(po2 && present && aper_open_type_put(elm->type, - elm->encoding_constraints.per_constraints, *memb_ptr2, po2)) - return -1; - - } - - return exts_present ? exts_count : 0; -} - -asn_enc_rval_t -SEQUENCE_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_SEQUENCE_specifics_t *specs - = (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_enc_rval_t er = {0,0,0}; - int n_extensions; - size_t edx; - size_t i; - - (void)constraints; - - if(!sptr) - ASN__ENCODE_FAILED; - - er.encoded = 0; - - ASN_DEBUG("Encoding %s as SEQUENCE (APER)", td->name); - - /* - * X.691#18.1 Whether structure is extensible - * and whether to encode extensions - */ - if(specs->first_extension < 0) { - n_extensions = 0; /* There are no extensions to encode */ - } else { - n_extensions = SEQUENCE_handle_extensions_aper(td, sptr, 0, 0); - if(n_extensions < 0) ASN__ENCODE_FAILED; - if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { - ASN__ENCODE_FAILED; - } - } - - /* Encode a presence bitmap */ - for(i = 0; i < specs->roms_count; i++) { - asn_TYPE_member_t *elm; - const void *memb_ptr; /* Pointer to the member */ - const void * const *memb_ptr2; /* Pointer to that pointer */ - int present; - - edx = specs->oms[i]; - elm = &td->elements[edx]; - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); - present = (*memb_ptr2 != 0); - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - present = 1; - } - - /* Eliminate default values */ - if(present && elm->default_value_cmp - && elm->default_value_cmp(memb_ptr2) == 1) - present = 0; - - ASN_DEBUG("Element %s %s %s->%s is %s", - elm->flags & ATF_POINTER ? "ptr" : "inline", - elm->default_value_cmp ? "def" : "wtv", - td->name, elm->name, present ? "present" : "absent"); - if(per_put_few_bits(po, present, 1)) - ASN__ENCODE_FAILED; - } - - /* - * Encode the sequence ROOT elements. - */ - ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, - td->elements_count); - for(edx = 0; - edx < ((specs->first_extension < 0) ? td->elements_count - : (size_t)specs->first_extension); - edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; /* Pointer to the member */ - const void * const *memb_ptr2; /* Pointer to that pointer */ - - if(IN_EXTENSION_GROUP(specs, edx)) - continue; - - ASN_DEBUG("About to encode %s", elm->type->name); - - /* Fetch the pointer to this member */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) { - ASN_DEBUG("Element %s %ld not present", - elm->name, edx); - if(elm->optional) - continue; - /* Mandatory element is missing */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr; - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(memb_ptr2) == 1) - continue; - - ASN_DEBUG("Encoding %s->%s", td->name, elm->name); - er = elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints, - *memb_ptr2, po); - if(er.encoded == -1) - return er; - } - - /* No extensions to encode */ - if(!n_extensions) ASN__ENCODED_OK(er); - - ASN_DEBUG("Length of %d bit-map", n_extensions); - /* #18.8. Write down the presence bit-map length. */ - if(aper_put_nslength(po, n_extensions)) - ASN__ENCODE_FAILED; - - ASN_DEBUG("Bit-map of %d elements", n_extensions); - /* #18.7. Encoding the extensions presence bit-map. */ - /* TODO: act upon NOTE in #18.7 for canonical PER */ - if(SEQUENCE_handle_extensions_aper(td, sptr, po, 0) != n_extensions) - ASN__ENCODE_FAILED; - - ASN_DEBUG("Writing %d extensions", n_extensions); - /* #18.9. Encode extensions as open type fields. */ - if(SEQUENCE_handle_extensions_aper(td, sptr, 0, po) != n_extensions) - ASN__ENCODE_FAILED; - - ASN__ENCODED_OK(er); -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -int -SEQUENCE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - size_t edx; - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *amemb; - const void *bmemb; - int ret; - - if(elm->flags & ATF_POINTER) { - amemb = - *(const void *const *)((const char *)aptr + elm->memb_offset); - bmemb = - *(const void *const *)((const char *)bptr + elm->memb_offset); - if(!amemb) { - if(!bmemb) continue; - if(elm->default_value_cmp - && elm->default_value_cmp(bmemb) == 0) { - /* A is absent, but B is present and equal to DEFAULT */ - continue; - } - return -1; - } else if(!bmemb) { - if(elm->default_value_cmp - && elm->default_value_cmp(amemb) == 0) { - /* B is absent, but A is present and equal to DEFAULT */ - continue; - } - return 1; - } - } else { - amemb = (const void *)((const char *)aptr + elm->memb_offset); - bmemb = (const void *)((const char *)bptr + elm->memb_offset); - } - - ret = elm->type->op->compare_struct(elm->type, amemb, bmemb); - if(ret != 0) return ret; - } - - return 0; -} - -asn_TYPE_operation_t asn_OP_SEQUENCE = { - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_compare, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - SEQUENCE_decode_oer, - SEQUENCE_encode_oer, -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - SEQUENCE_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; - - -asn_random_fill_result_t -SEQUENCE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constr, - size_t max_length) { - const asn_SEQUENCE_specifics_t *specs = - (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_random_fill_result_t result_ok = {ARFILL_OK, 0}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - void *st = *sptr; - size_t edx; - - if(max_length == 0) return result_skipped; - - (void)constr; - - if(st == NULL) { - st = CALLOC(1, specs->struct_size); - if(st == NULL) { - return result_failed; - } - } - - for(edx = 0; edx < td->elements_count; edx++) { - const asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - asn_random_fill_result_t tmpres; - - if(elm->optional && asn_random_between(0, 4) == 2) { - /* Sometimes decide not to fill the optional value */ - continue; - } - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - tmpres = elm->type->op->random_fill( - elm->type, memb_ptr2, &elm->encoding_constraints, - max_length > result_ok.length ? max_length - result_ok.length : 0); - switch(tmpres.code) { - case ARFILL_OK: - result_ok.length += tmpres.length; - continue; - case ARFILL_SKIPPED: - assert(!(elm->flags & ATF_POINTER) || *memb_ptr2 == NULL); - continue; - case ARFILL_FAILED: - if(st == *sptr) { - ASN_STRUCT_RESET(*td, st); - } else { - ASN_STRUCT_FREE(*td, st); - } - return tmpres; - } - } - - *sptr = st; - - return result_ok; -} - diff --git a/skeletons/constr_SEQUENCE.h b/skeletons/constr_SEQUENCE.h deleted file mode 100644 index a22ed3a..0000000 --- a/skeletons/constr_SEQUENCE.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_SEQUENCE_H_ -#define _CONSTR_SEQUENCE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_SEQUENCE_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - /* - * Tags to members mapping table (sorted). - */ - const asn_TYPE_tag2member_t *tag2el; - unsigned tag2el_count; - - /* - * Optional members of the extensions root (roms) or additions (aoms). - * Meaningful for PER. - */ - const int *oms; /* Optional MemberS */ - unsigned roms_count; /* Root optional members count */ - unsigned aoms_count; /* Additions optional members count */ - - /* - * Description of an extensions group. - * Root components are clustered at the beginning of the structure, - * whereas extensions are clustered at the end. -1 means not extensible. - */ - signed first_extension; /* First extension addition */ -} asn_SEQUENCE_specifics_t; - - -/* - * A set specialized functions dealing with the SEQUENCE type. - */ -asn_struct_free_f SEQUENCE_free; -asn_struct_print_f SEQUENCE_print; -asn_struct_compare_f SEQUENCE_compare; -asn_constr_check_f SEQUENCE_constraint; -ber_type_decoder_f SEQUENCE_decode_ber; -der_type_encoder_f SEQUENCE_encode_der; -xer_type_decoder_f SEQUENCE_decode_xer; -xer_type_encoder_f SEQUENCE_encode_xer; -oer_type_decoder_f SEQUENCE_decode_oer; -oer_type_encoder_f SEQUENCE_encode_oer; -per_type_decoder_f SEQUENCE_decode_uper; -per_type_encoder_f SEQUENCE_encode_uper; -per_type_decoder_f SEQUENCE_decode_aper; -per_type_encoder_f SEQUENCE_encode_aper; -asn_random_fill_f SEQUENCE_random_fill; -extern asn_TYPE_operation_t asn_OP_SEQUENCE; - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_SEQUENCE_H_ */ diff --git a/skeletons/constr_SEQUENCE_OF.c b/skeletons/constr_SEQUENCE_OF.c deleted file mode 100644 index 10f18cf..0000000 --- a/skeletons/constr_SEQUENCE_OF.c +++ /dev/null @@ -1,358 +0,0 @@ -/*- - * Copyright (c) 2003, 2004, 2006 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * The DER encoder of the SEQUENCE OF type. - */ -asn_enc_rval_t -SEQUENCE_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, - int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_TYPE_member_t *elm = td->elements; - const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(ptr); - size_t computed_size = 0; - ssize_t encoding_size = 0; - asn_enc_rval_t erval = {0,0,0}; - int edx; - - ASN_DEBUG("Estimating size of SEQUENCE OF %s", td->name); - - /* - * Gather the length of the underlying members sequence. - */ - for(edx = 0; edx < list->count; edx++) { - void *memb_ptr = list->array[edx]; - if(!memb_ptr) continue; - erval = elm->type->op->der_encoder(elm->type, memb_ptr, - 0, elm->tag, - 0, 0); - if(erval.encoded == -1) - return erval; - computed_size += erval.encoded; - } - - /* - * Encode the TLV for the sequence itself. - */ - encoding_size = der_write_tags(td, computed_size, tag_mode, 1, tag, - cb, app_key); - if(encoding_size == -1) { - erval.encoded = -1; - erval.failed_type = td; - erval.structure_ptr = ptr; - return erval; - } - - computed_size += encoding_size; - if(!cb) { - erval.encoded = computed_size; - ASN__ENCODED_OK(erval); - } - - ASN_DEBUG("Encoding members of SEQUENCE OF %s", td->name); - - /* - * Encode all members. - */ - for(edx = 0; edx < list->count; edx++) { - void *memb_ptr = list->array[edx]; - if(!memb_ptr) continue; - erval = elm->type->op->der_encoder(elm->type, memb_ptr, - 0, elm->tag, - cb, app_key); - if(erval.encoded == -1) - return erval; - encoding_size += erval.encoded; - } - - if(computed_size != (size_t)encoding_size) { - /* - * Encoded size is not equal to the computed size. - */ - erval.encoded = -1; - erval.failed_type = td; - erval.structure_ptr = ptr; - } else { - erval.encoded = computed_size; - erval.structure_ptr = 0; - erval.failed_type = 0; - } - - return erval; -} - -asn_enc_rval_t -SEQUENCE_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_enc_rval_t er = {0,0,0}; - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm = td->elements; - const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(sptr); - const char *mname = specs->as_XMLValueList - ? 0 - : ((*elm->name) ? elm->name : elm->type->xml_tag); - size_t mlen = mname ? strlen(mname) : 0; - int xcan = (flags & XER_F_CANONICAL); - int i; - - if(!sptr) ASN__ENCODE_FAILED; - - er.encoded = 0; - - for(i = 0; i < list->count; i++) { - asn_enc_rval_t tmper = {0,0,0}; - void *memb_ptr = list->array[i]; - if(!memb_ptr) continue; - - if(mname) { - if(!xcan) ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - } - - tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, - flags, cb, app_key); - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - if(tmper.encoded == 0 && specs->as_XMLValueList) { - const char *name = elm->type->xml_tag; - size_t len = strlen(name); - if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1); - ASN__CALLBACK3("<", 1, name, len, "/>", 2); - } - - if(mname) { - ASN__CALLBACK3("", 1); - } - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_enc_rval_t -SEQUENCE_OF_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_anonymous_sequence_ *list; - const asn_per_constraint_t *ct; - asn_enc_rval_t er = {0,0,0}; - const asn_TYPE_member_t *elm = td->elements; - size_t encoded_edx; - - if(!sptr) ASN__ENCODE_FAILED; - list = _A_CSEQUENCE_FROM_VOID(sptr); - - er.encoded = 0; - - ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); - - if(constraints) ct = &constraints->size; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->size; - else ct = 0; - - /* If extensible constraint, check if size is in root */ - if(ct) { - int not_in_root = - (list->count < ct->lower_bound || list->count > ct->upper_bound); - ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, - ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); - if(ct->flags & APC_EXTENSIBLE) { - /* Declare whether size is in extension root */ - if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; - if(not_in_root) ct = 0; - } else if(not_in_root && ct->effective_bits >= 0) { - ASN__ENCODE_FAILED; - } - - } - - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ - if(per_put_few_bits(po, list->count - ct->lower_bound, - ct->effective_bits)) - ASN__ENCODE_FAILED; - } else if(list->count == 0) { - /* When the list is empty add only the length determinant - * X.691, #20.6 and #11.9.4.1 - */ - if (uper_put_length(po, 0, 0)) { - ASN__ENCODE_FAILED; - } - ASN__ENCODED_OK(er); - } - - for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { - ssize_t may_encode; - size_t edx; - int need_eom = 0; - - if(ct && ct->effective_bits >= 0) { - may_encode = list->count; - } else { - may_encode = - uper_put_length(po, list->count - encoded_edx, &need_eom); - if(may_encode < 0) ASN__ENCODE_FAILED; - } - - for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { - void *memb_ptr = list->array[edx]; - if(!memb_ptr) ASN__ENCODE_FAILED; - er = elm->type->op->uper_encoder( - elm->type, elm->encoding_constraints.per_constraints, memb_ptr, - po); - if(er.encoded == -1) ASN__ENCODE_FAILED; - } - - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - - encoded_edx += may_encode; - } - - ASN__ENCODED_OK(er); -} - -asn_enc_rval_t -SEQUENCE_OF_encode_aper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - const asn_anonymous_sequence_ *list; - const asn_per_constraint_t *ct; - asn_enc_rval_t er = {0,0,0}; - asn_TYPE_member_t *elm = td->elements; - int seq; - - if(!sptr) ASN__ENCODE_FAILED; - list = _A_CSEQUENCE_FROM_VOID(sptr); - - er.encoded = 0; - - ASN_DEBUG("Encoding %s as SEQUENCE OF size (%d) using ALIGNED PER", td->name, list->count); - - if(constraints) ct = &constraints->size; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->size; - else ct = 0; - - /* If extensible constraint, check if size is in root */ - if(ct) { - int not_in_root = (list->count < ct->lower_bound - || list->count > ct->upper_bound); - ASN_DEBUG("lb %ld ub %ld %s", - ct->lower_bound, ct->upper_bound, - ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); - if(ct->flags & APC_EXTENSIBLE) { - /* Declare whether size is in extension root */ - if(per_put_few_bits(po, not_in_root, 1)) - ASN__ENCODE_FAILED; - if(not_in_root) ct = 0; - } else if(not_in_root && ct->effective_bits >= 0) - ASN__ENCODE_FAILED; - } - - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ -/* if(per_put_few_bits(po, list->count - ct->lower_bound, - ct->effective_bits)) - ASN__ENCODE_FAILED; -*/ - if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound) < 0) - ASN__ENCODE_FAILED; - } - - for(seq = -1; seq < list->count;) { - ssize_t mayEncode; - if(seq < 0) seq = 0; - if(ct && ct->effective_bits >= 0) { - mayEncode = list->count; - } else { - mayEncode = aper_put_length(po, -1, list->count - seq); - if(mayEncode < 0) ASN__ENCODE_FAILED; - } - - while(mayEncode--) { - void *memb_ptr = list->array[seq++]; - if(!memb_ptr) ASN__ENCODE_FAILED; - er = elm->type->op->aper_encoder(elm->type, - elm->encoding_constraints.per_constraints, memb_ptr, po); - if(er.encoded == -1) - ASN__ENCODE_FAILED; - } - } - - ASN__ENCODED_OK(er); -} -#endif /* ASN_DISABLE_PER_SUPPORT */ - -int -SEQUENCE_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const asn_anonymous_sequence_ *a = _A_CSEQUENCE_FROM_VOID(aptr); - const asn_anonymous_sequence_ *b = _A_CSEQUENCE_FROM_VOID(bptr); - ssize_t idx; - - if(a && b) { - ssize_t common_length = (a->count < b->count ? a->count : b->count); - for(idx = 0; idx < common_length; idx++) { - int ret = td->elements->type->op->compare_struct( - td->elements->type, a->array[idx], b->array[idx]); - if(ret) return ret; - } - - if(idx < b->count) /* more elements in b */ - return -1; /* a is shorter, so put it first */ - if(idx < a->count) return 1; - - } else if(!a) { - return -1; - } else if(!b) { - return 1; - } - - return 0; -} - - -asn_TYPE_operation_t asn_OP_SEQUENCE_OF = { - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_compare, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - SEQUENCE_OF_decode_oer, /* Same as SET OF decoder. */ - SEQUENCE_OF_encode_oer, /* Same as SET OF encoder */ -#endif /* ASN_DISABLE_OER_SUPPORT */ -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - SEQUENCE_OF_decode_uper, /* Same as SET OF decoder */ - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, -#endif /* ASN_DISABLE_PER_SUPPORT */ - SEQUENCE_OF_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; - diff --git a/skeletons/constr_SEQUENCE_OF.h b/skeletons/constr_SEQUENCE_OF.h deleted file mode 100644 index 6857f0f..0000000 --- a/skeletons/constr_SEQUENCE_OF.h +++ /dev/null @@ -1,41 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_SEQUENCE_OF_H_ -#define _CONSTR_SEQUENCE_OF_H_ - -#include -#include /* Implemented using SET OF */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * A set specialized functions dealing with the SEQUENCE OF type. - * Generally implemented using SET OF. - */ -asn_struct_compare_f SEQUENCE_OF_compare; -der_type_encoder_f SEQUENCE_OF_encode_der; -xer_type_encoder_f SEQUENCE_OF_encode_xer; -per_type_encoder_f SEQUENCE_OF_encode_uper; -per_type_encoder_f SEQUENCE_OF_encode_aper; -extern asn_TYPE_operation_t asn_OP_SEQUENCE_OF; - -#define SEQUENCE_OF_free SET_OF_free -#define SEQUENCE_OF_print SET_OF_print -#define SEQUENCE_OF_constraint SET_OF_constraint -#define SEQUENCE_OF_decode_ber SET_OF_decode_ber -#define SEQUENCE_OF_decode_xer SET_OF_decode_xer -#define SEQUENCE_OF_decode_oer SET_OF_decode_oer -#define SEQUENCE_OF_encode_oer SET_OF_encode_oer -#define SEQUENCE_OF_decode_uper SET_OF_decode_uper -#define SEQUENCE_OF_decode_aper SET_OF_decode_aper -#define SEQUENCE_OF_random_fill SET_OF_random_fill - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_SET_OF_H_ */ diff --git a/skeletons/constr_SEQUENCE_oer.c b/skeletons/constr_SEQUENCE_oer.c deleted file mode 100644 index ecb589c..0000000 --- a/skeletons/constr_SEQUENCE_oer.c +++ /dev/null @@ -1,561 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include -#include - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) \ - do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#undef PHASE_OUT -#define NEXT_PHASE(ctx) \ - do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) - -/* - * Check whether we are inside the extensions group. - */ -#define IN_EXTENSION_GROUP(specs, memb_idx) \ - ((specs)->first_extension >= 0 \ - && (unsigned)(specs)->first_extension <= (memb_idx)) - -#define IN_ROOT_GROUP_PRED(edx) \ - edx < (specs->first_extension < 0 ? td->elements_count \ - : (size_t)specs->first_extension) - -#define FOR_IN_ROOT_GROUP(edx) for(edx = 0; IN_ROOT_GROUP_PRED(edx); edx++) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself;\ - return rval; \ - } while(0) - -/* - * Return pointer to a member. - */ -static void ** -element_ptrptr(void *struct_ptr, asn_TYPE_member_t *elm, void **tmp_save_ptr) { - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - return (void **)((char *)struct_ptr + elm->memb_offset); - } else { - assert(tmp_save_ptr); - *tmp_save_ptr = (void *)((char *)struct_ptr + elm->memb_offset); - return tmp_save_ptr; - } -} - -static const void * -element_ptr(const void *struct_ptr, const asn_TYPE_member_t *elm) { - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - return *(const void *const *)((const char *)struct_ptr - + elm->memb_offset); - } else { - return (const void *)((const char *)struct_ptr + elm->memb_offset); - } -} - -asn_dec_rval_t -SEQUENCE_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **struct_ptr, - const void *ptr, size_t size) { - const asn_SEQUENCE_specifics_t *specs = - (const asn_SEQUENCE_specifics_t *)td->specifics; - asn_dec_rval_t rval = {RC_OK, 0}; - void *st = *struct_ptr; /* Target structure */ - asn_struct_ctx_t *ctx; /* Decoder context */ - size_t consumed_myself = 0; /* Consumed bytes from ptr. */ - - (void)constraints; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously. - */ - switch(ctx->phase) { - case 0: { - /* - * Fetch preamble. - */ - asn_bit_data_t *preamble; - int has_extensions_bit = (specs->first_extension >= 0); - size_t preamble_bits = (has_extensions_bit + specs->roms_count); - size_t preamble_bytes = ((7 + preamble_bits) >> 3); - - ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 0", td->name); - - ASN_DEBUG( - "Expecting preamble bits %" ASN_PRI_SIZE " for %s (including %d extension bits)", - preamble_bits, td->name, has_extensions_bit); - - if(preamble_bytes > size) { - ASN__DECODE_STARVED; - } - - preamble = asn_bit_data_new_contiguous(ptr, preamble_bits); - if(!preamble) { - RETURN(RC_FAIL); - } - preamble->nboff = has_extensions_bit; - ctx->ptr = preamble; - ADVANCE(preamble_bytes); - } - NEXT_PHASE(ctx); - /* FALL THROUGH */ - case 1: { - /* Decode components of the extension root */ - asn_bit_data_t *preamble = ctx->ptr; - size_t edx; - - ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 1 (Root)", td->name); - - assert(preamble); - - for(edx = (ctx->step >> 1); IN_ROOT_GROUP_PRED(edx); - edx++, ctx->step = (ctx->step & ~1) + 2) { - asn_TYPE_member_t *elm = &td->elements[edx]; - - ASN_DEBUG("Decoding %s->%s", td->name, elm->name); - - assert(!IN_EXTENSION_GROUP(specs, edx)); - - if(ctx->step & 1) { - goto microphase2_decode_continues; - } - - - if(elm->optional) { - int32_t present = asn_get_few_bits(preamble, 1); - if(present < 0) { - ASN_DEBUG("Presence map ended prematurely: %d", present); - RETURN(RC_FAIL); - } else if(present == 0) { - if(elm->default_value_set) { - /* Fill-in DEFAULT */ - void *tmp; - if(elm->default_value_set( - element_ptrptr(st, elm, &tmp))) { - RETURN(RC_FAIL); - } - } - /* The member is not present. */ - continue; - } - /* Present OPTIONAL or DEFAULT component. */ - } - - /* - * MICROPHASE 2: Invoke the member-specific decoder. - */ - ctx->step |= 1; /* Confirm entering next microphase */ - microphase2_decode_continues: - if(elm->flags & ATF_OPEN_TYPE) { - rval = OPEN_TYPE_oer_get(opt_codec_ctx, td, st, elm, ptr, size); - } else { - void *save_memb_ptr; /* Temporary reference. */ - void **memb_ptr2; /* Pointer to a pointer to a memmber */ - - memb_ptr2 = element_ptrptr(st, elm, &save_memb_ptr); - - rval = elm->type->op->oer_decoder( - opt_codec_ctx, elm->type, - elm->encoding_constraints.oer_constraints, memb_ptr2, ptr, - size); - } - switch(rval.code) { - case RC_OK: - ADVANCE(rval.consumed); - break; - case RC_WMORE: - ASN_DEBUG("More bytes needed at element %s \"%s\"", td->name, - elm->name); - ADVANCE(rval.consumed); - RETURN(RC_WMORE); - case RC_FAIL: - ASN_DEBUG("Decoding failed at element %s \"%s\"", td->name, - elm->name); - RETURN(RC_FAIL); - } - } /* for(all root members) */ - - } - NEXT_PHASE(ctx); - /* FALL THROUGH */ - case 2: - assert(ctx->ptr); - { - /* Cleanup preamble. */ - asn_bit_data_t *preamble = ctx->ptr; - asn_bit_data_t *extadds; - int has_extensions_bit = (specs->first_extension >= 0); - int extensions_present = - has_extensions_bit - && (preamble->buffer == NULL - || (((const uint8_t *)preamble->buffer)[0] & 0x80)); - uint8_t unused_bits; - size_t len = 0; - ssize_t len_len; - - ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 2", td->name); - - preamble->buffer = 0; /* Will do extensions_present==1 next time. */ - - if(!extensions_present) { - ctx->phase = 10; - RETURN(RC_OK); - } - - /* - * X.696 (08/2015) #16.1 (c), #16.4 - * Read in the extension addition presence bitmap. - */ - - len_len = oer_fetch_length(ptr, size, &len); - if(len_len > 0) { - ADVANCE(len_len); - } else if(len_len < 0) { - RETURN(RC_FAIL); - } else { - RETURN(RC_WMORE); - } - - if(len == 0) { - /* 16.4.1-2 */ - RETURN(RC_FAIL); - } else if(len > size) { - RETURN(RC_WMORE); - } - - /* Account for unused bits */ - unused_bits = 0x7 & *(const uint8_t *)ptr; - ADVANCE(1); - len--; - if(unused_bits && len == 0) { - RETURN(RC_FAIL); - } - - /* Get the extensions map */ - extadds = asn_bit_data_new_contiguous(ptr, len * 8 - unused_bits); - if(!extadds) { - RETURN(RC_FAIL); - } - FREEMEM(preamble); - ctx->ptr = extadds; - ADVANCE(len); - } - NEXT_PHASE(ctx); - ctx->step = - (specs->first_extension < 0 ? td->elements_count - : (size_t)specs->first_extension); - /* Fall through */ - case 3: - ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 3 (Extensions)", td->name); - for(; ctx->step < (signed)td->elements_count; ctx->step++) { - asn_bit_data_t *extadds = ctx->ptr; - size_t edx = ctx->step; - asn_TYPE_member_t *elm = &td->elements[edx]; - void *tmp_memb_ptr; - void **memb_ptr2 = element_ptrptr(st, elm, &tmp_memb_ptr); - - switch(asn_get_few_bits(extadds, 1)) { - case -1: - /* - * Not every one of our extensions is known to the remote side. - * Continue filling in their defaults though. - */ - /* Fall through */ - case 0: - /* Fill-in DEFAULT */ - if(elm->default_value_set - && elm->default_value_set(memb_ptr2)) { - RETURN(RC_FAIL); - } - continue; - case 1: { - /* Read OER open type */ - ssize_t ot_size = - oer_open_type_get(opt_codec_ctx, elm->type, - elm->encoding_constraints.oer_constraints, - memb_ptr2, ptr, size); - assert(ot_size <= (ssize_t)size); - if(ot_size > 0) { - ADVANCE(ot_size); - } else if(ot_size < 0) { - RETURN(RC_FAIL); - } else { - /* Roll back open type parsing */ - asn_get_undo(extadds, 1); - RETURN(RC_WMORE); - } - break; - } - default: - RETURN(RC_FAIL); - } - } - - NEXT_PHASE(ctx); - /* Fall through */ - case 4: - ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 4", td->name); - /* Read in the rest of Open Types while ignoring them */ - for(;;) { - asn_bit_data_t *extadds = ctx->ptr; - switch(asn_get_few_bits(extadds, 1)) { - case 0: - continue; - case 1: { - ssize_t skipped = oer_open_type_skip(ptr, size); - if(skipped > 0) { - ADVANCE(skipped); - } else if(skipped < 0) { - RETURN(RC_FAIL); - } else { - asn_get_undo(extadds, 1); - RETURN(RC_WMORE); - } - continue; - } - case -1: - /* No more Open Type encoded components */ - break; - default: - RETURN(RC_FAIL); - } - break; - } - } - - RETURN(RC_OK); -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -SEQUENCE_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; - size_t computed_size = 0; - int has_extensions_bit = (specs->first_extension >= 0); - size_t preamble_bits = (has_extensions_bit + specs->roms_count); - uint32_t has_extensions = 0; - size_t edx; - int ret; - - (void)constraints; - - if(preamble_bits) { - asn_bit_outp_t preamble; - - memset(&preamble, 0, sizeof(preamble)); - preamble.output = cb; - preamble.op_key = app_key; - - if(has_extensions_bit) { - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr = element_ptr(sptr, elm); - if(memb_ptr) { - if(elm->default_value_cmp - && elm->default_value_cmp(memb_ptr) == 0) { - /* Do not encode default values in extensions */ - } else { - has_extensions = 1; - break; - } - } - } - ret = asn_put_few_bits(&preamble, has_extensions, 1); - assert(ret == 0); - if(ret < 0) { - ASN__ENCODE_FAILED; - } - } - - /* - * Encode optional components bitmap. - */ - if(specs->roms_count) { - FOR_IN_ROOT_GROUP(edx) { - asn_TYPE_member_t *elm = &td->elements[edx]; - - if(IN_EXTENSION_GROUP(specs, edx)) break; - - if(elm->optional) { - const void *memb_ptr = element_ptr(sptr, elm); - uint32_t has_component = memb_ptr != NULL; - if(has_component && elm->default_value_cmp - && elm->default_value_cmp(memb_ptr) == 0) { - has_component = 0; - } - ret = asn_put_few_bits(&preamble, has_component, 1); - if(ret < 0) { - ASN__ENCODE_FAILED; - } - } - } - } - - asn_put_aligned_flush(&preamble); - computed_size += preamble.flushed_bytes; - } /* if(preamble_bits) */ - - /* - * Put root components and extensions root. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - asn_enc_rval_t er = {0,0,0}; - const void *memb_ptr; - - if(IN_EXTENSION_GROUP(specs, edx)) break; - - memb_ptr = element_ptr(sptr, elm); - if(memb_ptr) { - if(elm->default_value_cmp - && elm->default_value_cmp(memb_ptr) == 0) { - /* Skip default values in encoding */ - continue; - } - } else { - if(elm->optional) continue; - /* Mandatory element is missing */ - ASN__ENCODE_FAILED; - } - if(!elm->type->op->oer_encoder) { - ASN_DEBUG("OER encoder is not defined for type %s", elm->type->name); - ASN__ENCODE_FAILED; - } - er = elm->type->op->oer_encoder( - elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, - app_key); - if(er.encoded == -1) { - ASN_DEBUG("... while encoding %s member \"%s\"\n", td->name, - elm->name); - return er; - } - computed_size += er.encoded; - } - - /* - * Before encode extensions, encode extensions additions presense bitmap - # X.696 (08/2015) #16.4. - */ - if(has_extensions) { - asn_bit_outp_t extadds; - - /* Special case allowing us to use exactly one byte for #8.6 */ - size_t aoms_length_bits = specs->aoms_count; - size_t aoms_length_bytes = (7 + aoms_length_bits) >> 3; - uint8_t unused_bits = 0x07 & (8 - (aoms_length_bits & 0x07)); - - assert(1 + aoms_length_bytes <= 127); - - memset(&extadds, 0, sizeof(extadds)); - extadds.output = cb; - extadds.op_key = app_key; - - /* #8.6 length determinant */ - ret = asn_put_few_bits(&extadds, (1 + aoms_length_bytes), 8); - if(ret < 0) ASN__ENCODE_FAILED; - - /* Number of unused bytes, #16.4.2 */ - ret = asn_put_few_bits(&extadds, unused_bits, 8); - if(ret < 0) ASN__ENCODE_FAILED; - - /* Encode presence bitmap #16.4.3 */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr = element_ptr(sptr, elm); - if(memb_ptr && elm->default_value_cmp - && elm->default_value_cmp(memb_ptr) == 0) { - memb_ptr = 0; /* Do not encode default value. */ - } - ret |= asn_put_few_bits(&extadds, memb_ptr ? 1 : 0, 1); - } - if(ret < 0) ASN__ENCODE_FAILED; - - asn_put_aligned_flush(&extadds); - computed_size += extadds.flushed_bytes; - - /* Now, encode extensions */ - for(edx = specs->first_extension; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr = element_ptr(sptr, elm); - - if(memb_ptr) { - if(elm->default_value_cmp - && elm->default_value_cmp(memb_ptr) == 0) { - /* Do not encode default value. */ - } else { - ssize_t wrote = oer_open_type_put( - elm->type, elm->encoding_constraints.oer_constraints, - memb_ptr, cb, app_key); - if(wrote == -1) { - ASN__ENCODE_FAILED; - } - computed_size += wrote; - } - } else if(!elm->optional) { - ASN__ENCODE_FAILED; - } - } - } /* if(has_extensions) */ - - - { - asn_enc_rval_t er = {0, 0, 0}; - er.encoded = computed_size; - ASN__ENCODED_OK(er); - } -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/constr_SET.c b/skeletons/constr_SET.c deleted file mode 100644 index 554a7dd..0000000 --- a/skeletons/constr_SET.c +++ /dev/null @@ -1,1149 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* Check that all the mandatory members are present */ -static int _SET_is_populated(const asn_TYPE_descriptor_t *td, const void *st); - -/* - * Number of bytes left for this structure. - * (ctx->left) indicates the number of bytes _transferred_ for the structure. - * (size) contains the number of bytes in the buffer passed. - */ -#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) - -/* - * If the subprocessor function returns with an indication that it wants - * more data, it may well be a fatal decoding problem, because the - * size is constrained by the 's L, even if the buffer size allows - * reading more data. - * For example, consider the buffer containing the following TLVs: - * ... - * The TLV length clearly indicates that one byte is expected in V, but - * if the V processor returns with "want more data" even if the buffer - * contains way more data than the V processor have seen. - */ -#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num;\ - size -= num; \ - if(ctx->left >= 0) \ - ctx->left -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#define NEXT_PHASE(ctx) do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself;\ - return rval; \ - } while(0) - -/* - * Tags are canonically sorted in the tag2element map. - */ -static int -_t2e_cmp(const void *ap, const void *bp) { - const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; - const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; - - int a_class = BER_TAG_CLASS(a->el_tag); - int b_class = BER_TAG_CLASS(b->el_tag); - - if(a_class == b_class) { - ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); - ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); - - if(a_value == b_value) - return 0; - else if(a_value < b_value) - return -1; - else - return 1; - } else if(a_class < b_class) { - return -1; - } else { - return 1; - } -} - -/* - * The decoder of the SET type. - */ -asn_dec_rval_t -SET_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size, int tag_mode) { - /* - * Bring closer parts of structure description. - */ - const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; - const asn_TYPE_member_t *elements = td->elements; - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - ber_tlv_tag_t tlv_tag; /* T from TLV */ - asn_dec_rval_t rval; /* Return code from subparsers */ - - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - size_t edx; /* SET element's index */ - - ASN_DEBUG("Decoding %s as SET", td->name); - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously - */ - switch(ctx->phase) { - case 0: - /* - * PHASE 0. - * Check that the set of tags associated with given structure - * perfectly fits our expectations. - */ - - rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, - tag_mode, 1, &ctx->left, 0); - if(rval.code != RC_OK) { - ASN_DEBUG("%s tagging check failed: %d", - td->name, rval.code); - return rval; - } - - if(ctx->left >= 0) - ctx->left += rval.consumed; /* ?Substracted below! */ - ADVANCE(rval.consumed); - - NEXT_PHASE(ctx); - - ASN_DEBUG("Structure advertised %ld bytes, " - "buffer contains %ld", (long)ctx->left, (long)size); - - /* Fall through */ - case 1: - /* - * PHASE 1. - * From the place where we've left it previously, - * try to decode the next member from the list of - * this structure's elements. - * Note that elements in BER may arrive out of - * order, yet DER mandates that they shall arive in the - * canonical order of their tags. So, there is a room - * for optimization. - */ - for(;; ctx->step = 0) { - const asn_TYPE_tag2member_t *t2m; - asn_TYPE_tag2member_t key; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - ssize_t tag_len; /* Length of TLV's T */ - - if(ctx->step & 1) { - edx = ctx->step >> 1; - goto microphase2; - } - - /* - * MICROPHASE 1: Synchronize decoding. - */ - - if(ctx->left == 0) - /* - * No more things to decode. - * Exit out of here and check whether all mandatory - * elements have been received (in the next phase). - */ - break; - - /* - * Fetch the T from TLV. - */ - tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); - switch(tag_len) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) - RETURN(RC_FAIL); - else - RETURN(RC_WMORE); - } else if(((const uint8_t *)ptr)[1] == 0) { - /* - * Found the terminator of the - * indefinite length structure. - * Invoke the generic finalization function. - */ - goto phase3; - } - } - - key.el_tag = tlv_tag; - t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, - specs->tag2el, specs->tag2el_count, - sizeof(specs->tag2el[0]), _t2e_cmp); - if(t2m) { - /* - * Found the element corresponding to the tag. - */ - edx = t2m->el_no; - ctx->step = (edx << 1) + 1; - ASN_DEBUG("Got tag %s (%s), edx %" ASN_PRI_SSIZE "", - ber_tlv_tag_string(tlv_tag), td->name, edx); - } else if(specs->extensible == 0) { - ASN_DEBUG("Unexpected tag %s " - "in non-extensible SET %s", - ber_tlv_tag_string(tlv_tag), td->name); - RETURN(RC_FAIL); - } else { - /* Skip this tag */ - ssize_t skip; - - ASN_DEBUG("Skipping unknown tag %s", - ber_tlv_tag_string(tlv_tag)); - - skip = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - (const char *)ptr + tag_len, LEFT - tag_len); - - switch(skip) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - ADVANCE(skip + tag_len); - continue; /* Try again with the next tag */ - } - - /* - * MICROPHASE 2: Invoke the member-specific decoder. - */ - microphase2: - - /* - * Check for duplications: must not overwrite - * already decoded elements. - */ - if(ASN_SET_ISPRESENT2((char *)st + specs->pres_offset, edx)) { - ASN_DEBUG("SET %s: Duplicate element %s (%" ASN_PRI_SSIZE ")", - td->name, elements[edx].name, edx); - RETURN(RC_FAIL); - } - - /* - * Compute the position of the member inside a structure, - * and also a type of containment (it may be contained - * as pointer or using inline inclusion). - */ - if(elements[edx].flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elements[edx].memb_offset); - } else { - /* - * A pointer to a pointer - * holding the start of the structure - */ - memb_ptr = (char *)st + elements[edx].memb_offset; - memb_ptr2 = &memb_ptr; - } - /* - * Invoke the member fetch routine according to member's type - */ - rval = elements[edx].type->op->ber_decoder(opt_codec_ctx, - elements[edx].type, - memb_ptr2, ptr, LEFT, - elements[edx].tag_mode); - switch(rval.code) { - case RC_OK: - ASN_SET_MKPRESENT((char *)st + specs->pres_offset, edx); - break; - case RC_WMORE: /* More data expected */ - if(!SIZE_VIOLATION) { - ADVANCE(rval.consumed); - RETURN(RC_WMORE); - } - /* Fall through */ - case RC_FAIL: /* Fatal error */ - RETURN(RC_FAIL); - } /* switch(rval) */ - - ADVANCE(rval.consumed); - } /* for(all structure members) */ - - phase3: - ctx->phase = 3; - /* Fall through */ - case 3: - case 4: /* Only 00 is expected */ - ASN_DEBUG("SET %s Leftover: %ld, size = %ld", - td->name, (long)ctx->left, (long)size); - - /* - * Skip everything until the end of the SET. - */ - while(ctx->left) { - ssize_t tl, ll; - - tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); - switch(tl) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - /* - * If expected <0><0>... - */ - if(ctx->left < 0 - && ((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) - RETURN(RC_FAIL); - else - RETURN(RC_WMORE); - } else if(((const uint8_t *)ptr)[1] == 0) { - /* - * Correctly finished with <0><0>. - */ - ADVANCE(2); - ctx->left++; - ctx->phase = 4; - continue; - } - } - - if(specs->extensible == 0 || ctx->phase == 4) { - ASN_DEBUG("Unexpected continuation " - "of a non-extensible type %s " - "(ptr=%02x)", - td->name, *(const uint8_t *)ptr); - RETURN(RC_FAIL); - } - - ll = ber_skip_length(opt_codec_ctx, - BER_TLV_CONSTRUCTED(ptr), - (const char *)ptr + tl, LEFT - tl); - switch(ll) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - ADVANCE(tl + ll); - } - - ctx->phase = 5; - /* Fall through */ - case 5: - /* Check that all mandatory elements are present. */ - if(!_SET_is_populated(td, st)) - RETURN(RC_FAIL); - - NEXT_PHASE(ctx); - } - - RETURN(RC_OK); -} - -static int -_SET_is_populated(const asn_TYPE_descriptor_t *td, const void *st) { - const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; - size_t edx; - - /* - * Check that all mandatory elements are present. - */ - for(edx = 0; edx < td->elements_count; - edx += (8 * sizeof(specs->_mandatory_elements[0]))) { - unsigned int midx, pres, must; - - midx = edx/(8 * sizeof(specs->_mandatory_elements[0])); - pres = ((const unsigned int *)((const char *)st - + specs->pres_offset))[midx]; - must = sys_ntohl(specs->_mandatory_elements[midx]); - - if((pres & must) == must) { - /* - * Yes, everything seems to be in place. - */ - } else { - ASN_DEBUG("One or more mandatory elements " - "of a SET %s %d (%08x.%08x)=%08x " - "are not present", - td->name, - midx, - pres, - must, - (~(pres & must) & must) - ); - return 0; - } - } - - return 1; -} - -/* - * The DER encoder of the SET type. - */ -asn_enc_rval_t -SET_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, int tag_mode, - ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { - const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; - size_t computed_size = 0; - asn_enc_rval_t er; - int t2m_build_own = (specs->tag2el_count != td->elements_count); - const asn_TYPE_tag2member_t *t2m; - asn_TYPE_tag2member_t *t2m_build; - size_t t2m_count; - ssize_t ret; - size_t edx; - - /* - * Use existing, or build our own tags map. - */ - if(t2m_build_own) { - t2m_build = (asn_TYPE_tag2member_t *)CALLOC(td->elements_count, - sizeof(t2m_build[0])); - if(!t2m_build) ASN__ENCODE_FAILED; - t2m_count = 0; - } else { - t2m_build = NULL; - /* - * There is no untagged CHOICE in this SET. - * Employ existing table. - */ - } - - /* - * Gather the length of the underlying members sequence. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - asn_enc_rval_t tmper; - const void *memb_ptr_dontuse; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - - /* - * Compute the length of the encoding of this member. - */ - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) { - if(!elm->optional) { - /* Mandatory elements missing */ - FREEMEM(t2m_build); - ASN__ENCODE_FAILED; - } - if(t2m_build) { - t2m_build[t2m_count].el_no = edx; - t2m_build[t2m_count].el_tag = 0; - t2m_count++; - } - continue; - } - } else { - memb_ptr_dontuse = - (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) { - if(t2m_build) { - t2m_build[t2m_count].el_no = edx; - t2m_build[t2m_count].el_tag = 0; - t2m_count++; - } - continue; - } - - tmper = elm->type->op->der_encoder(elm->type, *memb_ptr2, - elm->tag_mode, elm->tag, - 0, 0); - if(tmper.encoded == -1) - return tmper; - computed_size += tmper.encoded; - - /* - * Remember the outmost tag of this member. - */ - if(t2m_build) { - t2m_build[t2m_count].el_no = edx; - t2m_build[t2m_count].el_tag = asn_TYPE_outmost_tag( - elm->type, *memb_ptr2, elm->tag_mode, elm->tag); - t2m_count++; - } else { - /* - * No dynamic sorting is necessary. - */ - } - } - - /* - * Finalize order of the components. - */ - if(t2m_build) { - /* - * Sort the underlying members according to their - * canonical tags order. DER encoding mandates it. - */ - qsort(t2m_build, t2m_count, sizeof(specs->tag2el[0]), _t2e_cmp); - t2m = t2m_build; - } else { - /* - * Tags are already sorted by the compiler. - */ - t2m = specs->tag2el; - t2m_count = specs->tag2el_count; - } - assert(t2m_count == td->elements_count); - - /* - * Encode the TLV for the sequence itself. - */ - ret = der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); - if(ret == -1) { - FREEMEM(t2m_build); - ASN__ENCODE_FAILED; - } - er.encoded = computed_size + ret; - - if(!cb) { - FREEMEM(t2m_build); - ASN__ENCODED_OK(er); - } - - /* - * Encode all members. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm; - asn_enc_rval_t tmper; - - const void *memb_ptr_dontuse; /* Pointer to the member */ - const void *const *memb_ptr2; /* Pointer to that pointer */ - - /* Encode according to the tag order */ - elm = &td->elements[t2m[edx].el_no]; - - if(elm->flags & ATF_POINTER) { - memb_ptr2 = - (const void *const *)((const char *)sptr + elm->memb_offset); - if(!*memb_ptr2) continue; - } else { - memb_ptr_dontuse = - (const void *)((const char *)sptr + elm->memb_offset); - memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ - } - - /* Eliminate default values */ - if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) - continue; - - tmper = elm->type->op->der_encoder(elm->type, *memb_ptr2, - elm->tag_mode, elm->tag, cb, app_key); - if(tmper.encoded == -1) - return tmper; - computed_size -= tmper.encoded; - } - - if(computed_size != 0) { - /* - * Encoded size is not equal to the computed size. - */ - FREEMEM(t2m_build); - ASN__ENCODE_FAILED; - } - - FREEMEM(t2m_build); - ASN__ENCODED_OK(er); -} - -#undef XER_ADVANCE -#define XER_ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - buf_ptr = ((const char *)buf_ptr) + num;\ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Decode the XER (XML) data. - */ -asn_dec_rval_t -SET_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - /* - * Bring closer parts of structure description. - */ - const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; - const asn_TYPE_member_t *elements = td->elements; - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - - /* - * ... and parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - asn_dec_rval_t rval; /* Return value from a decoder */ - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - size_t edx; /* Element index */ - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) RETURN(RC_FAIL); - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Phases of XER/XML processing: - * Phase 0: Check that the opening tag matches our expectations. - * Phase 1: Processing body and reacting on closing tag. - * Phase 2: Processing inner type. - * Phase 3: Skipping unknown extensions. - * Phase 4: PHASED OUT - */ - for(edx = ctx->step; ctx->phase <= 3;) { - pxer_chunk_type_e ch_type; /* XER chunk type */ - ssize_t ch_size; /* Chunk size */ - xer_check_tag_e tcv; /* Tag check value */ - const asn_TYPE_member_t *elm; - - /* - * Go inside the inner member of a set. - */ - if(ctx->phase == 2) { - asn_dec_rval_t tmprval; - void *memb_ptr_dontuse; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - - if(ASN_SET_ISPRESENT2((char *)st + specs->pres_offset, - edx)) { - ASN_DEBUG("SET %s: Duplicate element %s (%" ASN_PRI_SSIZE ")", - td->name, elements[edx].name, edx); - RETURN(RC_FAIL); - } - - elm = &elements[edx]; - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr_dontuse = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ - } - - /* Invoke the inner type decoder, m.b. multiple times */ - tmprval = elm->type->op->xer_decoder(opt_codec_ctx, - elm->type, memb_ptr2, elm->name, - buf_ptr, size); - XER_ADVANCE(tmprval.consumed); - if(tmprval.code != RC_OK) - RETURN(tmprval.code); - ctx->phase = 1; /* Back to body processing */ - ASN_SET_MKPRESENT((char *)st + specs->pres_offset, edx); - ASN_DEBUG("XER/SET phase => %d", ctx->phase); - /* Fall through */ - } - - /* - * Get the next part of the XML stream. - */ - ch_size = xer_next_token(&ctx->context, - buf_ptr, size, &ch_type); - if(ch_size == -1) { - RETURN(RC_FAIL); - } else { - switch(ch_type) { - case PXER_WMORE: - RETURN(RC_WMORE); - case PXER_COMMENT: /* Got XML comment */ - case PXER_TEXT: /* Ignore free-standing text */ - XER_ADVANCE(ch_size); /* Skip silently */ - continue; - case PXER_TAG: - break; /* Check the rest down there */ - } - } - - tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); - ASN_DEBUG("XER/SET: tcv = %d, ph=%d", tcv, ctx->phase); - - /* Skip the extensions section */ - if(ctx->phase == 3) { - switch(xer_skip_unknown(tcv, &ctx->left)) { - case -1: - ctx->phase = 4; - RETURN(RC_FAIL); - case 1: - ctx->phase = 1; - /* Fall through */ - case 0: - XER_ADVANCE(ch_size); - continue; - case 2: - ctx->phase = 1; - break; - } - } - - switch(tcv) { - case XCT_CLOSING: - if(ctx->phase == 0) break; - ctx->phase = 0; - /* Fall through */ - case XCT_BOTH: - if(ctx->phase == 0) { - if(_SET_is_populated(td, st)) { - XER_ADVANCE(ch_size); - ctx->phase = 4; /* Phase out */ - RETURN(RC_OK); - } else { - ASN_DEBUG("Premature end of XER SET"); - RETURN(RC_FAIL); - } - } - /* Fall through */ - case XCT_OPENING: - if(ctx->phase == 0) { - XER_ADVANCE(ch_size); - ctx->phase = 1; /* Processing body phase */ - continue; - } - /* Fall through */ - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - - ASN_DEBUG("XER/SET: tcv=%d, ph=%d", tcv, ctx->phase); - if(ctx->phase != 1) - break; /* Really unexpected */ - - /* - * Search which member corresponds to this tag. - */ - for(edx = 0; edx < td->elements_count; edx++) { - switch(xer_check_tag(buf_ptr, ch_size, - elements[edx].name)) { - case XCT_BOTH: - case XCT_OPENING: - /* - * Process this member. - */ - ctx->step = edx; - ctx->phase = 2; - break; - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - continue; - default: - edx = td->elements_count; - break; /* Phase out */ - } - break; - } - if(edx != td->elements_count) - continue; - - /* It is expected extension */ - if(specs->extensible) { - ASN_DEBUG("Got anticipated extension"); - /* - * Check for (XCT_BOTH or XCT_UNKNOWN_BO) - * By using a mask. Only record a pure - * tags. - */ - if(tcv & XCT_CLOSING) { - /* Found without body */ - } else { - ctx->left = 1; - ctx->phase = 3; /* Skip ...'s */ - } - XER_ADVANCE(ch_size); - continue; - } - - /* Fall through */ - default: - break; - } - - ASN_DEBUG("Unexpected XML tag in SET, expected \"%s\"", - xml_tag); - break; - } - - ctx->phase = 4; /* "Phase out" on hard failure */ - RETURN(RC_FAIL); -} - -asn_enc_rval_t -SET_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_SET_specifics_t *specs = (const asn_SET_specifics_t *)td->specifics; - asn_enc_rval_t er; - int xcan = (flags & XER_F_CANONICAL); - const asn_TYPE_tag2member_t *t2m = specs->tag2el_cxer; - size_t t2m_count = specs->tag2el_cxer_count; - size_t edx; - - if(!sptr) - ASN__ENCODE_FAILED; - - assert(t2m_count == td->elements_count); - - er.encoded = 0; - - for(edx = 0; edx < t2m_count; edx++) { - asn_enc_rval_t tmper; - asn_TYPE_member_t *elm; - const void *memb_ptr; - const char *mname; - size_t mlen; - - elm = &td->elements[t2m[edx].el_no]; - mname = elm->name; - mlen = strlen(elm->name); - - if(elm->flags & ATF_POINTER) { - memb_ptr = - *(const void *const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) - continue; - /* Mandatory element missing */ - ASN__ENCODE_FAILED; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - if(!xcan) - ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - - /* Print the member itself */ - tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, - ilevel + 1, flags, cb, app_key); - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - - ASN__CALLBACK3("", 1); - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -int -SET_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - size_t edx; - int ret; - - if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* Dump preamble */ - if(cb(td->name, strlen(td->name), app_key) < 0 - || cb(" ::= {", 6, app_key) < 0) - return -1; - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) continue; - /* Print line */ - /* Fall through */ - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - _i_INDENT(1); - - /* Print the member's name and stuff */ - if(cb(elm->name, strlen(elm->name), app_key) < 0 - || cb(": ", 2, app_key) < 0) - return -1; - - /* Print the member itself */ - ret = elm->type->op->print_struct(elm->type, memb_ptr, ilevel + 1, - cb, app_key); - if(ret) return ret; - } - - ilevel--; - _i_INDENT(1); - - return (cb("}", 1, app_key) < 0) ? -1 : 0; -} - -void -SET_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - size_t edx; - - if(!td || !ptr) - return; - - ASN_DEBUG("Freeing %s as SET", td->name); - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; - if(elm->flags & ATF_POINTER) { - memb_ptr = *(void **)((char *)ptr + elm->memb_offset); - if(memb_ptr) - ASN_STRUCT_FREE(*elm->type, memb_ptr); - } else { - memb_ptr = (void *)((char *)ptr + elm->memb_offset); - ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); - } - } - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(ptr, 0, - ((const asn_SET_specifics_t *)(td->specifics))->struct_size); - break; - } -} - -int -SET_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t edx; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* - * Iterate over structure members and check their validity. - */ - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *memb_ptr; - - if(elm->flags & ATF_POINTER) { - memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); - if(!memb_ptr) { - if(elm->optional) - continue; - ASN__CTFAIL(app_key, td, sptr, - "%s: mandatory element %s absent (%s:%d)", - td->name, elm->name, __FILE__, __LINE__); - return -1; - } - } else { - memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); - } - - if(elm->encoding_constraints.general_constraints) { - return elm->encoding_constraints.general_constraints( - elm->type, memb_ptr, ctfailcb, app_key); - } else { - return elm->type->encoding_constraints.general_constraints( - elm->type, memb_ptr, ctfailcb, app_key); - } - } - - return 0; -} - -int -SET_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - size_t edx; - - for(edx = 0; edx < td->elements_count; edx++) { - asn_TYPE_member_t *elm = &td->elements[edx]; - const void *amemb; - const void *bmemb; - int ret; - - if(elm->flags & ATF_POINTER) { - amemb = - *(const void *const *)((const char *)aptr + elm->memb_offset); - bmemb = - *(const void *const *)((const char *)bptr + elm->memb_offset); - if(!amemb) { - if(!bmemb) continue; - return -1; - } else if(!bmemb) { - return 1; - } - } else { - amemb = (const void *)((const char *)aptr + elm->memb_offset); - bmemb = (const void *)((const char *)bptr + elm->memb_offset); - } - - ret = elm->type->op->compare_struct(elm->type, amemb, bmemb); - if(ret != 0) return ret; - } - - return 0; -} - - -asn_TYPE_operation_t asn_OP_SET = { - SET_free, - SET_print, - SET_compare, - SET_decode_ber, - SET_encode_der, - SET_decode_xer, - SET_encode_xer, - 0, /* SET_decode_oer */ - 0, /* SET_encode_oer */ - 0, /* SET_decode_uper */ - 0, /* SET_encode_uper */ - 0, /* SET_decode_aper */ - 0, /* SET_encode_aper */ - SET_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; - - -asn_random_fill_result_t -SET_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constr, - size_t max_length) { - const asn_SET_specifics_t *specs = - (const asn_SET_specifics_t *)td->specifics; - asn_random_fill_result_t result_ok = {ARFILL_OK, 0}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - void *st = *sptr; - size_t edx; - - if(max_length == 0) return result_skipped; - - (void)constr; - - if(st == NULL) { - st = CALLOC(1, specs->struct_size); - if(st == NULL) { - return result_failed; - } - } - - for(edx = 0; edx < td->elements_count; edx++) { - const asn_TYPE_member_t *elm = &td->elements[edx]; - void *memb_ptr; /* Pointer to the member */ - void **memb_ptr2; /* Pointer to that pointer */ - asn_random_fill_result_t tmpres; - - if(elm->optional && asn_random_between(0, 4) == 2) { - /* Sometimes decide not to fill the optional value */ - continue; - } - - if(elm->flags & ATF_POINTER) { - /* Member is a pointer to another structure */ - memb_ptr2 = (void **)((char *)st + elm->memb_offset); - } else { - memb_ptr = (char *)st + elm->memb_offset; - memb_ptr2 = &memb_ptr; - } - - tmpres = elm->type->op->random_fill( - elm->type, memb_ptr2, &elm->encoding_constraints, - max_length > result_ok.length ? max_length - result_ok.length : 0); - switch(tmpres.code) { - case ARFILL_OK: - result_ok.length += tmpres.length; - continue; - case ARFILL_SKIPPED: - assert(!(elm->flags & ATF_POINTER) || *memb_ptr2 == NULL); - continue; - case ARFILL_FAILED: - if(st == *sptr) { - ASN_STRUCT_RESET(*td, st); - } else { - ASN_STRUCT_FREE(*td, st); - } - return tmpres; - } - } - - *sptr = st; - - return result_ok; -} - diff --git a/skeletons/constr_SET.h b/skeletons/constr_SET.h deleted file mode 100644 index d64a00f..0000000 --- a/skeletons/constr_SET.h +++ /dev/null @@ -1,87 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_SET_H_ -#define _CONSTR_SET_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct asn_SET_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - unsigned pres_offset; /* Offset of _presence_map member */ - - /* - * Tags to members mapping table (sorted). - * Sometimes suitable for DER encoding (untagged CHOICE is present); - * if so, tag2el_count will be greater than td->elements_count. - */ - const asn_TYPE_tag2member_t *tag2el; - unsigned tag2el_count; - - /* - * Tags to members mapping table, second edition. - * Suitable for CANONICAL-XER encoding. - */ - const asn_TYPE_tag2member_t *tag2el_cxer; - unsigned tag2el_cxer_count; - - /* - * Extensions-related stuff. - */ - int extensible; /* Whether SET is extensible */ - const unsigned int *_mandatory_elements; /* Bitmask of mandatory ones */ -} asn_SET_specifics_t; - -/* - * A set specialized functions dealing with the SET type. - */ -asn_struct_free_f SET_free; -asn_struct_print_f SET_print; -asn_struct_compare_f SET_compare; -asn_constr_check_f SET_constraint; -ber_type_decoder_f SET_decode_ber; -der_type_encoder_f SET_encode_der; -xer_type_decoder_f SET_decode_xer; -xer_type_encoder_f SET_encode_xer; -per_type_decoder_f SET_decode_uper; -per_type_encoder_f SET_encode_uper; -asn_random_fill_f SET_random_fill; -extern asn_TYPE_operation_t asn_OP_SET; - -/*********************** - * Some handy helpers. * - ***********************/ - -/* - * Figure out whether the SET member indicated by PR_x has already been decoded. - * It is very simple bitfield test, despite its visual complexity. - */ -#define ASN_SET_ISPRESENT(set_ptr, PR_x) \ - ASN_SET_ISPRESENT2(&((set_ptr)->_presence_map), PR_x) -#define ASN_SET_ISPRESENT2(map_ptr, PR_x) \ - (((unsigned int *)(map_ptr)) \ - [(PR_x) / (8 * sizeof(unsigned int))] \ - & (1u << ((8 * sizeof(unsigned int)) - 1 \ - - ((PR_x) % (8 * sizeof(unsigned int)))))) - -#define ASN_SET_MKPRESENT(map_ptr, PR_x) \ - (((unsigned int *)(map_ptr)) \ - [(PR_x) / (8 * sizeof(unsigned int))] \ - |= (1u << ((8 * sizeof(unsigned int)) - 1 \ - - ((PR_x) % (8 * sizeof(unsigned int)))))) - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_SET_H_ */ diff --git a/skeletons/constr_SET_OF.c b/skeletons/constr_SET_OF.c deleted file mode 100644 index bf1dc27..0000000 --- a/skeletons/constr_SET_OF.c +++ /dev/null @@ -1,1441 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Number of bytes left for this structure. - * (ctx->left) indicates the number of bytes _transferred_ for the structure. - * (size) contains the number of bytes in the buffer passed. - */ -#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) - -/* - * If the subprocessor function returns with an indication that it wants - * more data, it may well be a fatal decoding problem, because the - * size is constrained by the 's L, even if the buffer size allows - * reading more data. - * For example, consider the buffer containing the following TLVs: - * ... - * The TLV length clearly indicates that one byte is expected in V, but - * if the V processor returns with "want more data" even if the buffer - * contains way more data than the V processor have seen. - */ -#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num;\ - size -= num; \ - if(ctx->left >= 0) \ - ctx->left -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#undef PHASE_OUT -#define NEXT_PHASE(ctx) do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) -#define PHASE_OUT(ctx) do { ctx->phase = 10; } while(0) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself;\ - return rval; \ - } while(0) - -/* - * The decoder of the SET OF type. - */ -asn_dec_rval_t -SET_OF_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *ptr, size_t size, int tag_mode) { - /* - * Bring closer parts of structure description. - */ - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm = td->elements; /* Single one */ - - /* - * Parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - ber_tlv_tag_t tlv_tag; /* T from TLV */ - asn_dec_rval_t rval; /* Return code from subparsers */ - - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - - ASN_DEBUG("Decoding %s as SET OF", td->name); - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously - */ - switch(ctx->phase) { - case 0: - /* - * PHASE 0. - * Check that the set of tags associated with given structure - * perfectly fits our expectations. - */ - - rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, - tag_mode, 1, &ctx->left, 0); - if(rval.code != RC_OK) { - ASN_DEBUG("%s tagging check failed: %d", - td->name, rval.code); - return rval; - } - - if(ctx->left >= 0) - ctx->left += rval.consumed; /* ?Substracted below! */ - ADVANCE(rval.consumed); - - ASN_DEBUG("Structure consumes %ld bytes, " - "buffer %ld", (long)ctx->left, (long)size); - - NEXT_PHASE(ctx); - /* Fall through */ - case 1: - /* - * PHASE 1. - * From the place where we've left it previously, - * try to decode the next item. - */ - for(;; ctx->step = 0) { - ssize_t tag_len; /* Length of TLV's T */ - - if(ctx->step & 1) - goto microphase2; - - /* - * MICROPHASE 1: Synchronize decoding. - */ - - if(ctx->left == 0) { - ASN_DEBUG("End of SET OF %s", td->name); - /* - * No more things to decode. - * Exit out of here. - */ - PHASE_OUT(ctx); - RETURN(RC_OK); - } - - /* - * Fetch the T from TLV. - */ - tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); - switch(tag_len) { - case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); - /* Fall through */ - case -1: RETURN(RC_FAIL); - } - - if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { - if(LEFT < 2) { - if(SIZE_VIOLATION) - RETURN(RC_FAIL); - else - RETURN(RC_WMORE); - } else if(((const uint8_t *)ptr)[1] == 0) { - /* - * Found the terminator of the - * indefinite length structure. - */ - break; - } - } - - /* Outmost tag may be unknown and cannot be fetched/compared */ - if(elm->tag != (ber_tlv_tag_t)-1) { - if(BER_TAGS_EQUAL(tlv_tag, elm->tag)) { - /* - * The new list member of expected type has arrived. - */ - } else { - ASN_DEBUG("Unexpected tag %s fixed SET OF %s", - ber_tlv_tag_string(tlv_tag), td->name); - ASN_DEBUG("%s SET OF has tag %s", - td->name, ber_tlv_tag_string(elm->tag)); - RETURN(RC_FAIL); - } - } - - /* - * MICROPHASE 2: Invoke the member-specific decoder. - */ - ctx->step |= 1; /* Confirm entering next microphase */ - microphase2: - - /* - * Invoke the member fetch routine according to member's type - */ - rval = elm->type->op->ber_decoder(opt_codec_ctx, - elm->type, &ctx->ptr, ptr, LEFT, 0); - ASN_DEBUG("In %s SET OF %s code %d consumed %d", - td->name, elm->type->name, - rval.code, (int)rval.consumed); - switch(rval.code) { - case RC_OK: - { - asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); - if(ASN_SET_ADD(list, ctx->ptr) != 0) - RETURN(RC_FAIL); - else - ctx->ptr = 0; - } - break; - case RC_WMORE: /* More data expected */ - if(!SIZE_VIOLATION) { - ADVANCE(rval.consumed); - RETURN(RC_WMORE); - } - /* Fall through */ - case RC_FAIL: /* Fatal error */ - ASN_STRUCT_FREE(*elm->type, ctx->ptr); - ctx->ptr = 0; - RETURN(RC_FAIL); - } /* switch(rval) */ - - ADVANCE(rval.consumed); - } /* for(all list members) */ - - NEXT_PHASE(ctx); - case 2: - /* - * Read in all "end of content" TLVs. - */ - while(ctx->left < 0) { - if(LEFT < 2) { - if(LEFT > 0 && ((const char *)ptr)[0] != 0) { - /* Unexpected tag */ - RETURN(RC_FAIL); - } else { - RETURN(RC_WMORE); - } - } - if(((const char *)ptr)[0] == 0 - && ((const char *)ptr)[1] == 0) { - ADVANCE(2); - ctx->left++; - } else { - RETURN(RC_FAIL); - } - } - - PHASE_OUT(ctx); - } - - RETURN(RC_OK); -} - -/* - * Internally visible buffer holding a single encoded element. - */ -struct _el_buffer { - uint8_t *buf; - size_t length; - size_t allocated_size; - unsigned bits_unused; -}; -/* Append bytes to the above structure */ -static int _el_addbytes(const void *buffer, size_t size, void *el_buf_ptr) { - struct _el_buffer *el_buf = (struct _el_buffer *)el_buf_ptr; - - if(el_buf->length + size > el_buf->allocated_size) { - size_t new_size = el_buf->allocated_size ? el_buf->allocated_size : 8; - void *p; - - do { - new_size <<= 2; - } while(el_buf->length + size > new_size); - - p = REALLOC(el_buf->buf, new_size); - if(p) { - el_buf->buf = p; - el_buf->allocated_size = new_size; - } else { - return -1; - } - } - - memcpy(el_buf->buf + el_buf->length, buffer, size); - - el_buf->length += size; - return 0; -} - -static void assert_unused_bits(const struct _el_buffer* p) { - if(p->length) { - assert((p->buf[p->length-1] & ~(0xff << p->bits_unused)) == 0); - } else { - assert(p->bits_unused == 0); - } -} - -static int _el_buf_cmp(const void *ap, const void *bp) { - const struct _el_buffer *a = (const struct _el_buffer *)ap; - const struct _el_buffer *b = (const struct _el_buffer *)bp; - size_t common_len; - int ret = 0; - - if(a->length < b->length) - common_len = a->length; - else - common_len = b->length; - - if (a->buf && b->buf) { - ret = memcmp(a->buf, b->buf, common_len); - } - if(ret == 0) { - if(a->length < b->length) - ret = -1; - else if(a->length > b->length) - ret = 1; - /* Ignore unused bits. */ - assert_unused_bits(a); - assert_unused_bits(b); - } - - return ret; -} - -static void -SET_OF__encode_sorted_free(struct _el_buffer *el_buf, size_t count) { - size_t i; - - for(i = 0; i < count; i++) { - FREEMEM(el_buf[i].buf); - } - - FREEMEM(el_buf); -} - -enum SET_OF__encode_method { - SOES_DER, /* Distinguished Encoding Rules */ - SOES_CUPER /* Canonical Unaligned Packed Encoding Rules */ -}; - -static struct _el_buffer * -SET_OF__encode_sorted(const asn_TYPE_member_t *elm, - const asn_anonymous_set_ *list, - enum SET_OF__encode_method method) { - struct _el_buffer *encoded_els; - int edx; - - encoded_els = - (struct _el_buffer *)CALLOC(list->count, sizeof(encoded_els[0])); - if(encoded_els == NULL) { - return NULL; - } - - /* - * Encode all members. - */ - for(edx = 0; edx < list->count; edx++) { - const void *memb_ptr = list->array[edx]; - struct _el_buffer *encoding_el = &encoded_els[edx]; - asn_enc_rval_t erval = {0,0,0}; - - if(!memb_ptr) break; - - /* - * Encode the member into the prepared space. - */ - switch(method) { - case SOES_DER: - erval = elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, - _el_addbytes, encoding_el); - break; - case SOES_CUPER: - erval = uper_encode(elm->type, - elm->encoding_constraints.per_constraints, - memb_ptr, _el_addbytes, encoding_el); - if(erval.encoded != -1) { - size_t extra_bits = erval.encoded % 8; - assert(encoding_el->length == (size_t)(erval.encoded + 7) / 8); - encoding_el->bits_unused = (8 - extra_bits) & 0x7; - } - break; - default: - assert(!"Unreachable"); - break; - } - if(erval.encoded < 0) break; - } - - if(edx == list->count) { - /* - * Sort the encoded elements according to their encoding. - */ - qsort(encoded_els, list->count, sizeof(encoded_els[0]), _el_buf_cmp); - - return encoded_els; - } else { - SET_OF__encode_sorted_free(encoded_els, edx); - return NULL; - } -} - - -/* - * The DER encoder of the SET OF type. - */ -asn_enc_rval_t -SET_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, - int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, - void *app_key) { - const asn_TYPE_member_t *elm = td->elements; - const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); - size_t computed_size = 0; - ssize_t encoding_size = 0; - struct _el_buffer *encoded_els; - int edx; - - ASN_DEBUG("Estimating size for SET OF %s", td->name); - - /* - * Gather the length of the underlying members sequence. - */ - for(edx = 0; edx < list->count; edx++) { - void *memb_ptr = list->array[edx]; - asn_enc_rval_t erval = {0,0,0}; - - if(!memb_ptr) ASN__ENCODE_FAILED; - - erval = - elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, 0, 0); - if(erval.encoded == -1) return erval; - computed_size += erval.encoded; - } - - - /* - * Encode the TLV for the sequence itself. - */ - encoding_size = - der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); - if(encoding_size < 0) { - ASN__ENCODE_FAILED; - } - computed_size += encoding_size; - - if(!cb || list->count == 0) { - asn_enc_rval_t erval = {0,0,0}; - erval.encoded = computed_size; - ASN__ENCODED_OK(erval); - } - - ASN_DEBUG("Encoding members of %s SET OF", td->name); - - /* - * DER mandates dynamic sorting of the SET OF elements - * according to their encodings. Build an array of the - * encoded elements. - */ - encoded_els = SET_OF__encode_sorted(elm, list, SOES_DER); - - /* - * Report encoded elements to the application. - * Dispose of temporary sorted members table. - */ - for(edx = 0; edx < list->count; edx++) { - struct _el_buffer *encoded_el = &encoded_els[edx]; - /* Report encoded chunks to the application */ - if(cb(encoded_el->buf, encoded_el->length, app_key) < 0) { - break; - } else { - encoding_size += encoded_el->length; - } - } - - SET_OF__encode_sorted_free(encoded_els, list->count); - - if(edx == list->count) { - asn_enc_rval_t erval = {0,0,0}; - assert(computed_size == (size_t)encoding_size); - erval.encoded = computed_size; - ASN__ENCODED_OK(erval); - } else { - ASN__ENCODE_FAILED; - } -} - -#undef XER_ADVANCE -#define XER_ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ - buf_ptr = ((const char *)buf_ptr) + num;\ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Decode the XER (XML) data. - */ -asn_dec_rval_t -SET_OF_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const char *opt_mname, const void *buf_ptr, size_t size) { - /* - * Bring closer parts of structure description. - */ - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *element = td->elements; - const char *elm_tag; - const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; - - /* - * ... and parts of the structure being constructed. - */ - void *st = *struct_ptr; /* Target structure. */ - asn_struct_ctx_t *ctx; /* Decoder context */ - - asn_dec_rval_t rval = {RC_OK, 0};/* Return value from a decoder */ - ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) RETURN(RC_FAIL); - } - - /* Which tag is expected for the downstream */ - if(specs->as_XMLValueList) { - elm_tag = (specs->as_XMLValueList == 1) ? 0 : ""; - } else { - elm_tag = (*element->name) - ? element->name : element->type->xml_tag; - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Phases of XER/XML processing: - * Phase 0: Check that the opening tag matches our expectations. - * Phase 1: Processing body and reacting on closing tag. - * Phase 2: Processing inner type. - */ - for(; ctx->phase <= 2;) { - pxer_chunk_type_e ch_type; /* XER chunk type */ - ssize_t ch_size; /* Chunk size */ - xer_check_tag_e tcv; /* Tag check value */ - - /* - * Go inside the inner member of a set. - */ - if(ctx->phase == 2) { - asn_dec_rval_t tmprval = {RC_OK, 0}; - - /* Invoke the inner type decoder, m.b. multiple times */ - ASN_DEBUG("XER/SET OF element [%s]", elm_tag); - tmprval = element->type->op->xer_decoder(opt_codec_ctx, - element->type, &ctx->ptr, elm_tag, - buf_ptr, size); - if(tmprval.code == RC_OK) { - asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); - if(ASN_SET_ADD(list, ctx->ptr) != 0) - RETURN(RC_FAIL); - ctx->ptr = 0; - XER_ADVANCE(tmprval.consumed); - } else { - XER_ADVANCE(tmprval.consumed); - RETURN(tmprval.code); - } - ctx->phase = 1; /* Back to body processing */ - ASN_DEBUG("XER/SET OF phase => %d", ctx->phase); - /* Fall through */ - } - - /* - * Get the next part of the XML stream. - */ - ch_size = xer_next_token(&ctx->context, - buf_ptr, size, &ch_type); - if(ch_size == -1) { - RETURN(RC_FAIL); - } else { - switch(ch_type) { - case PXER_WMORE: - RETURN(RC_WMORE); - case PXER_COMMENT: /* Got XML comment */ - case PXER_TEXT: /* Ignore free-standing text */ - XER_ADVANCE(ch_size); /* Skip silently */ - continue; - case PXER_TAG: - break; /* Check the rest down there */ - } - } - - tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); - ASN_DEBUG("XER/SET OF: tcv = %d, ph=%d t=%s", - tcv, ctx->phase, xml_tag); - switch(tcv) { - case XCT_CLOSING: - if(ctx->phase == 0) break; - ctx->phase = 0; - /* Fall through */ - case XCT_BOTH: - if(ctx->phase == 0) { - /* No more things to decode */ - XER_ADVANCE(ch_size); - ctx->phase = 3; /* Phase out */ - RETURN(RC_OK); - } - /* Fall through */ - case XCT_OPENING: - if(ctx->phase == 0) { - XER_ADVANCE(ch_size); - ctx->phase = 1; /* Processing body phase */ - continue; - } - /* Fall through */ - case XCT_UNKNOWN_OP: - case XCT_UNKNOWN_BO: - - ASN_DEBUG("XER/SET OF: tcv=%d, ph=%d", tcv, ctx->phase); - if(ctx->phase == 1) { - /* - * Process a single possible member. - */ - ctx->phase = 2; - continue; - } - /* Fall through */ - default: - break; - } - - ASN_DEBUG("Unexpected XML tag in SET OF"); - break; - } - - ctx->phase = 3; /* "Phase out" on hard failure */ - RETURN(RC_FAIL); -} - - - -typedef struct xer_tmp_enc_s { - void *buffer; - size_t offset; - size_t size; -} xer_tmp_enc_t; -static int -SET_OF_encode_xer_callback(const void *buffer, size_t size, void *key) { - xer_tmp_enc_t *t = (xer_tmp_enc_t *)key; - if(t->offset + size >= t->size) { - size_t newsize = (t->size << 2) + size; - void *p = REALLOC(t->buffer, newsize); - if(!p) return -1; - t->buffer = p; - t->size = newsize; - } - memcpy((char *)t->buffer + t->offset, buffer, size); - t->offset += size; - return 0; -} -static int -SET_OF_xer_order(const void *aptr, const void *bptr) { - const xer_tmp_enc_t *a = (const xer_tmp_enc_t *)aptr; - const xer_tmp_enc_t *b = (const xer_tmp_enc_t *)bptr; - size_t minlen = a->offset; - int ret; - if(b->offset < minlen) minlen = b->offset; - /* Well-formed UTF-8 has this nice lexicographical property... */ - ret = memcmp(a->buffer, b->buffer, minlen); - if(ret != 0) return ret; - if(a->offset == b->offset) - return 0; - if(a->offset == minlen) - return -1; - return 1; -} - - -asn_enc_rval_t -SET_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t er = {0,0,0}; - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm = td->elements; - const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); - const char *mname = specs->as_XMLValueList - ? 0 : ((*elm->name) ? elm->name : elm->type->xml_tag); - size_t mlen = mname ? strlen(mname) : 0; - int xcan = (flags & XER_F_CANONICAL); - xer_tmp_enc_t *encs = 0; - size_t encs_count = 0; - void *original_app_key = app_key; - asn_app_consume_bytes_f *original_cb = cb; - int i; - - if(!sptr) ASN__ENCODE_FAILED; - - if(xcan) { - encs = (xer_tmp_enc_t *)MALLOC(list->count * sizeof(encs[0])); - if(!encs) ASN__ENCODE_FAILED; - cb = SET_OF_encode_xer_callback; - } - - er.encoded = 0; - - for(i = 0; i < list->count; i++) { - asn_enc_rval_t tmper = {0,0,0}; - - void *memb_ptr = list->array[i]; - if(!memb_ptr) continue; - - if(encs) { - memset(&encs[encs_count], 0, sizeof(encs[0])); - app_key = &encs[encs_count]; - encs_count++; - } - - if(mname) { - if(!xcan) ASN__TEXT_INDENT(1, ilevel); - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - } - - if(!xcan && specs->as_XMLValueList == 1) - ASN__TEXT_INDENT(1, ilevel + 1); - tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, - ilevel + (specs->as_XMLValueList != 2), - flags, cb, app_key); - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - if(tmper.encoded == 0 && specs->as_XMLValueList) { - const char *name = elm->type->xml_tag; - size_t len = strlen(name); - ASN__CALLBACK3("<", 1, name, len, "/>", 2); - } - - if(mname) { - ASN__CALLBACK3("", 1); - } - - } - - if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); - - if(encs) { - xer_tmp_enc_t *enc = encs; - xer_tmp_enc_t *end = encs + encs_count; - ssize_t control_size = 0; - - er.encoded = 0; - cb = original_cb; - app_key = original_app_key; - qsort(encs, encs_count, sizeof(encs[0]), SET_OF_xer_order); - - for(; enc < end; enc++) { - ASN__CALLBACK(enc->buffer, enc->offset); - FREEMEM(enc->buffer); - enc->buffer = 0; - control_size += enc->offset; - } - assert(control_size == er.encoded); - } - - goto cleanup; -cb_failed: - ASN__ENCODE_FAILED; -cleanup: - if(encs) { - size_t n; - for(n = 0; n < encs_count; n++) { - FREEMEM(encs[n].buffer); - } - FREEMEM(encs); - } - ASN__ENCODED_OK(er); -} - -int -SET_OF_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_TYPE_member_t *elm = td->elements; - const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); - int ret; - int i; - - if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; - - /* Dump preamble */ - if(cb(td->name, strlen(td->name), app_key) < 0 - || cb(" ::= {", 6, app_key) < 0) - return -1; - - for(i = 0; i < list->count; i++) { - const void *memb_ptr = list->array[i]; - if(!memb_ptr) continue; - - _i_INDENT(1); - - ret = elm->type->op->print_struct(elm->type, memb_ptr, - ilevel + 1, cb, app_key); - if(ret) return ret; - } - - ilevel--; - _i_INDENT(1); - - return (cb("}", 1, app_key) < 0) ? -1 : 0; -} - -void -SET_OF_free(const asn_TYPE_descriptor_t *td, void *ptr, - enum asn_struct_free_method method) { - if(td && ptr) { - const asn_SET_OF_specifics_t *specs; - asn_TYPE_member_t *elm = td->elements; - asn_anonymous_set_ *list = _A_SET_FROM_VOID(ptr); - asn_struct_ctx_t *ctx; /* Decoder context */ - int i; - - /* - * Could not use set_of_empty() because of (*free) - * incompatibility. - */ - for(i = 0; i < list->count; i++) { - void *memb_ptr = list->array[i]; - if(memb_ptr) - ASN_STRUCT_FREE(*elm->type, memb_ptr); - } - list->count = 0; /* No meaningful elements left */ - - asn_set_empty(list); /* Remove (list->array) */ - - specs = (const asn_SET_OF_specifics_t *)td->specifics; - ctx = (asn_struct_ctx_t *)((char *)ptr + specs->ctx_offset); - if(ctx->ptr) { - ASN_STRUCT_FREE(*elm->type, ctx->ptr); - ctx->ptr = 0; - } - - switch(method) { - case ASFM_FREE_EVERYTHING: - FREEMEM(ptr); - break; - case ASFM_FREE_UNDERLYING: - break; - case ASFM_FREE_UNDERLYING_AND_RESET: - memset(ptr, 0, specs->struct_size); - break; - } - } -} - -int -SET_OF_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const asn_TYPE_member_t *elm = td->elements; - asn_constr_check_f *constr; - const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); - int i; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - constr = elm->encoding_constraints.general_constraints; - if(!constr) constr = elm->type->encoding_constraints.general_constraints; - - /* - * Iterate over the members of an array. - * Validate each in turn, until one fails. - */ - for(i = 0; i < list->count; i++) { - const void *memb_ptr = list->array[i]; - int ret; - - if(!memb_ptr) continue; - - ret = constr(elm->type, memb_ptr, ctfailcb, app_key); - if(ret) return ret; - } - - return 0; -} - -#ifndef ASN_DISABLE_PER_SUPPORT - -asn_dec_rval_t -SET_OF_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rv = {RC_OK, 0}; - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm = td->elements; /* Single one */ - void *st = *sptr; - asn_anonymous_set_ *list; - const asn_per_constraint_t *ct; - int repeat = 0; - ssize_t nelems; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - list = _A_SET_FROM_VOID(st); - - /* Figure out which constraints to use */ - if(constraints) ct = &constraints->size; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->size; - else ct = 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - int value = per_get_few_bits(pd, 1); - if(value < 0) ASN__DECODE_STARVED; - if(value) ct = 0; /* Not restricted! */ - } - - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ - nelems = per_get_few_bits(pd, ct->effective_bits); - ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", - (long)nelems, ct->lower_bound, td->name); - if(nelems < 0) ASN__DECODE_STARVED; - nelems += ct->lower_bound; - } else { - nelems = -1; - } - - do { - int i; - if(nelems < 0) { - nelems = uper_get_length(pd, -1, 0, &repeat); - ASN_DEBUG("Got to decode %" ASN_PRI_SSIZE " elements (eff %d)", - nelems, (int)(ct ? ct->effective_bits : -1)); - if(nelems < 0) ASN__DECODE_STARVED; - } - - for(i = 0; i < nelems; i++) { - void *ptr = 0; - ASN_DEBUG("SET OF %s decoding", elm->type->name); - rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, &ptr, pd); - ASN_DEBUG("%s SET OF %s decoded %d, %p", - td->name, elm->type->name, rv.code, ptr); - if(rv.code == RC_OK) { - if(ASN_SET_ADD(list, ptr) == 0) { - if(rv.consumed == 0 && nelems > 200) { - /* Protect from SET OF NULL compression bombs. */ - ASN__DECODE_FAILED; - } - continue; - } - ASN_DEBUG("Failed to add element into %s", - td->name); - /* Fall through */ - rv.code = RC_FAIL; - } else { - ASN_DEBUG("Failed decoding %s of %s (SET OF)", - elm->type->name, td->name); - } - if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); - return rv; - } - - nelems = -1; /* Allow uper_get_length() */ - } while(repeat); - - ASN_DEBUG("Decoded %s as SET OF", td->name); - - rv.code = RC_OK; - rv.consumed = 0; - return rv; -} - -asn_enc_rval_t -SET_OF_encode_uper(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - const asn_anonymous_set_ *list; - const asn_per_constraint_t *ct; - const asn_TYPE_member_t *elm = td->elements; - struct _el_buffer *encoded_els; - asn_enc_rval_t er = {0,0,0}; - size_t encoded_edx; - - if(!sptr) ASN__ENCODE_FAILED; - - list = _A_CSET_FROM_VOID(sptr); - - er.encoded = 0; - - ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); - - if(constraints) ct = &constraints->size; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->size; - else ct = 0; - - /* If extensible constraint, check if size is in root */ - if(ct) { - int not_in_root = - (list->count < ct->lower_bound || list->count > ct->upper_bound); - ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, - ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); - if(ct->flags & APC_EXTENSIBLE) { - /* Declare whether size is in extension root */ - if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; - if(not_in_root) ct = 0; - } else if(not_in_root && ct->effective_bits >= 0) { - ASN__ENCODE_FAILED; - } - - } - - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ - if(per_put_few_bits(po, list->count - ct->lower_bound, - ct->effective_bits)) - ASN__ENCODE_FAILED; - } else if(list->count == 0) { - /* When the list is empty add only the length determinant - * X.691, #20.6 and #11.9.4.1 - */ - if (uper_put_length(po, 0, 0)) { - ASN__ENCODE_FAILED; - } - ASN__ENCODED_OK(er); - } - - - /* - * Canonical UPER #22.1 mandates dynamic sorting of the SET OF elements - * according to their encodings. Build an array of the encoded elements. - */ - encoded_els = SET_OF__encode_sorted(elm, list, SOES_CUPER); - - for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { - ssize_t may_encode; - size_t edx; - int need_eom = 0; - - if(ct && ct->effective_bits >= 0) { - may_encode = list->count; - } else { - may_encode = - uper_put_length(po, list->count - encoded_edx, &need_eom); - if(may_encode < 0) ASN__ENCODE_FAILED; - } - - for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { - const struct _el_buffer *el = &encoded_els[edx]; - if(asn_put_many_bits(po, el->buf, - (8 * el->length) - el->bits_unused) < 0) { - break; - } - } - - if(need_eom && uper_put_length(po, 0, 0)) - ASN__ENCODE_FAILED; /* End of Message length */ - - encoded_edx += may_encode; - } - - SET_OF__encode_sorted_free(encoded_els, list->count); - - if((ssize_t)encoded_edx == list->count) { - ASN__ENCODED_OK(er); - } else { - ASN__ENCODE_FAILED; - } -} - -asn_dec_rval_t -SET_OF_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - asn_dec_rval_t rv = {RC_OK, 0}; - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - const asn_TYPE_member_t *elm = td->elements; /* Single one */ - void *st = *sptr; - asn_anonymous_set_ *list; - const asn_per_constraint_t *ct; - int repeat = 0; - ssize_t nelems; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) ASN__DECODE_FAILED; - } - list = _A_SET_FROM_VOID(st); - - /* Figure out which constraints to use */ - if(constraints) ct = &constraints->size; - else if(td->encoding_constraints.per_constraints) - ct = &td->encoding_constraints.per_constraints->size; - else ct = 0; - - if(ct && ct->flags & APC_EXTENSIBLE) { - int value = per_get_few_bits(pd, 1); - if(value < 0) ASN__DECODE_STARVED; - if(value) ct = 0; /* Not restricted! */ - } - - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ - nelems = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound + 1); - ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", - (long)nelems, ct->lower_bound, td->name); - if(nelems < 0) ASN__DECODE_STARVED; - nelems += ct->lower_bound; - } else { - nelems = -1; - } - - do { - int i; - if(nelems < 0) { - nelems = aper_get_length(pd, ct ? ct->upper_bound - ct->lower_bound + 1 : -1, - ct ? ct->effective_bits : -1, &repeat); - ASN_DEBUG("Got to decode %d elements (eff %d)", - (int)nelems, (int)(ct ? ct->effective_bits : -1)); - if(nelems < 0) ASN__DECODE_STARVED; - } - - for(i = 0; i < nelems; i++) { - void *ptr = 0; - ASN_DEBUG("SET OF %s decoding", elm->type->name); - rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, - elm->encoding_constraints.per_constraints, &ptr, pd); - ASN_DEBUG("%s SET OF %s decoded %d, %p", - td->name, elm->type->name, rv.code, ptr); - if(rv.code == RC_OK) { - if(ASN_SET_ADD(list, ptr) == 0) - continue; - ASN_DEBUG("Failed to add element into %s", - td->name); - /* Fall through */ - rv.code = RC_FAIL; - } else { - ASN_DEBUG("Failed decoding %s of %s (SET OF)", - elm->type->name, td->name); - } - if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); - return rv; - } - - nelems = -1; /* Allow uper_get_length() */ - } while(repeat); - - ASN_DEBUG("Decoded %s as SET OF", td->name); - - rv.code = RC_OK; - rv.consumed = 0; - return rv; -} - -#endif /* ASN_DISABLE_PER_SUPPORT */ - -struct comparable_ptr { - const asn_TYPE_descriptor_t *td; - const void *sptr; -}; - -static int -SET_OF__compare_cb(const void *aptr, const void *bptr) { - const struct comparable_ptr *a = aptr; - const struct comparable_ptr *b = bptr; - assert(a->td == b->td); - return a->td->op->compare_struct(a->td, a->sptr, b->sptr); -} - -int -SET_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, - const void *bptr) { - const asn_anonymous_set_ *a = _A_CSET_FROM_VOID(aptr); - const asn_anonymous_set_ *b = _A_CSET_FROM_VOID(bptr); - - if(a && b) { - struct comparable_ptr *asorted; - struct comparable_ptr *bsorted; - ssize_t common_length; - ssize_t idx; - - if(a->count == 0) { - if(b->count) return -1; - return 0; - } else if(b->count == 0) { - return 1; - } - - asorted = MALLOC(a->count * sizeof(asorted[0])); - bsorted = MALLOC(b->count * sizeof(bsorted[0])); - if(!asorted || !bsorted) { - FREEMEM(asorted); - FREEMEM(bsorted); - return -1; - } - - for(idx = 0; idx < a->count; idx++) { - asorted[idx].td = td->elements->type; - asorted[idx].sptr = a->array[idx]; - } - - for(idx = 0; idx < b->count; idx++) { - bsorted[idx].td = td->elements->type; - bsorted[idx].sptr = b->array[idx]; - } - - qsort(asorted, a->count, sizeof(asorted[0]), SET_OF__compare_cb); - qsort(bsorted, b->count, sizeof(bsorted[0]), SET_OF__compare_cb); - - common_length = (a->count < b->count ? a->count : b->count); - for(idx = 0; idx < common_length; idx++) { - int ret = td->elements->type->op->compare_struct( - td->elements->type, asorted[idx].sptr, bsorted[idx].sptr); - if(ret) { - FREEMEM(asorted); - FREEMEM(bsorted); - return ret; - } - } - - FREEMEM(asorted); - FREEMEM(bsorted); - - if(idx < b->count) /* more elements in b */ - return -1; /* a is shorter, so put it first */ - if(idx < a->count) return 1; - } else if(!a) { - return -1; - } else if(!b) { - return 1; - } - - return 0; -} - - -asn_TYPE_operation_t asn_OP_SET_OF = { - SET_OF_free, - SET_OF_print, - SET_OF_compare, - SET_OF_decode_ber, - SET_OF_encode_der, - SET_OF_decode_xer, - SET_OF_encode_xer, -#ifdef ASN_DISABLE_OER_SUPPORT - 0, - 0, -#else - SET_OF_decode_oer, - SET_OF_encode_oer, -#endif -#ifdef ASN_DISABLE_PER_SUPPORT - 0, - 0, - 0, - 0, -#else - SET_OF_decode_uper, - SET_OF_encode_uper, - SET_OF_decode_aper, - 0, /* SET_OF_encode_aper */ -#endif /* ASN_DISABLE_PER_SUPPORT */ - SET_OF_random_fill, - 0 /* Use generic outmost tag fetcher */ -}; - - -asn_random_fill_result_t -SET_OF_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length) { - const asn_SET_OF_specifics_t *specs = - (const asn_SET_OF_specifics_t *)td->specifics; - asn_random_fill_result_t res_ok = {ARFILL_OK, 0}; - asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; - asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; - const asn_TYPE_member_t *elm = td->elements; - void *st = *sptr; - long max_elements = 5; - long slb = 0; /* Lower size bound */ - long sub = 0; /* Upper size bound */ - size_t rnd_len; - - if(max_length == 0) return result_skipped; - - if(st == NULL) { - st = (*sptr = CALLOC(1, specs->struct_size)); - if(st == NULL) { - return result_failed; - } - } - - switch(asn_random_between(0, 6)) { - case 0: max_elements = 0; break; - case 1: max_elements = 1; break; - case 2: max_elements = 5; break; - case 3: max_elements = max_length; break; - case 4: max_elements = max_length / 2; break; - case 5: max_elements = max_length / 4; break; - default: break; - } - sub = slb + max_elements; - - if(!constraints || !constraints->per_constraints) - constraints = &td->encoding_constraints; - if(constraints->per_constraints) { - const asn_per_constraint_t *pc = &constraints->per_constraints->size; - if(pc->flags & APC_SEMI_CONSTRAINED) { - slb = pc->lower_bound; - sub = pc->lower_bound + max_elements; - } else if(pc->flags & APC_CONSTRAINED) { - slb = pc->lower_bound; - sub = pc->upper_bound; - if(sub - slb > max_elements) sub = slb + max_elements; - } - } - - /* Bias towards edges of allowed space */ - switch(asn_random_between(-1, 4)) { - default: - case -1: - /* Prepare lengths somewhat outside of constrained range. */ - if(constraints->per_constraints - && (constraints->per_constraints->size.flags & APC_EXTENSIBLE)) { - switch(asn_random_between(0, 5)) { - default: - case 0: - rnd_len = 0; - break; - case 1: - if(slb > 0) { - rnd_len = slb - 1; - } else { - rnd_len = 0; - } - break; - case 2: - rnd_len = asn_random_between(0, slb); - break; - case 3: - if(sub < (ssize_t)max_length) { - rnd_len = sub + 1; - } else { - rnd_len = max_length; - } - break; - case 4: - if(sub < (ssize_t)max_length) { - rnd_len = asn_random_between(sub + 1, max_length); - } else { - rnd_len = max_length; - } - break; - case 5: - rnd_len = max_length; - break; - } - break; - } - /* Fall through */ - case 0: - rnd_len = asn_random_between(slb, sub); - break; - case 1: - if(slb < sub) { - rnd_len = asn_random_between(slb + 1, sub); - break; - } - /* Fall through */ - case 2: - rnd_len = asn_random_between(slb, slb); - break; - case 3: - if(slb < sub) { - rnd_len = asn_random_between(slb, sub - 1); - break; - } - /* Fall through */ - case 4: - rnd_len = asn_random_between(sub, sub); - break; - } - - for(; rnd_len > 0; rnd_len--) { - asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); - void *ptr = 0; - asn_random_fill_result_t tmpres = elm->type->op->random_fill( - elm->type, &ptr, &elm->encoding_constraints, - (max_length > res_ok.length ? max_length - res_ok.length : 0) - / rnd_len); - switch(tmpres.code) { - case ARFILL_OK: - ASN_SET_ADD(list, ptr); - res_ok.length += tmpres.length; - break; - case ARFILL_SKIPPED: - break; - case ARFILL_FAILED: - assert(ptr == 0); - return tmpres; - } - } - - return res_ok; -} - diff --git a/skeletons/constr_SET_OF.h b/skeletons/constr_SET_OF.h deleted file mode 100644 index 7681062..0000000 --- a/skeletons/constr_SET_OF.h +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef CONSTR_SET_OF_H -#define CONSTR_SET_OF_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_SET_OF_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - /* XER-specific stuff */ - int as_XMLValueList; /* The member type must be encoded like this */ -} asn_SET_OF_specifics_t; - -/* - * A set specialized functions dealing with the SET OF type. - */ -asn_struct_free_f SET_OF_free; -asn_struct_print_f SET_OF_print; -asn_struct_compare_f SET_OF_compare; -asn_constr_check_f SET_OF_constraint; -ber_type_decoder_f SET_OF_decode_ber; -der_type_encoder_f SET_OF_encode_der; -xer_type_decoder_f SET_OF_decode_xer; -xer_type_encoder_f SET_OF_encode_xer; -oer_type_decoder_f SET_OF_decode_oer; -oer_type_encoder_f SET_OF_encode_oer; -per_type_decoder_f SET_OF_decode_uper; -per_type_encoder_f SET_OF_encode_uper; -per_type_decoder_f SET_OF_decode_aper; -per_type_encoder_f SET_OF_encode_aper; -asn_random_fill_f SET_OF_random_fill; -extern asn_TYPE_operation_t asn_OP_SET_OF; - -#ifdef __cplusplus -} -#endif - -#endif /* CONSTR_SET_OF_H */ diff --git a/skeletons/constr_SET_OF_oer.c b/skeletons/constr_SET_OF_oer.c deleted file mode 100644 index 5200518..0000000 --- a/skeletons/constr_SET_OF_oer.c +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_DISABLE_OER_SUPPORT - -#include -#include -#include -#include - -/* - * This macro "eats" the part of the buffer which is definitely "consumed", - * i.e. was correctly converted into local representation or rightfully skipped. - */ -#undef ADVANCE -#define ADVANCE(num_bytes) \ - do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -/* - * Switch to the next phase of parsing. - */ -#undef NEXT_PHASE -#define NEXT_PHASE(ctx) \ - do { \ - ctx->phase++; \ - ctx->step = 0; \ - } while(0) -#undef SET_PHASE -#define SET_PHASE(ctx, value) \ - do { \ - ctx->phase = value; \ - ctx->step = 0; \ - } while(0) - -/* - * Return a standardized complex structure. - */ -#undef RETURN -#define RETURN(_code) \ - do { \ - asn_dec_rval_t rval; \ - rval.code = _code; \ - rval.consumed = consumed_myself; \ - return rval; \ - } while(0) - -/* - * The SEQUENCE OF and SET OF values utilize a "quantity field". - * It is is a pointless combination of #8.6 (length determinant, capable - * of encoding tiny and huge numbers in the shortest possible number of octets) - * and the variable sized integer. What could have been encoded by #8.6 alone - * is required to be encoded by #8.6 followed by that number of unsigned octets. - * This doesn't make too much sense. It seems that the original version of OER - * standard have been using the unconstrained unsigned integer as a quantity - * field, and this legacy have gone through ISO/ITU-T standardization process. - */ -static ssize_t -oer_fetch_quantity(const void *ptr, size_t size, size_t *qty_r) { - const uint8_t *b; - const uint8_t *bend; - size_t len = 0; - size_t qty; - - ssize_t len_len = oer_fetch_length(ptr, size, &len); - if(len_len <= 0) { - *qty_r = 0; - return len_len; - } - - if((len_len + len) > size) { - *qty_r = 0; - return 0; - } - - b = (const uint8_t *)ptr + len_len; - bend = b + len; - - /* Skip the leading 0-bytes */ - for(; b < bend && *b == 0; b++) { - } - - if((bend - b) > (ssize_t)sizeof(size_t)) { - /* Length is not representable by the native size_t type */ - *qty_r = 0; - return -1; - } - - for(qty = 0; b < bend; b++) { - qty = (qty << 8) + *b; - } - - if(qty > RSIZE_MAX) { /* A bit of C11 validation */ - *qty_r = 0; - return -1; - } - - *qty_r = qty; - assert((size_t)len_len + len == (size_t)(bend - (const uint8_t *)ptr)); - return len_len + len; -} - -asn_dec_rval_t -SET_OF_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **struct_ptr, - const void *ptr, size_t size) { - const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; - asn_dec_rval_t rval = {RC_OK, 0}; - void *st = *struct_ptr; /* Target structure */ - asn_struct_ctx_t *ctx; /* Decoder context */ - size_t consumed_myself = 0; /* Consumed bytes from ptr. */ - - (void)constraints; - - if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) - ASN__DECODE_FAILED; - - /* - * Create the target structure if it is not present already. - */ - if(st == 0) { - st = *struct_ptr = CALLOC(1, specs->struct_size); - if(st == 0) { - RETURN(RC_FAIL); - } - } - - /* - * Restore parsing context. - */ - ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); - - /* - * Start to parse where left previously. - */ - switch(ctx->phase) { - case 0: { - /* - * Fetch number of elements to decode. - */ - size_t length = 0; - size_t len_size = oer_fetch_quantity(ptr, size, &length); - switch(len_size) { - case 0: - RETURN(RC_WMORE); - case -1: - RETURN(RC_FAIL); - default: - ADVANCE(len_size); - ctx->left = length; - } - } - NEXT_PHASE(ctx); - /* FALL THROUGH */ - case 1: { - /* Decode components of the extension root */ - asn_TYPE_member_t *elm = td->elements; - asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); - const void *base_ptr = ptr; - ber_tlv_len_t base_ctx_left = ctx->left; - - assert(td->elements_count == 1); - - ASN_DEBUG("OER SET OF %s Decoding PHASE 1", td->name); - - for(; ctx->left > 0; ctx->left--) { - asn_dec_rval_t rv = elm->type->op->oer_decoder( - opt_codec_ctx, elm->type, - elm->encoding_constraints.oer_constraints, &ctx->ptr, ptr, - size); - ADVANCE(rv.consumed); - switch(rv.code) { - case RC_OK: - if(ASN_SET_ADD(list, ctx->ptr) != 0) { - RETURN(RC_FAIL); - } else { - ctx->ptr = 0; - /* - * This check is to avoid compression bomb with - * specs like SEQUENCE/SET OF NULL which don't - * consume data at all. - */ - if(rv.consumed == 0 && base_ptr == ptr - && (base_ctx_left - ctx->left) > 200) { - ASN__DECODE_FAILED; - } - break; - } - case RC_WMORE: - RETURN(RC_WMORE); - case RC_FAIL: - ASN_STRUCT_FREE(*elm->type, ctx->ptr); - ctx->ptr = 0; - SET_PHASE(ctx, 3); - RETURN(RC_FAIL); - } - } - /* Decoded decently. */ - NEXT_PHASE(ctx); - } - /* Fall through */ - case 2: - /* Ignore fully decoded */ - assert(ctx->left == 0); - RETURN(RC_OK); - case 3: - /* Failed to decode. */ - RETURN(RC_FAIL); - } - - return rval; -} - -static ssize_t -oer_put_quantity(size_t qty, asn_app_consume_bytes_f *cb, void *app_key) { - uint8_t buf[1 + sizeof(size_t)]; - uint8_t *b = &buf[sizeof(size_t)]; /* Last addressable */ - size_t encoded; - - do { - *b-- = qty; - qty >>= 8; - } while(qty); - - *b = sizeof(buf) - (b-buf) - 1; - encoded = sizeof(buf) - (b-buf); - if(cb(b, encoded, app_key) < 0) - return -1; - return encoded; -} - -/* - * Encode as Canonical OER. - */ -asn_enc_rval_t -SET_OF_encode_oer(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const asn_TYPE_member_t *elm; - const asn_anonymous_set_ *list; - size_t computed_size = 0; - ssize_t qty_len; - int n; - - (void)constraints; - - if(!sptr) ASN__ENCODE_FAILED; - - elm = td->elements; - list = _A_CSET_FROM_VOID(sptr); - - qty_len = oer_put_quantity(list->count, cb, app_key); - if(qty_len < 0) { - ASN__ENCODE_FAILED; - } - computed_size += qty_len; - - for(n = 0; n < list->count; n++) { - void *memb_ptr = list->array[n]; - asn_enc_rval_t er = {0,0,0}; - er = elm->type->op->oer_encoder( - elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, - app_key); - if(er.encoded < 0) { - return er; - } else { - computed_size += er.encoded; - } - } - - { - asn_enc_rval_t erval = {0,0,0}; - erval.encoded = computed_size; - ASN__ENCODED_OK(erval); - } -} - -#endif /* ASN_DISABLE_OER_SUPPORT */ diff --git a/skeletons/constr_TYPE.c b/skeletons/constr_TYPE.c deleted file mode 100644 index aefaefd..0000000 --- a/skeletons/constr_TYPE.c +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * Version of the ASN.1 infrastructure shipped with compiler. - */ -int get_asn1c_environment_version() { return ASN1C_ENVIRONMENT_VERSION; } - -static asn_app_consume_bytes_f _print2fp; - -/* - * Return the outmost tag of the type. - */ -ber_tlv_tag_t -asn_TYPE_outmost_tag(const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag) { - - if(tag_mode) - return tag; - - if(type_descriptor->tags_count) - return type_descriptor->tags[0]; - - return type_descriptor->op->outmost_tag(type_descriptor, struct_ptr, 0, 0); -} - -/* - * Print the target language's structure in human readable form. - */ -int -asn_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, - const void *struct_ptr) { - if(!stream) stream = stdout; - if(!td || !struct_ptr) { - errno = EINVAL; - return -1; - } - - /* Invoke type-specific printer */ - if(td->op->print_struct(td, struct_ptr, 1, _print2fp, stream)) { - return -1; - } - - /* Terminate the output */ - if(_print2fp("\n", 1, stream)) { - return -1; - } - - return fflush(stream); -} - -/* Dump the data into the specified stdio stream */ -static int -_print2fp(const void *buffer, size_t size, void *app_key) { - FILE *stream = (FILE *)app_key; - - if(fwrite(buffer, 1, size, stream) != size) - return -1; - - return 0; -} - - -/* - * Some compilers do not support variable args macros. - * This function is a replacement of ASN_DEBUG() macro. - */ -void ASN_DEBUG_f(const char *fmt, ...); -void ASN_DEBUG_f(const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - fprintf(stderr, "\n"); - va_end(ap); -} diff --git a/skeletons/constr_TYPE.h b/skeletons/constr_TYPE.h deleted file mode 100644 index d80dea5..0000000 --- a/skeletons/constr_TYPE.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This file contains the declaration structure called "ASN.1 Type Definition", - * which holds all information necessary for encoding and decoding routines. - * This structure even contains pointer to these encoding and decoding routines - * for each defined ASN.1 type. - */ -#ifndef _CONSTR_TYPE_H_ -#define _CONSTR_TYPE_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_TYPE_member_s; /* Forward declaration */ - -/* - * This type provides the context information for various ASN.1 routines, - * primarily ones doing decoding. A member _asn_ctx of this type must be - * included into certain target language's structures, such as compound types. - */ -typedef struct asn_struct_ctx_s { - short phase; /* Decoding phase */ - short step; /* Elementary step of a phase */ - int context; /* Other context information */ - void *ptr; /* Decoder-specific stuff (stack elements) */ - ber_tlv_len_t left; /* Number of bytes left, -1 for indefinite */ -} asn_struct_ctx_t; - -#include /* Basic Encoding Rules decoder */ -#include /* Distinguished Encoding Rules encoder */ -#include /* Decoder of XER (XML, text) */ -#include /* Encoder into XER (XML, text) */ -#include /* Packet Encoding Rules decoder */ -#include /* Packet Encoding Rules encoder */ -#include /* Subtype constraints support */ -#include /* Random structures support */ - -#ifdef ASN_DISABLE_OER_SUPPORT -typedef void (oer_type_decoder_f)(void); -typedef void (oer_type_encoder_f)(void); -typedef void asn_oer_constraints_t; -#else -#include /* Octet Encoding Rules encoder */ -#include /* Octet Encoding Rules encoder */ -#endif - -/* - * Free the structure according to its specification. - * Use one of ASN_STRUCT_{FREE,RESET,CONTENTS_ONLY} macros instead. - * Do not use directly. - */ -enum asn_struct_free_method { - ASFM_FREE_EVERYTHING, /* free(struct_ptr) and underlying members */ - ASFM_FREE_UNDERLYING, /* free underlying members */ - ASFM_FREE_UNDERLYING_AND_RESET /* FREE_UNDERLYING + memset(0) */ -}; -typedef void (asn_struct_free_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - void *struct_ptr, enum asn_struct_free_method); - -/* - * Free the structure including freeing the memory pointed to by ptr itself. - */ -#define ASN_STRUCT_FREE(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_EVERYTHING) - -/* - * Free the memory used by the members of the structure without freeing the - * the structure pointer itself. - * ZERO-OUT the structure to the safe clean state. - * (Retaining the pointer may be useful in case the structure is allocated - * statically or arranged on the stack, yet its elements are dynamic.) - */ -#define ASN_STRUCT_RESET(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING_AND_RESET) - -/* - * Free memory used by the members of the structure without freeing - * the structure pointer itself. - * (Retaining the pointer may be useful in case the structure is allocated - * statically or arranged on the stack, yet its elements are dynamic.) - * AVOID using it in the application code; - * Use a safer ASN_STRUCT_RESET() instead. - */ -#define ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING) - -/* - * Print the structure according to its specification. - */ -typedef int(asn_struct_print_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, - int level, /* Indentation level */ - asn_app_consume_bytes_f *callback, void *app_key); - -/* - * Compare two structs between each other. - * Returns <0 if struct_A is "smaller" than struct_B, >0 if "greater", - * and =0 if "equal to", for some type-specific, stable definition of - * "smaller", "greater" and "equal to". - */ -typedef int (asn_struct_compare_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_A, - const void *struct_B); - -/* - * Return the outmost tag of the type. - * If the type is untagged CHOICE, the dynamic operation is performed. - * NOTE: This function pointer type is only useful internally. - * Do not use it in your application. - */ -typedef ber_tlv_tag_t (asn_outmost_tag_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag); -/* The instance of the above function type; used internally. */ -asn_outmost_tag_f asn_TYPE_outmost_tag; - -/* - * Fetch the desired type of the Open Type based on the - * Information Object Set driven constraints. - */ -typedef struct asn_type_selector_result_s { - const struct asn_TYPE_descriptor_s *type_descriptor; /* Type encoded. */ - unsigned presence_index; /* Associated choice variant. */ -} asn_type_selector_result_t; -typedef asn_type_selector_result_t(asn_type_selector_f)( - const struct asn_TYPE_descriptor_s *parent_type_descriptor, - const void *parent_structure_ptr); - -/* - * Generalized functions for dealing with the speciic type. - * May be directly invoked by applications. - */ -typedef struct asn_TYPE_operation_s { - asn_struct_free_f *free_struct; /* Free the structure */ - asn_struct_print_f *print_struct; /* Human readable output */ - asn_struct_compare_f *compare_struct; /* Compare two structures */ - ber_type_decoder_f *ber_decoder; /* Generic BER decoder */ - der_type_encoder_f *der_encoder; /* Canonical DER encoder */ - xer_type_decoder_f *xer_decoder; /* Generic XER decoder */ - xer_type_encoder_f *xer_encoder; /* [Canonical] XER encoder */ - oer_type_decoder_f *oer_decoder; /* Generic OER decoder */ - oer_type_encoder_f *oer_encoder; /* Canonical OER encoder */ - per_type_decoder_f *uper_decoder; /* Unaligned PER decoder */ - per_type_encoder_f *uper_encoder; /* Unaligned PER encoder */ - per_type_decoder_f *aper_decoder; /* Aligned PER decoder */ - per_type_encoder_f *aper_encoder; /* Aligned PER encoder */ - asn_random_fill_f *random_fill; /* Initialize with a random value */ - asn_outmost_tag_f *outmost_tag; /* */ -} asn_TYPE_operation_t; - -/* - * A constraints tuple specifying both the OER and PER constraints. - */ -typedef struct asn_encoding_constraints_s { - const struct asn_oer_constraints_s *oer_constraints; - const struct asn_per_constraints_s *per_constraints; - asn_constr_check_f *general_constraints; -} asn_encoding_constraints_t; - -/* - * The definitive description of the destination language's structure. - */ -typedef struct asn_TYPE_descriptor_s { - const char *name; /* A name of the ASN.1 type. "" in some cases. */ - const char *xml_tag; /* Name used in XML tag */ - - /* - * Generalized functions for dealing with the specific type. - * May be directly invoked by applications. - */ - asn_TYPE_operation_t *op; - - /*********************************************************************** - * Internally useful members. Not to be used by applications directly. * - **********************************************************************/ - - /* - * Tags that are expected to occur. - */ - const ber_tlv_tag_t *tags; /* Effective tags sequence for this type */ - unsigned tags_count; /* Number of tags which are expected */ - const ber_tlv_tag_t *all_tags; /* Every tag for BER/containment */ - unsigned all_tags_count; /* Number of tags */ - - /* OER, PER, and general constraints */ - asn_encoding_constraints_t encoding_constraints; - - /* - * An ASN.1 production type members (members of SEQUENCE, SET, CHOICE). - */ - struct asn_TYPE_member_s *elements; - unsigned elements_count; - - /* - * Additional information describing the type, used by appropriate - * functions above. - */ - const void *specifics; -} asn_TYPE_descriptor_t; - -/* - * This type describes an element of the constructed type, - * i.e. SEQUENCE, SET, CHOICE, etc. - */ - enum asn_TYPE_flags_e { - ATF_NOFLAGS, - ATF_POINTER = 0x01, /* Represented by the pointer */ - ATF_OPEN_TYPE = 0x02, /* Open Type */ - ATF_ANY_TYPE = 0x04 /* ANY type (deprecated!) */ - }; -typedef struct asn_TYPE_member_s { - enum asn_TYPE_flags_e flags; /* Element's presentation flags */ - unsigned optional; /* Following optional members, including current */ - unsigned memb_offset; /* Offset of the element */ - ber_tlv_tag_t tag; /* Outmost (most immediate) tag */ - int tag_mode; /* IMPLICIT/no/EXPLICIT tag at current level */ - asn_TYPE_descriptor_t *type; /* Member type descriptor */ - asn_type_selector_f *type_selector; /* IoS runtime type selector */ - asn_encoding_constraints_t encoding_constraints; - int (*default_value_cmp)(const void *sptr); /* Compare DEFAULT */ - int (*default_value_set)(void **sptr); /* Set DEFAULT */ - const char *name; /* ASN.1 identifier of the element */ -} asn_TYPE_member_t; - -/* - * BER tag to element number mapping. - */ -typedef struct asn_TYPE_tag2member_s { - ber_tlv_tag_t el_tag; /* Outmost tag of the member */ - unsigned el_no; /* Index of the associated member, base 0 */ - int toff_first; /* First occurence of the el_tag, relative */ - int toff_last; /* Last occurence of the el_tag, relative */ -} asn_TYPE_tag2member_t; - -/* - * This function prints out the contents of the target language's structure - * (struct_ptr) into the file pointer (stream) in human readable form. - * RETURN VALUES: - * 0: The structure is printed. - * -1: Problem dumping the structure. - * (See also xer_fprint() in xer_encoder.h) - */ -int asn_fprint(FILE *stream, /* Destination stream descriptor */ - const asn_TYPE_descriptor_t *td, /* ASN.1 type descriptor */ - const void *struct_ptr); /* Structure to be printed */ - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_TYPE_H_ */ diff --git a/skeletons/constraints.c b/skeletons/constraints.c deleted file mode 100644 index df3c6c1..0000000 --- a/skeletons/constraints.c +++ /dev/null @@ -1,93 +0,0 @@ -#include -#include - -int -asn_generic_no_constraint(const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, - asn_app_constraint_failed_f *cb, void *key) { - (void)type_descriptor; /* Unused argument */ - (void)struct_ptr; /* Unused argument */ - (void)cb; /* Unused argument */ - (void)key; /* Unused argument */ - - /* Nothing to check */ - return 0; -} - -int -asn_generic_unknown_constraint(const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, - asn_app_constraint_failed_f *cb, void *key) { - (void)type_descriptor; /* Unused argument */ - (void)struct_ptr; /* Unused argument */ - (void)cb; /* Unused argument */ - (void)key; /* Unused argument */ - - /* Unknown how to check */ - return 0; -} - -struct errbufDesc { - const asn_TYPE_descriptor_t *failed_type; - const void *failed_struct_ptr; - char *errbuf; - size_t errlen; -}; - -static void -_asn_i_ctfailcb(void *key, const asn_TYPE_descriptor_t *td, const void *sptr, - const char *fmt, ...) { - struct errbufDesc *arg = key; - va_list ap; - ssize_t vlen; - ssize_t maxlen; - - arg->failed_type = td; - arg->failed_struct_ptr = sptr; - - maxlen = arg->errlen; - if(maxlen <= 0) - return; - - va_start(ap, fmt); - vlen = vsnprintf(arg->errbuf, maxlen, fmt, ap); - va_end(ap); - if(vlen >= maxlen) { - arg->errbuf[maxlen-1] = '\0'; /* Ensuring libc correctness */ - arg->errlen = maxlen - 1; /* Not counting termination */ - return; - } else if(vlen >= 0) { - arg->errbuf[vlen] = '\0'; /* Ensuring libc correctness */ - arg->errlen = vlen; /* Not counting termination */ - } else { - /* - * The libc on this system is broken. - */ - vlen = sizeof("") - 1; - maxlen--; - arg->errlen = vlen < maxlen ? vlen : maxlen; - memcpy(arg->errbuf, "", arg->errlen); - arg->errbuf[arg->errlen] = 0; - } - - return; -} - -int -asn_check_constraints(const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, char *errbuf, size_t *errlen) { - struct errbufDesc arg; - int ret; - - arg.failed_type = 0; - arg.failed_struct_ptr = 0; - arg.errbuf = errbuf; - arg.errlen = errlen ? *errlen : 0; - - ret = type_descriptor->encoding_constraints.general_constraints( - type_descriptor, struct_ptr, _asn_i_ctfailcb, &arg); - if(ret == -1 && errlen) *errlen = arg.errlen; - - return ret; -} - diff --git a/skeletons/constraints.h b/skeletons/constraints.h deleted file mode 100644 index 0bd86a9..0000000 --- a/skeletons/constraints.h +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN1_CONSTRAINTS_VALIDATOR_H -#define ASN1_CONSTRAINTS_VALIDATOR_H - -#include /* Platform-dependent types */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Validate the structure according to the ASN.1 constraints. - * If errbuf and errlen are given, they shall be pointing to the appropriate - * buffer space and its length before calling this function. Alternatively, - * they could be passed as NULL's. If constraints validation fails, - * errlen will contain the actual number of bytes taken from the errbuf - * to encode an error message (properly 0-terminated). - * - * RETURN VALUES: - * This function returns 0 in case all ASN.1 constraints are met - * and -1 if one or more constraints were failed. - */ -int asn_check_constraints( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Target language's structure */ - char *errbuf, /* Returned error description */ - size_t *errlen /* Length of the error description */ -); - - -/* - * Generic type for constraint checking callback, - * associated with every type descriptor. - */ -typedef int(asn_constr_check_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct_ptr, - asn_app_constraint_failed_f *optional_callback, /* Log the error */ - void *optional_app_key /* Opaque key passed to a callback */ -); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -asn_constr_check_f asn_generic_no_constraint; /* No constraint whatsoever */ -asn_constr_check_f asn_generic_unknown_constraint; /* Not fully supported */ - -/* - * Invoke the callback with a complete error message. - */ -#define ASN__CTFAIL if(ctfailcb) ctfailcb - -#ifdef __cplusplus -} -#endif - -#endif /* ASN1_CONSTRAINTS_VALIDATOR_H */ diff --git a/skeletons/converter-example.c b/skeletons/converter-example.c deleted file mode 100644 index c691f90..0000000 --- a/skeletons/converter-example.c +++ /dev/null @@ -1,1032 +0,0 @@ -/* - * Generic converter template for a selected ASN.1 type. - * Copyright (c) 2005-2017 Lev Walkin . - * All rights reserved. - * - * To compile with your own ASN.1 type, redefine the PDU as shown: - * - * cc -DPDU=MyCustomType -o myDecoder.o -c converter-example.c - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#define __EXTENSIONS__ -#include -#include -#include /* for atoi(3) */ -#include /* for getopt(3) */ -#include /* for strerror(3) */ -#include /* for EX_* exit codes */ -#include /* for errno */ -#include /* for isatty(3) */ -#include -#include /* for ASN__DEFAULT_STACK_MAX */ - -/* Convert "Type" defined by -DPDU into "asn_DEF_Type" */ -#ifdef PDU -#define ASN_DEF_PDU(t) asn_DEF_ ## t -#define DEF_PDU_Type(t) ASN_DEF_PDU(t) -#define PDU_Type DEF_PDU_Type(PDU) -extern asn_TYPE_descriptor_t PDU_Type; /* ASN.1 type to be decoded */ -#define PDU_Type_Ptr (&PDU_Type) -#else /* !PDU */ -#define PDU_Type_Ptr NULL -#endif /* PDU */ - -#ifdef ASN_PDU_COLLECTION /* Generated by asn1c -pdu=... */ -extern asn_TYPE_descriptor_t *asn_pdu_collection[]; -#endif - -#ifndef NO_ASN_PDU -#if !defined(PDU) && !defined(ASN_PDU_COLLECTION) -#error Define -DPDU to compile this example converter. -#error `asn1c -pdu=...` adds necessary flags automatically. -#endif -#endif - -/* - * Open file and parse its contens. - */ -static void *data_decode_from_file(enum asn_transfer_syntax, - asn_TYPE_descriptor_t *asnTypeOfPDU, - FILE *file, const char *name, - ssize_t suggested_bufsize, int first_pdu); -static int write_out(const void *buffer, size_t size, void *key); -static FILE *argument_to_file(char *av[], int idx); -static char *argument_to_name(char *av[], int idx); - - int opt_debug; /* -d (or -dd) */ -static int opt_check; /* -c (constraints checking) */ -static int opt_stack; /* -s (maximum stack size) */ -static int opt_nopad; /* -per-nopad (PER input is not padded between msgs) */ -static int opt_onepdu; /* -1 (decode single PDU) */ - -#ifdef JUNKTEST /* Enable -J */ -#define JUNKOPT "J:" -static double opt_jprob; /* Junk bit probability */ -static int junk_failures; -static void junk_bytes_with_probability(uint8_t *, size_t, double prob); - -#define RANDOPT "R:" -static ssize_t random_max_size = 0; /* Size of the random data */ - -#if !defined(__FreeBSD__) && !(defined(__APPLE__) && defined(__MACH__)) -static void -srandomdev(void) { - FILE *f = fopen("/dev/urandom", "rb"); - unsigned seed; - if(f) { - if(fread(&seed, 1, sizeof(seed), f) != sizeof(seed)) { - seed = time(NULL); - } - fclose(f); - } else { - seed = time(NULL); - } - srandom(seed); -} -#endif - -#else /* !JUNKTEST */ -#define JUNKOPT -#define RANDOPT -#endif /* JUNKTEST */ - -/* Debug output function */ -static void CC_PRINTFLIKE(1, 2) -DEBUG(const char *fmt, ...) { - va_list ap; - if(!opt_debug) return; - fprintf(stderr, "AD: "); - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - fprintf(stderr, "\n"); -} - -static const char * -ats_simple_name(enum asn_transfer_syntax syntax) { - switch(syntax) { - case ATS_INVALID: - return "/dev/null"; - case ATS_NONSTANDARD_PLAINTEXT: - return "plaintext"; - case ATS_BER: - return "BER"; - case ATS_DER: - return "DER"; - case ATS_CER: - return "CER"; - case ATS_BASIC_OER: - case ATS_CANONICAL_OER: - return "OER"; - case ATS_BASIC_XER: - case ATS_CANONICAL_XER: - return "XER"; - case ATS_UNALIGNED_BASIC_PER: - case ATS_UNALIGNED_CANONICAL_PER: - return "PER"; - default: - return ""; - } -} - -#define CODEC_OFFSET(fname) ((ptrdiff_t)&(((asn_TYPE_operation_t *)0)->fname)) -typedef struct { - const char *name; - enum asn_transfer_syntax syntax; - ptrdiff_t codec_offset; - const char *full_name; -} syntax_selector; - -static syntax_selector input_encodings[] = { - {"ber", ATS_BER, CODEC_OFFSET(ber_decoder), - "Input is in BER (Basic Encoding Rules) or DER"}, - {"oer", ATS_BASIC_OER, CODEC_OFFSET(oer_decoder), - "Input is in OER (Octet Encoding Rules)"}, - {"per", ATS_UNALIGNED_BASIC_PER, CODEC_OFFSET(uper_decoder), - "Input is in Unaligned PER (Packed Encoding Rules)"}, - {"aper", ATS_ALIGNED_BASIC_PER, CODEC_OFFSET(aper_decoder), - "Input is in Aligned PER (Packed Encoding Rules)"}, - {"xer", ATS_BASIC_XER, CODEC_OFFSET(xer_decoder), - "Input is in XER (XML Encoding Rules)"}, - {0, ATS_INVALID, 0, 0}}; - -static syntax_selector output_encodings[] = { - {"der", ATS_DER, CODEC_OFFSET(der_encoder), - "Output as DER (Distinguished Encoding Rules)"}, - {"oer", ATS_CANONICAL_OER, CODEC_OFFSET(oer_encoder), - "Output as Canonical OER (Octet Encoding Rules)"}, - {"per", ATS_UNALIGNED_CANONICAL_PER, CODEC_OFFSET(uper_encoder), - "Output as Unaligned PER (Packed Encoding Rules)"}, - {"aper", ATS_ALIGNED_CANONICAL_PER, CODEC_OFFSET(aper_encoder), - "Output as Aligned PER (Packed Encoding Rules)"}, - {"xer", ATS_BASIC_XER, CODEC_OFFSET(xer_encoder), - "Output as XER (XML Encoding Rules)"}, - {"text", ATS_NONSTANDARD_PLAINTEXT, CODEC_OFFSET(print_struct), - "Output as plain semi-structured text"}, - {"null", ATS_INVALID, CODEC_OFFSET(print_struct), - "Verify (decode) input, but do not output"}, - {0, ATS_INVALID, 0, 0}}; - -static int -has_codec_defined(const asn_TYPE_descriptor_t *td, - const syntax_selector *element) { - return *(const void *const *)(const void *)((const char *)td->op - + element->codec_offset) != 0; -} - -/* - * Select ASN.1 Transfer Enocoding Syntax by command line name. - */ -static const syntax_selector * -ats_by_name(const char *name, const asn_TYPE_descriptor_t *td, - const syntax_selector *first_element) { - const syntax_selector *element; - for(element = first_element; element->name; element++) { - if(strcmp(element->name, name) == 0) { - if(td && td->op && has_codec_defined(td, element)) { - return element; - } - } - } - return NULL; -} - -int -main(int ac, char *av[]) { - FILE *binary_out; - asn_TYPE_descriptor_t *pduType = PDU_Type_Ptr; - asn_TYPE_descriptor_t *anyPduType = PDU_Type_Ptr; - ssize_t suggested_bufsize = 8192; /* close or equal to stdio buffer */ - int number_of_iterations = 1; - int num; - int ch; - const syntax_selector *sel; - enum asn_transfer_syntax isyntax = ATS_INVALID; - enum asn_transfer_syntax osyntax = ATS_BASIC_XER; - - if(!anyPduType) { -#ifdef ASN_PDU_COLLECTION - anyPduType = asn_pdu_collection[0]; - if(!anyPduType) { - fprintf(stderr, - "Empty PDU collection, no reference PDU to choose from.\n"); - exit(EX_SOFTWARE); - } -#else - fprintf(stderr, "Either asn1c -pdu=... or cc -DPDU should be used.\n"); - exit(EX_SOFTWARE); -#endif - } - - /* Figure out if a specialty decoder needs to be default */ -#ifndef ASN_DISABLE_OER_SUPPORT - isyntax = ATS_BASIC_OER; -#endif -#ifndef ASN_DISABLE_PER_SUPPORT - isyntax = ATS_UNALIGNED_BASIC_PER; -#endif - - /* - * Pocess the command-line argments. - */ - while((ch = getopt(ac, av, "i:o:1b:cdn:p:hs:" JUNKOPT RANDOPT)) != -1) - switch(ch) { - case 'i': - sel = ats_by_name(optarg, anyPduType, input_encodings); - if(sel) { - isyntax = sel->syntax; - } else { - fprintf(stderr, "-i: '%s': improper format selector\n", - optarg); - exit(EX_UNAVAILABLE); - } - break; - case 'o': - sel = ats_by_name(optarg, anyPduType, output_encodings); - if(sel) { - osyntax = sel->syntax; - } else { - fprintf(stderr, "-o: '%s': improper format selector\n", - optarg); - exit(EX_UNAVAILABLE); - } - break; - case '1': - opt_onepdu = 1; - break; - case 'b': - suggested_bufsize = atoi(optarg); - if(suggested_bufsize < 1 - || suggested_bufsize > 16 * 1024 * 1024) { - fprintf(stderr, - "-b %s: Improper buffer size (1..16M)\n", - optarg); - exit(EX_UNAVAILABLE); - } - break; - case 'c': - opt_check = 1; - break; - case 'd': - opt_debug++; /* Double -dd means ASN.1 debug */ - break; - case 'n': - number_of_iterations = atoi(optarg); - if(number_of_iterations < 1) { - fprintf(stderr, - "-n %s: Improper iterations count\n", optarg); - exit(EX_UNAVAILABLE); - } - break; - case 'p': - if(strcmp(optarg, "er-nopad") == 0) { - opt_nopad = 1; - break; - } -#ifdef ASN_PDU_COLLECTION - if(strcmp(optarg, "list") == 0) { - asn_TYPE_descriptor_t **pdu = asn_pdu_collection; - fprintf(stderr, "Available PDU types:\n"); - for(; *pdu; pdu++) printf("%s\n", (*pdu)->name); - exit(0); - } else if(optarg[0] >= 'A' && optarg[0] <= 'Z') { - asn_TYPE_descriptor_t **pdu = asn_pdu_collection; - while(*pdu && strcmp((*pdu)->name, optarg)) pdu++; - if(*pdu) { pduType = *pdu; break; } - fprintf(stderr, "-p %s: Unrecognized PDU. Try '-p list'.\n", - optarg); - exit(EX_USAGE); - } -#else /* Without -pdu=auto there's just a single type */ - if(strcmp(optarg, "list") == 0) { - fprintf(stderr, "Available PDU types:\n"); - if(pduType) { - printf("%s\n", pduType->name); - } - exit(0); - } else if(optarg[0] >= 'A' && optarg[0] <= 'Z') { - if(pduType && strcmp(optarg, pduType->name) == 0) { - break; - } - fprintf(stderr, "-p %s: Unrecognized PDU. Try '-p list'.\n", - optarg); - exit(EX_USAGE); - } -#endif /* ASN_PDU_COLLECTION */ - fprintf(stderr, "-p %s: Unrecognized option\n", optarg); - exit(EX_UNAVAILABLE); - case 's': - opt_stack = atoi(optarg); - if(opt_stack < 0) { - fprintf(stderr, - "-s %s: Non-negative value expected\n", - optarg); - exit(EX_UNAVAILABLE); - } - break; -#ifdef JUNKTEST - case 'J': - opt_jprob = strtod(optarg, 0); - if(opt_jprob <= 0.0 || opt_jprob > 1.0) { - fprintf(stderr, - "-J %s: Probability range 0..1 expected \n", - optarg); - exit(EX_UNAVAILABLE); - } - break; - case 'R': - isyntax = ATS_RANDOM; - random_max_size = atoi(optarg); - if(random_max_size < 0) { - fprintf(stderr, - "-R %s: Non-negative value expected\n", - optarg); - exit(EX_UNAVAILABLE); - } - srandomdev(); - break; -#endif /* JUNKTEST */ - case 'h': - default: -#ifdef ASN_CONVERTER_TITLE -#define _AXS(x) #x -#define _ASX(x) _AXS(x) - fprintf(stderr, "%s\n", _ASX(ASN_CONVERTER_TITLE)); -#endif - fprintf(stderr, "Usage: %s [options] ...\n", av[0]); - fprintf(stderr, "Where options are:\n"); - for(sel = input_encodings; sel->name; sel++) { - if(ats_by_name(sel->name, anyPduType, sel)) { - fprintf(stderr, " -i%s %s%s\n", sel->name, - sel->full_name, - (sel->syntax == isyntax) ? " (DEFAULT)" : ""); - } - } - for(sel = output_encodings; sel->name; sel++) { - if(ats_by_name(sel->name, anyPduType, sel)) { - fprintf(stderr, " -o%s%s %s%s\n", sel->name, - strlen(sel->name) > 3 ? "" : " ", - sel->full_name, - (sel->syntax == osyntax) ? " (DEFAULT)" : ""); - } - } - if(anyPduType->op->uper_decoder) { - fprintf(stderr, - " -per-nopad Assume PER PDUs are not padded (-iper)\n"); - } -#ifdef ASN_PDU_COLLECTION - fprintf(stderr, - " -p Specify PDU type to decode\n" - " -p list List available PDUs\n"); -#endif /* ASN_PDU_COLLECTION */ - fprintf(stderr, - " -1 Decode only the first PDU in file\n" - " -b Set the i/o buffer size (default is %ld)\n" - " -c Check ASN.1 constraints after decoding\n" - " -d Enable debugging (-dd is even better)\n" - " -n Process files times\n" - " -s Set the stack usage limit (default is %d)\n" -#ifdef JUNKTEST - " -J Set random junk test bit garbaging probability\n" - " -R Generate a random value of roughly the given size,\n" - " instead of parsing the value from file.\n" -#endif - , (long)suggested_bufsize, ASN__DEFAULT_STACK_MAX); - exit(EX_USAGE); - } - - ac -= optind; - av += optind; - - if(!pduType) { -#ifdef NO_ASN_PDU - fprintf(stderr, "No -DPDU defined during compilation.\n"); - exit(0); -#else - fprintf(stderr, "Use '-p ' or '-p list' to select ASN.1 type.\n"); - exit(EX_USAGE); -#endif /* NO_ASN_PDU */ - } - - if(ac < 1 && isyntax != ATS_RANDOM) { - fprintf(stderr, "%s: No input files specified. " - "Try '-h' for more information\n", - av[-optind]); - exit(EX_USAGE); - } - - if(isatty(1)) { - const int is_text_output = osyntax == ATS_NONSTANDARD_PLAINTEXT - || osyntax == ATS_BASIC_XER - || osyntax == ATS_CANONICAL_XER; - if(is_text_output) { - binary_out = stdout; - } else { - fprintf(stderr, "(Suppressing binary output to a terminal.)\n"); - binary_out = fopen("/dev/null", "wb"); - if(!binary_out) { - fprintf(stderr, "Can't open /dev/null: %s\n", strerror(errno)); - exit(EX_OSERR); - } - } - } else { - binary_out = stdout; - } - setvbuf(stdout, 0, _IOLBF, 0); - - for(num = 0; num < number_of_iterations; num++) { - int ac_i; - /* - * Process all files in turn. - */ - for(ac_i = (isyntax == ATS_RANDOM) ? -1 : 0; ac_i < ac; ac_i++) { - asn_enc_rval_t erv = {0,0,0}; - void *structure; /* Decoded structure */ - FILE *file; - char *name; - int first_pdu; - - if(ac_i == -1) { - file = NULL; - name = ""; - opt_onepdu = 1; - } else { - file = argument_to_file(av, ac_i); - name = argument_to_name(av, ac_i); - } - - for(first_pdu = 1; (first_pdu || !opt_onepdu); first_pdu = 0) { - /* - * Decode the encoded structure from file. - */ -#ifdef JUNKTEST - if(isyntax == ATS_RANDOM) { - structure = NULL; - if(asn_random_fill(pduType, &structure, random_max_size) != 0) { - fprintf(stderr, "Cannot generate a random value.\n"); - assert(structure == NULL); - errno = EINVAL; - } - } else { -#endif - structure = data_decode_from_file(isyntax, pduType, file, name, - suggested_bufsize, first_pdu); -#ifdef JUNKTEST - } -#endif - if(!structure) { - if(errno) { - /* Error message is already printed */ - exit(EX_DATAERR); - } else { - /* EOF */ - break; - } - } - - /* Check ASN.1 constraints */ - if(opt_check) { - char errbuf[128]; - size_t errlen = sizeof(errbuf); - if(asn_check_constraints(pduType, structure, errbuf, &errlen)) { - fprintf(stderr, - "%s: ASN.1 constraint " - "check failed: %s\n", - name, errbuf); - exit(EX_DATAERR); - } - } - - if(osyntax == ATS_INVALID) { -#ifdef JUNKTEST - if(opt_jprob == 0.0) { - fprintf(stderr, "%s: decoded successfully\n", name); - } -#else - fprintf(stderr, "%s: decoded successfully\n", name); -#endif - } else { - erv = asn_encode(NULL, osyntax, pduType, structure, write_out, - binary_out); - - if(erv.encoded == -1) { - fprintf(stderr, "%s: Cannot convert %s into %s\n", name, - pduType->name, ats_simple_name(osyntax)); - DEBUG("Conversion failed for %s:\n", pduType->name); - asn_fprint(stderr, pduType, structure); - exit(EX_UNAVAILABLE); - } - DEBUG("Encoded in %" ASN_PRI_SSIZE " bytes of %s", erv.encoded, - ats_simple_name(osyntax)); - } - - ASN_STRUCT_FREE(*pduType, structure); - } - - if(file && file != stdin) { - fclose(file); - } - } - } - -#ifdef JUNKTEST - if(opt_jprob > 0.0) { - fprintf(stderr, "Junked %f OK (%d/%d)\n", - opt_jprob, junk_failures, number_of_iterations); - } -#endif /* JUNKTEST */ - - return 0; -} - -static struct dynamic_buffer { - uint8_t *data; /* Pointer to the data bytes */ - size_t offset; /* Offset from the start */ - size_t length; /* Length of meaningful contents */ - size_t unbits; /* Unused bits in the last byte */ - size_t allocated; /* Allocated memory for data */ - int nreallocs; /* Number of data reallocations */ - off_t bytes_shifted; /* Number of bytes ever shifted */ -} DynamicBuffer; - -static void -buffer_dump() { - uint8_t *p = DynamicBuffer.data + DynamicBuffer.offset; - uint8_t *e = p + DynamicBuffer.length - (DynamicBuffer.unbits ? 1 : 0); - if(!opt_debug) return; - DEBUG("Buffer: { d=%p, o=%" ASN_PRI_SIZE ", l=%" ASN_PRI_SIZE - ", u=%" ASN_PRI_SIZE ", a=%" ASN_PRI_SIZE ", s=%" ASN_PRI_SIZE " }", - (const void *)DynamicBuffer.data, - DynamicBuffer.offset, - DynamicBuffer.length, - DynamicBuffer.unbits, - DynamicBuffer.allocated, - (size_t)DynamicBuffer.bytes_shifted); - for(; p < e; p++) { - fprintf(stderr, " %c%c%c%c%c%c%c%c", - ((*p >> 7) & 1) ? '1' : '0', - ((*p >> 6) & 1) ? '1' : '0', - ((*p >> 5) & 1) ? '1' : '0', - ((*p >> 4) & 1) ? '1' : '0', - ((*p >> 3) & 1) ? '1' : '0', - ((*p >> 2) & 1) ? '1' : '0', - ((*p >> 1) & 1) ? '1' : '0', - ((*p >> 0) & 1) ? '1' : '0'); - } - if(DynamicBuffer.unbits) { - unsigned int shift; - fprintf(stderr, " "); - for(shift = 7; shift >= DynamicBuffer.unbits; shift--) - fprintf(stderr, "%c", ((*p >> shift) & 1) ? '1' : '0'); - fprintf(stderr, " %" ASN_PRI_SSIZE ":%" ASN_PRI_SSIZE "\n", - (ssize_t)DynamicBuffer.length - 1, - (ssize_t)8 - DynamicBuffer.unbits); - } else { - fprintf(stderr, " %ld\n", (long)DynamicBuffer.length); - } -} - -/* - * Move the buffer content left N bits, possibly joining it with - * preceeding content. - */ -static void -buffer_shift_left(size_t offset, int bits) { - uint8_t *ptr = DynamicBuffer.data + DynamicBuffer.offset + offset; - uint8_t *end = DynamicBuffer.data + DynamicBuffer.offset - + DynamicBuffer.length - 1; - - if(!bits) return; - - DEBUG("Shifting left %d bits off %ld (o=%ld, u=%ld, l=%ld)", - bits, (long)offset, - (long)DynamicBuffer.offset, - (long)DynamicBuffer.unbits, - (long)DynamicBuffer.length); - - if(offset) { - int right; - right = ptr[0] >> (8 - bits); - - DEBUG("oleft: %c%c%c%c%c%c%c%c", - ((ptr[-1] >> 7) & 1) ? '1' : '0', - ((ptr[-1] >> 6) & 1) ? '1' : '0', - ((ptr[-1] >> 5) & 1) ? '1' : '0', - ((ptr[-1] >> 4) & 1) ? '1' : '0', - ((ptr[-1] >> 3) & 1) ? '1' : '0', - ((ptr[-1] >> 2) & 1) ? '1' : '0', - ((ptr[-1] >> 1) & 1) ? '1' : '0', - ((ptr[-1] >> 0) & 1) ? '1' : '0'); - - DEBUG("oriht: %c%c%c%c%c%c%c%c", - ((ptr[0] >> 7) & 1) ? '1' : '0', - ((ptr[0] >> 6) & 1) ? '1' : '0', - ((ptr[0] >> 5) & 1) ? '1' : '0', - ((ptr[0] >> 4) & 1) ? '1' : '0', - ((ptr[0] >> 3) & 1) ? '1' : '0', - ((ptr[0] >> 2) & 1) ? '1' : '0', - ((ptr[0] >> 1) & 1) ? '1' : '0', - ((ptr[0] >> 0) & 1) ? '1' : '0'); - - DEBUG("mriht: %c%c%c%c%c%c%c%c", - ((right >> 7) & 1) ? '1' : '0', - ((right >> 6) & 1) ? '1' : '0', - ((right >> 5) & 1) ? '1' : '0', - ((right >> 4) & 1) ? '1' : '0', - ((right >> 3) & 1) ? '1' : '0', - ((right >> 2) & 1) ? '1' : '0', - ((right >> 1) & 1) ? '1' : '0', - ((right >> 0) & 1) ? '1' : '0'); - - ptr[-1] = (ptr[-1] & (0xff << bits)) | right; - - DEBUG("after: %c%c%c%c%c%c%c%c", - ((ptr[-1] >> 7) & 1) ? '1' : '0', - ((ptr[-1] >> 6) & 1) ? '1' : '0', - ((ptr[-1] >> 5) & 1) ? '1' : '0', - ((ptr[-1] >> 4) & 1) ? '1' : '0', - ((ptr[-1] >> 3) & 1) ? '1' : '0', - ((ptr[-1] >> 2) & 1) ? '1' : '0', - ((ptr[-1] >> 1) & 1) ? '1' : '0', - ((ptr[-1] >> 0) & 1) ? '1' : '0'); - } - - buffer_dump(); - - for(; ptr < end; ptr++) { - int right = ptr[1] >> (8 - bits); - *ptr = (*ptr << bits) | right; - } - *ptr <<= bits; - - DEBUG("Unbits [%" ASN_PRI_SIZE "=>", DynamicBuffer.unbits); - if(DynamicBuffer.unbits == 0) { - DynamicBuffer.unbits += bits; - } else { - DynamicBuffer.unbits += bits; - if(DynamicBuffer.unbits > 7) { - DynamicBuffer.unbits -= 8; - DynamicBuffer.length--; - DynamicBuffer.bytes_shifted++; - } - } - DEBUG("Unbits =>%" ASN_PRI_SIZE "]", DynamicBuffer.unbits); - - buffer_dump(); - - DEBUG("Shifted. Now (o=%" ASN_PRI_SIZE ", u=%" ASN_PRI_SIZE - " l=%" ASN_PRI_SIZE ")", - DynamicBuffer.offset, - DynamicBuffer.unbits, - DynamicBuffer.length); -} - -/* - * Ensure that the buffer contains at least this amount of free space. - */ -static void add_bytes_to_buffer(const void *data2add, size_t bytes) { - - if(bytes == 0) return; - - DEBUG("=> add_bytes(%" ASN_PRI_SIZE ") { o=%" ASN_PRI_SIZE - " l=%" ASN_PRI_SIZE " u=%" ASN_PRI_SIZE ", s=%" ASN_PRI_SIZE " }", - bytes, - DynamicBuffer.offset, - DynamicBuffer.length, - DynamicBuffer.unbits, - DynamicBuffer.allocated); - - if(DynamicBuffer.allocated - >= (DynamicBuffer.offset + DynamicBuffer.length + bytes)) { - DEBUG("\tNo buffer reallocation is necessary"); - } else if(bytes <= DynamicBuffer.offset) { - DEBUG("\tContents shifted by %ld", DynamicBuffer.offset); - - /* Shift the buffer contents */ - memmove(DynamicBuffer.data, - DynamicBuffer.data + DynamicBuffer.offset, - DynamicBuffer.length); - DynamicBuffer.bytes_shifted += DynamicBuffer.offset; - DynamicBuffer.offset = 0; - } else { - size_t newsize = (DynamicBuffer.allocated << 2) + bytes; - void *p = MALLOC(newsize); - if(!p) { - perror("malloc()"); - exit(EX_OSERR); - } - if (DynamicBuffer.length) { - memcpy(p, - DynamicBuffer.data + DynamicBuffer.offset, - DynamicBuffer.length); - } - FREEMEM(DynamicBuffer.data); - DynamicBuffer.data = (uint8_t *)p; - DynamicBuffer.offset = 0; - DynamicBuffer.allocated = newsize; - DynamicBuffer.nreallocs++; - DEBUG("\tBuffer reallocated to %ld (%d time)", - newsize, DynamicBuffer.nreallocs); - } - - memcpy(DynamicBuffer.data - + DynamicBuffer.offset + DynamicBuffer.length, - data2add, bytes); - DynamicBuffer.length += bytes; - if(DynamicBuffer.unbits) { - int bits = DynamicBuffer.unbits; - DynamicBuffer.unbits = 0; - buffer_shift_left(DynamicBuffer.length - bytes, bits); - } - - DEBUG("<= add_bytes(%" ASN_PRI_SIZE ") { o=%" ASN_PRI_SIZE - " l=%" ASN_PRI_SIZE " u=%" ASN_PRI_SIZE ", s=%" ASN_PRI_SIZE " }", - bytes, - DynamicBuffer.offset, - DynamicBuffer.length, - DynamicBuffer.unbits, - DynamicBuffer.allocated); -} - -static int -is_syntax_PER(enum asn_transfer_syntax syntax) { - return (syntax == ATS_UNALIGNED_BASIC_PER - || syntax == ATS_UNALIGNED_CANONICAL_PER - || syntax == ATS_ALIGNED_BASIC_PER - || syntax == ATS_ALIGNED_CANONICAL_PER); -} - -static int -restartability_supported(enum asn_transfer_syntax syntax) { - return !is_syntax_PER(syntax); -} - -static void * -data_decode_from_file(enum asn_transfer_syntax isyntax, asn_TYPE_descriptor_t *pduType, FILE *file, const char *name, ssize_t suggested_bufsize, int on_first_pdu) { - static uint8_t *fbuf; - static ssize_t fbuf_size; - static asn_codec_ctx_t s_codec_ctx; - asn_codec_ctx_t *opt_codec_ctx = 0; - void *structure = 0; - asn_dec_rval_t rval; - size_t old_offset; - size_t new_offset; - int tolerate_eof; - size_t rd; - - if(!file) { - fprintf(stderr, "%s: %s\n", name, strerror(errno)); - errno = EINVAL; - return 0; - } - - if(opt_stack) { - s_codec_ctx.max_stack_size = opt_stack; - opt_codec_ctx = &s_codec_ctx; - } - - DEBUG("Processing %s", name); - - /* prepare the file buffer */ - if(fbuf_size != suggested_bufsize) { - fbuf = (uint8_t *)REALLOC(fbuf, suggested_bufsize); - if(!fbuf) { - perror("realloc()"); - exit(EX_OSERR); - } - fbuf_size = suggested_bufsize; - } - - if(on_first_pdu) { - DynamicBuffer.offset = 0; - DynamicBuffer.length = 0; - DynamicBuffer.unbits = 0; - DynamicBuffer.allocated = 0; - DynamicBuffer.bytes_shifted = 0; - DynamicBuffer.nreallocs = 0; - } - - old_offset = DynamicBuffer.bytes_shifted + DynamicBuffer.offset; - - /* Pretend immediate EOF */ - rval.code = RC_WMORE; - rval.consumed = 0; - - for(tolerate_eof = 1; /* Allow EOF first time buffer is non-empty */ - (rd = fread(fbuf, 1, fbuf_size, file)) - || feof(file) == 0 - || (tolerate_eof && DynamicBuffer.length) - ;) { - int ecbits = 0; /* Extra consumed bits in case of PER */ - uint8_t *i_bptr; - size_t i_size; - - /* - * Copy the data over, or use the original buffer. - */ - if(DynamicBuffer.allocated) { - /* Append new data into the existing dynamic buffer */ - add_bytes_to_buffer(fbuf, rd); - i_bptr = DynamicBuffer.data + DynamicBuffer.offset; - i_size = DynamicBuffer.length; - } else { - i_bptr = fbuf; - i_size = rd; - } - - DEBUG("Decoding %" ASN_PRI_SIZE " bytes", i_size); - -#ifdef JUNKTEST - junk_bytes_with_probability(i_bptr, i_size, opt_jprob); -#endif - - if(is_syntax_PER(isyntax) && opt_nopad) { -#ifdef ASN_DISABLE_PER_SUPPORT - rval.code = RC_FAIL; - rval.consumed = 0; -#else - if(isyntax == ATS_UNALIGNED_BASIC_PER) - rval = uper_decode(opt_codec_ctx, pduType, (void **)&structure, - i_bptr, i_size, 0, DynamicBuffer.unbits); - else - rval = aper_decode(opt_codec_ctx, pduType, (void **)&structure, - i_bptr, i_size, 0, DynamicBuffer.unbits); - /* uper_decode() returns bits! */ - ecbits = rval.consumed % 8; /* Bits consumed from the last byte */ - rval.consumed >>= 3; /* Convert bits into bytes. */ -#endif - /* Non-padded PER decoder */ - } else { - rval = asn_decode(opt_codec_ctx, isyntax, pduType, - (void **)&structure, i_bptr, i_size); - } - if(rval.code == RC_WMORE && !restartability_supported(isyntax)) { - /* PER does not support restartability */ - ASN_STRUCT_FREE(*pduType, structure); - structure = 0; - rval.consumed = 0; - /* Continue accumulating data */ - } - - DEBUG("decode(%" ASN_PRI_SIZE ") consumed %" ASN_PRI_SIZE - "+%db (%" ASN_PRI_SIZE "), code %d", - DynamicBuffer.length, rval.consumed, ecbits, i_size, rval.code); - - if(DynamicBuffer.allocated == 0) { - /* - * Flush remainder into the intermediate buffer. - */ - if(rval.code != RC_FAIL && rval.consumed < rd) { - add_bytes_to_buffer(fbuf + rval.consumed, - rd - rval.consumed); - buffer_shift_left(0, ecbits); - DynamicBuffer.bytes_shifted = rval.consumed; - rval.consumed = 0; - ecbits = 0; - } - } - - /* - * Adjust position inside the source buffer. - */ - if(DynamicBuffer.allocated) { - DynamicBuffer.offset += rval.consumed; - DynamicBuffer.length -= rval.consumed; - } else { - DynamicBuffer.bytes_shifted += rval.consumed; - } - - switch(rval.code) { - case RC_OK: - if(ecbits) buffer_shift_left(0, ecbits); - DEBUG("RC_OK, finishing up with %ld+%d", - (long)rval.consumed, ecbits); - return structure; - case RC_WMORE: - DEBUG("RC_WMORE, continuing read=%ld, cons=%ld " - " with %ld..%ld-%ld..%ld", - (long)rd, - (long)rval.consumed, - (long)DynamicBuffer.offset, - (long)DynamicBuffer.length, - (long)DynamicBuffer.unbits, - (long)DynamicBuffer.allocated); - if(!rd) tolerate_eof--; - continue; - case RC_FAIL: - break; - } - break; - } - - DEBUG("Clean up partially decoded %s", pduType->name); - ASN_STRUCT_FREE(*pduType, structure); - - new_offset = DynamicBuffer.bytes_shifted + DynamicBuffer.offset; - - /* - * Print a message and return failure only if not EOF, - * unless this is our first PDU (empty file). - */ - if(on_first_pdu - || DynamicBuffer.length - || new_offset - old_offset > ((isyntax == ATS_BASIC_XER)?sizeof("\r\n")-1:0) - ) { - -#ifdef JUNKTEST - /* - * Nothing's wrong with being unable to decode junk. - * Simulate EOF. - */ - if(opt_jprob != 0.0) { - junk_failures++; - errno = 0; - return 0; - } -#endif - - DEBUG("ofp %d, no=%ld, oo=%ld, dbl=%ld", - on_first_pdu, (long)new_offset, (long)old_offset, - (long)DynamicBuffer.length); - fprintf(stderr, "%s: " - "Decode failed past byte %ld: %s\n", - name, (long)new_offset, - (rval.code == RC_WMORE) - ? "Unexpected end of input" - : "Input processing error"); -#ifndef ENOMSG -#define ENOMSG EINVAL -#endif -#ifndef EBADMSG -#define EBADMSG EINVAL -#endif - errno = (rval.code == RC_WMORE) ? ENOMSG : EBADMSG; - } else { - /* Got EOF after a few successful PDUs */ - errno = 0; - } - - return 0; -} - -/* Dump the buffer out to the specified FILE */ -static int write_out(const void *buffer, size_t size, void *key) { - FILE *fp = (FILE *)key; - return (fwrite(buffer, 1, size, fp) == size) ? 0 : -1; -} - -static int argument_is_stdin(char *av[], int idx) { - if(strcmp(av[idx], "-")) { - return 0; /* Certainly not */ - } else { - /* This might be , unless `./program -- -` */ - if(strcmp(av[-1], "--")) - return 1; - else - return 0; - } -} - -static FILE *argument_to_file(char *av[], int idx) { - return argument_is_stdin(av, idx) ? stdin : fopen(av[idx], "rb"); -} - -static char *argument_to_name(char *av[], int idx) { - return argument_is_stdin(av, idx) ? "standard input" : av[idx]; -} - -#ifdef JUNKTEST -/* - * Fill bytes with some garbage with specified probability (more or less). - */ -static void -junk_bytes_with_probability(uint8_t *buf, size_t size, double prob) { - static int junkmode; - uint8_t *ptr; - uint8_t *end; - if(opt_jprob <= 0.0) return; - for(ptr = buf, end = ptr + size; ptr < end; ptr++) { - int byte = *ptr; - if(junkmode++ & 1) { - if((((double)random() / RAND_MAX) < prob)) - byte = random() & 0xff; - } else { -#define BPROB(b) ((((double)random() / RAND_MAX) < prob) ? b : 0) - byte ^= BPROB(0x80); - byte ^= BPROB(0x40); - byte ^= BPROB(0x20); - byte ^= BPROB(0x10); - byte ^= BPROB(0x08); - byte ^= BPROB(0x04); - byte ^= BPROB(0x02); - byte ^= BPROB(0x01); - } - if(byte != *ptr) { - *ptr = byte; - } - } -} -#endif /* JUNKTEST */ - diff --git a/skeletons/der_encoder.c b/skeletons/der_encoder.c deleted file mode 100644 index 2c6a6f7..0000000 --- a/skeletons/der_encoder.c +++ /dev/null @@ -1,194 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -static ssize_t der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, - asn_app_consume_bytes_f *cb, void *app_key, int constructed); - -/* - * The DER encoder of any type. - */ -asn_enc_rval_t -der_encode(const asn_TYPE_descriptor_t *type_descriptor, const void *struct_ptr, - asn_app_consume_bytes_f *consume_bytes, void *app_key) { - ASN_DEBUG("DER encoder invoked for %s", - type_descriptor->name); - - /* - * Invoke type-specific encoder. - */ - return type_descriptor->op->der_encoder( - type_descriptor, struct_ptr, /* Pointer to the destination structure */ - 0, 0, consume_bytes, app_key); -} - -/* - * Argument type and callback necessary for der_encode_to_buffer(). - */ -typedef struct enc_to_buf_arg { - void *buffer; - size_t left; -} enc_to_buf_arg; -static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { - enc_to_buf_arg *arg = (enc_to_buf_arg *)key; - - if(arg->left < size) - return -1; /* Data exceeds the available buffer size */ - - memcpy(arg->buffer, buffer, size); - arg->buffer = ((char *)arg->buffer) + size; - arg->left -= size; - - return 0; -} - -/* - * A variant of the der_encode() which encodes the data into the provided buffer - */ -asn_enc_rval_t -der_encode_to_buffer(const asn_TYPE_descriptor_t *type_descriptor, - const void *struct_ptr, void *buffer, size_t buffer_size) { - enc_to_buf_arg arg; - asn_enc_rval_t ec; - - arg.buffer = buffer; - arg.left = buffer_size; - - ec = type_descriptor->op->der_encoder(type_descriptor, - struct_ptr, /* Pointer to the destination structure */ - 0, 0, encode_to_buffer_cb, &arg); - if(ec.encoded != -1) { - assert(ec.encoded == (ssize_t)(buffer_size - arg.left)); - /* Return the encoded contents size */ - } - return ec; -} - - -/* - * Write out leading TL[v] sequence according to the type definition. - */ -ssize_t -der_write_tags(const asn_TYPE_descriptor_t *sd, size_t struct_length, - int tag_mode, int last_tag_form, - ber_tlv_tag_t tag, /* EXPLICIT or IMPLICIT tag */ - asn_app_consume_bytes_f *cb, void *app_key) { -#define ASN1_DER_MAX_TAGS_COUNT 4 - ber_tlv_tag_t - tags_buf_scratch[ASN1_DER_MAX_TAGS_COUNT * sizeof(ber_tlv_tag_t)]; - ssize_t lens[ASN1_DER_MAX_TAGS_COUNT * sizeof(ssize_t)]; - const ber_tlv_tag_t *tags; /* Copy of tags stream */ - int tags_count; /* Number of tags */ - size_t overall_length; - int i; - - ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)", - sd->name, tag_mode, sd->tags_count, - ber_tlv_tag_string(tag), - tag_mode - ?(sd->tags_count+1 - -((tag_mode == -1) && sd->tags_count)) - :sd->tags_count - ); - - if(sd->tags_count + 1 > ASN1_DER_MAX_TAGS_COUNT) { - ASN_DEBUG("System limit %d on tags count", ASN1_DER_MAX_TAGS_COUNT); - return -1; - } - - if(tag_mode) { - /* - * Instead of doing shaman dance like we do in ber_check_tags(), - * allocate a small array on the stack - * and initialize it appropriately. - */ - int stag_offset; - ber_tlv_tag_t *tags_buf = tags_buf_scratch; - tags_count = sd->tags_count - + 1 /* EXPLICIT or IMPLICIT tag is given */ - - ((tag_mode == -1) && sd->tags_count); - /* Copy tags over */ - tags_buf[0] = tag; - stag_offset = -1 + ((tag_mode == -1) && sd->tags_count); - for(i = 1; i < tags_count; i++) - tags_buf[i] = sd->tags[i + stag_offset]; - tags = tags_buf; - } else { - tags = sd->tags; - tags_count = sd->tags_count; - } - - /* No tags to write */ - if(tags_count == 0) - return 0; - - /* - * Array of tags is initialized. - * Now, compute the size of the TLV pairs, from right to left. - */ - overall_length = struct_length; - for(i = tags_count - 1; i >= 0; --i) { - lens[i] = der_write_TL(tags[i], overall_length, 0, 0, 0); - if(lens[i] == -1) return -1; - overall_length += lens[i]; - lens[i] = overall_length - lens[i]; - } - - if(!cb) return overall_length - struct_length; - - ASN_DEBUG("Encoding %s TL sequence (%d elements)", sd->name, - tags_count); - - /* - * Encode the TL sequence for real. - */ - for(i = 0; i < tags_count; i++) { - ssize_t len; - int _constr; - - /* Check if this tag happens to be constructed */ - _constr = (last_tag_form || i < (tags_count - 1)); - - len = der_write_TL(tags[i], lens[i], cb, app_key, _constr); - if(len == -1) return -1; - } - - return overall_length - struct_length; -} - -static ssize_t -der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, - asn_app_consume_bytes_f *cb, void *app_key, - int constructed) { - uint8_t buf[32]; - size_t size = 0; - int buf_size = cb?sizeof(buf):0; - ssize_t tmp; - - /* Serialize tag (T from TLV) into possibly zero-length buffer */ - tmp = ber_tlv_tag_serialize(tag, buf, buf_size); - if(tmp == -1 || tmp > (ssize_t)sizeof(buf)) return -1; - size += tmp; - - /* Serialize length (L from TLV) into possibly zero-length buffer */ - tmp = der_tlv_length_serialize(len, buf+size, buf_size?buf_size-size:0); - if(tmp == -1) return -1; - size += tmp; - - if(size > sizeof(buf)) - return -1; - - /* - * If callback is specified, invoke it, and check its return value. - */ - if(cb) { - if(constructed) *buf |= 0x20; - if(cb(buf, size, app_key) < 0) - return -1; - } - - return size; -} diff --git a/skeletons/der_encoder.h b/skeletons/der_encoder.h deleted file mode 100644 index e93944e..0000000 --- a/skeletons/der_encoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _DER_ENCODER_H_ -#define _DER_ENCODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The DER encoder of any type. May be invoked by the application. - * Produces DER- and BER-compliant encoding. (DER is a subset of BER). - * - * NOTE: Use the ber_decode() function (ber_decoder.h) to decode data - * produced by der_encode(). - */ -asn_enc_rval_t der_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* A variant of der_encode() which encodes data into the pre-allocated buffer */ -asn_enc_rval_t der_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (maximum) */ -); - -/* - * Type of the generic DER encoder. - */ -typedef asn_enc_rval_t(der_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - ber_tlv_tag_t tag, asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Write out leading TL[v] sequence according to the type definition. - */ -ssize_t der_write_tags(const struct asn_TYPE_descriptor_s *type_descriptor, - size_t struct_length, - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - int last_tag_form, /* {0,!0}: prim, constructed */ - ber_tlv_tag_t tag, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key); - -#ifdef __cplusplus -} -#endif - -#endif /* _DER_ENCODER_H_ */ diff --git a/skeletons/file-dependencies b/skeletons/file-dependencies deleted file mode 100644 index 59e2ce6..0000000 --- a/skeletons/file-dependencies +++ /dev/null @@ -1,89 +0,0 @@ -# This file contains dependency information for the asn1c compiler's skeletons. -# Feel free to edit this file. -# The format is like this: -# # Include this file unconditionally -# ... # Include dependencies of . -# - -ANY.h ANY.c OCTET_STRING.h -OPEN_TYPE.h OPEN_TYPE.c constr_CHOICE.h -BMPString.h BMPString.c UTF8String.h OCTET_STRING.h -BOOLEAN.h BOOLEAN.c -ENUMERATED.h ENUMERATED.c INTEGER.h NativeEnumerated.h -GeneralString.h GeneralString.c OCTET_STRING.h -GeneralizedTime.h GeneralizedTime.c OCTET_STRING.h -GraphicString.h GraphicString.c OCTET_STRING.h -IA5String.h IA5String.c OCTET_STRING.h -INTEGER.h INTEGER.c -ISO646String.h ISO646String.c OCTET_STRING.h -NULL.h NULL.c BOOLEAN.h -NativeEnumerated.h NativeEnumerated.c NativeInteger.h -NativeInteger.h NativeInteger.c INTEGER.h -NativeReal.h NativeReal.c REAL.h -NumericString.h NumericString.c OCTET_STRING.h -OBJECT_IDENTIFIER.h OBJECT_IDENTIFIER.c INTEGER.h OCTET_STRING.h -ObjectDescriptor.h ObjectDescriptor.c GraphicString.h -PrintableString.h PrintableString.c OCTET_STRING.h -REAL.h REAL.c INTEGER.h OCTET_STRING.h -RELATIVE-OID.h RELATIVE-OID.c OBJECT_IDENTIFIER.h OCTET_STRING.h -T61String.h T61String.c OCTET_STRING.h -TeletexString.h TeletexString.c OCTET_STRING.h -UTCTime.h UTCTime.c GeneralizedTime.h OCTET_STRING.h -UTF8String.h UTF8String.c OCTET_STRING.h -UniversalString.h UniversalString.c UTF8String.h OCTET_STRING.h -VideotexString.h VideotexString.c OCTET_STRING.h -VisibleString.h VisibleString.c OCTET_STRING.h -asn_SEQUENCE_OF.h asn_SEQUENCE_OF.c asn_SET_OF.h -asn_SET_OF.h asn_SET_OF.c -constr_CHOICE.h constr_CHOICE.c -constr_SEQUENCE.h constr_SEQUENCE.c OPEN_TYPE.h -constr_SEQUENCE_OF.h constr_SEQUENCE_OF.c asn_SEQUENCE_OF.h constr_SET_OF.h -constr_SET.h constr_SET.c -constr_SET_OF.h constr_SET_OF.c asn_SET_OF.h - -COMMON-FILES: # THIS IS A SPECIAL SECTION -asn_application.h asn_application.c # Applications should include this file -asn_ioc.h # Information Object Classes, runtime support -asn_system.h # Platform-dependent types -asn_codecs.h # Return types of encoders and decoders -asn_internal.h asn_internal.c # Internal stuff -asn_random_fill.h asn_random_fill.c # Initialize with a random value -asn_bit_data.h asn_bit_data.c # Bit streaming support -OCTET_STRING.h OCTET_STRING.c -BIT_STRING.h BIT_STRING.c OCTET_STRING.h -asn_codecs_prim.c asn_codecs_prim.h # enc/decoders for primitive types -ber_tlv_length.h ber_tlv_length.c # BER TLV L (length) -ber_tlv_tag.h ber_tlv_tag.c # BER TLV T (tag) -ber_decoder.h ber_decoder.c # BER decoder support code -der_encoder.h der_encoder.c # DER encoder support code -constr_TYPE.h constr_TYPE.c # Description of a type -constraints.h constraints.c # Subtype constraints support -xer_support.h xer_support.c # XML parsing -xer_decoder.h xer_decoder.c # XER decoding support -xer_encoder.h xer_encoder.c # XER encoding support -per_support.h per_support.c # PER parsing -per_decoder.h per_decoder.c # PER decoding support -per_encoder.h per_encoder.c # PER encoding support -per_opentype.h per_opentype.c # PER "open type" handling - -CONVERTER: # THIS IS A SPECIAL SECTION -converter-example.c # A default name for the example transcoder - -CODEC-OER: # THIS IS A SPECIAL SECTION -oer_decoder.h -oer_encoder.h -oer_support.h -oer_decoder.h oer_decoder.c OPEN_TYPE.h -oer_encoder.h oer_encoder.c -oer_support.h oer_support.c -OPEN_TYPE.h OPEN_TYPE_oer.c constr_CHOICE.h -INTEGER.h INTEGER_oer.c -BIT_STRING.h BIT_STRING_oer.c OCTET_STRING.h -OCTET_STRING.h OCTET_STRING_oer.c -NativeInteger.h NativeInteger_oer.c -NativeEnumerated.h NativeEnumerated_oer.c -constr_CHOICE.h constr_CHOICE_oer.c -constr_SEQUENCE.h constr_SEQUENCE_oer.c -constr_SET_OF.h constr_SET_OF_oer.c - -CODEC-PER: # THIS IS A SPECIAL SECTION diff --git a/skeletons/oer_decoder.c b/skeletons/oer_decoder.c deleted file mode 100644 index 0701738..0000000 --- a/skeletons/oer_decoder.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * The OER decoder of any type. - */ -asn_dec_rval_t -oer_decode(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, - const void *ptr, size_t size) { - asn_codec_ctx_t s_codec_ctx; - - /* - * Stack checker requires that the codec context - * must be allocated on the stack. - */ - if(opt_codec_ctx) { - if(opt_codec_ctx->max_stack_size) { - s_codec_ctx = *opt_codec_ctx; - opt_codec_ctx = &s_codec_ctx; - } - } else { - /* If context is not given, be security-conscious anyway */ - memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); - s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; - opt_codec_ctx = &s_codec_ctx; - } - - /* - * Invoke type-specific decoder. - */ - return type_descriptor->op->oer_decoder(opt_codec_ctx, type_descriptor, 0, - struct_ptr, /* Pointer to the destination structure */ - ptr, size /* Buffer and its size */ - ); -} - -/* - * Open Type is encoded as a length (#8.6) followed by that number of bytes. - * Since we're just skipping, reading the length would be enough. - */ -ssize_t -oer_open_type_skip(const void *bufptr, size_t size) { - size_t len = 0; - return oer_fetch_length(bufptr, size, &len); -} - -/* - * Read the Open Type (X.696 (08/2015), #30). - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t -oer_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *td, - const asn_oer_constraints_t *constraints, void **struct_ptr, - const void *bufptr, size_t size) { - asn_dec_rval_t dr; - size_t container_len = 0; - ssize_t len_len; - enum asn_struct_free_method dispose_method = - (*struct_ptr) ? ASFM_FREE_UNDERLYING_AND_RESET : ASFM_FREE_EVERYTHING; - - /* Get the size of a length determinant */ - len_len = oer_fetch_length(bufptr, size, &container_len); - if(len_len <= 0) { - return len_len; /* Error or more data expected */ - } - - /* - * len_len can't be bigger than size, but size without len_len - * should be bigger or equal to container length - */ - if(size - len_len < container_len) { - /* More data is expected */ - return 0; - } - - dr = td->op->oer_decoder(opt_codec_ctx, td, constraints, struct_ptr, - (const uint8_t *)bufptr + len_len, container_len); - if(dr.code == RC_OK) { - return len_len + container_len; - } else { - /* Even if RC_WMORE, we can't get more data into a closed container. */ - td->op->free_struct(td, *struct_ptr, dispose_method); - *struct_ptr = NULL; - return -1; - } -} - - -asn_dec_rval_t -oer_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, void **sptr, - const void *ptr, size_t size) { - ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)*sptr; - asn_dec_rval_t rval = {RC_OK, 0}; - size_t expected_length = 0; - ssize_t len_len; - - (void)td; - (void)opt_codec_ctx; - (void)constraints; - - if(!st) { - st = (ASN__PRIMITIVE_TYPE_t *)(*sptr = CALLOC( - 1, sizeof(ASN__PRIMITIVE_TYPE_t))); - if(!st) ASN__DECODE_FAILED; - } - - - /* - * X.696 (08/2015) #27.2 - * Encode length determinant as _number of octets_, but only - * if upper bound is not equal to lower bound. - */ - len_len = oer_fetch_length(ptr, size, &expected_length); - if(len_len > 0) { - rval.consumed = len_len; - ptr = (const char *)ptr + len_len; - size -= len_len; - } else if(len_len == 0) { - ASN__DECODE_STARVED; - } else if(len_len < 0) { - ASN__DECODE_FAILED; - } - - if(size < expected_length) { - ASN__DECODE_STARVED; - } else { - uint8_t *buf = MALLOC(expected_length + 1); - if(buf == NULL) { - ASN__DECODE_FAILED; - } else { - memcpy(buf, ptr, expected_length); - buf[expected_length] = '\0'; - } - FREEMEM(st->buf); - st->buf = buf; - st->size = expected_length; - - rval.consumed += expected_length; - return rval; - } -} diff --git a/skeletons/oer_decoder.h b/skeletons/oer_decoder.h deleted file mode 100644 index 40992e9..0000000 --- a/skeletons/oer_decoder.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_DECODER_H -#define OER_DECODER_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_codec_ctx_s; /* Forward declaration */ - -/* - * The Octet Encoding Rules (OER, X.696 08/2015) decoder for any given type. - * This function may be invoked directly by the application. - * Parses CANONICAL-OER and BASIC-OER. - */ -asn_dec_rval_t oer_decode(const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ - ); - -/* - * Type of generic function which decodes the byte stream into the structure. - */ -typedef asn_dec_rval_t(oer_type_decoder_f)( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - void **struct_ptr, - const void *buf_ptr, - size_t size); - -/* - * Swallow the Open Type (X.696 (08/2015), #30) into /dev/null. - * RETURN VALUES: - * -1: Fatal error deciphering length. - * 0: More data expected than bufptr contains. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_open_type_skip(const void *bufptr, size_t size); - -/* - * Read the Open Type (X.696 (08/2015), #30). - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *td, - const asn_oer_constraints_t *constraints, - void **struct_ptr, const void *bufptr, size_t size); - -/* - * Length-prefixed buffer decoding for primitive types. - */ -oer_type_decoder_f oer_decode_primitive; - - -#ifdef __cplusplus -} -#endif - -#endif /* OER_DECODER_H */ diff --git a/skeletons/oer_encoder.c b/skeletons/oer_encoder.c deleted file mode 100644 index a284cc2..0000000 --- a/skeletons/oer_encoder.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* - * The OER encoder of any type. - */ -asn_enc_rval_t -oer_encode(const asn_TYPE_descriptor_t *type_descriptor, const void *struct_ptr, - asn_app_consume_bytes_f *consume_bytes, void *app_key) { - ASN_DEBUG("OER encoder invoked for %s", type_descriptor->name); - - /* - * Invoke type-specific encoder. - */ - return type_descriptor->op->oer_encoder( - type_descriptor, 0, - struct_ptr, /* Pointer to the destination structure */ - consume_bytes, app_key); -} - -/* - * Argument type and callback necessary for oer_encode_to_buffer(). - */ -typedef struct enc_to_buf_arg { - void *buffer; - size_t left; -} enc_to_buf_arg; -static int -encode_to_buffer_cb(const void *buffer, size_t size, void *key) { - enc_to_buf_arg *arg = (enc_to_buf_arg *)key; - - if(arg->left < size) return -1; /* Data exceeds the available buffer size */ - - memcpy(arg->buffer, buffer, size); - arg->buffer = ((char *)arg->buffer) + size; - arg->left -= size; - - return 0; -} - -/* - * A variant of the oer_encode() which encodes the data into the provided buffer - */ -asn_enc_rval_t -oer_encode_to_buffer(const asn_TYPE_descriptor_t *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (maximum) */ -) { - enc_to_buf_arg arg; - asn_enc_rval_t ec; - - arg.buffer = buffer; - arg.left = buffer_size; - - if(type_descriptor->op->oer_encoder == NULL) { - ec.encoded = -1; - ec.failed_type = type_descriptor; - ec.structure_ptr = struct_ptr; - ASN_DEBUG("OER encoder is not defined for %s", - type_descriptor->name); - } else { - ec = type_descriptor->op->oer_encoder( - type_descriptor, constraints, - struct_ptr, /* Pointer to the destination structure */ - encode_to_buffer_cb, &arg); - if(ec.encoded != -1) { - assert(ec.encoded == (ssize_t)(buffer_size - arg.left)); - /* Return the encoded contents size */ - } - } - return ec; -} - -asn_enc_rval_t -oer_encode_primitive(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - const ASN__PRIMITIVE_TYPE_t *st = (const ASN__PRIMITIVE_TYPE_t *)sptr; - asn_enc_rval_t er = {0, 0, 0}; - ssize_t ret; - - (void)constraints; - - if(!st) ASN__ENCODE_FAILED; - - ASN_DEBUG("Encoding %s (%" ASN_PRI_SIZE " bytes)", td ? td->name : "", st->size); - - /* - * X.696 (08/2015) #27.2 - */ - ret = oer_serialize_length(st->size, cb, app_key); - if(ret < 0) { - ASN__ENCODE_FAILED; - } - er.encoded += ret; - - er.encoded += st->size; - if(cb(st->buf, st->size, app_key) < 0) { - ASN__ENCODE_FAILED; - } else { - ASN__ENCODED_OK(er); - } -} - -static int -oer__count_bytes(const void *buffer, size_t size, void *bytes_ptr) { - size_t *bytes = bytes_ptr; - (void)buffer; - *bytes += size; - return 0; -} - -ssize_t -oer_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_oer_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - size_t serialized_byte_count = 0; - asn_enc_rval_t er = {0,0,0}; - ssize_t len_len; - - er = td->op->oer_encoder(td, constraints, sptr, oer__count_bytes, - &serialized_byte_count); - if(er.encoded < 0) return -1; - assert(serialized_byte_count == (size_t)er.encoded); - - len_len = oer_serialize_length(serialized_byte_count, cb, app_key); - if(len_len == -1) return -1; - - er = td->op->oer_encoder(td, constraints, sptr, cb, app_key); - if(er.encoded < 0) return -1; - assert(serialized_byte_count == (size_t)er.encoded); - - return len_len + er.encoded; -} - diff --git a/skeletons/oer_encoder.h b/skeletons/oer_encoder.h deleted file mode 100644 index 6a7b681..0000000 --- a/skeletons/oer_encoder.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_ENCODER_H -#define OER_ENCODER_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The Octet Encoding Rules (OER, X.696 08/2015) encoder for any type. - * This function may be invoked directly by the application. - * Produces CANONICAL-OER output compatible with CANONICAL-OER - * and BASIC-OER decoders. - */ -asn_enc_rval_t oer_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* A variant of oer_encode() which encodes data into the pre-allocated buffer */ -asn_enc_rval_t oer_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (maximum) */ -); - -/* - * Type of the generic OER encoder. - */ -typedef asn_enc_rval_t(oer_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - -/* - * Write out the Open Type (X.696 (08/2015), #30). - * RETURN VALUES: - * -1: Fatal error encoding the type. - * >0: Number of bytes serialized. - */ -ssize_t oer_open_type_put(const struct asn_TYPE_descriptor_s *td, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key); - - -/* - * Length-prefixed buffer encoding for primitive types. - */ -oer_type_encoder_f oer_encode_primitive; - -#ifdef __cplusplus -} -#endif - -#endif /* OER_ENCODER_H */ diff --git a/skeletons/oer_support.c b/skeletons/oer_support.c deleted file mode 100644 index b15a3bc..0000000 --- a/skeletons/oer_support.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -#include - -/* - * Fetch the length determinant (X.696 08/2015, #8.6) into *len_r. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t -oer_fetch_length(const void *bufptr, size_t size, size_t *len_r) { - uint8_t first_byte; - size_t len_len; /* Length of the length determinant */ - const uint8_t *b; - const uint8_t *bend; - size_t len; - - if(size == 0) { - *len_r = 0; - return 0; - } - - first_byte = *(const uint8_t *)bufptr; - if((first_byte & 0x80) == 0) { /* Short form */ - *len_r = first_byte; /* 0..127 */ - return 1; - } - - len_len = (first_byte & 0x7f); - if((1 + len_len) > size) { - *len_r = 0; - return 0; - } - - b = (const uint8_t *)bufptr + 1; - bend = b + len_len; - - for(; b < bend && *b == 0; b++) { - /* Skip the leading 0-bytes */ - } - - if((bend - b) > (ssize_t)sizeof(size_t)) { - /* Length is not representable by the native size_t type */ - *len_r = 0; - return -1; - } - - for(len = 0; b < bend; b++) { - len = (len << 8) + *b; - } - - if(len > RSIZE_MAX) { /* A bit of C11 validation */ - *len_r = 0; - return -1; - } - - *len_r = len; - assert(len_len + 1 == (size_t)(bend - (const uint8_t *)bufptr)); - return len_len + 1; -} - - -/* - * Serialize OER length. Returns the number of bytes serialized - * or -1 if a given callback returned with negative result. - */ -ssize_t -oer_serialize_length(size_t length, asn_app_consume_bytes_f *cb, - void *app_key) { - uint8_t scratch[1 + sizeof(length)]; - uint8_t *sp = scratch; - int littleEndian = 1; /* Run-time detection */ - const uint8_t *pstart; - const uint8_t *pend; - const uint8_t *p; - int add; - - if(length <= 127) { - uint8_t b = length; - if(cb(&b, 1, app_key) < 0) { - return -1; - } - return 1; - } - - if(*(char *)&littleEndian) { - pstart = (const uint8_t *)&length + sizeof(length) - 1; - pend = (const uint8_t *)&length; - add = -1; - } else { - pstart = (const uint8_t *)&length; - pend = pstart + sizeof(length); - add = 1; - } - - for(p = pstart; p != pend; p += add) { - /* Skip leading zeros. */ - if(*p) break; - } - - for(sp = scratch + 1; ; p += add) { - *sp++ = *p; - if(p == pend) break; - } - assert((sp - scratch) - 1 <= 0x7f); - scratch[0] = 0x80 + ((sp - scratch) - 1); - - if(cb(scratch, sp - scratch, app_key) < 0) { - return -1; - } - - return sp - scratch; -} - diff --git a/skeletons/oer_support.h b/skeletons/oer_support.h deleted file mode 100644 index dbc9b5f..0000000 --- a/skeletons/oer_support.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_SUPPORT_H -#define OER_SUPPORT_H - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Pre-computed OER constraints. - */ -typedef struct asn_oer_constraint_number_s { - unsigned width; /* ±8,4,2,1 fixed bytes */ - unsigned positive; /* 1 for unsigned number, 0 for signed */ -} asn_oer_constraint_number_t; -typedef struct asn_oer_constraints_s { - asn_oer_constraint_number_t value; - ssize_t size; /* -1 (no constraint) or >= 0 */ -} asn_oer_constraints_t; - - -/* - * Fetch the length determinant (X.696 (08/2015), #8.6) into *len_r. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_fetch_length(const void *bufptr, size_t size, size_t *len_r); - -/* - * Serialize OER length. Returns the number of bytes serialized - * or -1 if a given callback returned with negative result. - */ -ssize_t oer_serialize_length(size_t length, asn_app_consume_bytes_f *cb, void *app_key); - - -#ifdef __cplusplus -} -#endif - -#endif /* OER_SUPPORT_H */ diff --git a/skeletons/per_decoder.c b/skeletons/per_decoder.c deleted file mode 100644 index 8a3e39d..0000000 --- a/skeletons/per_decoder.c +++ /dev/null @@ -1,185 +0,0 @@ -#include -#include -#include - -/* - * Decode a "Production of a complete encoding", X.691#10.1. - * The complete encoding contains at least one byte, and is an integral - * multiple of 8 bytes. - */ -asn_dec_rval_t -uper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buffer, size_t size) { - asn_dec_rval_t rval; - - rval = uper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); - if(rval.consumed) { - /* - * We've always given 8-aligned data, - * so convert bits to integral bytes. - */ - rval.consumed += 7; - rval.consumed >>= 3; - } else if(rval.code == RC_OK) { - if(size) { - if(((const uint8_t *)buffer)[0] == 0) { - rval.consumed = 1; /* 1 byte */ - } else { - ASN_DEBUG("Expecting single zeroed byte"); - rval.code = RC_FAIL; - } - } else { - /* Must contain at least 8 bits. */ - rval.code = RC_WMORE; - } - } - - return rval; -} - -asn_dec_rval_t -uper_decode(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, - size_t size, int skip_bits, int unused_bits) { - asn_codec_ctx_t s_codec_ctx; - asn_dec_rval_t rval; - asn_per_data_t pd; - - if(skip_bits < 0 || skip_bits > 7 - || unused_bits < 0 || unused_bits > 7 - || (unused_bits > 0 && !size)) - ASN__DECODE_FAILED; - - /* - * Stack checker requires that the codec context - * must be allocated on the stack. - */ - if(opt_codec_ctx) { - if(opt_codec_ctx->max_stack_size) { - s_codec_ctx = *opt_codec_ctx; - opt_codec_ctx = &s_codec_ctx; - } - } else { - /* If context is not given, be security-conscious anyway */ - memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); - s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; - opt_codec_ctx = &s_codec_ctx; - } - - /* Fill in the position indicator */ - memset(&pd, 0, sizeof(pd)); - pd.buffer = (const uint8_t *)buffer; - pd.nboff = skip_bits; - pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ - if(pd.nboff > pd.nbits) - ASN__DECODE_FAILED; - - /* - * Invoke type-specific decoder. - */ - if(!td->op->uper_decoder) - ASN__DECODE_FAILED; /* PER is not compiled in */ - rval = td->op->uper_decoder(opt_codec_ctx, td, 0, sptr, &pd); - if(rval.code == RC_OK) { - /* Return the number of consumed bits */ - rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) - + pd.nboff - skip_bits; - ASN_DEBUG("PER decoding consumed %ld, counted %ld", - (long)rval.consumed, (long)pd.moved); - assert(rval.consumed == pd.moved); - } else { - /* PER codec is not a restartable */ - rval.consumed = 0; - } - return rval; -} - -asn_dec_rval_t -aper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, - const void *buffer, size_t size) { - asn_dec_rval_t rval; - - rval = aper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); - if(rval.consumed) { - /* - * We've always given 8-aligned data, - * so convert bits to integral bytes. - */ - rval.consumed += 7; - rval.consumed >>= 3; - } else if(rval.code == RC_OK) { - if(size) { - if(((const uint8_t *)buffer)[0] == 0) { - rval.consumed = 1; /* 1 byte */ - } else { - ASN_DEBUG("Expecting single zeroed byte"); - rval.code = RC_FAIL; - } - } else { - /* Must contain at least 8 bits. */ - rval.code = RC_WMORE; - } - } - - return rval; -} - -asn_dec_rval_t -aper_decode(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, - size_t size, int skip_bits, int unused_bits) { - asn_codec_ctx_t s_codec_ctx; - asn_dec_rval_t rval; - asn_per_data_t pd; - - if(skip_bits < 0 || skip_bits > 7 - || unused_bits < 0 || unused_bits > 7 - || (unused_bits > 0 && !size)) - ASN__DECODE_FAILED; - - /* - * Stack checker requires that the codec context - * must be allocated on the stack. - */ - if(opt_codec_ctx) { - if(opt_codec_ctx->max_stack_size) { - s_codec_ctx = *opt_codec_ctx; - opt_codec_ctx = &s_codec_ctx; - } - } else { - /* If context is not given, be security-conscious anyway */ - memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); - s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; - opt_codec_ctx = &s_codec_ctx; - } - - /* Fill in the position indicator */ - memset(&pd, 0, sizeof(pd)); - pd.buffer = (const uint8_t *)buffer; - pd.nboff = skip_bits; - pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ - if(pd.nboff > pd.nbits) - ASN__DECODE_FAILED; - - /* - * Invoke type-specific decoder. - */ - if(!td->op->aper_decoder) - ASN__DECODE_FAILED; /* PER is not compiled in */ - rval = td->op->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd); - if(rval.code == RC_OK) { - /* Return the number of consumed bits */ - rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) - + pd.nboff - skip_bits; - ASN_DEBUG("PER decoding consumed %zu, counted %zu", - rval.consumed, pd.moved); - assert(rval.consumed == pd.moved); - } else { - /* PER codec is not a restartable */ - rval.consumed = 0; - } - return rval; -} - diff --git a/skeletons/per_decoder.h b/skeletons/per_decoder.h deleted file mode 100644 index eea474a..0000000 --- a/skeletons/per_decoder.h +++ /dev/null @@ -1,82 +0,0 @@ -/*- - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_DECODER_H_ -#define _PER_DECODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Unaligned PER decoder of a "complete encoding" as per X.691 (08/2015) #11.1. - * On success, this call always returns (.consumed >= 1), as per #11.1.3. - */ -asn_dec_rval_t uper_decode_complete( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); - -/* - * Unaligned PER decoder of any ASN.1 type. May be invoked by the application. - * WARNING: This call returns the number of BITS read from the stream. Beware. - */ -asn_dec_rval_t uper_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size, /* Size of the input data buffer, in bytes */ - int skip_bits, /* Number of unused leading bits, 0..7 */ - int unused_bits /* Number of unused tailing bits, 0..7 */ -); - -/* - * Aligned PER decoder of a "complete encoding" as per X.691#10.1. - * On success, this call always returns (.consumed >= 1), in BITS, as per X.691#10.1.3. - */ -asn_dec_rval_t aper_decode_complete( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ - ); - -/* - * Aligned PER decoder of any ASN.1 type. May be invoked by the application. - * WARNING: This call returns the number of BITS read from the stream. Beware. - */ -asn_dec_rval_t aper_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size, /* Size of data buffer */ - int skip_bits, /* Number of unused leading bits, 0..7 */ - int unused_bits /* Number of unused tailing bits, 0..7 */ - ); - -/* - * Type of the type-specific PER decoder function. - */ -typedef asn_dec_rval_t(per_type_decoder_f)( - const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, void **struct_ptr, - asn_per_data_t *per_data); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_DECODER_H_ */ diff --git a/skeletons/per_encoder.c b/skeletons/per_encoder.c deleted file mode 100644 index a35e1f0..0000000 --- a/skeletons/per_encoder.c +++ /dev/null @@ -1,265 +0,0 @@ -#include -#include -#include - -static int _uper_encode_flush_outp(asn_per_outp_t *po); - -static int -ignore_output(const void *data, size_t size, void *app_key) { - (void)data; - (void)size; - (void)app_key; - return 0; -} - -asn_enc_rval_t -uper_encode(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_app_consume_bytes_f *cb, void *app_key) { - asn_per_outp_t po; - asn_enc_rval_t er = {0,0,0}; - - /* - * Invoke type-specific encoder. - */ - if(!td || !td->op->uper_encoder) - ASN__ENCODE_FAILED; /* PER is not compiled in */ - - po.buffer = po.tmpspace; - po.nboff = 0; - po.nbits = 8 * sizeof(po.tmpspace); - po.output = cb ? cb : ignore_output; - po.op_key = app_key; - po.flushed_bytes = 0; - - er = td->op->uper_encoder(td, constraints, sptr, &po); - if(er.encoded != -1) { - size_t bits_to_flush; - - bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; - - /* Set number of bits encoded to a firm value */ - er.encoded = (po.flushed_bytes << 3) + bits_to_flush; - - if(_uper_encode_flush_outp(&po)) ASN__ENCODE_FAILED; - } - - return er; -} - -/* - * Argument type and callback necessary for uper_encode_to_buffer(). - */ -typedef struct enc_to_buf_arg { - void *buffer; - size_t left; -} enc_to_buf_arg; -static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { - enc_to_buf_arg *arg = (enc_to_buf_arg *)key; - - if(arg->left < size) - return -1; /* Data exceeds the available buffer size */ - - memcpy(arg->buffer, buffer, size); - arg->buffer = ((char *)arg->buffer) + size; - arg->left -= size; - - return 0; -} - -asn_enc_rval_t -uper_encode_to_buffer(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, void *buffer, size_t buffer_size) { - enc_to_buf_arg key; - - key.buffer = buffer; - key.left = buffer_size; - - if(td) ASN_DEBUG("Encoding \"%s\" using UNALIGNED PER", td->name); - - return uper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); -} - -typedef struct enc_dyn_arg { - void *buffer; - size_t length; - size_t allocated; -} enc_dyn_arg; -static int -encode_dyn_cb(const void *buffer, size_t size, void *key) { - enc_dyn_arg *arg = key; - if(arg->length + size >= arg->allocated) { - size_t new_size = arg->allocated ? arg->allocated : 8; - void *p; - - do { - new_size <<= 2; - } while(arg->length + size >= new_size); - - p = REALLOC(arg->buffer, new_size); - if(!p) { - FREEMEM(arg->buffer); - memset(arg, 0, sizeof(*arg)); - return -1; - } - arg->buffer = p; - arg->allocated = new_size; - } - memcpy(((char *)arg->buffer) + arg->length, buffer, size); - arg->length += size; - return 0; -} -ssize_t -uper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, void **buffer_r) { - asn_enc_rval_t er = {0,0,0}; - enc_dyn_arg key; - - memset(&key, 0, sizeof(key)); - - er = uper_encode(td, constraints, sptr, encode_dyn_cb, &key); - switch(er.encoded) { - case -1: - FREEMEM(key.buffer); - return -1; - case 0: - FREEMEM(key.buffer); - key.buffer = MALLOC(1); - if(key.buffer) { - *(char *)key.buffer = '\0'; - *buffer_r = key.buffer; - return 1; - } else { - return -1; - } - default: - *buffer_r = key.buffer; - ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); - return ((er.encoded + 7) >> 3); - } -} - -/* - * Internally useful functions. - */ - -/* Flush partially filled buffer */ -static int -_uper_encode_flush_outp(asn_per_outp_t *po) { - uint8_t *buf; - - if(po->nboff == 0 && po->buffer == po->tmpspace) - return 0; - - buf = po->buffer + (po->nboff >> 3); - /* Make sure we account for the last, partially filled */ - if(po->nboff & 0x07) { - buf[0] &= 0xff << (8 - (po->nboff & 0x07)); - buf++; - } - - return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); -} - -asn_enc_rval_t -aper_encode_to_buffer(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, void *buffer, size_t buffer_size) { - enc_to_buf_arg key; - - key.buffer = buffer; - key.left = buffer_size; - - if(td) ASN_DEBUG("Encoding \"%s\" using ALIGNED PER", td->name); - - return aper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); -} - -ssize_t -aper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, void **buffer_r) { - asn_enc_rval_t er = {0,0,0}; - enc_dyn_arg key; - - memset(&key, 0, sizeof(key)); - - er = aper_encode(td, constraints, sptr, encode_dyn_cb, &key); - switch(er.encoded) { - case -1: - FREEMEM(key.buffer); - return -1; - case 0: - FREEMEM(key.buffer); - key.buffer = MALLOC(1); - if(key.buffer) { - *(char *)key.buffer = '\0'; - *buffer_r = key.buffer; - return 1; - } else { - return -1; - } - default: - *buffer_r = key.buffer; - ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); - return ((er.encoded + 7) >> 3); - } -} - -static int -_aper_encode_flush_outp(asn_per_outp_t *po) { - uint8_t *buf; - - if(po->nboff == 0 && po->buffer == po->tmpspace) - return 0; - - buf = po->buffer + (po->nboff >> 3); - /* Make sure we account for the last, partially filled */ - if(po->nboff & 0x07) { - buf[0] &= 0xff << (8 - (po->nboff & 0x07)); - buf++; - } - - if (po->output) { - return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); - } - return 0; -} - -asn_enc_rval_t -aper_encode(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { - asn_per_outp_t po; - asn_enc_rval_t er = {0,0,0}; - - /* - * Invoke type-specific encoder. - */ - if(!td || !td->op->aper_encoder) - ASN__ENCODE_FAILED; /* PER is not compiled in */ - - po.buffer = po.tmpspace; - po.nboff = 0; - po.nbits = 8 * sizeof(po.tmpspace); - po.output = cb; - po.op_key = app_key; - po.flushed_bytes = 0; - - er = td->op->aper_encoder(td, constraints, sptr, &po); - if(er.encoded != -1) { - size_t bits_to_flush; - - bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; - - /* Set number of bits encoded to a firm value */ - er.encoded = (po.flushed_bytes << 3) + bits_to_flush; - - if(_aper_encode_flush_outp(&po)) - ASN__ENCODE_FAILED; - } - - return er; -} diff --git a/skeletons/per_encoder.h b/skeletons/per_encoder.h deleted file mode 100644 index b615ef0..0000000 --- a/skeletons/per_encoder.h +++ /dev/null @@ -1,93 +0,0 @@ -/*- - * Copyright (c) 2006-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_ENCODER_H_ -#define _PER_ENCODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Unaligned PER encoder of any ASN.1 type. May be invoked by the application. - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. Use the following formula to convert to bytes: - * bytes = ((.encoded + 7) / 8) - */ -asn_enc_rval_t uper_encode( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ - void *app_key /* Arbitrary callback argument */ -); - -asn_enc_rval_t aper_encode( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ - void *app_key /* Arbitrary callback argument */ -); - -/* - * A variant of uper_encode() which encodes data into the existing buffer - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. - */ -asn_enc_rval_t uper_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (max) */ -); - -asn_enc_rval_t aper_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (max) */ -); -/* - * A variant of uper_encode_to_buffer() which allocates buffer itself. - * Returns the number of bytes in the buffer or -1 in case of failure. - * WARNING: This function produces a "Production of the complete encoding", - * with length of at least one octet. Contrast this to precise bit-packing - * encoding of uper_encode() and uper_encode_to_buffer(). - */ -ssize_t uper_encode_to_new_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void **buffer_r /* Buffer allocated and returned */ -); - -ssize_t -aper_encode_to_new_buffer( - const struct asn_TYPE_descriptor_s *td, - const asn_per_constraints_t *constraints, - const void *sptr, - void **buffer_r -); - -/* - * Type of the generic PER encoder function. - */ -typedef asn_enc_rval_t(per_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_ENCODER_H_ */ diff --git a/skeletons/per_opentype.c b/skeletons/per_opentype.c deleted file mode 100644 index 28f3cb6..0000000 --- a/skeletons/per_opentype.c +++ /dev/null @@ -1,533 +0,0 @@ -/* - * Copyright (c) 2007 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include -#include - -typedef struct uper_ugot_key { - asn_per_data_t oldpd; /* Old per data source */ - size_t unclaimed; - size_t ot_moved; /* Number of bits moved by OT processing */ - int repeat; -} uper_ugot_key; - -static int uper_ugot_refill(asn_per_data_t *pd); -static int per_skip_bits(asn_per_data_t *pd, int skip_nbits); -static asn_dec_rval_t uper_sot_suck(const asn_codec_ctx_t *, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - -/* - * Encode an "open type field". - * #10.1, #10.2 - */ -int -uper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, const void *sptr, - asn_per_outp_t *po) { - void *buf; - void *bptr; - ssize_t size; - - ASN_DEBUG("Open type put %s ...", td->name); - - size = uper_encode_to_new_buffer(td, constraints, sptr, &buf); - if(size <= 0) return -1; - - ASN_DEBUG("Open type put %s of length %" ASN_PRI_SSIZE " + overhead (1byte?)", td->name, - size); - - bptr = buf; - do { - int need_eom = 0; - ssize_t may_save = uper_put_length(po, size, &need_eom); - ASN_DEBUG("Prepending length %" ASN_PRI_SSIZE - " to %s and allowing to save %" ASN_PRI_SSIZE, - size, td->name, may_save); - if(may_save < 0) break; - if(per_put_many_bits(po, bptr, may_save * 8)) break; - bptr = (char *)bptr + may_save; - size -= may_save; - if(need_eom && uper_put_length(po, 0, 0)) { - FREEMEM(buf); - return -1; - } - } while(size); - - FREEMEM(buf); - if(size) return -1; - - return 0; -} - -static asn_dec_rval_t -uper_open_type_get_simple(const asn_codec_ctx_t *ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rv; - ssize_t chunk_bytes; - int repeat; - uint8_t *buf = 0; - size_t bufLen = 0; - size_t bufSize = 0; - asn_per_data_t spd; - size_t padding; - - ASN__STACK_OVERFLOW_CHECK(ctx); - - ASN_DEBUG("Getting open type %s...", td->name); - - do { - chunk_bytes = uper_get_length(pd, -1, 0, &repeat); - if(chunk_bytes < 0) { - FREEMEM(buf); - ASN__DECODE_STARVED; - } - if(bufLen + chunk_bytes > bufSize) { - void *ptr; - bufSize = chunk_bytes + (bufSize << 2); - ptr = REALLOC(buf, bufSize); - if(!ptr) { - FREEMEM(buf); - ASN__DECODE_FAILED; - } - buf = ptr; - } - if(per_get_many_bits(pd, buf + bufLen, 0, chunk_bytes << 3)) { - FREEMEM(buf); - ASN__DECODE_STARVED; - } - bufLen += chunk_bytes; - } while(repeat); - - ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, - (long)bufLen); - - memset(&spd, 0, sizeof(spd)); - spd.buffer = buf; - spd.nbits = bufLen << 3; - - ASN_DEBUG_INDENT_ADD(+4); - rv = td->op->uper_decoder(ctx, td, constraints, sptr, &spd); - ASN_DEBUG_INDENT_ADD(-4); - - if(rv.code == RC_OK) { - /* Check padding validity */ - padding = spd.nbits - spd.nboff; - if (((padding > 0 && padding < 8) || - /* X.691#10.1.3 */ - (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && - per_get_few_bits(&spd, padding) == 0) { - /* Everything is cool */ - FREEMEM(buf); - return rv; - } - FREEMEM(buf); - if(padding >= 8) { - ASN_DEBUG("Too large padding %d in open type", (int)padding); - ASN__DECODE_FAILED; - } else { - ASN_DEBUG("No padding"); - } - } else { - FREEMEM(buf); - /* rv.code could be RC_WMORE, nonsense in this context */ - rv.code = RC_FAIL; /* Noone would give us more */ - } - - return rv; -} - -static asn_dec_rval_t CC_NOTUSED -uper_open_type_get_complex(const asn_codec_ctx_t *ctx, - const asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - uper_ugot_key arg; - asn_dec_rval_t rv; - ssize_t padding; - - ASN__STACK_OVERFLOW_CHECK(ctx); - - ASN_DEBUG("Getting open type %s from %s", td->name, - asn_bit_data_string(pd)); - arg.oldpd = *pd; - arg.unclaimed = 0; - arg.ot_moved = 0; - arg.repeat = 1; - pd->refill = uper_ugot_refill; - pd->refill_key = &arg; - pd->nbits = pd->nboff; /* 0 good bits at this point, will refill */ - pd->moved = 0; /* This now counts the open type size in bits */ - - ASN_DEBUG_INDENT_ADD(+4); - rv = td->op->uper_decoder(ctx, td, constraints, sptr, pd); - ASN_DEBUG_INDENT_ADD(-4); - -#define UPDRESTOREPD do { \ - /* buffer and nboff are valid, preserve them. */ \ - pd->nbits = arg.oldpd.nbits - (pd->moved - arg.ot_moved); \ - pd->moved = arg.oldpd.moved + (pd->moved - arg.ot_moved); \ - pd->refill = arg.oldpd.refill; \ - pd->refill_key = arg.oldpd.refill_key; \ - } while(0) - - if(rv.code != RC_OK) { - UPDRESTOREPD; - return rv; - } - - ASN_DEBUG("OpenType %s pd%s old%s unclaimed=%d, repeat=%d", td->name, - asn_bit_data_string(pd), - asn_bit_data_string(&arg.oldpd), - (int)arg.unclaimed, (int)arg.repeat); - - padding = pd->moved % 8; - if(padding) { - int32_t pvalue; - if(padding > 7) { - ASN_DEBUG("Too large padding %d in open type", - (int)padding); - rv.code = RC_FAIL; - UPDRESTOREPD; - return rv; - } - padding = 8 - padding; - ASN_DEBUG("Getting padding of %d bits", (int)padding); - pvalue = per_get_few_bits(pd, padding); - switch(pvalue) { - case -1: - ASN_DEBUG("Padding skip failed"); - UPDRESTOREPD; - ASN__DECODE_STARVED; - case 0: break; - default: - ASN_DEBUG("Non-blank padding (%d bits 0x%02x)", - (int)padding, (int)pvalue); - UPDRESTOREPD; - ASN__DECODE_FAILED; - } - } - if(pd->nboff != pd->nbits) { - ASN_DEBUG("Open type %s overhead pd%s old%s", td->name, - asn_bit_data_string(pd), asn_bit_data_string(&arg.oldpd)); - if(1) { - UPDRESTOREPD; - ASN__DECODE_FAILED; - } else { - arg.unclaimed += pd->nbits - pd->nboff; - } - } - - /* Adjust pd back so it points to original data */ - UPDRESTOREPD; - - /* Skip data not consumed by the decoder */ - if(arg.unclaimed) { - ASN_DEBUG("Getting unclaimed %d", (int)arg.unclaimed); - switch(per_skip_bits(pd, arg.unclaimed)) { - case -1: - ASN_DEBUG("Claim of %d failed", (int)arg.unclaimed); - ASN__DECODE_STARVED; - case 0: - ASN_DEBUG("Got claim of %d", (int)arg.unclaimed); - break; - default: - /* Padding must be blank */ - ASN_DEBUG("Non-blank unconsumed padding"); - ASN__DECODE_FAILED; - } - arg.unclaimed = 0; - } - - if(arg.repeat) { - ASN_DEBUG("Not consumed the whole thing"); - rv.code = RC_FAIL; - return rv; - } - - return rv; -} - - -asn_dec_rval_t -uper_open_type_get(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - return uper_open_type_get_simple(ctx, td, constraints, sptr, pd); -} - -int -uper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { - asn_TYPE_descriptor_t s_td; - asn_TYPE_operation_t s_op; - asn_dec_rval_t rv; - - s_td.name = ""; - s_td.op = &s_op; - s_op.uper_decoder = uper_sot_suck; - - rv = uper_open_type_get(ctx, &s_td, 0, 0, pd); - if(rv.code != RC_OK) - return -1; - else - return 0; -} - -/* - * Internal functions. - */ - -static asn_dec_rval_t -uper_sot_suck(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, - asn_per_data_t *pd) { - asn_dec_rval_t rv; - - (void)ctx; - (void)td; - (void)constraints; - (void)sptr; - - while(per_get_few_bits(pd, 1) >= 0); - - rv.code = RC_OK; - rv.consumed = pd->moved; - - return rv; -} - -static int -uper_ugot_refill(asn_per_data_t *pd) { - uper_ugot_key *arg = pd->refill_key; - ssize_t next_chunk_bytes, next_chunk_bits; - ssize_t avail; - - asn_per_data_t *oldpd = &arg->oldpd; - - ASN_DEBUG("REFILLING pd->moved=%ld, oldpd->moved=%ld", - (long)pd->moved, (long)oldpd->moved); - - /* Advance our position to where pd is */ - oldpd->buffer = pd->buffer; - oldpd->nboff = pd->nboff; - oldpd->nbits -= pd->moved - arg->ot_moved; - oldpd->moved += pd->moved - arg->ot_moved; - arg->ot_moved = pd->moved; - - if(arg->unclaimed) { - /* Refill the container */ - if(per_get_few_bits(oldpd, 1)) - return -1; - if(oldpd->nboff == 0) { - assert(0); - return -1; - } - pd->buffer = oldpd->buffer; - pd->nboff = oldpd->nboff - 1; - pd->nbits = oldpd->nbits; - ASN_DEBUG("UNCLAIMED <- return from (pd->moved=%ld)", - (long)pd->moved); - return 0; - } - - if(!arg->repeat) { - ASN_DEBUG("Want more but refill doesn't have it"); - return -1; - } - - next_chunk_bytes = uper_get_length(oldpd, -1, 0, &arg->repeat); - ASN_DEBUG("Open type LENGTH %ld bytes at off %ld, repeat %ld", - (long)next_chunk_bytes, (long)oldpd->moved, (long)arg->repeat); - if(next_chunk_bytes < 0) return -1; - if(next_chunk_bytes == 0) { - pd->refill = 0; /* No more refills, naturally */ - assert(!arg->repeat); /* Implementation guarantee */ - } - next_chunk_bits = next_chunk_bytes << 3; - avail = oldpd->nbits - oldpd->nboff; - if(avail >= next_chunk_bits) { - pd->nbits = oldpd->nboff + next_chunk_bits; - arg->unclaimed = 0; - ASN_DEBUG("!+Parent frame %ld bits, alloting %ld [%ld..%ld] (%ld)", - (long)next_chunk_bits, (long)oldpd->moved, - (long)oldpd->nboff, (long)oldpd->nbits, - (long)(oldpd->nbits - oldpd->nboff)); - } else { - pd->nbits = oldpd->nbits; - arg->unclaimed = next_chunk_bits - avail; - ASN_DEBUG("!-Parent frame %ld, require %ld, will claim %ld", - (long)avail, (long)next_chunk_bits, - (long)arg->unclaimed); - } - pd->buffer = oldpd->buffer; - pd->nboff = oldpd->nboff; - ASN_DEBUG("Refilled pd%s old%s", - asn_bit_data_string(pd), asn_bit_data_string(oldpd)); - return 0; -} - -static int -per_skip_bits(asn_per_data_t *pd, int skip_nbits) { - int hasNonZeroBits = 0; - while(skip_nbits > 0) { - int skip; - - /* per_get_few_bits() is more efficient when nbits <= 24 */ - if(skip_nbits < 24) - skip = skip_nbits; - else - skip = 24; - skip_nbits -= skip; - - switch(per_get_few_bits(pd, skip)) { - case -1: return -1; /* Starving */ - case 0: continue; /* Skipped empty space */ - default: hasNonZeroBits = 1; continue; - } - } - return hasNonZeroBits; -} - -static asn_dec_rval_t -aper_open_type_get_simple(const asn_codec_ctx_t *ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { - asn_dec_rval_t rv; - ssize_t chunk_bytes; - int repeat; - uint8_t *buf = 0; - size_t bufLen = 0; - size_t bufSize = 0; - asn_per_data_t spd; - size_t padding; - - ASN__STACK_OVERFLOW_CHECK(ctx); - - ASN_DEBUG("Getting open type %s...", td->name); - - do { - chunk_bytes = aper_get_length(pd, -1, -1, &repeat); - if(chunk_bytes < 0) { - FREEMEM(buf); - ASN__DECODE_STARVED; - } - if(bufLen + chunk_bytes > bufSize) { - void *ptr; - bufSize = chunk_bytes + (bufSize << 2); - ptr = REALLOC(buf, bufSize); - if(!ptr) { - FREEMEM(buf); - ASN__DECODE_FAILED; - } - buf = ptr; - } - if(per_get_many_bits(pd, buf + bufLen, 0, chunk_bytes << 3)) { - FREEMEM(buf); - ASN__DECODE_STARVED; - } - bufLen += chunk_bytes; - } while(repeat); - - ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, - (long)bufLen); - - memset(&spd, 0, sizeof(spd)); - spd.buffer = buf; - spd.nbits = bufLen << 3; - - ASN_DEBUG_INDENT_ADD(+4); - rv = td->op->aper_decoder(ctx, td, constraints, sptr, &spd); - ASN_DEBUG_INDENT_ADD(-4); - - if(rv.code == RC_OK) { - /* Check padding validity */ - padding = spd.nbits - spd.nboff; - if (((padding > 0 && padding < 8) || - /* X.691#10.1.3 */ - (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && - per_get_few_bits(&spd, padding) == 0) { - /* Everything is cool */ - FREEMEM(buf); - return rv; - } - FREEMEM(buf); - if(padding >= 8) { - ASN_DEBUG("Too large padding %d in open type", (int)padding); - ASN__DECODE_FAILED; - } else { - ASN_DEBUG("No padding"); - } - } else { - FREEMEM(buf); - /* rv.code could be RC_WMORE, nonsense in this context */ - rv.code = RC_FAIL; /* Noone would give us more */ - } - - return rv; -} - -int -aper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po) { - void *buf; - void *bptr; - ssize_t size; - size_t toGo; - - ASN_DEBUG("Open type put %s ...", td->name); - - size = aper_encode_to_new_buffer(td, constraints, sptr, &buf); - if(size <= 0) return -1; - - for(bptr = buf, toGo = size; toGo;) { - ssize_t maySave = aper_put_length(po, -1, toGo); - if(maySave < 0) break; - if(per_put_many_bits(po, bptr, maySave * 8)) break; - bptr = (char *)bptr + maySave; - toGo -= maySave; - } - - FREEMEM(buf); - if(toGo) return -1; - - ASN_DEBUG("Open type put %s of length %ld + overhead (1byte?)", - td->name, size); - - return 0; -} - -asn_dec_rval_t -aper_open_type_get(const asn_codec_ctx_t *ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd) { - - return aper_open_type_get_simple(ctx, td, constraints, sptr, pd); -} - -int -aper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { - asn_TYPE_descriptor_t s_td; - asn_dec_rval_t rv; - asn_TYPE_operation_t op_t; - - memset(&op_t, 0, sizeof(op_t)); - s_td.name = ""; - s_td.op = &op_t; - s_td.op->aper_decoder = uper_sot_suck; - - rv = aper_open_type_get(ctx, &s_td, 0, 0, pd); - if(rv.code != RC_OK) - return -1; - else - return 0; -} - - diff --git a/skeletons/per_opentype.h b/skeletons/per_opentype.h deleted file mode 100644 index 1493b2d..0000000 --- a/skeletons/per_opentype.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2007-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_OPENTYPE_H_ -#define _PER_OPENTYPE_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -asn_dec_rval_t uper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - -int uper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, - asn_per_data_t *pd); - -/* - * X.691 (2015/08), #11.2 - * Returns -1 if error is encountered. 0 if all OK. - */ -int uper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po); - -asn_dec_rval_t aper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - - -int aper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, asn_per_data_t *pd); - -int aper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_OPENTYPE_H_ */ diff --git a/skeletons/per_support.c b/skeletons/per_support.c deleted file mode 100644 index 2285677..0000000 --- a/skeletons/per_support.c +++ /dev/null @@ -1,489 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * X.691-201508 #10.9 General rules for encoding a length determinant. - * Get the optionally constrained length "n" from the stream. - */ -ssize_t -uper_get_length(asn_per_data_t *pd, int ebits, size_t lower_bound, - int *repeat) { - ssize_t value; - - *repeat = 0; - - /* #11.9.4.1 Encoding if constrained (according to effective bits) */ - if(ebits >= 0 && ebits <= 16) { - value = per_get_few_bits(pd, ebits); - if(value >= 0) value += lower_bound; - return value; - } - - value = per_get_few_bits(pd, 8); - if((value & 0x80) == 0) { /* #11.9.3.6 */ - return (value & 0x7F); - } else if((value & 0x40) == 0) { /* #11.9.3.7 */ - /* bit 8 ... set to 1 and bit 7 ... set to zero */ - value = ((value & 0x3f) << 8) | per_get_few_bits(pd, 8); - return value; /* potential -1 from per_get_few_bits passes through. */ - } else if(value < 0) { - ASN_DEBUG("END of stream reached for PER"); - return -1; - } - value &= 0x3f; /* this is "m" from X.691, #11.9.3.8 */ - if(value < 1 || value > 4) { - return -1; /* Prohibited by #11.9.3.8 */ - } - *repeat = 1; - return (16384 * value); -} - -/* - * Get the normally small length "n". - * This procedure used to decode length of extensions bit-maps - * for SET and SEQUENCE types. - */ -ssize_t -uper_get_nslength(asn_per_data_t *pd) { - ssize_t length; - - ASN_DEBUG("Getting normally small length"); - - if(per_get_few_bits(pd, 1) == 0) { - length = per_get_few_bits(pd, 6) + 1; - if(length <= 0) return -1; - ASN_DEBUG("l=%d", (int)length); - return length; - } else { - int repeat; - length = uper_get_length(pd, -1, 0, &repeat); - if(length >= 0 && !repeat) return length; - return -1; /* Error, or do not support >16K extensions */ - } -} - -/* - * Get the normally small non-negative whole number. - * X.691, #10.6 - */ -ssize_t -uper_get_nsnnwn(asn_per_data_t *pd) { - ssize_t value; - - value = per_get_few_bits(pd, 7); - if(value & 64) { /* implicit (value < 0) */ - value &= 63; - value <<= 2; - value |= per_get_few_bits(pd, 2); - if(value & 128) /* implicit (value < 0) */ - return -1; - if(value == 0) - return 0; - if(value >= 3) - return -1; - value = per_get_few_bits(pd, 8 * value); - return value; - } - - return value; -} - -/* - * X.691-11/2008, #11.6 - * Encoding of a normally small non-negative whole number - */ -int -uper_put_nsnnwn(asn_per_outp_t *po, int n) { - int bytes; - - if(n <= 63) { - if(n < 0) return -1; - return per_put_few_bits(po, n, 7); - } - if(n < 256) - bytes = 1; - else if(n < 65536) - bytes = 2; - else if(n < 256 * 65536) - bytes = 3; - else - return -1; /* This is not a "normally small" value */ - if(per_put_few_bits(po, bytes, 8)) - return -1; - - return per_put_few_bits(po, n, 8 * bytes); -} - - -/* X.691-2008/11, #11.5.6 -> #11.3 */ -int uper_get_constrained_whole_number(asn_per_data_t *pd, unsigned long *out_value, int nbits) { - unsigned long lhalf; /* Lower half of the number*/ - long half; - - if(nbits <= 31) { - half = per_get_few_bits(pd, nbits); - if(half < 0) return -1; - *out_value = half; - return 0; - } - - if((size_t)nbits > 8 * sizeof(*out_value)) - return -1; /* RANGE */ - - half = per_get_few_bits(pd, 31); - if(half < 0) return -1; - - if(uper_get_constrained_whole_number(pd, &lhalf, nbits - 31)) - return -1; - - *out_value = ((unsigned long)half << (nbits - 31)) | lhalf; - return 0; -} - - -/* X.691-2008/11, #11.5.6 -> #11.3 */ -int -uper_put_constrained_whole_number_u(asn_per_outp_t *po, unsigned long v, - int nbits) { - if(nbits <= 31) { - return per_put_few_bits(po, v, nbits); - } else { - /* Put higher portion first, followed by lower 31-bit */ - if(uper_put_constrained_whole_number_u(po, v >> 31, nbits - 31)) - return -1; - return per_put_few_bits(po, v, 31); - } -} - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Put the length "n" (or part of it) into the stream. - */ -ssize_t -uper_put_length(asn_per_outp_t *po, size_t length, int *need_eom) { - int dummy = 0; - if(!need_eom) need_eom = &dummy; - - if(length <= 127) { /* #11.9.3.6 */ - *need_eom = 0; - return per_put_few_bits(po, length, 8) - ? -1 : (ssize_t)length; - } else if(length < 16384) { /* #10.9.3.7 */ - *need_eom = 0; - return per_put_few_bits(po, length|0x8000, 16) - ? -1 : (ssize_t)length; - } - - *need_eom = 0 == (length & 16383); - length >>= 14; - if(length > 4) { - *need_eom = 0; - length = 4; - } - - return per_put_few_bits(po, 0xC0 | length, 8) - ? -1 : (ssize_t)(length << 14); - -} - - -/* - * Put the normally small length "n" into the stream. - * This procedure used to encode length of extensions bit-maps - * for SET and SEQUENCE types. - */ -int -uper_put_nslength(asn_per_outp_t *po, size_t length) { - if(length <= 64) { - /* #11.9.3.4 */ - if(length == 0) return -1; - return per_put_few_bits(po, length - 1, 7) ? -1 : 0; - } else { - int need_eom = 0; - if(uper_put_length(po, length, &need_eom) != (ssize_t)length - || need_eom) { - /* This might happen in case of >16K extensions */ - return -1; - } - } - - return 0; -} - -static int -per__long_range(long lb, long ub, unsigned long *range_r) { - unsigned long bounds_range; - if((ub < 0) == (lb < 0)) { - bounds_range = ub - lb; - } else if(lb < 0) { - assert(ub >= 0); - bounds_range = 1 + ((unsigned long)ub + (unsigned long)-(lb + 1)); - } else { - assert(!"Unreachable"); - return -1; - } - *range_r = bounds_range; - return 0; -} - -int -per_long_range_rebase(long v, long lb, long ub, unsigned long *output) { - unsigned long range; - - assert(lb <= ub); - - if(v < lb || v > ub || per__long_range(lb, ub, &range) < 0) { - /* Range error. */ - return -1; - } - - /* - * Fundamentally what we're doing is returning (v-lb). - * However, this triggers undefined behavior when the word width - * of signed (v) is the same as the size of unsigned (*output). - * In practice, it triggers the UndefinedSanitizer. Therefore we shall - * compute the ranges accurately to avoid C's undefined behavior. - */ - if((v < 0) == (lb < 0)) { - *output = v-lb; - return 0; - } else if(v < 0) { - unsigned long rebased = 1 + (unsigned long)-(v+1) + (unsigned long)lb; - assert(rebased <= range); /* By construction */ - *output = rebased; - return 0; - } else if(lb < 0) { - unsigned long rebased = 1 + (unsigned long)-(lb+1) + (unsigned long)v; - assert(rebased <= range); /* By construction */ - *output = rebased; - return 0; - } else { - assert(!"Unreachable"); - return -1; - } -} - -int -per_long_range_unrebase(unsigned long inp, long lb, long ub, long *outp) { - unsigned long range; - - if(per__long_range(lb, ub, &range) != 0) { - return -1; - } - - if(inp > range) { - /* - * We can encode something in the given number of bits that technically - * exceeds the range. This is an avenue for security errors, - * so we don't allow that. - */ - return -1; - } - - if(inp <= LONG_MAX) { - *outp = (long)inp + lb; - } else { - *outp = (lb + LONG_MAX + 1) + (long)((inp - LONG_MAX) - 1); - } - - return 0; -} - -int32_t -aper_get_align(asn_per_data_t *pd) { - - if(pd->nboff & 0x7) { - ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)pd->nboff & 0x7)); - return per_get_few_bits(pd, 8 - (pd->nboff & 0x7)); - } - return 0; -} - -ssize_t -aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) { - ssize_t value; - - *repeat = 0; - - if (range <= 65536 && range >= 0) - return aper_get_nsnnwn(pd, range); - - if (aper_get_align(pd) < 0) - return -1; - - if(ebits >= 0) return per_get_few_bits(pd, ebits); - - value = per_get_few_bits(pd, 8); - if(value < 0) return -1; - if((value & 128) == 0) /* #10.9.3.6 */ - return (value & 0x7F); - if((value & 64) == 0) { /* #10.9.3.7 */ - value = ((value & 63) << 8) | per_get_few_bits(pd, 8); - if(value < 0) return -1; - return value; - } - value &= 63; /* this is "m" from X.691, #10.9.3.8 */ - if(value < 1 || value > 4) - return -1; - *repeat = 1; - return (16384 * value); -} - -ssize_t -aper_get_nslength(asn_per_data_t *pd) { - ssize_t length; - - ASN_DEBUG("Getting normally small length"); - - if(per_get_few_bits(pd, 1) == 0) { - length = per_get_few_bits(pd, 6) + 1; - if(length <= 0) return -1; - ASN_DEBUG("l=%ld", length); - return length; - } else { - int repeat; - length = aper_get_length(pd, -1, -1, &repeat); - if(length >= 0 && !repeat) return length; - return -1; /* Error, or do not support >16K extensions */ - } -} - -ssize_t -aper_get_nsnnwn(asn_per_data_t *pd, int range) { - ssize_t value; - int bytes = 0; - - ASN_DEBUG("getting nsnnwn with range %d", range); - - if(range <= 255) { - int i; - - if (range < 0) return -1; - /* 1 -> 8 bits */ - for (i = 1; i <= 8; i++) { - int upper = 1 << i; - if (upper >= range) - break; - } - value = per_get_few_bits(pd, i); - return value; - } else if (range == 256){ - /* 1 byte */ - bytes = 1; - } else if (range <= 65536) { - /* 2 bytes */ - bytes = 2; - } else { - return -1; - } - if (aper_get_align(pd) < 0) - return -1; - value = per_get_few_bits(pd, 8 * bytes); - return value; -} - -int aper_put_align(asn_per_outp_t *po) { - - if(po->nboff & 0x7) { - ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)po->nboff & 0x7)); - if(per_put_few_bits(po, 0x00, (8 - (po->nboff & 0x7)))) - return -1; - } - return 0; -} - -ssize_t -aper_put_length(asn_per_outp_t *po, int range, size_t length) { - - ASN_DEBUG("APER put length %zu with range %d", length, range); - - /* 10.9 X.691 Note 2 */ - if (range <= 65536 && range >= 0) - return aper_put_nsnnwn(po, range, length); - - if (aper_put_align(po) < 0) - return -1; - - if(length <= 127) /* #10.9.3.6 */{ - return per_put_few_bits(po, length, 8) - ? -1 : (ssize_t)length; - } - else if(length < 16384) /* #10.9.3.7 */ - return per_put_few_bits(po, length|0x8000, 16) - ? -1 : (ssize_t)length; - - length >>= 14; - if(length > 4) length = 4; - - return per_put_few_bits(po, 0xC0 | length, 8) - ? -1 : (ssize_t)(length << 14); -} - - -int -aper_put_nslength(asn_per_outp_t *po, size_t length) { - - if(length <= 64) { - /* #10.9.3.4 */ - if(length == 0) return -1; - return per_put_few_bits(po, length-1, 7) ? -1 : 0; - } else { - if(aper_put_length(po, -1, length) != (ssize_t)length) { - /* This might happen in case of >16K extensions */ - return -1; - } - } - - return 0; -} - -int -aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) { - int bytes; - - ASN_DEBUG("aper put nsnnwn %d with range %d", number, range); - /* 10.5.7.1 X.691 */ - if(range < 0) { - int i; - for (i = 1; ; i++) { - int bits = 1 << (8 * i); - if (number <= bits) - break; - } - bytes = i; - assert(i <= 4); - } - if(range <= 255) { - int i; - for (i = 1; i <= 8; i++) { - int bits = 1 << i; - if (range <= bits) - break; - } - return per_put_few_bits(po, number, i); - } else if(range == 256) { - bytes = 1; - } else if(range <= 65536) { - bytes = 2; - } else { /* Ranges > 64K */ - int i; - for (i = 1; ; i++) { - int bits = 1 << (8 * i); - if (range <= bits) - break; - } - assert(i <= 4); - bytes = i; - } - if(aper_put_align(po) < 0) /* Aligning on octet */ - return -1; -/* if(per_put_few_bits(po, bytes, 8)) - return -1; -*/ - return per_put_few_bits(po, number, 8 * bytes); -} diff --git a/skeletons/per_support.h b/skeletons/per_support.h deleted file mode 100644 index 23079c9..0000000 --- a/skeletons/per_support.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_SUPPORT_H_ -#define _PER_SUPPORT_H_ - -#include /* Platform-specific types */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Pre-computed PER constraints. - */ -typedef struct asn_per_constraint_s { - enum asn_per_constraint_flags { - APC_UNCONSTRAINED = 0x0, /* No PER visible constraints */ - APC_SEMI_CONSTRAINED = 0x1, /* Constrained at "lb" */ - APC_CONSTRAINED = 0x2, /* Fully constrained */ - APC_EXTENSIBLE = 0x4 /* May have extension */ - } flags; - int range_bits; /* Full number of bits in the range */ - int effective_bits; /* Effective bits */ - long lower_bound; /* "lb" value */ - long upper_bound; /* "ub" value */ -} asn_per_constraint_t; -typedef struct asn_per_constraints_s { - asn_per_constraint_t value; - asn_per_constraint_t size; - int (*value2code)(unsigned int value); - int (*code2value)(unsigned int code); -} asn_per_constraints_t; - -/* Temporary compatibility layer. Will get removed. */ -typedef struct asn_bit_data_s asn_per_data_t; -#define per_get_few_bits(data, bits) asn_get_few_bits(data, bits) -#define per_get_undo(data, bits) asn_get_undo(data, bits) -#define per_get_many_bits(data, dst, align, bits) \ - asn_get_many_bits(data, dst, align, bits) - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Get the length "n" from the Unaligned PER stream. - */ -ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits, - size_t lower_bound, int *repeat); - -ssize_t aper_get_length(asn_per_data_t *pd, int range, - int effective_bound_bits, int *repeat); - -/* - * Get the normally small length "n". - */ -ssize_t uper_get_nslength(asn_per_data_t *pd); -ssize_t aper_get_nslength(asn_per_data_t *pd); - -/* - * Get the normally small non-negative whole number. - */ -ssize_t uper_get_nsnnwn(asn_per_data_t *pd); -ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range); - -/* X.691-2008/11, #11.5.6 */ -int uper_get_constrained_whole_number(asn_per_data_t *pd, unsigned long *v, int nbits); - - -/* Temporary compatibility layer. Will get removed. */ -typedef struct asn_bit_outp_s asn_per_outp_t; -#define per_put_few_bits(out, bits, obits) asn_put_few_bits(out, bits, obits) -#define per_put_many_bits(out, src, nbits) asn_put_many_bits(out, src, nbits) -#define per_put_aligned_flush(out) asn_put_aligned_flush(out) - - -/* - * Rebase the given value as an offset into the range specified by the - * lower bound (lb) and upper bound (ub). - * RETURN VALUES: - * -1: Conversion failed due to range problems. - * 0: Conversion was successful. - */ -int per_long_range_rebase(long v, long lb, long ub, unsigned long *output); -/* The inverse operation: restores the value by the offset and its bounds. */ -int per_long_range_unrebase(unsigned long inp, long lb, long ub, long *outp); - -/* X.691-2008/11, #11.5 */ -int uper_put_constrained_whole_number_u(asn_per_outp_t *po, unsigned long v, int nbits); - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Put the length "whole_length" to the Unaligned PER stream. - * If (opt_need_eom) is given, it will be set to 1 if final 0-length is needed. - * In that case, invoke uper_put_length(po, 0, 0) after encoding the last block. - * This function returns the number of units which may be flushed - * in the next units saving iteration. - */ -ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length, - int *opt_need_eom); - -ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length); - -/* Align the current bit position to octet bundary */ -int aper_put_align(asn_per_outp_t *po); -int32_t aper_get_align(asn_per_data_t *pd); - -/* - * Put the normally small length "n" to the Unaligned PER stream. - * Returns 0 or -1. - */ -int uper_put_nslength(asn_per_outp_t *po, size_t length); - -int aper_put_nslength(asn_per_outp_t *po, size_t length); - -/* - * Put the normally small non-negative whole number. - */ -int uper_put_nsnnwn(asn_per_outp_t *po, int n); - -int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_SUPPORT_H_ */ diff --git a/skeletons/standard-modules/ASN1-Object-Identifier-Module.asn1 b/skeletons/standard-modules/ASN1-Object-Identifier-Module.asn1 deleted file mode 100644 index b81e37c..0000000 --- a/skeletons/standard-modules/ASN1-Object-Identifier-Module.asn1 +++ /dev/null @@ -1,43 +0,0 @@ -ASN1-Object-Identifier-Module { joint-iso-itu-t asn1(1) specification(0) modules(0) object-identifiers(1) } -DEFINITIONS ::= BEGIN - - -- NumericString ASN.1 type (see 37.3) -- - numericString OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) specification(0) characterStrings(1) numericString(0) } - - -- PrintableString ASN.1 type (see 37.5) -- - printableString OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) specification(0) characterStrings(1) printableString(1) } - - -- ASN.1 Character Module (see 38.1) -- - asn1CharacterModule OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) specification(0) modules(0) iso10646(0) } - - -- ASN.1 Object Identifier Module (this module) -- - asn1ObjectIdentifierModule OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) specification(0) modules(0) object-identifiers(1) } - - -- BER encoding of a single ASN.1 type -- - ber OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) basic-encoding(1) } - - -- CER encoding of a single ASN.1 type -- - cer OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0) } - - -- DER encoding of a single ASN.1 type -- - der OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1) } - - -- PER encoding of a single ASN.1 type (basic aligned) -- - perBasicAligned OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) packed-encoding(3) basic(0) aligned(0) } - - -- PER encoding of a single ASN.1 type (basic unaligned) -- - perBasicUnaligned OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) packed-encoding(3) basic(0) unaligned(1) } - - -- PER encoding of a single ASN.1 type (canonical aligned) -- - perCanonicalAligned OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) packed-encoding(3) canonical(1) aligned(0) } - - -- PER encoding of a single ASN.1 type (canonical unaligned) -- - perCanonicalUnaligned OBJECT IDENTIFIER ::= { joint-iso-itu-t asn1(1) packed-encoding(3) canonical(1) unaligned(1) } - - -- XER encoding of a single ASN.1 type (basic) -- - xerBasic OBJECT IDENTIFIER ::= {joint-iso-itu-t asn1(1) xml-encoding(5) basic(0) } - - -- XER encoding of a single ASN.1 type (canonical) -- - xerCanonical OBJECT IDENTIFIER ::= {joint-iso-itu-t asn1(1) xml-encoding(5) canonical(1) } - -END -- ASN1-Object-Identifier-Module -- diff --git a/skeletons/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 b/skeletons/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 deleted file mode 100644 index 7ba2da4..0000000 --- a/skeletons/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1 +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This specification contains pervasive ASN.1 information object classes. - * These classes are defined as "useful", and are available in any module - * without the necessity for explicit import. - */ -ASN1C-UsefulInformationObjectClasses - { iso(1) org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) - standard-modules(3) auto-imported(0) 1 } -DEFINITIONS ::= BEGIN - - /* - * X.681-0207, Annex A - * The TYPE-IDENTIFIER information object class - */ - TYPE-IDENTIFIER ::= CLASS { - &id OBJECT IDENTIFIER UNIQUE, - &Type - } WITH SYNTAX { &Type IDENTIFIED BY &id } - - /* - * X.681-0207, Annex B - * The ABSTRACT-SYNTAX information object class - */ - ABSTRACT-SYNTAX ::= CLASS { - &id OBJECT IDENTIFIER UNIQUE, - &Type, - &property BIT STRING { handles-invalid-encodings(0) } DEFAULT {} - } WITH SYNTAX { &Type IDENTIFIED BY &id [HAS PROPERTY &property] } - -END diff --git a/skeletons/standard-modules/README b/skeletons/standard-modules/README deleted file mode 100644 index 014a698..0000000 --- a/skeletons/standard-modules/README +++ /dev/null @@ -1,2 +0,0 @@ -All *.asn1 files in this directory will be automatically -picked up by the asn1c during compilation of any user specified module. diff --git a/skeletons/xer_decoder.c b/skeletons/xer_decoder.c deleted file mode 100644 index 5b87703..0000000 --- a/skeletons/xer_decoder.c +++ /dev/null @@ -1,369 +0,0 @@ -/* - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include /* XER/XML parsing support */ - - -/* - * Decode the XER encoding of a given type. - */ -asn_dec_rval_t -xer_decode(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, void **struct_ptr, - const void *buffer, size_t size) { - asn_codec_ctx_t s_codec_ctx; - - /* - * Stack checker requires that the codec context - * must be allocated on the stack. - */ - if(opt_codec_ctx) { - if(opt_codec_ctx->max_stack_size) { - s_codec_ctx = *opt_codec_ctx; - opt_codec_ctx = &s_codec_ctx; - } - } else { - /* If context is not given, be security-conscious anyway */ - memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); - s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; - opt_codec_ctx = &s_codec_ctx; - } - - /* - * Invoke type-specific decoder. - */ - return td->op->xer_decoder(opt_codec_ctx, td, struct_ptr, 0, buffer, size); -} - - - -struct xer__cb_arg { - pxml_chunk_type_e chunk_type; - size_t chunk_size; - const void *chunk_buf; - int callback_not_invoked; -}; - -static int -xer__token_cb(pxml_chunk_type_e type, const void *_chunk_data, size_t _chunk_size, void *key) { - struct xer__cb_arg *arg = (struct xer__cb_arg *)key; - arg->chunk_type = type; - arg->chunk_size = _chunk_size; - arg->chunk_buf = _chunk_data; - arg->callback_not_invoked = 0; - return -1; /* Terminate the XML parsing */ -} - -/* - * Fetch the next token from the XER/XML stream. - */ -ssize_t -xer_next_token(int *stateContext, const void *buffer, size_t size, pxer_chunk_type_e *ch_type) { - struct xer__cb_arg arg; - int new_stateContext = *stateContext; - ssize_t ret; - - arg.callback_not_invoked = 1; - ret = pxml_parse(&new_stateContext, buffer, size, xer__token_cb, &arg); - if(ret < 0) return -1; - if(arg.callback_not_invoked) { - assert(ret == 0); /* No data was consumed */ - *ch_type = PXER_WMORE; - return 0; /* Try again with more data */ - } else { - assert(arg.chunk_size); - assert(arg.chunk_buf == buffer); - } - - /* - * Translate the XML chunk types into more convenient ones. - */ - switch(arg.chunk_type) { - case PXML_TEXT: - *ch_type = PXER_TEXT; - break; - case PXML_TAG: - *ch_type = PXER_WMORE; - return 0; /* Want more */ - case PXML_TAG_END: - *ch_type = PXER_TAG; - break; - case PXML_COMMENT: - case PXML_COMMENT_END: - *ch_type = PXER_COMMENT; - break; - } - - *stateContext = new_stateContext; - return arg.chunk_size; -} - -#define CSLASH 0x2f /* '/' */ -#define LANGLE 0x3c /* '<' */ -#define RANGLE 0x3e /* '>' */ - -xer_check_tag_e -xer_check_tag(const void *buf_ptr, int size, const char *need_tag) { - const char *buf = (const char *)buf_ptr; - const char *end; - xer_check_tag_e ct = XCT_OPENING; - - if(size < 2 || buf[0] != LANGLE || buf[size-1] != RANGLE) { - if(size >= 2) - ASN_DEBUG("Broken XML tag: \"%c...%c\"", - buf[0], buf[size - 1]); - return XCT_BROKEN; - } - - /* - * Determine the tag class. - */ - if(buf[1] == CSLASH) { - buf += 2; /* advance past "" */ - ct = XCT_CLOSING; - if(size > 0 && buf[size-1] == CSLASH) - return XCT_BROKEN; /* */ - } else { - buf++; /* advance past "<" */ - size -= 2; /* strip "<" and ">" */ - if(size > 0 && buf[size-1] == CSLASH) { - ct = XCT_BOTH; - size--; /* One more, for "/" */ - } - } - - /* Sometimes we don't care about the tag */ - if(!need_tag || !*need_tag) - return (xer_check_tag_e)(XCT__UNK__MASK | ct); - - /* - * Determine the tag name. - */ - for(end = buf + size; buf < end; buf++, need_tag++) { - int b = *buf, n = *need_tag; - if(b != n) { - if(n == 0) { - switch(b) { - case 0x09: case 0x0a: case 0x0c: case 0x0d: - case 0x20: - /* "": whitespace is normal */ - return ct; - } - } - return (xer_check_tag_e)(XCT__UNK__MASK | ct); - } - if(b == 0) - return XCT_BROKEN; /* Embedded 0 in buf?! */ - } - if(*need_tag) - return (xer_check_tag_e)(XCT__UNK__MASK | ct); - - return ct; -} - - -#undef ADVANCE -#define ADVANCE(num_bytes) do { \ - size_t num = (num_bytes); \ - buf_ptr = ((const char *)buf_ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -#undef RETURN -#define RETURN(_code) do { \ - rval.code = _code; \ - rval.consumed = consumed_myself; \ - if(rval.code != RC_OK) \ - ASN_DEBUG("Failed with %d", rval.code); \ - return rval; \ - } while(0) - -#define XER_GOT_BODY(chunk_buf, chunk_size, size) do { \ - ssize_t converted_size = body_receiver \ - (struct_key, chunk_buf, chunk_size, \ - (size_t)chunk_size < size); \ - if(converted_size == -1) RETURN(RC_FAIL); \ - if(converted_size == 0 \ - && size == (size_t)chunk_size) \ - RETURN(RC_WMORE); \ - chunk_size = converted_size; \ - } while(0) -#define XER_GOT_EMPTY() do { \ - if(body_receiver(struct_key, 0, 0, size > 0) == -1) \ - RETURN(RC_FAIL); \ - } while(0) - -/* - * Generalized function for decoding the primitive values. - */ -asn_dec_rval_t -xer_decode_general(const asn_codec_ctx_t *opt_codec_ctx, - asn_struct_ctx_t *ctx, /* Type decoder context */ - void *struct_key, - const char *xml_tag, /* Expected XML tag */ - const void *buf_ptr, size_t size, - int (*opt_unexpected_tag_decoder) - (void *struct_key, const void *chunk_buf, size_t chunk_size), - ssize_t (*body_receiver) - (void *struct_key, const void *chunk_buf, size_t chunk_size, - int have_more) - ) { - - asn_dec_rval_t rval; - ssize_t consumed_myself = 0; - - (void)opt_codec_ctx; - - /* - * Phases of XER/XML processing: - * Phase 0: Check that the opening tag matches our expectations. - * Phase 1: Processing body and reacting on closing tag. - */ - if(ctx->phase > 1) RETURN(RC_FAIL); - for(;;) { - pxer_chunk_type_e ch_type; /* XER chunk type */ - ssize_t ch_size; /* Chunk size */ - xer_check_tag_e tcv; /* Tag check value */ - - /* - * Get the next part of the XML stream. - */ - ch_size = xer_next_token(&ctx->context, buf_ptr, size, - &ch_type); - if(ch_size == -1) { - RETURN(RC_FAIL); - } else { - switch(ch_type) { - case PXER_WMORE: - RETURN(RC_WMORE); - case PXER_COMMENT: /* Got XML comment */ - ADVANCE(ch_size); /* Skip silently */ - continue; - case PXER_TEXT: - if(ctx->phase == 0) { - /* - * We have to ignore whitespace here, - * but in order to be forward compatible - * with EXTENDED-XER (EMBED-VALUES, #25) - * any text is just ignored here. - */ - } else { - XER_GOT_BODY(buf_ptr, ch_size, size); - } - ADVANCE(ch_size); - continue; - case PXER_TAG: - break; /* Check the rest down there */ - } - } - - assert(ch_type == PXER_TAG && size); - - tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); - /* - * Phase 0: - * Expecting the opening tag - * for the type being processed. - * Phase 1: - * Waiting for the closing XML tag. - */ - switch(tcv) { - case XCT_BOTH: - if(ctx->phase) break; - /* Finished decoding of an empty element */ - XER_GOT_EMPTY(); - ADVANCE(ch_size); - ctx->phase = 2; /* Phase out */ - RETURN(RC_OK); - case XCT_OPENING: - if(ctx->phase) break; - ADVANCE(ch_size); - ctx->phase = 1; /* Processing body phase */ - continue; - case XCT_CLOSING: - if(!ctx->phase) break; - ADVANCE(ch_size); - ctx->phase = 2; /* Phase out */ - RETURN(RC_OK); - case XCT_UNKNOWN_BO: - /* - * Certain tags in the body may be expected. - */ - if(opt_unexpected_tag_decoder - && opt_unexpected_tag_decoder(struct_key, - buf_ptr, ch_size) >= 0) { - /* Tag's processed fine */ - ADVANCE(ch_size); - if(!ctx->phase) { - /* We are not expecting - * the closing tag anymore. */ - ctx->phase = 2; /* Phase out */ - RETURN(RC_OK); - } - continue; - } - /* Fall through */ - default: - break; /* Unexpected tag */ - } - - ASN_DEBUG("Unexpected XML tag (expected \"%s\")", xml_tag); - break; /* Dark and mysterious things have just happened */ - } - - RETURN(RC_FAIL); -} - - -size_t -xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { - const char *p = (const char *)chunk_buf; - const char *pend = p + chunk_size; - - for(; p < pend; p++) { - switch(*p) { - /* X.693, #8.1.4 - * HORISONTAL TAB (9) - * LINE FEED (10) - * CARRIAGE RETURN (13) - * SPACE (32) - */ - case 0x09: case 0x0a: case 0x0d: case 0x20: - continue; - default: - break; - } - break; - } - return (p - (const char *)chunk_buf); -} - -/* - * This is a vastly simplified, non-validating XML tree skipper. - */ -int -xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth) { - assert(*depth > 0); - switch(tcv) { - case XCT_BOTH: - case XCT_UNKNOWN_BO: - /* These negate each other. */ - return 0; - case XCT_OPENING: - case XCT_UNKNOWN_OP: - ++(*depth); - return 0; - case XCT_CLOSING: - case XCT_UNKNOWN_CL: - if(--(*depth) == 0) - return (tcv == XCT_CLOSING) ? 2 : 1; - return 0; - default: - return -1; - } -} diff --git a/skeletons/xer_decoder.h b/skeletons/xer_decoder.h deleted file mode 100644 index b951c41..0000000 --- a/skeletons/xer_decoder.h +++ /dev/null @@ -1,106 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_DECODER_H_ -#define _XER_DECODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The XER decoder of any ASN.1 type. May be invoked by the application. - * Decodes CANONICAL-XER and BASIC-XER. - */ -asn_dec_rval_t xer_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); - -/* - * Type of the type-specific XER decoder function. - */ -typedef asn_dec_rval_t(xer_type_decoder_f)( - const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, - const char *opt_mname, /* Member name */ - const void *buf_ptr, size_t size); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Generalized function for decoding the primitive values. - * Used by more specialized functions, such as OCTET_STRING_decode_xer_utf8 - * and others. This function should not be used by applications, as its API - * is subject to changes. - */ -asn_dec_rval_t xer_decode_general( - const asn_codec_ctx_t *opt_codec_ctx, - asn_struct_ctx_t *ctx, /* Type decoder context */ - void *struct_key, /* Treated as opaque pointer */ - const char *xml_tag, /* Expected XML tag name */ - const void *buf_ptr, size_t size, - int (*opt_unexpected_tag_decoder)(void *struct_key, const void *chunk_buf, - size_t chunk_size), - ssize_t (*body_receiver)(void *struct_key, const void *chunk_buf, - size_t chunk_size, int have_more)); - - -/* - * Fetch the next XER (XML) token from the stream. - * The function returns the number of bytes occupied by the chunk type, - * returned in the _ch_type. The _ch_type is only set (and valid) when - * the return value is >= 0. - */ - typedef enum pxer_chunk_type { - PXER_WMORE, /* Chunk type is not clear, more data expected. */ - PXER_TAG, /* Complete XER tag */ - PXER_TEXT, /* Plain text between XER tags */ - PXER_COMMENT /* A comment, may be part of */ - } pxer_chunk_type_e; -ssize_t xer_next_token(int *stateContext, - const void *buffer, size_t size, pxer_chunk_type_e *_ch_type); - -/* - * This function checks the buffer against the tag name is expected to occur. - */ - typedef enum xer_check_tag { - XCT_BROKEN = 0, /* The tag is broken */ - XCT_OPENING = 1, /* This is the tag */ - XCT_CLOSING = 2, /* This is the tag */ - XCT_BOTH = 3, /* This is the tag */ - XCT__UNK__MASK = 4, /* Mask of everything unexpected */ - XCT_UNKNOWN_OP = 5, /* Unexpected tag */ - XCT_UNKNOWN_CL = 6, /* Unexpected tag */ - XCT_UNKNOWN_BO = 7 /* Unexpected tag */ - } xer_check_tag_e; -xer_check_tag_e xer_check_tag(const void *buf_ptr, int size, - const char *need_tag); - -/* - * Get the number of bytes consisting entirely of XER whitespace characters. - * RETURN VALUES: - * >=0: Number of whitespace characters in the string. - */ -size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size); - -/* - * Skip the series of anticipated extensions. - */ -int xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_DECODER_H_ */ diff --git a/skeletons/xer_encoder.c b/skeletons/xer_encoder.c deleted file mode 100644 index 4177ede..0000000 --- a/skeletons/xer_encoder.c +++ /dev/null @@ -1,237 +0,0 @@ -/*- - * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include -#include - -/* - * The XER encoder of any type. May be invoked by the application. - */ -asn_enc_rval_t -xer_encode(const asn_TYPE_descriptor_t *td, const void *sptr, - enum xer_encoder_flags_e xer_flags, asn_app_consume_bytes_f *cb, - void *app_key) { - asn_enc_rval_t er = {0, 0, 0}; - asn_enc_rval_t tmper; - const char *mname; - size_t mlen; - int xcan = (xer_flags & XER_F_CANONICAL) ? 1 : 2; - - if(!td || !sptr) goto cb_failed; - - mname = td->xml_tag; - mlen = strlen(mname); - - ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); - - tmper = td->op->xer_encoder(td, sptr, 1, xer_flags, cb, app_key); - if(tmper.encoded == -1) return tmper; - er.encoded += tmper.encoded; - - ASN__CALLBACK3("\n", xcan); - - ASN__ENCODED_OK(er); -cb_failed: - ASN__ENCODE_FAILED; -} - -/* - * This is a helper function for xer_fprint, which directs all incoming data - * into the provided file descriptor. - */ -static int -xer__print2fp(const void *buffer, size_t size, void *app_key) { - FILE *stream = (FILE *)app_key; - - if(fwrite(buffer, 1, size, stream) != size) - return -1; - - return 0; -} - -int -xer_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, const void *sptr) { - asn_enc_rval_t er = {0,0,0}; - - if(!stream) stream = stdout; - if(!td || !sptr) - return -1; - - er = xer_encode(td, sptr, XER_F_BASIC, xer__print2fp, stream); - if(er.encoded == -1) - return -1; - - return fflush(stream); -} - -struct xer_buffer { - char *buffer; - size_t buffer_size; - size_t allocated_size; -}; - -static int -xer__buffer_append(const void *buffer, size_t size, void *app_key) { - struct xer_buffer *xb = app_key; - - while(xb->buffer_size + size + 1 > xb->allocated_size) { - size_t new_size = 2 * (xb->allocated_size ? xb->allocated_size : 64); - char *new_buf = MALLOC(new_size); - if(!new_buf) return -1; - if (xb->buffer) { - memcpy(new_buf, xb->buffer, xb->buffer_size); - } - FREEMEM(xb->buffer); - xb->buffer = new_buf; - xb->allocated_size = new_size; - } - - memcpy(xb->buffer + xb->buffer_size, buffer, size); - xb->buffer_size += size; - xb->buffer[xb->buffer_size] = '\0'; - return 0; -} - -enum xer_equivalence_e -xer_equivalent(const struct asn_TYPE_descriptor_s *td, const void *struct1, - const void *struct2, FILE *opt_debug_stream) { - struct xer_buffer xb1 = {0, 0, 0}; - struct xer_buffer xb2 = {0, 0, 0}; - asn_enc_rval_t e1, e2; - asn_dec_rval_t rval; - void *sptr = NULL; - - if(!td || !struct1 || !struct2) { - if(opt_debug_stream) { - if(!td) fprintf(opt_debug_stream, "Type descriptor missing\n"); - if(!struct1) fprintf(opt_debug_stream, "Structure 1 missing\n"); - if(!struct2) fprintf(opt_debug_stream, "Structure 2 missing\n"); - } - return XEQ_FAILURE; - } - - e1 = xer_encode(td, struct1, XER_F_BASIC, xer__buffer_append, &xb1); - if(e1.encoded == -1) { - if(opt_debug_stream) { - fprintf(stderr, "XER Encoding of %s failed\n", td->name); - } - FREEMEM(xb1.buffer); - return XEQ_ENCODE1_FAILED; - } - - e2 = xer_encode(td, struct2, XER_F_BASIC, xer__buffer_append, &xb2); - if(e2.encoded == -1) { - if(opt_debug_stream) { - fprintf(stderr, "XER Encoding of %s failed\n", td->name); - } - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_ENCODE1_FAILED; - } - - if(xb1.buffer_size != xb2.buffer_size - || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "Structures XER-encoded into different byte streams:\n=== " - "Structure 1 ===\n%s\n=== Structure 2 ===\n%s\n", - xb1.buffer, xb2.buffer); - } - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_DIFFERENT; - } else { - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "Both structures encoded into the same XER byte stream " - "of size %" ASN_PRI_SIZE ":\n%s", - xb1.buffer_size, xb1.buffer); - } - } - - rval = xer_decode(NULL, td, (void **)&sptr, xb1.buffer, - xb1.buffer_size); - switch(rval.code) { - case RC_OK: - break; - case RC_WMORE: - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "Structure %s XER decode unexpectedly requires " - "more data:\n%s\n", - td->name, xb1.buffer); - } - /* Fall through */ - case RC_FAIL: - default: - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "Structure %s XER decoding resulted in failure.\n", - td->name); - } - ASN_STRUCT_FREE(*td, sptr); - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_DECODE_FAILED; - } - - if(rval.consumed != xb1.buffer_size - && ((rval.consumed > xb1.buffer_size) - || xer_whitespace_span(xb1.buffer + rval.consumed, - xb1.buffer_size - rval.consumed) - != (xb1.buffer_size - rval.consumed))) { - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "Round-trip decode of %s required less bytes (%" ASN_PRI_SIZE ") than " - "encoded (%" ASN_PRI_SIZE ")\n", - td->name, rval.consumed, xb1.buffer_size); - } - ASN_STRUCT_FREE(*td, sptr); - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_ROUND_TRIP_FAILED; - } - - /* - * Reuse xb2 to encode newly decoded structure. - */ - FREEMEM(xb2.buffer); - memset(&xb2, 0, sizeof(xb2)); - - e2 = xer_encode(td, sptr, XER_F_BASIC, xer__buffer_append, &xb2); - if(e2.encoded == -1) { - if(opt_debug_stream) { - fprintf(stderr, "XER Encoding of round-trip decode of %s failed\n", - td->name); - } - ASN_STRUCT_FREE(*td, sptr); - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_ROUND_TRIP_FAILED; - } - - ASN_STRUCT_FREE(*td, sptr); - sptr = 0; - - if(xb1.buffer_size != xb2.buffer_size - || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { - if(opt_debug_stream) { - fprintf(opt_debug_stream, - "XER Encoding of round-trip decode of %s resulted in " - "different byte stream:\n" - "=== Original ===\n%s\n" - "=== Round-tripped ===\n%s\n", - xb1.buffer, xb2.buffer, td->name); - } - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_ROUND_TRIP_FAILED; - } - - FREEMEM(xb1.buffer); - FREEMEM(xb2.buffer); - return XEQ_SUCCESS; -} - diff --git a/skeletons/xer_encoder.h b/skeletons/xer_encoder.h deleted file mode 100644 index 9d75922..0000000 --- a/skeletons/xer_encoder.h +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_ENCODER_H_ -#define _XER_ENCODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* Flags used by the xer_encode() and (*xer_type_encoder_f), defined below */ -enum xer_encoder_flags_e { - /* Mode of encoding */ - XER_F_BASIC = 0x01, /* BASIC-XER (pretty-printing) */ - XER_F_CANONICAL = 0x02 /* Canonical XER (strict rules) */ -}; - -/* - * The XER encoder of any type. May be invoked by the application. - * Produces CANONICAL-XER and BASIC-XER depending on the (xer_flags). - */ -asn_enc_rval_t xer_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - enum xer_encoder_flags_e xer_flags, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* - * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC) - * output into the chosen file pointer. - * RETURN VALUES: - * 0: The structure is printed. - * -1: Problem printing the structure. - * WARNING: No sensible errno value is returned. - */ -int xer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td, - const void *struct_ptr); - -/* - * A helper function that uses XER encoding/decoding to verify that: - * - Both structures encode into the same BASIC XER. - * - Both resulting XER byte streams can be decoded back. - * - Both decoded structures encode into the same BASIC XER (round-trip). - * All of this verifies equivalence between structures and a round-trip. - * ARGUMENTS: - * (opt_debug_stream) - If specified, prints ongoing details. - */ -enum xer_equivalence_e { - XEQ_SUCCESS, /* The only completely positive return value */ - XEQ_FAILURE, /* General failure */ - XEQ_ENCODE1_FAILED, /* First sructure XER encoding failed */ - XEQ_ENCODE2_FAILED, /* Second structure XER encoding failed */ - XEQ_DIFFERENT, /* Structures encoded into different XER */ - XEQ_DECODE_FAILED, /* Decode of the XER data failed */ - XEQ_ROUND_TRIP_FAILED /* Bad round-trip */ -}; -enum xer_equivalence_e xer_equivalent( - const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct1, - const void *struct2, FILE *opt_debug_stream); - -/* - * Type of the generic XER encoder. - */ -typedef asn_enc_rval_t(xer_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - int ilevel, /* Level of indentation */ - enum xer_encoder_flags_e xer_flags, - asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_ENCODER_H_ */ diff --git a/skeletons/xer_support.c b/skeletons/xer_support.c deleted file mode 100644 index 36b4bfb..0000000 --- a/skeletons/xer_support.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. - * Copyright (c) 2003, 2004, 2005 Lev Walkin . - * All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#include -#include - -/* Parser states */ -typedef enum { - ST_TEXT, - ST_TAG_START, - ST_TAG_BODY, - ST_TAG_QUOTE_WAIT, - ST_TAG_QUOTED_STRING, - ST_TAG_UNQUOTED_STRING, - ST_COMMENT_WAIT_DASH1, /* ""[0] */ - ST_COMMENT_CLO_RT /* "-->"[1] */ -} pstate_e; - -static const int -_charclass[256] = { - 0,0,0,0,0,0,0,0, 0,1,1,0,1,1,0,0, - 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, - 1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, - 2,2,2,2,2,2,2,2, 2,2,0,0,0,0,0,0, /* 01234567 89 */ - 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* ABCDEFG HIJKLMNO */ - 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0, /* PQRSTUVW XYZ */ - 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* abcdefg hijklmno */ - 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0 /* pqrstuvw xyz */ -}; -#define WHITESPACE(c) (_charclass[(unsigned char)(c)] == 1) -#define ALNUM(c) (_charclass[(unsigned char)(c)] >= 2) -#define ALPHA(c) (_charclass[(unsigned char)(c)] == 3) - -/* Aliases for characters, ASCII/UTF-8 */ -#define EXCLAM 0x21 /* '!' */ -#define CQUOTE 0x22 /* '"' */ -#define CDASH 0x2d /* '-' */ -#define CSLASH 0x2f /* '/' */ -#define LANGLE 0x3c /* '<' */ -#define CEQUAL 0x3d /* '=' */ -#define RANGLE 0x3e /* '>' */ -#define CQUEST 0x3f /* '?' */ - -/* Invoke token callback */ -#define TOKEN_CB_CALL(type, _ns, _current_too, _final) do { \ - int _ret; \ - pstate_e ns = _ns; \ - ssize_t _sz = (p - chunk_start) + _current_too; \ - if (!_sz) { \ - /* Shortcut */ \ - state = _ns; \ - break; \ - } \ - _ret = cb(type, chunk_start, _sz, key); \ - if(_ret < _sz) { \ - if(_current_too && _ret == -1) \ - state = ns; \ - goto finish; \ - } \ - chunk_start = p + _current_too; \ - state = ns; \ - } while(0) - -#define TOKEN_CB(_type, _ns, _current_too) \ - TOKEN_CB_CALL(_type, _ns, _current_too, 0) - -#define PXML_TAG_FINAL_CHUNK_TYPE PXML_TAG_END -#define PXML_COMMENT_FINAL_CHUNK_TYPE PXML_COMMENT_END - -#define TOKEN_CB_FINAL(_type, _ns, _current_too) \ - TOKEN_CB_CALL( _type ## _FINAL_CHUNK_TYPE , _ns, _current_too, 1) - -/* - * Parser itself - */ -ssize_t pxml_parse(int *stateContext, const void *xmlbuf, size_t size, pxml_callback_f *cb, void *key) { - pstate_e state = (pstate_e)*stateContext; - const char *chunk_start = (const char *)xmlbuf; - const char *p = chunk_start; - const char *end = p + size; - - for(; p < end; p++) { - int C = *(const unsigned char *)p; - switch(state) { - case ST_TEXT: - /* - * Initial state: we're in the middle of some text, - * or just have started. - */ - if (C == LANGLE) - /* We're now in the tag, probably */ - TOKEN_CB(PXML_TEXT, ST_TAG_START, 0); - break; - case ST_TAG_START: - if (ALPHA(C) || (C == CSLASH)) - state = ST_TAG_BODY; - else if (C == EXCLAM) - state = ST_COMMENT_WAIT_DASH1; - else - /* - * Not characters and not whitespace. - * Must be something like "3 < 4". - */ - TOKEN_CB(PXML_TEXT, ST_TEXT, 1);/* Flush as data */ - break; - case ST_TAG_BODY: - switch(C) { - case RANGLE: - /* End of the tag */ - TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); - break; - case LANGLE: - /* - * The previous tag wasn't completed, but still - * recognized as valid. (Mozilla-compatible) - */ - TOKEN_CB_FINAL(PXML_TAG, ST_TAG_START, 0); - break; - case CEQUAL: - state = ST_TAG_QUOTE_WAIT; - break; - } - break; - case ST_TAG_QUOTE_WAIT: - /* - * State after the equal sign ("=") in the tag. - */ - switch(C) { - case CQUOTE: - state = ST_TAG_QUOTED_STRING; - break; - case RANGLE: - /* End of the tag */ - TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); - break; - default: - if(!WHITESPACE(C)) - /* Unquoted string value */ - state = ST_TAG_UNQUOTED_STRING; - } - break; - case ST_TAG_QUOTED_STRING: - /* - * Tag attribute's string value in quotes. - */ - if(C == CQUOTE) { - /* Return back to the tag state */ - state = ST_TAG_BODY; - } - break; - case ST_TAG_UNQUOTED_STRING: - if(C == RANGLE) { - /* End of the tag */ - TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); - } else if(WHITESPACE(C)) { - /* Return back to the tag state */ - state = ST_TAG_BODY; - } - break; - case ST_COMMENT_WAIT_DASH1: - if(C == CDASH) { - state = ST_COMMENT_WAIT_DASH2; - } else { - /* Some ordinary tag. */ - state = ST_TAG_BODY; - } - break; - case ST_COMMENT_WAIT_DASH2: - if(C == CDASH) { - /* Seen "<--" */ - state = ST_COMMENT; - } else { - /* Some ordinary tag */ - state = ST_TAG_BODY; - } - break; - case ST_COMMENT: - if(C == CDASH) { - state = ST_COMMENT_CLO_DASH2; - } - break; - case ST_COMMENT_CLO_DASH2: - if(C == CDASH) { - state = ST_COMMENT_CLO_RT; - } else { - /* This is not an end of a comment */ - state = ST_COMMENT; - } - break; - case ST_COMMENT_CLO_RT: - if(C == RANGLE) { - TOKEN_CB_FINAL(PXML_COMMENT, ST_TEXT, 1); - } else if(C == CDASH) { - /* Maintain current state, still waiting for '>' */ - } else { - state = ST_COMMENT; - } - break; - } /* switch(*ptr) */ - } /* for() */ - - /* - * Flush the partially processed chunk, state permitting. - */ - if(p - chunk_start) { - switch (state) { - case ST_COMMENT: - TOKEN_CB(PXML_COMMENT, state, 0); - break; - case ST_TEXT: - TOKEN_CB(PXML_TEXT, state, 0); - break; - default: break; /* a no-op */ - } - } - -finish: - *stateContext = (int)state; - return chunk_start - (const char *)xmlbuf; -} - diff --git a/skeletons/xer_support.h b/skeletons/xer_support.h deleted file mode 100644 index c3a36e7..0000000 --- a/skeletons/xer_support.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_SUPPORT_H_ -#define _XER_SUPPORT_H_ - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Types of data transferred to the application. - */ -typedef enum { - PXML_TEXT, /* Plain text between XML tags. */ - PXML_TAG, /* A tag, starting with '<'. */ - PXML_COMMENT, /* An XML comment, including "". */ - /* - * The following chunk types are reported if the chunk - * terminates the specified XML element. - */ - PXML_TAG_END, /* Tag ended */ - PXML_COMMENT_END /* Comment ended */ -} pxml_chunk_type_e; - -/* - * Callback function that is called by the parser when parsed data is - * available. The _opaque is the pointer to a field containing opaque user - * data specified in pxml_create() call. The chunk type is _type and the text - * data is the piece of buffer identified by _bufid (as supplied to - * pxml_feed() call) starting at offset _offset and of _size bytes size. - * The chunk is NOT '\0'-terminated. - */ -typedef int (pxml_callback_f)(pxml_chunk_type_e _type, - const void *_chunk_data, size_t _chunk_size, void *_key); - -/* - * Parse the given buffer as it were a chunk of XML data. - * Invoke the specified callback each time the meaninful data is found. - * This function returns number of bytes consumed from the bufer. - * It will always be lesser than or equal to the specified _size. - * The next invocation of this function must account the difference. - */ -ssize_t pxml_parse(int *_stateContext, const void *_buf, size_t _size, - pxml_callback_f *cb, void *_key); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_SUPPORT_H_ */ diff --git a/tests/Makefile b/tests/Makefile deleted file mode 100644 index 36fb90f..0000000 --- a/tests/Makefile +++ /dev/null @@ -1,655 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests -abs_srcdir = /home/nokia/mouse07410/asn1c/tests -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. - -# Tests are ordered in the rough order of the time it takes to go through them. -SUBDIRS = \ - tests-asn1c-compiler \ - tests-skeletons \ - tests-asn1c-smoke \ - tests-c-compiler \ - tests-randomized - -EXTRA_DIST = README -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index d134272..0000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ - -# Tests are ordered in the rough order of the time it takes to go through them. -SUBDIRS = \ - tests-asn1c-compiler \ - tests-skeletons \ - tests-asn1c-smoke \ - tests-c-compiler \ - tests-randomized - -EXTRA_DIST = README - diff --git a/tests/Makefile.in b/tests/Makefile.in deleted file mode 100644 index e4b4988..0000000 --- a/tests/Makefile.in +++ /dev/null @@ -1,655 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# Tests are ordered in the rough order of the time it takes to go through them. -SUBDIRS = \ - tests-asn1c-compiler \ - tests-skeletons \ - tests-asn1c-smoke \ - tests-c-compiler \ - tests-randomized - -EXTRA_DIST = README -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/README b/tests/README deleted file mode 100644 index 7e9b97c..0000000 --- a/tests/README +++ /dev/null @@ -1,6 +0,0 @@ -tests-asn1c-compiler - asn1c produces expected textual output -tests-asn1c-smoke - asn1c compiler produces compilable code for simple types -tests-c-compiler - C code compiles and runs, and produces expected result -tests-skeletons - "skeletons" code primitives are correct -tests-randomized - fuzz-testing of DER/OER/PER/XER codecs - diff --git a/tests/tests-asn1c-compiler/00-empty-OK.asn1 b/tests/tests-asn1c-compiler/00-empty-OK.asn1 deleted file mode 100644 index 532d4fb..0000000 --- a/tests/tests-asn1c-compiler/00-empty-OK.asn1 +++ /dev/null @@ -1 +0,0 @@ -ModuleTestEmpty DEFINITIONS ::= BEGIN END diff --git a/tests/tests-asn1c-compiler/01-empty-OK.asn1 b/tests/tests-asn1c-compiler/01-empty-OK.asn1 deleted file mode 100644 index 04d9ba7..0000000 --- a/tests/tests-asn1c-compiler/01-empty-OK.asn1 +++ /dev/null @@ -1,14 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .1 - -ModuleTestEmpty - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 1 } - DEFINITIONS ::= -BEGIN - -END diff --git a/tests/tests-asn1c-compiler/02-garbage-NP.asn1 b/tests/tests-asn1c-compiler/02-garbage-NP.asn1 deleted file mode 100644 index 410c7bc..0000000 --- a/tests/tests-asn1c-compiler/02-garbage-NP.asn1 +++ /dev/null @@ -1,17 +0,0 @@ - --- NP: Non-parseable. - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .2 - -ModuleTestGarbage - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 2 } - DEFINITIONS ::= -BEGIN - - -- must fail on the next line -- - some garbage - -END diff --git a/tests/tests-asn1c-compiler/03-enum-OK.asn1 b/tests/tests-asn1c-compiler/03-enum-OK.asn1 deleted file mode 100644 index a8570a9..0000000 --- a/tests/tests-asn1c-compiler/03-enum-OK.asn1 +++ /dev/null @@ -1,37 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .3 - -ModuleTestEnum1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 3 } - DEFINITIONS ::= -BEGIN - - Enum1 ::= ENUMERATED - { red, -- will be 0 -- - green, -- will be 1 -- - blue(4), - alpha, - ... -- extensible -- - } - - Enum2 ::= ENUMERATED - { red, -- will be 0 -- - green, -- will be 1 -- - blue(45), - orange(23), -- Does not have to be ordered -- - alpha, - ..., -- extensible -- - beta(12), -- May be less than the max value in the root -- - gamma(103) -- Must be ordered -- - } - - Enum3 ::= ENUMERATED { a, b(3), ..., c(1) } - Enum4 ::= ENUMERATED { a, b, ..., c(3), d } - Enum5 ::= ENUMERATED { a, z(25), ..., d } - -END diff --git a/tests/tests-asn1c-compiler/03-enum-OK.asn1.-EF b/tests/tests-asn1c-compiler/03-enum-OK.asn1.-EF deleted file mode 100644 index 761736f..0000000 --- a/tests/tests-asn1c-compiler/03-enum-OK.asn1.-EF +++ /dev/null @@ -1,47 +0,0 @@ -ModuleTestEnum1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 3 } -DEFINITIONS ::= -BEGIN - -Enum1 ::= ENUMERATED { - red(0), - green(1), - blue(4), - alpha(5), - ... -} - -Enum2 ::= ENUMERATED { - red(0), - green(1), - blue(45), - orange(23), - alpha(46), - ..., - beta(12), - gamma(103) -} - -Enum3 ::= ENUMERATED { - a(0), - b(3), - ..., - c(1) -} - -Enum4 ::= ENUMERATED { - a(0), - b(1), - ..., - c(3), - d(4) -} - -Enum5 ::= ENUMERATED { - a(0), - z(25), - ..., - d(26) -} - -END diff --git a/tests/tests-asn1c-compiler/03-enum-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/03-enum-OK.asn1.-Pfwide-types deleted file mode 100644 index 3074c72..0000000 --- a/tests/tests-asn1c-compiler/03-enum-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,413 +0,0 @@ - -/*** <<< INCLUDES [Enum1] >>> ***/ - -#include - -/*** <<< DEPS [Enum1] >>> ***/ - -typedef enum Enum1 { - Enum1_red = 0, - Enum1_green = 1, - Enum1_blue = 4, - Enum1_alpha = 5 - /* - * Enumeration is extensible - */ -} e_Enum1; - -/*** <<< TYPE-DECLS [Enum1] >>> ***/ - -typedef ENUMERATED_t Enum1_t; - -/*** <<< FUNC-DECLS [Enum1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum1; -asn_struct_free_f Enum1_free; -asn_struct_print_f Enum1_print; -asn_constr_check_f Enum1_constraint; -ber_type_decoder_f Enum1_decode_ber; -der_type_encoder_f Enum1_encode_der; -xer_type_decoder_f Enum1_decode_xer; -xer_type_encoder_f Enum1_encode_xer; - -/*** <<< CODE [Enum1] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum1] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum1_value2enum_1[] = { - { 0, 3, "red" }, - { 1, 5, "green" }, - { 4, 4, "blue" }, - { 5, 5, "alpha" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Enum1_enum2value_1[] = { - 3, /* alpha(5) */ - 2, /* blue(4) */ - 1, /* green(1) */ - 0 /* red(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = { - asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */ - 4, /* Number of elements in the maps */ - 5, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum1 = { - "Enum1", - "Enum1", - &asn_OP_ENUMERATED, - asn_DEF_Enum1_tags_1, - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - asn_DEF_Enum1_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum2] >>> ***/ - -#include - -/*** <<< DEPS [Enum2] >>> ***/ - -typedef enum Enum2 { - Enum2_red = 0, - Enum2_green = 1, - Enum2_blue = 45, - Enum2_orange = 23, - Enum2_alpha = 46, - /* - * Enumeration is extensible - */ - Enum2_beta = 12, - Enum2_gamma = 103 -} e_Enum2; - -/*** <<< TYPE-DECLS [Enum2] >>> ***/ - -typedef ENUMERATED_t Enum2_t; - -/*** <<< FUNC-DECLS [Enum2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum2; -asn_struct_free_f Enum2_free; -asn_struct_print_f Enum2_print; -asn_constr_check_f Enum2_constraint; -ber_type_decoder_f Enum2_decode_ber; -der_type_encoder_f Enum2_encode_der; -xer_type_decoder_f Enum2_decode_xer; -xer_type_encoder_f Enum2_encode_xer; - -/*** <<< CODE [Enum2] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum2] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum2_value2enum_1[] = { - { 0, 3, "red" }, - { 1, 5, "green" }, - { 12, 4, "beta" }, - { 23, 6, "orange" }, - { 45, 4, "blue" }, - { 46, 5, "alpha" }, - { 103, 5, "gamma" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Enum2_enum2value_1[] = { - 5, /* alpha(46) */ - 2, /* beta(12) */ - 4, /* blue(45) */ - 6, /* gamma(103) */ - 1, /* green(1) */ - 3, /* orange(23) */ - 0 /* red(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum2_specs_1 = { - asn_MAP_Enum2_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum2_enum2value_1, /* N => "tag"; sorted by N */ - 7, /* Number of elements in the maps */ - 6, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum2 = { - "Enum2", - "Enum2", - &asn_OP_ENUMERATED, - asn_DEF_Enum2_tags_1, - sizeof(asn_DEF_Enum2_tags_1) - /sizeof(asn_DEF_Enum2_tags_1[0]), /* 1 */ - asn_DEF_Enum2_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum2_tags_1) - /sizeof(asn_DEF_Enum2_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum3] >>> ***/ - -#include - -/*** <<< DEPS [Enum3] >>> ***/ - -typedef enum Enum3 { - Enum3_a = 0, - Enum3_b = 3, - /* - * Enumeration is extensible - */ - Enum3_c = 1 -} e_Enum3; - -/*** <<< TYPE-DECLS [Enum3] >>> ***/ - -typedef ENUMERATED_t Enum3_t; - -/*** <<< FUNC-DECLS [Enum3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum3; -asn_struct_free_f Enum3_free; -asn_struct_print_f Enum3_print; -asn_constr_check_f Enum3_constraint; -ber_type_decoder_f Enum3_decode_ber; -der_type_encoder_f Enum3_encode_der; -xer_type_decoder_f Enum3_decode_xer; -xer_type_encoder_f Enum3_encode_xer; - -/*** <<< CODE [Enum3] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum3] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum3_value2enum_1[] = { - { 0, 1, "a" }, - { 1, 1, "c" }, - { 3, 1, "b" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Enum3_enum2value_1[] = { - 0, /* a(0) */ - 2, /* b(3) */ - 1 /* c(1) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum3_specs_1 = { - asn_MAP_Enum3_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum3_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum3 = { - "Enum3", - "Enum3", - &asn_OP_ENUMERATED, - asn_DEF_Enum3_tags_1, - sizeof(asn_DEF_Enum3_tags_1) - /sizeof(asn_DEF_Enum3_tags_1[0]), /* 1 */ - asn_DEF_Enum3_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum3_tags_1) - /sizeof(asn_DEF_Enum3_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum3_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum4] >>> ***/ - -#include - -/*** <<< DEPS [Enum4] >>> ***/ - -typedef enum Enum4 { - Enum4_a = 0, - Enum4_b = 1, - /* - * Enumeration is extensible - */ - Enum4_c = 3, - Enum4_d = 4 -} e_Enum4; - -/*** <<< TYPE-DECLS [Enum4] >>> ***/ - -typedef ENUMERATED_t Enum4_t; - -/*** <<< FUNC-DECLS [Enum4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum4; -asn_struct_free_f Enum4_free; -asn_struct_print_f Enum4_print; -asn_constr_check_f Enum4_constraint; -ber_type_decoder_f Enum4_decode_ber; -der_type_encoder_f Enum4_encode_der; -xer_type_decoder_f Enum4_decode_xer; -xer_type_encoder_f Enum4_encode_xer; - -/*** <<< CODE [Enum4] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum4] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum4_value2enum_1[] = { - { 0, 1, "a" }, - { 1, 1, "b" }, - { 3, 1, "c" }, - { 4, 1, "d" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Enum4_enum2value_1[] = { - 0, /* a(0) */ - 1, /* b(1) */ - 2, /* c(3) */ - 3 /* d(4) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum4_specs_1 = { - asn_MAP_Enum4_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum4_enum2value_1, /* N => "tag"; sorted by N */ - 4, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum4 = { - "Enum4", - "Enum4", - &asn_OP_ENUMERATED, - asn_DEF_Enum4_tags_1, - sizeof(asn_DEF_Enum4_tags_1) - /sizeof(asn_DEF_Enum4_tags_1[0]), /* 1 */ - asn_DEF_Enum4_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum4_tags_1) - /sizeof(asn_DEF_Enum4_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum4_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum5] >>> ***/ - -#include - -/*** <<< DEPS [Enum5] >>> ***/ - -typedef enum Enum5 { - Enum5_a = 0, - Enum5_z = 25, - /* - * Enumeration is extensible - */ - Enum5_d = 26 -} e_Enum5; - -/*** <<< TYPE-DECLS [Enum5] >>> ***/ - -typedef ENUMERATED_t Enum5_t; - -/*** <<< FUNC-DECLS [Enum5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum5; -asn_struct_free_f Enum5_free; -asn_struct_print_f Enum5_print; -asn_constr_check_f Enum5_constraint; -ber_type_decoder_f Enum5_decode_ber; -der_type_encoder_f Enum5_encode_der; -xer_type_decoder_f Enum5_decode_xer; -xer_type_encoder_f Enum5_encode_xer; - -/*** <<< CODE [Enum5] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum5] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum5_value2enum_1[] = { - { 0, 1, "a" }, - { 25, 1, "z" }, - { 26, 1, "d" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Enum5_enum2value_1[] = { - 0, /* a(0) */ - 2, /* d(26) */ - 1 /* z(25) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum5_specs_1 = { - asn_MAP_Enum5_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum5_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum5 = { - "Enum5", - "Enum5", - &asn_OP_ENUMERATED, - asn_DEF_Enum5_tags_1, - sizeof(asn_DEF_Enum5_tags_1) - /sizeof(asn_DEF_Enum5_tags_1[0]), /* 1 */ - asn_DEF_Enum5_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum5_tags_1) - /sizeof(asn_DEF_Enum5_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum5_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/04-enum-SE.asn1 b/tests/tests-asn1c-compiler/04-enum-SE.asn1 deleted file mode 100644 index e9a37c4..0000000 --- a/tests/tests-asn1c-compiler/04-enum-SE.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .4 - -ModuleTestEnum2 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 4 } - DEFINITIONS ::= -BEGIN - - enum1 Enum1 ::= blue - - Enum1 ::= ENUMERATED { red, green, ..., - blue(1) -- collides with green -- } - -END diff --git a/tests/tests-asn1c-compiler/04-enum-SE.asn1.-E b/tests/tests-asn1c-compiler/04-enum-SE.asn1.-E deleted file mode 100644 index 2036bd5..0000000 --- a/tests/tests-asn1c-compiler/04-enum-SE.asn1.-E +++ /dev/null @@ -1,15 +0,0 @@ -ModuleTestEnum2 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 4 } -DEFINITIONS ::= -BEGIN - -enum1 Enum1 ::= blue - -Enum1 ::= ENUMERATED { - red, - green, - ..., - blue(1) -} - -END diff --git a/tests/tests-asn1c-compiler/05-enum-SE.asn1 b/tests/tests-asn1c-compiler/05-enum-SE.asn1 deleted file mode 100644 index 083724d..0000000 --- a/tests/tests-asn1c-compiler/05-enum-SE.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .5 - -ModuleTestEnum3 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 5 } - DEFINITIONS ::= -BEGIN - - enum1 Enum1 ::= red - - Enum1 ::= ENUMERATED { red(5), green(4), ..., blue(6), - -- second extension marker is not allowed -- - ..., - white(7) } - -END diff --git a/tests/tests-asn1c-compiler/06-enum-SE.asn1 b/tests/tests-asn1c-compiler/06-enum-SE.asn1 deleted file mode 100644 index ad304af..0000000 --- a/tests/tests-asn1c-compiler/06-enum-SE.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .6 - -ModuleTestEnum4 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 6 } - DEFINITIONS ::= -BEGIN - - enum1 Enum1 ::= red - - Enum1 ::= ENUMERATED { red(5), ..., - green(7), blue(6) -- order is not maintained after ... - } - -END diff --git a/tests/tests-asn1c-compiler/07-int-OK.asn1 b/tests/tests-asn1c-compiler/07-int-OK.asn1 deleted file mode 100644 index bf59627..0000000 --- a/tests/tests-asn1c-compiler/07-int-OK.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .7 - -ModuleTestInt1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 7 } - DEFINITIONS ::= -BEGIN - - int123456 INTEGER ::= 123456 - - Interval ::= INTEGER (1..int123456) - - SameInterval INTEGER ::= { 1 | 2 | 3 | 4 | 5 | 6 } - - Reason ::= INTEGER { - no-reason(0), - negative-reason(-10), - some-large-value(1324324) - } - -END diff --git a/tests/tests-asn1c-compiler/07-int-OK.asn1.-EF b/tests/tests-asn1c-compiler/07-int-OK.asn1.-EF deleted file mode 100644 index 3baa862..0000000 --- a/tests/tests-asn1c-compiler/07-int-OK.asn1.-EF +++ /dev/null @@ -1,18 +0,0 @@ -ModuleTestInt1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 7 } -DEFINITIONS ::= -BEGIN - -int123456 INTEGER ::= 123456 - -Interval ::= INTEGER (1..123456) - -SameInterval INTEGER ::= {1 | 2 | 3 | 4 | 5 | 6} - -Reason ::= INTEGER { - no-reason(0), - negative-reason(-10), - some-large-value(1324324) -} - -END diff --git a/tests/tests-asn1c-compiler/08-int-SE.asn1 b/tests/tests-asn1c-compiler/08-int-SE.asn1 deleted file mode 100644 index 64c1dc0..0000000 --- a/tests/tests-asn1c-compiler/08-int-SE.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .8 - -ModuleTestInt2 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 8 } - DEFINITIONS ::= -BEGIN - - Reason ::= INTEGER { - value1(0), - value1(2) -- identifiers must be distinct -- - } - -END diff --git a/tests/tests-asn1c-compiler/09-int-SE.asn1 b/tests/tests-asn1c-compiler/09-int-SE.asn1 deleted file mode 100644 index 1eda767..0000000 --- a/tests/tests-asn1c-compiler/09-int-SE.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .9 - -ModuleTestInt3 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 9 } - DEFINITIONS ::= -BEGIN - - Reason ::= INTEGER { - value1(1), - value5(5), - value2-1(1) -- integers must be distinct -- - } - -END diff --git a/tests/tests-asn1c-compiler/10-int-OK.asn1 b/tests/tests-asn1c-compiler/10-int-OK.asn1 deleted file mode 100644 index c17265f..0000000 --- a/tests/tests-asn1c-compiler/10-int-OK.asn1 +++ /dev/null @@ -1,29 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .10 - -ModuleTestInt4 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 10 } - DEFINITIONS ::= -BEGIN - - alpha INTEGER ::= 1 - Type1 ::= INTEGER { alpha(2) } - Type2 ::= INTEGER { alpha(3), beta(alpha) } - gamma Type2 ::= beta -- equals 1 -- - delta Type2 ::= alpha -- equals 3 -- - - /* - * The following are for post-fix checking by the check_fixer. - * It will be able to pick-up these values if the file is parseable, - * even if it contains some semantic errors. - */ - - check-gamma INTEGER ::= 1 -- check "gamma"'s value - check-delta INTEGER ::= 3 -- check "delta"'s value - -END diff --git a/tests/tests-asn1c-compiler/100-class-ref-OK.asn1 b/tests/tests-asn1c-compiler/100-class-ref-OK.asn1 deleted file mode 100644 index e8c1f72..0000000 --- a/tests/tests-asn1c-compiler/100-class-ref-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .100 - -ModuleClassSample - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 100 } - DEFINITIONS ::= -BEGIN - - REF-ID ::= TYPE-IDENTIFIER - - RefID ::= SEQUENCE { - field REF-ID.&id, - params REF-ID.&Type - } - - SupportedReferences REF-ID ::= { ... } - -END diff --git a/tests/tests-asn1c-compiler/100-class-ref-OK.asn1.-EF b/tests/tests-asn1c-compiler/100-class-ref-OK.asn1.-EF deleted file mode 100644 index 7449f2b..0000000 --- a/tests/tests-asn1c-compiler/100-class-ref-OK.asn1.-EF +++ /dev/null @@ -1,15 +0,0 @@ -ModuleClassSample { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 100 } -DEFINITIONS ::= -BEGIN - -REF-ID ::= TYPE-IDENTIFIER - -RefID ::= SEQUENCE { - field REF-ID.&id, - params REF-ID.&Type -} - -SupportedReferences REF-ID ::= {...} - -END diff --git a/tests/tests-asn1c-compiler/101-class-ref-SE.asn1 b/tests/tests-asn1c-compiler/101-class-ref-SE.asn1 deleted file mode 100644 index 373df7f..0000000 --- a/tests/tests-asn1c-compiler/101-class-ref-SE.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .101 - -ModuleClassMisUse - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 101 } - DEFINITIONS ::= -BEGIN - - NOTCLASS ::= SEQUENCE { ... } - - REF-ID ::= NOTCLASS - - RefID ::= SEQUENCE { - field REF-ID.&id, - params REF-ID.&Type - } - -END diff --git a/tests/tests-asn1c-compiler/102-class-ref-SE.asn1 b/tests/tests-asn1c-compiler/102-class-ref-SE.asn1 deleted file mode 100644 index 4f42240..0000000 --- a/tests/tests-asn1c-compiler/102-class-ref-SE.asn1 +++ /dev/null @@ -1,22 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .102 - -ModuleClassMisUse - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 102 } - DEFINITIONS ::= -BEGIN - - REF-ID ::= REF-ID2 - REF-ID2 ::= REF-ID - - RefID ::= SEQUENCE { - field REF-ID.&id, - params REF-ID.&Type - } - -END diff --git a/tests/tests-asn1c-compiler/102-class-ref-SE.asn1.-EF b/tests/tests-asn1c-compiler/102-class-ref-SE.asn1.-EF deleted file mode 100644 index e69de29..0000000 diff --git a/tests/tests-asn1c-compiler/103-reference-SE.asn1 b/tests/tests-asn1c-compiler/103-reference-SE.asn1 deleted file mode 100644 index 8b01ef8..0000000 --- a/tests/tests-asn1c-compiler/103-reference-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .103 - -ModuleReference - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 103 } - DEFINITIONS ::= -BEGIN - IMPORTS Type FROM ModuleReference; - - T ::= SEQUENCE OF Type -END diff --git a/tests/tests-asn1c-compiler/104-param-1-OK.asn1 b/tests/tests-asn1c-compiler/104-param-1-OK.asn1 deleted file mode 100644 index 9c1527a..0000000 --- a/tests/tests-asn1c-compiler/104-param-1-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .104 - -ModuleParameterization1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 104 } - DEFINITIONS ::= -BEGIN - - Collection {T} ::= SET OF T - - Bunch ::= SEQUENCE { - field-REAL Collection {REAL}, - field-IA5String Collection {IA5String} - } - -END diff --git a/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 754ba54..0000000 --- a/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,17 +0,0 @@ -ModuleParameterization1 { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 104 } -DEFINITIONS ::= -BEGIN - -Collection{T} ::= SET OF T --- Specializations list has 2 entries: --- REAL --- IA5String - - -Bunch ::= SEQUENCE { - field-REAL Collection{ REAL}, - field-IA5String Collection{ IA5String} -} - -END diff --git a/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-Pfwide-types deleted file mode 100644 index c5b7465..0000000 --- a/tests/tests-asn1c-compiler/104-param-1-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,177 +0,0 @@ - -/*** <<< INCLUDES [Collection] >>> ***/ - -#include -#include -#include -#include - -/*** <<< TYPE-DECLS [Collection] >>> ***/ - -typedef struct Collection_16P0 { - A_SET_OF(REAL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Collection_16P0_t; -typedef struct Collection_16P1 { - A_SET_OF(IA5String_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Collection_16P1_t; - -/*** <<< FUNC-DECLS [Collection] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Collection_16P0; -extern asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1; -extern asn_TYPE_member_t asn_MBR_Collection_16P0_1[1]; -extern asn_TYPE_descriptor_t asn_DEF_Collection_16P1; -extern asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3; -extern asn_TYPE_member_t asn_MBR_Collection_16P1_3[1]; - -/*** <<< STAT-DEFS [Collection] >>> ***/ - -asn_TYPE_member_t asn_MBR_Collection_16P0_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_REAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Collection_16P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Collection_16P0_specs_1 = { - sizeof(struct Collection_16P0), - offsetof(struct Collection_16P0, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Collection_16P0 = { - "Collection", - "Collection", - &asn_OP_SET_OF, - asn_DEF_Collection_16P0_tags_1, - sizeof(asn_DEF_Collection_16P0_tags_1) - /sizeof(asn_DEF_Collection_16P0_tags_1[0]), /* 1 */ - asn_DEF_Collection_16P0_tags_1, /* Same as above */ - sizeof(asn_DEF_Collection_16P0_tags_1) - /sizeof(asn_DEF_Collection_16P0_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Collection_16P0_1, - 1, /* Single element */ - &asn_SPC_Collection_16P0_specs_1 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Collection_16P1_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Collection_16P1_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Collection_16P1_specs_3 = { - sizeof(struct Collection_16P1), - offsetof(struct Collection_16P1, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Collection_16P1 = { - "Collection", - "Collection", - &asn_OP_SET_OF, - asn_DEF_Collection_16P1_tags_3, - sizeof(asn_DEF_Collection_16P1_tags_3) - /sizeof(asn_DEF_Collection_16P1_tags_3[0]), /* 1 */ - asn_DEF_Collection_16P1_tags_3, /* Same as above */ - sizeof(asn_DEF_Collection_16P1_tags_3) - /sizeof(asn_DEF_Collection_16P1_tags_3[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Collection_16P1_3, - 1, /* Single element */ - &asn_SPC_Collection_16P1_specs_3 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Bunch] >>> ***/ - -#include "Collection.h" -#include - -/*** <<< TYPE-DECLS [Bunch] >>> ***/ - -typedef struct Bunch { - Collection_16P0_t field_REAL; - Collection_16P1_t field_IA5String; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Bunch_t; - -/*** <<< FUNC-DECLS [Bunch] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Bunch; - -/*** <<< STAT-DEFS [Bunch] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Bunch_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Bunch, field_REAL), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Collection_16P0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "field-REAL" - }, - { ATF_NOFLAGS, 0, offsetof(struct Bunch, field_IA5String), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Collection_16P1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "field-IA5String" - }, -}; -static const ber_tlv_tag_t asn_DEF_Bunch_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Bunch_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* field-REAL */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, -1, 0 } /* field-IA5String */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Bunch_specs_1 = { - sizeof(struct Bunch), - offsetof(struct Bunch, _asn_ctx), - .tag2el = asn_MAP_Bunch_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Bunch = { - "Bunch", - "Bunch", - &asn_OP_SEQUENCE, - asn_DEF_Bunch_tags_1, - sizeof(asn_DEF_Bunch_tags_1) - /sizeof(asn_DEF_Bunch_tags_1[0]), /* 1 */ - asn_DEF_Bunch_tags_1, /* Same as above */ - sizeof(asn_DEF_Bunch_tags_1) - /sizeof(asn_DEF_Bunch_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Bunch_1, - 2, /* Elements count */ - &asn_SPC_Bunch_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/105-param-2-OK.asn1 b/tests/tests-asn1c-compiler/105-param-2-OK.asn1 deleted file mode 100644 index e3ac589..0000000 --- a/tests/tests-asn1c-compiler/105-param-2-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .105 - -ModuleParameterization2 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 105 } - DEFINITIONS ::= -BEGIN - - SIGNED {Type} ::= SEQUENCE { - signed Type - } - - SignedREAL ::= SIGNED {REAL} - SignedSET ::= SIGNED { SET { a INTEGER } } - -END diff --git a/tests/tests-asn1c-compiler/105-param-2-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/105-param-2-OK.asn1.-Pfwide-types deleted file mode 100644 index 0535c89..0000000 --- a/tests/tests-asn1c-compiler/105-param-2-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,280 +0,0 @@ - -/*** <<< INCLUDES [SIGNED] >>> ***/ - -#include -#include -#include -#include - -/*** <<< DEPS [SIGNED] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum signed_PR { - signed_PR_a, /* Member a is present */ -} signed_PR; - -/*** <<< TYPE-DECLS [SIGNED] >>> ***/ - -typedef struct SIGNED_16P0 { - REAL_t Signed; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SIGNED_16P0_t; -typedef struct SIGNED_16P1 { - struct Signed { - INTEGER_t a; - - /* Presence bitmask: ASN_SET_ISPRESENT(psigned, signed_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } Signed; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SIGNED_16P1_t; - -/*** <<< FUNC-DECLS [SIGNED] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P0; -extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1; -extern asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[1]; -extern asn_TYPE_descriptor_t asn_DEF_SIGNED_16P1; -extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3; -extern asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[1]; - -/*** <<< STAT-DEFS [SIGNED] >>> ***/ - -asn_TYPE_member_t asn_MBR_SIGNED_16P0_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P0, Signed), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_REAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "signed" - }, -}; -static const ber_tlv_tag_t asn_DEF_SIGNED_16P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 0 } /* signed */ -}; -asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P0_specs_1 = { - sizeof(struct SIGNED_16P0), - offsetof(struct SIGNED_16P0, _asn_ctx), - .tag2el = asn_MAP_SIGNED_16P0_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SIGNED_16P0 = { - "SIGNED", - "SIGNED", - &asn_OP_SEQUENCE, - asn_DEF_SIGNED_16P0_tags_1, - sizeof(asn_DEF_SIGNED_16P0_tags_1) - /sizeof(asn_DEF_SIGNED_16P0_tags_1[0]), /* 1 */ - asn_DEF_SIGNED_16P0_tags_1, /* Same as above */ - sizeof(asn_DEF_SIGNED_16P0_tags_1) - /sizeof(asn_DEF_SIGNED_16P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_16P0_1, - 1, /* Elements count */ - &asn_SPC_SIGNED_16P0_specs_1 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_signed_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct Signed, a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, -}; -static const ber_tlv_tag_t asn_DEF_signed_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_signed_tag2el_4[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* a */ -}; -static const uint8_t asn_MAP_signed_mmap_4[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -static -asn_SET_specifics_t asn_SPC_signed_specs_4 = { - sizeof(struct Signed), - offsetof(struct Signed, _asn_ctx), - offsetof(struct Signed, _presence_map), - .tag2el = asn_MAP_signed_tag2el_4, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_signed_tag2el_4, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_signed_mmap_4 /* Mandatory elements map */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_signed_4 = { - "signed", - "signed", - &asn_OP_SET, - asn_DEF_signed_tags_4, - sizeof(asn_DEF_signed_tags_4) - /sizeof(asn_DEF_signed_tags_4[0]), /* 1 */ - asn_DEF_signed_tags_4, /* Same as above */ - sizeof(asn_DEF_signed_tags_4) - /sizeof(asn_DEF_signed_tags_4[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_signed_4, - 1, /* Elements count */ - &asn_SPC_signed_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_SIGNED_16P1_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct SIGNED_16P1, Signed), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_signed_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "signed" - }, -}; -static const ber_tlv_tag_t asn_DEF_SIGNED_16P1_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SIGNED_16P1_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* signed */ -}; -asn_SEQUENCE_specifics_t asn_SPC_SIGNED_16P1_specs_3 = { - sizeof(struct SIGNED_16P1), - offsetof(struct SIGNED_16P1, _asn_ctx), - .tag2el = asn_MAP_SIGNED_16P1_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SIGNED_16P1 = { - "SIGNED", - "SIGNED", - &asn_OP_SEQUENCE, - asn_DEF_SIGNED_16P1_tags_3, - sizeof(asn_DEF_SIGNED_16P1_tags_3) - /sizeof(asn_DEF_SIGNED_16P1_tags_3[0]), /* 1 */ - asn_DEF_SIGNED_16P1_tags_3, /* Same as above */ - sizeof(asn_DEF_SIGNED_16P1_tags_3) - /sizeof(asn_DEF_SIGNED_16P1_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_16P1_3, - 1, /* Elements count */ - &asn_SPC_SIGNED_16P1_specs_3 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SignedREAL] >>> ***/ - -#include "SIGNED.h" - -/*** <<< TYPE-DECLS [SignedREAL] >>> ***/ - -typedef SIGNED_16P0_t SignedREAL_t; - -/*** <<< FUNC-DECLS [SignedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SignedREAL; -asn_struct_free_f SignedREAL_free; -asn_struct_print_f SignedREAL_print; -asn_constr_check_f SignedREAL_constraint; -ber_type_decoder_f SignedREAL_decode_ber; -der_type_encoder_f SignedREAL_encode_der; -xer_type_decoder_f SignedREAL_decode_xer; -xer_type_encoder_f SignedREAL_encode_xer; - -/*** <<< CODE [SignedREAL] >>> ***/ - -/* - * This type is implemented using SIGNED_16P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SignedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SignedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SignedREAL = { - "SignedREAL", - "SignedREAL", - &asn_OP_SEQUENCE, - asn_DEF_SignedREAL_tags_1, - sizeof(asn_DEF_SignedREAL_tags_1) - /sizeof(asn_DEF_SignedREAL_tags_1[0]), /* 1 */ - asn_DEF_SignedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_SignedREAL_tags_1) - /sizeof(asn_DEF_SignedREAL_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_16P0_1, - 1, /* Elements count */ - &asn_SPC_SIGNED_16P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SignedSET] >>> ***/ - -#include "SIGNED.h" - -/*** <<< TYPE-DECLS [SignedSET] >>> ***/ - -typedef SIGNED_16P1_t SignedSET_t; - -/*** <<< FUNC-DECLS [SignedSET] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SignedSET; -asn_struct_free_f SignedSET_free; -asn_struct_print_f SignedSET_print; -asn_constr_check_f SignedSET_constraint; -ber_type_decoder_f SignedSET_decode_ber; -der_type_encoder_f SignedSET_encode_der; -xer_type_decoder_f SignedSET_decode_xer; -xer_type_encoder_f SignedSET_encode_xer; - -/*** <<< CODE [SignedSET] >>> ***/ - -/* - * This type is implemented using SIGNED_16P1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SignedSET] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SignedSET_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SignedSET = { - "SignedSET", - "SignedSET", - &asn_OP_SEQUENCE, - asn_DEF_SignedSET_tags_1, - sizeof(asn_DEF_SignedSET_tags_1) - /sizeof(asn_DEF_SignedSET_tags_1[0]), /* 1 */ - asn_DEF_SignedSET_tags_1, /* Same as above */ - sizeof(asn_DEF_SignedSET_tags_1) - /sizeof(asn_DEF_SignedSET_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_16P1_3, - 1, /* Elements count */ - &asn_SPC_SIGNED_16P1_specs_3 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/106-param-constr-OK.asn1 b/tests/tests-asn1c-compiler/106-param-constr-OK.asn1 deleted file mode 100644 index ea63c3d..0000000 --- a/tests/tests-asn1c-compiler/106-param-constr-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .106 - -ModuleParameterizationWithConstraints - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 106 } - DEFINITIONS ::= -BEGIN - - Narrow {Type, INTEGER:value} ::= SEQUENCE { - narrow1 Type (1..5) DEFAULT value, - narrow2 [0] Type (2..5), - narrow3 [1] Type (3..5) OPTIONAL - } - - NarrowInteger ::= Narrow {INTEGER (0..10), 3} - -END diff --git a/tests/tests-asn1c-compiler/106-param-constr-OK.asn1.-P b/tests/tests-asn1c-compiler/106-param-constr-OK.asn1.-P deleted file mode 100644 index fe41bed..0000000 --- a/tests/tests-asn1c-compiler/106-param-constr-OK.asn1.-P +++ /dev/null @@ -1,235 +0,0 @@ - -/*** <<< INCLUDES [Narrow] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [Narrow] >>> ***/ - -typedef struct Narrow_15P0 { - long *narrow1; /* DEFAULT 3 */ - long narrow2; - long *narrow3; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Narrow_15P0_t; - -/*** <<< FUNC-DECLS [Narrow] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Narrow_15P0; -extern asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1; -extern asn_TYPE_member_t asn_MBR_Narrow_15P0_1[3]; - -/*** <<< CODE [Narrow] >>> ***/ - -static int -memb_narrow1_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_narrow2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 2 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_narrow3_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 3 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Narrow] >>> ***/ - -static int asn_DFL_2_cmp_3(const void *sptr) { - const long *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 3 */ - return (*st != 3); -} -static int asn_DFL_2_set_3(void **sptr) { - long *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 3 */ - *st = 3; - return 0; -} -asn_TYPE_member_t asn_MBR_Narrow_15P0_1[] = { - { ATF_POINTER, 1, offsetof(struct Narrow_15P0, narrow1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_narrow1_constraint_1 }, - .default_value_cmp = &asn_DFL_2_cmp_3, /* Compare DEFAULT 3 */ - .default_value_set = &asn_DFL_2_set_3, /* Set DEFAULT 3 */ - .name = "narrow1" - }, - { ATF_NOFLAGS, 0, offsetof(struct Narrow_15P0, narrow2), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_narrow2_constraint_1 }, - 0, 0, /* No default value */ - .name = "narrow2" - }, - { ATF_POINTER, 1, offsetof(struct Narrow_15P0, narrow3), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_narrow3_constraint_1 }, - 0, 0, /* No default value */ - .name = "narrow3" - }, -}; -static const ber_tlv_tag_t asn_DEF_Narrow_15P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Narrow_15P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* narrow1 */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* narrow2 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* narrow3 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Narrow_15P0_specs_1 = { - sizeof(struct Narrow_15P0), - offsetof(struct Narrow_15P0, _asn_ctx), - .tag2el = asn_MAP_Narrow_15P0_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Narrow_15P0 = { - "Narrow", - "Narrow", - &asn_OP_SEQUENCE, - asn_DEF_Narrow_15P0_tags_1, - sizeof(asn_DEF_Narrow_15P0_tags_1) - /sizeof(asn_DEF_Narrow_15P0_tags_1[0]), /* 1 */ - asn_DEF_Narrow_15P0_tags_1, /* Same as above */ - sizeof(asn_DEF_Narrow_15P0_tags_1) - /sizeof(asn_DEF_Narrow_15P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Narrow_15P0_1, - 3, /* Elements count */ - &asn_SPC_Narrow_15P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NarrowInteger] >>> ***/ - -#include "Narrow.h" - -/*** <<< TYPE-DECLS [NarrowInteger] >>> ***/ - -typedef Narrow_15P0_t NarrowInteger_t; - -/*** <<< FUNC-DECLS [NarrowInteger] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NarrowInteger; -asn_struct_free_f NarrowInteger_free; -asn_struct_print_f NarrowInteger_print; -asn_constr_check_f NarrowInteger_constraint; -ber_type_decoder_f NarrowInteger_decode_ber; -der_type_encoder_f NarrowInteger_encode_der; -xer_type_decoder_f NarrowInteger_decode_xer; -xer_type_encoder_f NarrowInteger_encode_xer; - -/*** <<< CODE [NarrowInteger] >>> ***/ - -/* - * This type is implemented using Narrow_15P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NarrowInteger] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NarrowInteger_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NarrowInteger = { - "NarrowInteger", - "NarrowInteger", - &asn_OP_SEQUENCE, - asn_DEF_NarrowInteger_tags_1, - sizeof(asn_DEF_NarrowInteger_tags_1) - /sizeof(asn_DEF_NarrowInteger_tags_1[0]), /* 1 */ - asn_DEF_NarrowInteger_tags_1, /* Same as above */ - sizeof(asn_DEF_NarrowInteger_tags_1) - /sizeof(asn_DEF_NarrowInteger_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Narrow_15P0_1, - 3, /* Elements count */ - &asn_SPC_Narrow_15P0_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/107-param-constr-2-OK.asn1 b/tests/tests-asn1c-compiler/107-param-constr-2-OK.asn1 deleted file mode 100644 index 23d23ec..0000000 --- a/tests/tests-asn1c-compiler/107-param-constr-2-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .107 - -ModuleParameterizationWithConstraints2 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 107 } - DEFINITIONS ::= -BEGIN - - Narrow {Type} ::= Type (2..5) - - NarrowInteger ::= Narrow {INTEGER} - -END diff --git a/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1 b/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1 deleted file mode 100644 index 2b52486..0000000 --- a/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .108 - -ModuleParameterizationWithConstraints3 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 108 } - DEFINITIONS ::= -BEGIN - - MinMax {Type, INTEGER:low-bound} ::= Type (low-bound..MAX) - - ThreePlus ::= MinMax {INTEGER, 3} - -END diff --git a/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1.-Pfwide-types deleted file mode 100644 index 3859933..0000000 --- a/tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,156 +0,0 @@ - -/*** <<< INCLUDES [MinMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [MinMax] >>> ***/ - -typedef INTEGER_t MinMax_16P0_t; - -/*** <<< FUNC-DECLS [MinMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_MinMax_16P0; -asn_struct_free_f MinMax_16P0_free; -asn_struct_print_f MinMax_16P0_print; -asn_constr_check_f MinMax_16P0_constraint; -ber_type_decoder_f MinMax_16P0_decode_ber; -der_type_encoder_f MinMax_16P0_encode_der; -xer_type_decoder_f MinMax_16P0_decode_xer; -xer_type_encoder_f MinMax_16P0_encode_xer; - -/*** <<< CODE [MinMax] >>> ***/ - -int -MinMax_16P0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [MinMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_MinMax_16P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_MinMax_16P0 = { - "MinMax", - "MinMax", - &asn_OP_INTEGER, - asn_DEF_MinMax_16P0_tags_1, - sizeof(asn_DEF_MinMax_16P0_tags_1) - /sizeof(asn_DEF_MinMax_16P0_tags_1[0]), /* 1 */ - asn_DEF_MinMax_16P0_tags_1, /* Same as above */ - sizeof(asn_DEF_MinMax_16P0_tags_1) - /sizeof(asn_DEF_MinMax_16P0_tags_1[0]), /* 1 */ - { 0, 0, MinMax_16P0_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [ThreePlus] >>> ***/ - -#include "MinMax.h" - -/*** <<< TYPE-DECLS [ThreePlus] >>> ***/ - -typedef MinMax_16P0_t ThreePlus_t; - -/*** <<< FUNC-DECLS [ThreePlus] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ThreePlus; -asn_struct_free_f ThreePlus_free; -asn_struct_print_f ThreePlus_print; -asn_constr_check_f ThreePlus_constraint; -ber_type_decoder_f ThreePlus_decode_ber; -der_type_encoder_f ThreePlus_encode_der; -xer_type_decoder_f ThreePlus_decode_xer; -xer_type_encoder_f ThreePlus_encode_xer; - -/*** <<< CODE [ThreePlus] >>> ***/ - -int -ThreePlus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const MinMax_16P0_t *st = (const MinMax_16P0_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using MinMax_16P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [ThreePlus] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ThreePlus_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ThreePlus = { - "ThreePlus", - "ThreePlus", - &asn_OP_INTEGER, - asn_DEF_ThreePlus_tags_1, - sizeof(asn_DEF_ThreePlus_tags_1) - /sizeof(asn_DEF_ThreePlus_tags_1[0]), /* 1 */ - asn_DEF_ThreePlus_tags_1, /* Same as above */ - sizeof(asn_DEF_ThreePlus_tags_1) - /sizeof(asn_DEF_ThreePlus_tags_1[0]), /* 1 */ - { 0, 0, ThreePlus_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/109-bit-string-NP.asn1 b/tests/tests-asn1c-compiler/109-bit-string-NP.asn1 deleted file mode 100644 index f6cef8e..0000000 --- a/tests/tests-asn1c-compiler/109-bit-string-NP.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- NP: Non-parseable - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .109 - -ModuleBitStringExtensibility - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 109 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { one(1), ... } - -END diff --git a/tests/tests-asn1c-compiler/11-int-SE.asn1 b/tests/tests-asn1c-compiler/11-int-SE.asn1 deleted file mode 100644 index e140701..0000000 --- a/tests/tests-asn1c-compiler/11-int-SE.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .11 - -ModuleTestInt5 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 11 } - DEFINITIONS ::= -BEGIN - - -- recursive definition loop - alpha INTEGER ::= beta - beta INTEGER ::= alpha - -END diff --git a/tests/tests-asn1c-compiler/110-param-3-OK.asn1 b/tests/tests-asn1c-compiler/110-param-3-OK.asn1 deleted file mode 100644 index 383f16c..0000000 --- a/tests/tests-asn1c-compiler/110-param-3-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .110 - -ModuleParameterization3 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 110 } - DEFINITIONS ::= -BEGIN - - Flag{Color} ::= SEQUENCE { - field Color DEFAULT blue - } - - IntegerColorFlag ::= Flag{INTEGER{ red(0), green(1), blue(5) }} - EnumeratedColorFlag ::= Flag{ENUMERATED{ red(3), green, blue }} - -END diff --git a/tests/tests-asn1c-compiler/110-param-3-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/110-param-3-OK.asn1.-Pfcompound-names deleted file mode 100644 index d3d1deb..0000000 --- a/tests/tests-asn1c-compiler/110-param-3-OK.asn1.-Pfcompound-names +++ /dev/null @@ -1,316 +0,0 @@ - -/*** <<< INCLUDES [Flag] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Flag] >>> ***/ - -typedef enum Flag_15P0__field { - Flag_15P0__field_red = 0, - Flag_15P0__field_green = 1, - Flag_15P0__field_blue = 5 -} e_Flag_15P0__field; -typedef enum Flag_15P1__field { - Flag_15P1__field_red = 3, - Flag_15P1__field_green = 4, - Flag_15P1__field_blue = 5 -} e_Flag_15P1__field; - -/*** <<< TYPE-DECLS [Flag] >>> ***/ - -typedef struct Flag_15P0 { - long *field; /* DEFAULT 5 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Flag_15P0_t; -typedef struct Flag_15P1 { - long *field; /* DEFAULT 5 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Flag_15P1_t; - -/*** <<< FUNC-DECLS [Flag] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Flag_15P0; -extern asn_SEQUENCE_specifics_t asn_SPC_Flag_15P0_specs_1; -extern asn_TYPE_member_t asn_MBR_Flag_15P0_1[1]; -/* extern asn_TYPE_descriptor_t asn_DEF_field_7; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Flag_15P1; -extern asn_SEQUENCE_specifics_t asn_SPC_Flag_15P1_specs_6; -extern asn_TYPE_member_t asn_MBR_Flag_15P1_6[1]; - -/*** <<< CODE [Flag] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Flag] >>> ***/ - -static int asn_DFL_2_cmp_5(const void *sptr) { - const long *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 5 */ - return (*st != 5); -} -static int asn_DFL_2_set_5(void **sptr) { - long *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 5 */ - *st = 5; - return 0; -} -asn_TYPE_member_t asn_MBR_Flag_15P0_1[] = { - { ATF_POINTER, 1, offsetof(struct Flag_15P0, field), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_2_cmp_5, /* Compare DEFAULT 5 */ - .default_value_set = &asn_DFL_2_set_5, /* Set DEFAULT 5 */ - .name = "field" - }, -}; -static const ber_tlv_tag_t asn_DEF_Flag_15P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Flag_15P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Flag_15P0_specs_1 = { - sizeof(struct Flag_15P0), - offsetof(struct Flag_15P0, _asn_ctx), - .tag2el = asn_MAP_Flag_15P0_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Flag_15P0 = { - "Flag", - "Flag", - &asn_OP_SEQUENCE, - asn_DEF_Flag_15P0_tags_1, - sizeof(asn_DEF_Flag_15P0_tags_1) - /sizeof(asn_DEF_Flag_15P0_tags_1[0]), /* 1 */ - asn_DEF_Flag_15P0_tags_1, /* Same as above */ - sizeof(asn_DEF_Flag_15P0_tags_1) - /sizeof(asn_DEF_Flag_15P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Flag_15P0_1, - 1, /* Elements count */ - &asn_SPC_Flag_15P0_specs_1 /* Additional specs */ -}; - -static int asn_DFL_7_cmp_5(const void *sptr) { - const long *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 5 */ - return (*st != 5); -} -static int asn_DFL_7_set_5(void **sptr) { - long *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 5 */ - *st = 5; - return 0; -} -static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = { - { 3, 3, "red" }, - { 4, 5, "green" }, - { 5, 4, "blue" } -}; -static const unsigned int asn_MAP_field_enum2value_7[] = { - 2, /* blue(5) */ - 1, /* green(4) */ - 0 /* red(3) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = { - asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */ - asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_field_tags_7[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_field_7 = { - "field", - "field", - &asn_OP_NativeEnumerated, - asn_DEF_field_tags_7, - sizeof(asn_DEF_field_tags_7) - /sizeof(asn_DEF_field_tags_7[0]), /* 1 */ - asn_DEF_field_tags_7, /* Same as above */ - sizeof(asn_DEF_field_tags_7) - /sizeof(asn_DEF_field_tags_7[0]), /* 1 */ - { 0, 0, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_field_specs_7 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Flag_15P1_6[] = { - { ATF_POINTER, 1, offsetof(struct Flag_15P1, field), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_field_7, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_7_cmp_5, /* Compare DEFAULT 5 */ - .default_value_set = &asn_DFL_7_set_5, /* Set DEFAULT 5 */ - .name = "field" - }, -}; -static const ber_tlv_tag_t asn_DEF_Flag_15P1_tags_6[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Flag_15P1_tag2el_6[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Flag_15P1_specs_6 = { - sizeof(struct Flag_15P1), - offsetof(struct Flag_15P1, _asn_ctx), - .tag2el = asn_MAP_Flag_15P1_tag2el_6, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Flag_15P1 = { - "Flag", - "Flag", - &asn_OP_SEQUENCE, - asn_DEF_Flag_15P1_tags_6, - sizeof(asn_DEF_Flag_15P1_tags_6) - /sizeof(asn_DEF_Flag_15P1_tags_6[0]), /* 1 */ - asn_DEF_Flag_15P1_tags_6, /* Same as above */ - sizeof(asn_DEF_Flag_15P1_tags_6) - /sizeof(asn_DEF_Flag_15P1_tags_6[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Flag_15P1_6, - 1, /* Elements count */ - &asn_SPC_Flag_15P1_specs_6 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IntegerColorFlag] >>> ***/ - -#include "Flag.h" - -/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/ - -typedef Flag_15P0_t IntegerColorFlag_t; - -/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag; -asn_struct_free_f IntegerColorFlag_free; -asn_struct_print_f IntegerColorFlag_print; -asn_constr_check_f IntegerColorFlag_constraint; -ber_type_decoder_f IntegerColorFlag_decode_ber; -der_type_encoder_f IntegerColorFlag_encode_der; -xer_type_decoder_f IntegerColorFlag_decode_xer; -xer_type_encoder_f IntegerColorFlag_encode_xer; - -/*** <<< CODE [IntegerColorFlag] >>> ***/ - -/* - * This type is implemented using Flag_15P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = { - "IntegerColorFlag", - "IntegerColorFlag", - &asn_OP_SEQUENCE, - asn_DEF_IntegerColorFlag_tags_1, - sizeof(asn_DEF_IntegerColorFlag_tags_1) - /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */ - asn_DEF_IntegerColorFlag_tags_1, /* Same as above */ - sizeof(asn_DEF_IntegerColorFlag_tags_1) - /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Flag_15P0_1, - 1, /* Elements count */ - &asn_SPC_Flag_15P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/ - -#include "Flag.h" - -/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/ - -typedef Flag_15P1_t EnumeratedColorFlag_t; - -/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag; -asn_struct_free_f EnumeratedColorFlag_free; -asn_struct_print_f EnumeratedColorFlag_print; -asn_constr_check_f EnumeratedColorFlag_constraint; -ber_type_decoder_f EnumeratedColorFlag_decode_ber; -der_type_encoder_f EnumeratedColorFlag_encode_der; -xer_type_decoder_f EnumeratedColorFlag_decode_xer; -xer_type_encoder_f EnumeratedColorFlag_encode_xer; - -/*** <<< CODE [EnumeratedColorFlag] >>> ***/ - -/* - * This type is implemented using Flag_15P1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = { - "EnumeratedColorFlag", - "EnumeratedColorFlag", - &asn_OP_SEQUENCE, - asn_DEF_EnumeratedColorFlag_tags_1, - sizeof(asn_DEF_EnumeratedColorFlag_tags_1) - /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */ - asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */ - sizeof(asn_DEF_EnumeratedColorFlag_tags_1) - /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Flag_15P1_6, - 1, /* Elements count */ - &asn_SPC_Flag_15P1_specs_6 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/111-param-4-SE.asn1 b/tests/tests-asn1c-compiler/111-param-4-SE.asn1 deleted file mode 100644 index 4c542b8..0000000 --- a/tests/tests-asn1c-compiler/111-param-4-SE.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .111 - -ModuleParameterization4 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 111 } - DEFINITIONS ::= -BEGIN - - Flag{Color} ::= SEQUENCE { - field Color DEFAULT cyan - } - - IntegerColorFlag ::= Flag{INTEGER{ red(0), green(1), blue(5) }} - EnumeratedColorFlag ::= Flag{ENUMERATED{ red(3), green, blue }} - -END diff --git a/tests/tests-asn1c-compiler/112-param-class-OK.asn1 b/tests/tests-asn1c-compiler/112-param-class-OK.asn1 deleted file mode 100644 index b19bc5e..0000000 --- a/tests/tests-asn1c-compiler/112-param-class-OK.asn1 +++ /dev/null @@ -1,24 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .112 - -ModuleParameterizationClass - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 112 } - DEFINITIONS ::= -BEGIN - - PCLASS {Type, INTEGER:value, INTEGER:ValueSet} ::= CLASS { - &valueField1 Type, - &valueField2 INTEGER DEFAULT value, - &valueField3 INTEGER ({ValueSet}), - &ValueSetField INTEGER DEFAULT {ValueSet} - } WITH SYNTAX { - &valueField1, &valueField2, &valueField3, &ValueSetField } - - SCLASS ::= PCLASS {REAL, 111, {1 | 2 | 3}} - -END diff --git a/tests/tests-asn1c-compiler/112-param-class-OK.asn1.-EF b/tests/tests-asn1c-compiler/112-param-class-OK.asn1.-EF deleted file mode 100644 index be11ac0..0000000 --- a/tests/tests-asn1c-compiler/112-param-class-OK.asn1.-EF +++ /dev/null @@ -1,17 +0,0 @@ -ModuleParameterizationClass { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 112 } -DEFINITIONS ::= -BEGIN - -PCLASS{Type, INTEGER:value, INTEGER:ValueSet} ::= CLASS { - &valueField1 Type, - &valueField2 INTEGER DEFAULT value, - &valueField3 INTEGER ({ValueSet}), - &ValueSetField INTEGER DEFAULT {ValueSet} -} WITH SYNTAX { - &valueField1, &valueField2, &valueField3, &ValueSetField } - - -SCLASS ::= PCLASS{ REAL, 111, {1 | 2 | 3}} - -END diff --git a/tests/tests-asn1c-compiler/113-bit-string-SE.asn1 b/tests/tests-asn1c-compiler/113-bit-string-SE.asn1 deleted file mode 100644 index 79d4565..0000000 --- a/tests/tests-asn1c-compiler/113-bit-string-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .113 - -ModuleBitStringIdentifierUniqueness - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 113 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { one(1), one(2) } - -END diff --git a/tests/tests-asn1c-compiler/114-bit-string-NP.asn1 b/tests/tests-asn1c-compiler/114-bit-string-NP.asn1 deleted file mode 100644 index b07abec..0000000 --- a/tests/tests-asn1c-compiler/114-bit-string-NP.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- NP: Non-parseable - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .114 - -ModuleBitStringNegativeInteger - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 114 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { one(-2) } - -END diff --git a/tests/tests-asn1c-compiler/115-bit-string-OK.asn1 b/tests/tests-asn1c-compiler/115-bit-string-OK.asn1 deleted file mode 100644 index 5433470..0000000 --- a/tests/tests-asn1c-compiler/115-bit-string-OK.asn1 +++ /dev/null @@ -1,17 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .115 - -ModuleBitStringReferencedValue - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 115 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { one(a) } - a INTEGER ::= 123 - -END diff --git a/tests/tests-asn1c-compiler/116-bit-string-SE.asn1 b/tests/tests-asn1c-compiler/116-bit-string-SE.asn1 deleted file mode 100644 index f5967c0..0000000 --- a/tests/tests-asn1c-compiler/116-bit-string-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .116 - -ModuleBitStringSameValues - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 116 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { one(1), another(1) } - -END diff --git a/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1 b/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1 deleted file mode 100644 index 7e0e5cd..0000000 --- a/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .117 - -ModuleRealConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 117 } - DEFINITIONS ::= -BEGIN - - R ::= REAL (0..3.14159265) - -END diff --git a/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1.-EF b/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1.-EF deleted file mode 100644 index 2745e14..0000000 --- a/tests/tests-asn1c-compiler/117-real-constraint-OK.asn1.-EF +++ /dev/null @@ -1,8 +0,0 @@ -ModuleRealConstraint { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 117 } -DEFINITIONS ::= -BEGIN - -R ::= REAL (0..3.141593) - -END diff --git a/tests/tests-asn1c-compiler/118-per-constraint-OK.asn1 b/tests/tests-asn1c-compiler/118-per-constraint-OK.asn1 deleted file mode 100644 index 98c9a35..0000000 --- a/tests/tests-asn1c-compiler/118-per-constraint-OK.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .118 - -ModuleConstraintPrecedence - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 118 } - DEFINITIONS ::= -BEGIN - - E1 ::= IA5String (SIZE(1..5, ...) ^ FROM("A".."Z")) - E2 ::= IA5String (SIZE(1..5,...,5)) (FROM("A".."Z")) - E3 ::= IA5String (SIZE(1..5) ^ FROM("A".."Z"),...) - E4 ::= IA5String (FROM("A".."Z"),...) (SIZE(1..5)) - - C ::= IA5String (SIZE(10) ^ FROM("A".."D") - | SIZE(20) ^ FROM("D".."F")) - - P ::= IA5String (FROM("AB") ^ SIZE(1..2) - | FROM("DE") ^ SIZE(3) - | FROM("AXE") ^ SIZE(1..5)) - -END diff --git a/tests/tests-asn1c-compiler/118-per-constraint-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/118-per-constraint-OK.asn1.-EFprint-constraints deleted file mode 100644 index 82764e681e93a930cda453f468960f04fbb3851c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2239 zcmb`IPj8zr7{+&)-plW?N)Gk9=L^vMLjiS8>Txp7A{8@Ee3IpeP^klt5Nw_>zEnf|oh3 zuutHz6i-RT@r-gv{B|wpp+80gU$7Bi@l{ssdwuU zf<_})7eDSr&NE0~4kZ`Eq;Z*~l}M9gQwx~+L>X+uh|=xyK)POPp{I-;yB<9WDejMa zh}*dKCZLZHzfb!Dq^A|7OV5*btff zbcmsa^12uDSk47@b)dM*`Z;DR1^2Fot0Fehr0bo4z3!-Q z-D!DwXso}6((-Bg*q2y(68HAR%u6fyD^H!mGqGXj=ixa#)(*Lxo$YZ6o4x5T39%?Z F{{gj?MpOU* diff --git a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1 b/tests/tests-asn1c-compiler/119-per-strings-OK.asn1 deleted file mode 100644 index ae1ec46..0000000 --- a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1 +++ /dev/null @@ -1,48 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .119 - -ModulePERStrings - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 119 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - PDU ::= SEQUENCE { - many SEQUENCE OF PDU OPTIONAL, - ia5 IA5String OPTIONAL, - ia5-c IA5String (FROM("A".."Z")) OPTIONAL, - ia5-ce IA5String (FROM("A".."Z",...)) OPTIONAL, - ia5-ir IA5String (FROM("A".."B"|"X".."Z")) OPTIONAL, - vs VisibleString OPTIONAL, - vs-c VisibleString (FROM("A".."Z")) OPTIONAL, - vs-ce VisibleString (FROM("A".."Z",...)) OPTIONAL, - vs-ir VisibleString (FROM("A".."B"|"X".."Z")) OPTIONAL, - pr PrintableString OPTIONAL, - pr-c PrintableString (FROM("A".."Z")) OPTIONAL, - pr-ir PrintableString (FROM("A".."B"|"X".."Z")) OPTIONAL, - ns NumericString OPTIONAL, - ns-c NumericString (FROM("5".."9")) OPTIONAL, - ns-ce NumericString (FROM("5".."9",...)) OPTIONAL, - ns-ir NumericString (FROM("1"|"9")) OPTIONAL, - ut-c UTF8String (SIZE(6)) OPTIONAL, - ut-ce UTF8String (SIZE(6,...)) OPTIONAL, - ut-ir UTF8String (FROM("A"|"Z")) OPTIONAL, - bm BMPString OPTIONAL, - bm-c BMPString (FROM("A".."Z")) OPTIONAL, - bm-cs BMPString (SIZE(6)) OPTIONAL, - bm-ce BMPString (FROM("A".."Z",...)) OPTIONAL, - bm-ir BMPString (FROM("A".."B"|"X".."Z")) OPTIONAL, - us UniversalString OPTIONAL, - us-c UniversalString (FROM("A".."Z")) OPTIONAL, - us-cs UniversalString (SIZE(6)) OPTIONAL, - us-ce UniversalString (FROM("A".."Z",...)) OPTIONAL, - us-ir UniversalString (FROM("A".."B"|"X".."Z")) OPTIONAL, - real REAL OPTIONAL, - oid OBJECT IDENTIFIER OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-EF b/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-EF deleted file mode 100644 index 7819c03..0000000 --- a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-EF +++ /dev/null @@ -1,40 +0,0 @@ -ModulePERStrings { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 119 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -PDU ::= SEQUENCE { - many [0] IMPLICIT SEQUENCE OF PDU OPTIONAL, - ia5 [1] IMPLICIT IA5String OPTIONAL, - ia5-c [2] IMPLICIT IA5String (FROM("A".."Z")) OPTIONAL, - ia5-ce [3] IMPLICIT IA5String (FROM("A".."Z",...)) OPTIONAL, - ia5-ir [4] IMPLICIT IA5String (FROM("A".."B" | "X".."Z")) OPTIONAL, - vs [5] IMPLICIT VisibleString OPTIONAL, - vs-c [6] IMPLICIT VisibleString (FROM("A".."Z")) OPTIONAL, - vs-ce [7] IMPLICIT VisibleString (FROM("A".."Z",...)) OPTIONAL, - vs-ir [8] IMPLICIT VisibleString (FROM("A".."B" | "X".."Z")) OPTIONAL, - pr [9] IMPLICIT PrintableString OPTIONAL, - pr-c [10] IMPLICIT PrintableString (FROM("A".."Z")) OPTIONAL, - pr-ir [11] IMPLICIT PrintableString (FROM("A".."B" | "X".."Z")) OPTIONAL, - ns [12] IMPLICIT NumericString OPTIONAL, - ns-c [13] IMPLICIT NumericString (FROM("5".."9")) OPTIONAL, - ns-ce [14] IMPLICIT NumericString (FROM("5".."9",...)) OPTIONAL, - ns-ir [15] IMPLICIT NumericString (FROM("1" | "9")) OPTIONAL, - ut-c [16] IMPLICIT UTF8String (SIZE(6)) OPTIONAL, - ut-ce [17] IMPLICIT UTF8String (SIZE(6,...)) OPTIONAL, - ut-ir [18] IMPLICIT UTF8String (FROM("A" | "Z")) OPTIONAL, - bm [19] IMPLICIT BMPString OPTIONAL, - bm-c [20] IMPLICIT BMPString (FROM("A".."Z")) OPTIONAL, - bm-cs [21] IMPLICIT BMPString (SIZE(6)) OPTIONAL, - bm-ce [22] IMPLICIT BMPString (FROM("A".."Z",...)) OPTIONAL, - bm-ir [23] IMPLICIT BMPString (FROM("A".."B" | "X".."Z")) OPTIONAL, - us [24] IMPLICIT UniversalString OPTIONAL, - us-c [25] IMPLICIT UniversalString (FROM("A".."Z")) OPTIONAL, - us-cs [26] IMPLICIT UniversalString (SIZE(6)) OPTIONAL, - us-ce [27] IMPLICIT UniversalString (FROM("A".."Z",...)) OPTIONAL, - us-ir [28] IMPLICIT UniversalString (FROM("A".."B" | "X".."Z")) OPTIONAL, - real [29] IMPLICIT REAL OPTIONAL, - oid [30] IMPLICIT OBJECT IDENTIFIER OPTIONAL -} - -END diff --git a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER deleted file mode 100644 index cf75f42..0000000 --- a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,1565 +0,0 @@ - -/*** <<< INCLUDES [PDU] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/*** <<< FWD-DECLS [PDU] >>> ***/ - -struct PDU; - -/*** <<< TYPE-DECLS [PDU] >>> ***/ - -typedef struct PDU { - struct many { - A_SEQUENCE_OF(struct PDU) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *many; - IA5String_t *ia5; /* OPTIONAL */ - IA5String_t *ia5_c; /* OPTIONAL */ - IA5String_t *ia5_ce; /* OPTIONAL */ - IA5String_t *ia5_ir; /* OPTIONAL */ - VisibleString_t *vs; /* OPTIONAL */ - VisibleString_t *vs_c; /* OPTIONAL */ - VisibleString_t *vs_ce; /* OPTIONAL */ - VisibleString_t *vs_ir; /* OPTIONAL */ - PrintableString_t *pr; /* OPTIONAL */ - PrintableString_t *pr_c; /* OPTIONAL */ - PrintableString_t *pr_ir; /* OPTIONAL */ - NumericString_t *ns; /* OPTIONAL */ - NumericString_t *ns_c; /* OPTIONAL */ - NumericString_t *ns_ce; /* OPTIONAL */ - NumericString_t *ns_ir; /* OPTIONAL */ - UTF8String_t *ut_c; /* OPTIONAL */ - UTF8String_t *ut_ce; /* OPTIONAL */ - UTF8String_t *ut_ir; /* OPTIONAL */ - BMPString_t *bm; /* OPTIONAL */ - BMPString_t *bm_c; /* OPTIONAL */ - BMPString_t *bm_cs; /* OPTIONAL */ - BMPString_t *bm_ce; /* OPTIONAL */ - BMPString_t *bm_ir; /* OPTIONAL */ - UniversalString_t *us; /* OPTIONAL */ - UniversalString_t *us_c; /* OPTIONAL */ - UniversalString_t *us_cs; /* OPTIONAL */ - UniversalString_t *us_ce; /* OPTIONAL */ - UniversalString_t *us_ir; /* OPTIONAL */ - double *real; /* OPTIONAL */ - OBJECT_IDENTIFIER_t *oid; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PDU_t; - -/*** <<< FUNC-DECLS [PDU] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PDU; -extern asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1; -extern asn_TYPE_member_t asn_MBR_PDU_1[31]; - -/*** <<< POST-INCLUDE [PDU] >>> ***/ - -#include "PDU.h" - -/*** <<< CTABLES [PDU] >>> ***/ - -static int check_permitted_alphabet_5(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_6(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_7[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */ - 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */ -}; -static const int permitted_alphabet_code2value_7[5] = { -65,66,88,89,90,}; - - -static int check_permitted_alphabet_7(const void *sptr) { - const int *table = permitted_alphabet_table_7; - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - -static int check_permitted_alphabet_9(const void *sptr) { - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_10(const void *sptr) { - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_11[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */ - 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */ -}; -static const int permitted_alphabet_code2value_11[5] = { -65,66,88,89,90,}; - - -static int check_permitted_alphabet_11(const void *sptr) { - const int *table = permitted_alphabet_table_11; - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - -static int check_permitted_alphabet_13(const void *sptr) { - /* The underlying type is PrintableString */ - const PrintableString_t *st = (const PrintableString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_14[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */ - 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */ -}; -static const int permitted_alphabet_code2value_14[5] = { -65,66,88,89,90,}; - - -static int check_permitted_alphabet_14(const void *sptr) { - const int *table = permitted_alphabet_table_14; - /* The underlying type is PrintableString */ - const PrintableString_t *st = (const PrintableString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - -static int check_permitted_alphabet_16(const void *sptr) { - /* The underlying type is NumericString */ - const NumericString_t *st = (const NumericString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 53 && cv <= 57)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_17(const void *sptr) { - /* The underlying type is NumericString */ - const NumericString_t *st = (const NumericString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 53 && cv <= 57)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_18[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, /* 1 9 */ -}; -static const int permitted_alphabet_code2value_18[2] = { -49,57,}; - - -static int check_permitted_alphabet_18(const void *sptr) { - const int *table = permitted_alphabet_table_18; - /* The underlying type is NumericString */ - const NumericString_t *st = (const NumericString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_21[128] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, /* Z */ -}; - -static int check_permitted_alphabet_21(const void *sptr) { - const int *table = permitted_alphabet_table_21; - /* The underlying type is UTF8String */ - const UTF8String_t *st = (const UTF8String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(cv >= 0x80) return -1; - if(!table[cv]) return -1; - } - return 0; -} - -static int check_permitted_alphabet_23(const void *sptr) { - /* The underlying type is BMPString */ - const BMPString_t *st = (const BMPString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 2) return -1; /* (size%2)! */ - for(; ch < end; ch += 2) { - uint16_t cv = (ch[0] << 8) - | ch[1]; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_24(const void *sptr) { - /* The underlying type is BMPString */ - const BMPString_t *st = (const BMPString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 2) return -1; /* (size%2)! */ - for(; ch < end; ch += 2) { - uint16_t cv = (ch[0] << 8) - | ch[1]; - if(!(cv <= 65533)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_25(const void *sptr) { - /* The underlying type is BMPString */ - const BMPString_t *st = (const BMPString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 2) return -1; /* (size%2)! */ - for(; ch < end; ch += 2) { - uint16_t cv = (ch[0] << 8) - | ch[1]; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_26[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */ - 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */ -}; -static const int permitted_alphabet_code2value_26[5] = { -65,66,88,89,90,}; - - -static int check_permitted_alphabet_26(const void *sptr) { - const int *table = permitted_alphabet_table_26; - /* The underlying type is BMPString */ - const BMPString_t *st = (const BMPString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 2) return -1; /* (size%2)! */ - for(; ch < end; ch += 2) { - uint16_t cv = (ch[0] << 8) - | ch[1]; - if(cv > 255) return -1; - if(!table[cv]) return -1; - } - return 0; -} - -static int check_permitted_alphabet_28(const void *sptr) { - /* The underlying type is UniversalString */ - const UniversalString_t *st = (const UniversalString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 4) return -1; /* (size%4)! */ - for(; ch < end; ch += 4) { - uint32_t cv = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_29(const void *sptr) { - /* The underlying type is UniversalString */ - const UniversalString_t *st = (const UniversalString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 4) return -1; /* (size%4)! */ - for(; ch < end; ch += 4) { - uint32_t cv = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; - (void)cv; /* Unused variable */ - } - return 0; -} - -static int check_permitted_alphabet_30(const void *sptr) { - /* The underlying type is UniversalString */ - const UniversalString_t *st = (const UniversalString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 4) return -1; /* (size%4)! */ - for(; ch < end; ch += 4) { - uint32_t cv = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static const int permitted_alphabet_table_31[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */ - 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */ -}; -static const int permitted_alphabet_code2value_31[5] = { -65,66,88,89,90,}; - - -static int check_permitted_alphabet_31(const void *sptr) { - const int *table = permitted_alphabet_table_31; - /* The underlying type is UniversalString */ - const UniversalString_t *st = (const UniversalString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 4) return -1; /* (size%4)! */ - for(; ch < end; ch += 4) { - uint32_t cv = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; - if(cv > 255) return -1; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [PDU] >>> ***/ - -static int -memb_ia5_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_5(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ia5_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_6(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ia5_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_7(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_ia5_ir_7_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_7)/sizeof(permitted_alphabet_table_7[0])) - return -1; - return permitted_alphabet_table_7[value] - 1; -} -static int asn_PER_MAP_ia5_ir_7_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_7)/sizeof(permitted_alphabet_code2value_7[0])) - return -1; - return permitted_alphabet_code2value_7[code]; -} -static int -memb_vs_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_9(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_vs_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_10(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_vs_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_11(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_vs_ir_11_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_11)/sizeof(permitted_alphabet_table_11[0])) - return -1; - return permitted_alphabet_table_11[value] - 1; -} -static int asn_PER_MAP_vs_ir_11_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_11)/sizeof(permitted_alphabet_code2value_11[0])) - return -1; - return permitted_alphabet_code2value_11[code]; -} -static int -memb_pr_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PrintableString_t *st = (const PrintableString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_13(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_pr_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PrintableString_t *st = (const PrintableString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_14(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_pr_ir_14_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_14)/sizeof(permitted_alphabet_table_14[0])) - return -1; - return permitted_alphabet_table_14[value] - 1; -} -static int asn_PER_MAP_pr_ir_14_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_14)/sizeof(permitted_alphabet_code2value_14[0])) - return -1; - return permitted_alphabet_code2value_14[code]; -} -static int -memb_ns_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const NumericString_t *st = (const NumericString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_16(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ns_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const NumericString_t *st = (const NumericString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_17(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ns_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const NumericString_t *st = (const NumericString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_18(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_ns_ir_18_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_18)/sizeof(permitted_alphabet_table_18[0])) - return -1; - return permitted_alphabet_table_18[value] - 1; -} -static int asn_PER_MAP_ns_ir_18_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_18)/sizeof(permitted_alphabet_code2value_18[0])) - return -1; - return permitted_alphabet_code2value_18[code]; -} -static int -memb_ut_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size == 6)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ut_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size == 6)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_ut_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_21(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_bm_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_23(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_bm_cs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size >> 1; /* 2 byte per character */ - - if((size == 6) - && !check_permitted_alphabet_24(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_bm_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_25(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_bm_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BMPString_t *st = (const BMPString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_26(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_bm_ir_26_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_26)/sizeof(permitted_alphabet_table_26[0])) - return -1; - return permitted_alphabet_table_26[value] - 1; -} -static int asn_PER_MAP_bm_ir_26_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_26)/sizeof(permitted_alphabet_code2value_26[0])) - return -1; - return permitted_alphabet_code2value_26[code]; -} -static int -memb_us_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_28(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_us_cs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size >> 2; /* 4 byte per character */ - - if((size == 6) - && !check_permitted_alphabet_29(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_us_ce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_30(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_us_ir_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_31(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_us_ir_31_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_31)/sizeof(permitted_alphabet_table_31[0])) - return -1; - return permitted_alphabet_table_31[value] - 1; -} -static int asn_PER_MAP_us_ir_31_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_31)/sizeof(permitted_alphabet_code2value_31[0])) - return -1; - return permitted_alphabet_code2value_31[code]; -} - -/*** <<< CTDEFS [PDU] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_ia5_c_constr_5 CC_NOTUSED = { - { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_ia5_ce_constr_6 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_ia5_ir_constr_7 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_ia5_ir_7_v2c, /* Value to PER code map */ - asn_PER_MAP_ia5_ir_7_c2v /* PER code to value map */ -}; -static asn_per_constraints_t asn_PER_memb_vs_c_constr_9 CC_NOTUSED = { - { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_vs_ce_constr_10 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_vs_ir_constr_11 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_vs_ir_11_v2c, /* Value to PER code map */ - asn_PER_MAP_vs_ir_11_c2v /* PER code to value map */ -}; -static asn_per_constraints_t asn_PER_memb_pr_c_constr_13 CC_NOTUSED = { - { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_pr_ir_constr_14 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_pr_ir_14_v2c, /* Value to PER code map */ - asn_PER_MAP_pr_ir_14_c2v /* PER code to value map */ -}; -static asn_per_constraints_t asn_PER_memb_ns_c_constr_16 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 53, 57 } /* (53..57) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_ns_ce_constr_17 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_ns_ir_constr_18 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 49, 57 } /* (49..57) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_ns_ir_18_v2c, /* Value to PER code map */ - asn_PER_MAP_ns_ir_18_c2v /* PER code to value map */ -}; -static asn_per_constraints_t asn_PER_memb_ut_c_constr_19 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ut_ce_constr_20 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ut_ir_constr_21 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_bm_c_constr_23 CC_NOTUSED = { - { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_bm_cs_constr_24 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65533 } /* (0..65533) */, - { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_bm_ce_constr_25 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_bm_ir_constr_26 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_bm_ir_26_v2c, /* Value to PER code map */ - asn_PER_MAP_bm_ir_26_c2v /* PER code to value map */ -}; -static asn_per_constraints_t asn_PER_memb_us_c_constr_28 CC_NOTUSED = { - { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_us_cs_constr_29 CC_NOTUSED = { - { APC_CONSTRAINED, 32, 32, 0, 2147483647 } /* (0..4294967295) */, - { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_us_ce_constr_30 CC_NOTUSED = { - { APC_CONSTRAINED, 32, 32, 0, 2147483647 } /* special case 1 */ - , - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; -static asn_per_constraints_t asn_PER_memb_us_ir_constr_31 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - asn_PER_MAP_us_ir_31_v2c, /* Value to PER code map */ - asn_PER_MAP_us_ir_31_c2v /* PER code to value map */ -}; - -/*** <<< STAT-DEFS [PDU] >>> ***/ - -static asn_TYPE_member_t asn_MBR_many_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_PDU, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_many_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_many_specs_2 = { - sizeof(struct many), - offsetof(struct many, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_many_2 = { - "many", - "many", - &asn_OP_SEQUENCE_OF, - asn_DEF_many_tags_2, - sizeof(asn_DEF_many_tags_2) - /sizeof(asn_DEF_many_tags_2[0]) - 1, /* 1 */ - asn_DEF_many_tags_2, /* Same as above */ - sizeof(asn_DEF_many_tags_2) - /sizeof(asn_DEF_many_tags_2[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_many_2, - 1, /* Single element */ - &asn_SPC_many_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_PDU_1[] = { - { ATF_POINTER, 31, offsetof(struct PDU, many), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_many_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "many" - }, - { ATF_POINTER, 30, offsetof(struct PDU, ia5), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ia5" - }, - { ATF_POINTER, 29, offsetof(struct PDU, ia5_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ia5_c_constr_5, .general_constraints = memb_ia5_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "ia5-c" - }, - { ATF_POINTER, 28, offsetof(struct PDU, ia5_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ia5_ce_constr_6, .general_constraints = memb_ia5_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "ia5-ce" - }, - { ATF_POINTER, 27, offsetof(struct PDU, ia5_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ia5_ir_constr_7, .general_constraints = memb_ia5_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "ia5-ir" - }, - { ATF_POINTER, 26, offsetof(struct PDU, vs), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "vs" - }, - { ATF_POINTER, 25, offsetof(struct PDU, vs_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_vs_c_constr_9, .general_constraints = memb_vs_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "vs-c" - }, - { ATF_POINTER, 24, offsetof(struct PDU, vs_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_vs_ce_constr_10, .general_constraints = memb_vs_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "vs-ce" - }, - { ATF_POINTER, 23, offsetof(struct PDU, vs_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_vs_ir_constr_11, .general_constraints = memb_vs_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "vs-ir" - }, - { ATF_POINTER, 22, offsetof(struct PDU, pr), - .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_PrintableString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "pr" - }, - { ATF_POINTER, 21, offsetof(struct PDU, pr_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_PrintableString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_pr_c_constr_13, .general_constraints = memb_pr_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "pr-c" - }, - { ATF_POINTER, 20, offsetof(struct PDU, pr_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_PrintableString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_pr_ir_constr_14, .general_constraints = memb_pr_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "pr-ir" - }, - { ATF_POINTER, 19, offsetof(struct PDU, ns), - .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NumericString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ns" - }, - { ATF_POINTER, 18, offsetof(struct PDU, ns_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NumericString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ns_c_constr_16, .general_constraints = memb_ns_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "ns-c" - }, - { ATF_POINTER, 17, offsetof(struct PDU, ns_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NumericString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ns_ce_constr_17, .general_constraints = memb_ns_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "ns-ce" - }, - { ATF_POINTER, 16, offsetof(struct PDU, ns_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (15 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NumericString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ns_ir_constr_18, .general_constraints = memb_ns_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "ns-ir" - }, - { ATF_POINTER, 15, offsetof(struct PDU, ut_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (16 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ut_c_constr_19, .general_constraints = memb_ut_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "ut-c" - }, - { ATF_POINTER, 14, offsetof(struct PDU, ut_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (17 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ut_ce_constr_20, .general_constraints = memb_ut_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "ut-ce" - }, - { ATF_POINTER, 13, offsetof(struct PDU, ut_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (18 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_ut_ir_constr_21, .general_constraints = memb_ut_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "ut-ir" - }, - { ATF_POINTER, 12, offsetof(struct PDU, bm), - .tag = (ASN_TAG_CLASS_CONTEXT | (19 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BMPString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bm" - }, - { ATF_POINTER, 11, offsetof(struct PDU, bm_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (20 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BMPString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_bm_c_constr_23, .general_constraints = memb_bm_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "bm-c" - }, - { ATF_POINTER, 10, offsetof(struct PDU, bm_cs), - .tag = (ASN_TAG_CLASS_CONTEXT | (21 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BMPString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_bm_cs_constr_24, .general_constraints = memb_bm_cs_constraint_1 }, - 0, 0, /* No default value */ - .name = "bm-cs" - }, - { ATF_POINTER, 9, offsetof(struct PDU, bm_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (22 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BMPString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_bm_ce_constr_25, .general_constraints = memb_bm_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "bm-ce" - }, - { ATF_POINTER, 8, offsetof(struct PDU, bm_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (23 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BMPString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_bm_ir_constr_26, .general_constraints = memb_bm_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "bm-ir" - }, - { ATF_POINTER, 7, offsetof(struct PDU, us), - .tag = (ASN_TAG_CLASS_CONTEXT | (24 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "us" - }, - { ATF_POINTER, 6, offsetof(struct PDU, us_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (25 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_us_c_constr_28, .general_constraints = memb_us_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "us-c" - }, - { ATF_POINTER, 5, offsetof(struct PDU, us_cs), - .tag = (ASN_TAG_CLASS_CONTEXT | (26 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_us_cs_constr_29, .general_constraints = memb_us_cs_constraint_1 }, - 0, 0, /* No default value */ - .name = "us-cs" - }, - { ATF_POINTER, 4, offsetof(struct PDU, us_ce), - .tag = (ASN_TAG_CLASS_CONTEXT | (27 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_us_ce_constr_30, .general_constraints = memb_us_ce_constraint_1 }, - 0, 0, /* No default value */ - .name = "us-ce" - }, - { ATF_POINTER, 3, offsetof(struct PDU, us_ir), - .tag = (ASN_TAG_CLASS_CONTEXT | (28 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_us_ir_constr_31, .general_constraints = memb_us_ir_constraint_1 }, - 0, 0, /* No default value */ - .name = "us-ir" - }, - { ATF_POINTER, 2, offsetof(struct PDU, real), - .tag = (ASN_TAG_CLASS_CONTEXT | (29 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeReal, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "real" - }, - { ATF_POINTER, 1, offsetof(struct PDU, oid), - .tag = (ASN_TAG_CLASS_CONTEXT | (30 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OBJECT_IDENTIFIER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "oid" - }, -}; -static const int asn_MAP_PDU_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }; -static const ber_tlv_tag_t asn_DEF_PDU_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* many */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ia5 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ia5-c */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ia5-ce */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ia5-ir */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* vs */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* vs-c */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vs-ce */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* vs-ir */ - { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pr */ - { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* pr-c */ - { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* pr-ir */ - { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* ns */ - { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* ns-c */ - { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* ns-ce */ - { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* ns-ir */ - { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* ut-c */ - { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* ut-ce */ - { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* ut-ir */ - { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* bm */ - { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* bm-c */ - { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* bm-cs */ - { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* bm-ce */ - { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* bm-ir */ - { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* us */ - { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 }, /* us-c */ - { (ASN_TAG_CLASS_CONTEXT | (26 << 2)), 26, 0, 0 }, /* us-cs */ - { (ASN_TAG_CLASS_CONTEXT | (27 << 2)), 27, 0, 0 }, /* us-ce */ - { (ASN_TAG_CLASS_CONTEXT | (28 << 2)), 28, 0, 0 }, /* us-ir */ - { (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* real */ - { (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 } /* oid */ -}; -asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = { - sizeof(struct PDU), - offsetof(struct PDU, _asn_ctx), - .tag2el = asn_MAP_PDU_tag2el_1, - .tag2el_count = 31, /* Count of tags in the map */ - asn_MAP_PDU_oms_1, /* Optional members */ - 31, 0, /* Root/Additions */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_PDU = { - "PDU", - "PDU", - &asn_OP_SEQUENCE, - asn_DEF_PDU_tags_1, - sizeof(asn_DEF_PDU_tags_1) - /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */ - asn_DEF_PDU_tags_1, /* Same as above */ - sizeof(asn_DEF_PDU_tags_1) - /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_PDU_1, - 31, /* Elements count */ - &asn_SPC_PDU_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/12-int-SE.asn1 b/tests/tests-asn1c-compiler/12-int-SE.asn1 deleted file mode 100644 index 92ab358..0000000 --- a/tests/tests-asn1c-compiler/12-int-SE.asn1 +++ /dev/null @@ -1,17 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .12 - -ModuleTestInt6 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 12 } - DEFINITIONS ::= -BEGIN - - -- unresolved reference - alpha INTEGER ::= beta - -END diff --git a/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1 b/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1 deleted file mode 100644 index bbf1d1e..0000000 --- a/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .121 - -ModuleEmptyIMPORTS - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 121 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - IMPORTS -- nothing --; - - Type ::= INTEGER - -END diff --git a/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1.-EF b/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1.-EF deleted file mode 100644 index a5ad681..0000000 --- a/tests/tests-asn1c-compiler/121-empty-imports-OK.asn1.-EF +++ /dev/null @@ -1,8 +0,0 @@ -ModuleEmptyIMPORTS { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 121 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -Type ::= INTEGER - -END diff --git a/tests/tests-asn1c-compiler/122-pattern-OK.asn1 b/tests/tests-asn1c-compiler/122-pattern-OK.asn1 deleted file mode 100644 index 16c823f..0000000 --- a/tests/tests-asn1c-compiler/122-pattern-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .122 - -ModulePatternConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 122 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Language ::= VisibleString (FROM ("a".."z" | "A".."Z" | "-" | "0".."9")) - (PATTERN "[a-zA-Z]#(1,8)(-[a-zA-Z0-9]#(1,8))*") - - PatternByRef1 ::= VisibleString (PATTERN refPattern1) - PatternByRef2 ::= VisibleString (PATTERN refPattern2) - - refPattern1 UniversalString ::= "[a-zA-Z]#(1,8)(-[a-zA-Z0-9]#(1,8))*" - refPattern2 UTF8String ::= "[a-zA-Z]#(1,8)(-[a-zA-Z0-9]#(1,8))*" - -END diff --git a/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1 b/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1 deleted file mode 100644 index bb54fc5..0000000 --- a/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .123 - -ModuleValueAssignmentConstrained - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 123 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - zzz OCTET STRING (SIZE(1)) ::= '1'H - -END diff --git a/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1.-EF b/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1.-EF deleted file mode 100644 index 8fe6f2c..0000000 --- a/tests/tests-asn1c-compiler/123-valueassignment-OK.asn1.-EF +++ /dev/null @@ -1,8 +0,0 @@ -ModuleValueAssignmentConstrained { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 123 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -zzz OCTET STRING (SIZE(1)) ::= '0001'B - -END diff --git a/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1 b/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1 deleted file mode 100644 index 577a142..0000000 --- a/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .124 - -ModuleMultiConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 124 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= VisibleString (PATTERN "^[a-z]+$") (CONSTRAINED BY { ... }) - -END diff --git a/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1.-EF b/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1.-EF deleted file mode 100644 index e97f1a3..0000000 --- a/tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1.-EF +++ /dev/null @@ -1,8 +0,0 @@ -ModuleMultiConstraint { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 124 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -T ::= VisibleString (PATTERN "^[a-z]+$") (CONSTRAINED BY { ... }) - -END diff --git a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 b/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 deleted file mode 100644 index d175ce7..0000000 --- a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .125 - -ModuleBitStringConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 125 } - DEFINITIONS ::= -BEGIN - - T ::= BIT STRING { flag1(0), flag2(1), flag3(2) } - ('000'B | '001'B | '010'B | '011'B) - - -END diff --git a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-EF b/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-EF deleted file mode 100644 index 0887560..0000000 --- a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-EF +++ /dev/null @@ -1,12 +0,0 @@ -ModuleBitStringConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 125 } -DEFINITIONS ::= -BEGIN - -T ::= BIT STRING { - flag1(0), - flag2(1), - flag3(2) -} ('000'B | '001'B | '010'B | '011'B) - -END diff --git a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-P b/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-P deleted file mode 100644 index 627c271..0000000 --- a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-P +++ /dev/null @@ -1,76 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T { - T_flag1 = 0, - T_flag2 = 1, - T_flag3 = 2 -} e_T; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef BIT_STRING_t T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; -asn_struct_free_f T_free; -asn_struct_print_f T_print; -asn_constr_check_f T_constraint; -ber_type_decoder_f T_decode_ber; -der_type_encoder_f T_encode_der; -xer_type_decoder_f T_decode_xer; -xer_type_encoder_f T_encode_xer; - -/*** <<< CODE [T] >>> ***/ - -int -T_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - (void)st; /* Unused variable */ - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_BIT_STRING, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, T_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_BIT_STRING_specs /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-X b/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-X deleted file mode 100644 index a5a7291..0000000 --- a/tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.-X +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1 b/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1 deleted file mode 100644 index 7d12173..0000000 --- a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1 +++ /dev/null @@ -1,33 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .126 - -ModulePERExtensions - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 126 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - PDU ::= SEQUENCE { - ..., - str-o IA5String OPTIONAL, - str-m IA5String, - singl Singleton, - pdu-2 PDU-2 OPTIONAL - } - - Singleton ::= SEQUENCE { - opt-z IA5String DEFAULT "z" - } - - PDU-2 ::= CHOICE { - main [3] INTEGER, - ..., - ext1 [1] INTEGER, - ext0 [0] INTEGER - } - -END diff --git a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER deleted file mode 100644 index d480145..0000000 --- a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,322 +0,0 @@ - -/*** <<< INCLUDES [PDU] >>> ***/ - -#include -#include "Singleton.h" -#include - -/*** <<< FWD-DECLS [PDU] >>> ***/ - -struct PDU_2; -struct Singleton; - -/*** <<< TYPE-DECLS [PDU] >>> ***/ - -typedef struct PDU { - /* - * This type is extensible, - * possible extensions are below. - */ - IA5String_t *str_o; /* OPTIONAL */ - IA5String_t *str_m; - struct Singleton *singl; - struct PDU_2 *pdu_2; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PDU_t; - -/*** <<< FUNC-DECLS [PDU] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PDU; - -/*** <<< POST-INCLUDE [PDU] >>> ***/ - -#include "PDU-2.h" - -/*** <<< STAT-DEFS [PDU] >>> ***/ - -static asn_TYPE_member_t asn_MBR_PDU_1[] = { - { ATF_POINTER, 4, offsetof(struct PDU, str_o), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "str-o" - }, - { ATF_POINTER, 3, offsetof(struct PDU, str_m), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "str-m" - }, - { ATF_POINTER, 2, offsetof(struct PDU, singl), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Singleton, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "singl" - }, - { ATF_POINTER, 1, offsetof(struct PDU, pdu_2), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_PDU_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "pdu-2" - }, -}; -static const int asn_MAP_PDU_oms_1[] = { 0, 1, 2, 3 }; -static const ber_tlv_tag_t asn_DEF_PDU_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* str-o */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* str-m */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* singl */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* pdu-2 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = { - sizeof(struct PDU), - offsetof(struct PDU, _asn_ctx), - .tag2el = asn_MAP_PDU_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - asn_MAP_PDU_oms_1, /* Optional members */ - 0, 4, /* Root/Additions */ - 0, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_PDU = { - "PDU", - "PDU", - &asn_OP_SEQUENCE, - asn_DEF_PDU_tags_1, - sizeof(asn_DEF_PDU_tags_1) - /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */ - asn_DEF_PDU_tags_1, /* Same as above */ - sizeof(asn_DEF_PDU_tags_1) - /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_PDU_1, - 4, /* Elements count */ - &asn_SPC_PDU_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Singleton] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [Singleton] >>> ***/ - -typedef struct Singleton { - IA5String_t *opt_z; /* DEFAULT z */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Singleton_t; - -/*** <<< FUNC-DECLS [Singleton] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Singleton; -extern asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1; -extern asn_TYPE_member_t asn_MBR_Singleton_1[1]; - -/*** <<< STAT-DEFS [Singleton] >>> ***/ - -static int asn_DFL_2_cmp(const void *sptr) { - static const uint8_t defv[] = "z"; - const IA5String_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - if(st->size == (sizeof(defv) - 1) - && memcmp(st->buf, &defv, sizeof(defv) - 1) == 0) - return 0; - return 1; -} -static int asn_DFL_2_set(void **sptr) { - static const uint8_t defv[] = "z"; - IA5String_t *st = *sptr; - uint8_t *nstr = MALLOC(sizeof(defv)); - - if(!nstr) return -1; - memcpy(nstr, defv, sizeof(defv)); - - if(st) { - FREEMEM(st->buf); - } else { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) { FREEMEM(nstr); return -1; } - } - st->buf = nstr; - st->size = sizeof(defv) - 1; - - return 0; -} -asn_TYPE_member_t asn_MBR_Singleton_1[] = { - { ATF_POINTER, 1, offsetof(struct Singleton, opt_z), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_2_cmp, /* Compare DEFAULT "z" */ - .default_value_set = &asn_DFL_2_set, /* Set DEFAULT "z" */ - .name = "opt-z" - }, -}; -static const int asn_MAP_Singleton_oms_1[] = { 0 }; -static const ber_tlv_tag_t asn_DEF_Singleton_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Singleton_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* opt-z */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Singleton_specs_1 = { - sizeof(struct Singleton), - offsetof(struct Singleton, _asn_ctx), - .tag2el = asn_MAP_Singleton_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_Singleton_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Singleton = { - "Singleton", - "Singleton", - &asn_OP_SEQUENCE, - asn_DEF_Singleton_tags_1, - sizeof(asn_DEF_Singleton_tags_1) - /sizeof(asn_DEF_Singleton_tags_1[0]), /* 1 */ - asn_DEF_Singleton_tags_1, /* Same as above */ - sizeof(asn_DEF_Singleton_tags_1) - /sizeof(asn_DEF_Singleton_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Singleton_1, - 1, /* Elements count */ - &asn_SPC_Singleton_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [PDU-2] >>> ***/ - -#include -#include - -/*** <<< DEPS [PDU-2] >>> ***/ - -typedef enum PDU_2_PR { - PDU_2_PR_NOTHING, /* No components present */ - PDU_2_PR_main, - /* Extensions may appear below */ - PDU_2_PR_ext1, - PDU_2_PR_ext0 -} PDU_2_PR; - -/*** <<< TYPE-DECLS [PDU-2] >>> ***/ - -typedef struct PDU_2 { - PDU_2_PR present; - union PDU_2_u { - long main; - /* - * This type is extensible, - * possible extensions are below. - */ - long ext1; - long ext0; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PDU_2_t; - -/*** <<< FUNC-DECLS [PDU-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PDU_2; -extern asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1; -extern asn_TYPE_member_t asn_MBR_PDU_2_1[3]; -extern asn_per_constraints_t asn_PER_type_PDU_2_constr_1; - -/*** <<< CTDEFS [PDU-2] >>> ***/ - -asn_per_constraints_t asn_PER_type_PDU_2_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [PDU-2] >>> ***/ - -asn_TYPE_member_t asn_MBR_PDU_2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct PDU_2, choice.main), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "main" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU_2, choice.ext1), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ext1" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU_2, choice.ext0), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ext0" - }, -}; -static const unsigned asn_MAP_PDU_2_to_canonical_1[] = { 0, 2, 1 }; -static const unsigned asn_MAP_PDU_2_from_canonical_1[] = { 0, 2, 1 }; -static const asn_TYPE_tag2member_t asn_MAP_PDU_2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ext0 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ext1 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* main */ -}; -asn_CHOICE_specifics_t asn_SPC_PDU_2_specs_1 = { - sizeof(struct PDU_2), - offsetof(struct PDU_2, _asn_ctx), - offsetof(struct PDU_2, present), - sizeof(((struct PDU_2 *)0)->present), - .tag2el = asn_MAP_PDU_2_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_PDU_2_to_canonical_1, - .from_canonical_order = asn_MAP_PDU_2_from_canonical_1, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_PDU_2 = { - "PDU-2", - "PDU-2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, &asn_PER_type_PDU_2_constr_1, CHOICE_constraint }, - asn_MBR_PDU_2_1, - 3, /* Elements count */ - &asn_SPC_PDU_2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/127-per-long-OK.asn1 b/tests/tests-asn1c-compiler/127-per-long-OK.asn1 deleted file mode 100644 index 0a7b6fe..0000000 --- a/tests/tests-asn1c-compiler/127-per-long-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine --- Also see .134 for wider integer types. - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .127 - -ModulePERLong - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 127 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= SEQUENCE { - -- Should be supported on all 32-bit platforms and above. - small32range INTEGER (-2000000000..2000000000), - full32range INTEGER (-2147483648..2147483647), - unsigned32 INTEGER (0..4294967295), - unsplit32 INTEGER (5..500|600..4294967290) - } - -END diff --git a/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER deleted file mode 100644 index 5700eeb..0000000 --- a/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,323 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - long small32range; - long full32range; - unsigned long unsigned32; - unsigned long unsplit32; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_unsigned32_4; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_unsplit32_5; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CODE [T] >>> ***/ - -static int -unsigned32_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - /* Constraint check succeeded */ - return 0; -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static int -unsplit32_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if(((value >= 5 && value <= 500) || (value >= 600 && value <= 4294967290))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static int -memb_small32range_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -2000000000 && value <= 2000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_full32range_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= (-2147483647L - 1) && value <= 2147483647)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned32_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - /* Constraint check succeeded */ - return 0; -} - -static int -memb_unsplit32_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if(((value >= 5 && value <= 500) || (value >= 600 && value <= 4294967290))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [T] >>> ***/ - -static asn_per_constraints_t asn_PER_type_unsigned32_constr_4 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_unsplit32_constr_5 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 5, 4294967290 } /* (5..4294967290) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_small32range_constr_2 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, -2000000000, 2000000000 } /* (-2000000000..2000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_full32range_constr_3 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_unsigned32_constr_4 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_unsplit32_constr_5 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 5, 4294967290 } /* (5..4294967290) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_unsigned32_specs_4 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_unsigned32_tags_4[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_unsigned32_4 = { - "unsigned32", - "unsigned32", - &asn_OP_NativeInteger, - asn_DEF_unsigned32_tags_4, - sizeof(asn_DEF_unsigned32_tags_4) - /sizeof(asn_DEF_unsigned32_tags_4[0]) - 1, /* 1 */ - asn_DEF_unsigned32_tags_4, /* Same as above */ - sizeof(asn_DEF_unsigned32_tags_4) - /sizeof(asn_DEF_unsigned32_tags_4[0]), /* 2 */ - { 0, &asn_PER_type_unsigned32_constr_4, unsigned32_4_constraint }, - 0, 0, /* No members */ - &asn_SPC_unsigned32_specs_4 /* Additional specs */ -}; - -static const asn_INTEGER_specifics_t asn_SPC_unsplit32_specs_5 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_unsplit32_tags_5[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_unsplit32_5 = { - "unsplit32", - "unsplit32", - &asn_OP_NativeInteger, - asn_DEF_unsplit32_tags_5, - sizeof(asn_DEF_unsplit32_tags_5) - /sizeof(asn_DEF_unsplit32_tags_5[0]) - 1, /* 1 */ - asn_DEF_unsplit32_tags_5, /* Same as above */ - sizeof(asn_DEF_unsplit32_tags_5) - /sizeof(asn_DEF_unsplit32_tags_5[0]), /* 2 */ - { 0, &asn_PER_type_unsplit32_constr_5, unsplit32_5_constraint }, - 0, 0, /* No members */ - &asn_SPC_unsplit32_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, small32range), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_small32range_constr_2, .general_constraints = memb_small32range_constraint_1 }, - 0, 0, /* No default value */ - .name = "small32range" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, full32range), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_full32range_constr_3, .general_constraints = memb_full32range_constraint_1 }, - 0, 0, /* No default value */ - .name = "full32range" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned32), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_unsigned32_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_unsigned32_constr_4, .general_constraints = memb_unsigned32_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned32" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsplit32), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_unsplit32_5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_unsplit32_constr_5, .general_constraints = memb_unsplit32_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsplit32" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* small32range */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* full32range */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* unsigned32 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* unsplit32 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 4, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/128-enum-SE.asn1 b/tests/tests-asn1c-compiler/128-enum-SE.asn1 deleted file mode 100644 index 40b8caf..0000000 --- a/tests/tests-asn1c-compiler/128-enum-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .128 - -ModuleTestEnum1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 128 } - DEFINITIONS ::= -BEGIN - - A ::= ENUMERATED {a, b, ..., c, d(2)} - -END diff --git a/tests/tests-asn1c-compiler/129-enum-OK.asn1 b/tests/tests-asn1c-compiler/129-enum-OK.asn1 deleted file mode 100644 index 06f5eed..0000000 --- a/tests/tests-asn1c-compiler/129-enum-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .129 - -ModuleTestEnum1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 129 } - DEFINITIONS ::= -BEGIN - - A ::= ENUMERATED {a(-5), b(-4), c} - -END diff --git a/tests/tests-asn1c-compiler/129-enum-OK.asn1.-EF b/tests/tests-asn1c-compiler/129-enum-OK.asn1.-EF deleted file mode 100644 index ebc3d30..0000000 --- a/tests/tests-asn1c-compiler/129-enum-OK.asn1.-EF +++ /dev/null @@ -1,12 +0,0 @@ -ModuleTestEnum1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 129 } -DEFINITIONS ::= -BEGIN - -A ::= ENUMERATED { - a(-5), - b(-4), - c(0) -} - -END diff --git a/tests/tests-asn1c-compiler/129-enum-SE.asn1 b/tests/tests-asn1c-compiler/129-enum-SE.asn1 deleted file mode 100644 index cb85dc9..0000000 --- a/tests/tests-asn1c-compiler/129-enum-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .129 - -ModuleTestEnum1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 129 } - DEFINITIONS ::= -BEGIN - - A ::= ENUMERATED {a, b, ..., c, d(2)} - -END diff --git a/tests/tests-asn1c-compiler/13-resolver-OK.asn1 b/tests/tests-asn1c-compiler/13-resolver-OK.asn1 deleted file mode 100644 index 5237b01..0000000 --- a/tests/tests-asn1c-compiler/13-resolver-OK.asn1 +++ /dev/null @@ -1,47 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .13 1 --- .13 2 - -ModuleTestResolver1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 13 1 } - DEFINITIONS ::= -BEGIN - IMPORTS IntegerType, beta FROM - Renamed - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 13 2 }; - - -- external reference - alpha IntegerType ::= beta - alpha2 Renamed.IntegerType ::= beta - - -- - -- The following are for post-fix checking by the check_fixer. - -- It will be able to pick-up these values if the file is parseable, - -- even if it contains some semantic errors. - -- - - check-alpha INTEGER ::= 123 - check-alpha2 INTEGER ::= 123 - -END - -ModuleTestResolver2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 13 2 } - DEFINITIONS ::= -BEGIN - EXPORTS beta, IntegerType ; - - beta HiddenType ::= 123 - - HiddenType ::= INTEGER - - IntegerType ::= INTEGER - -END diff --git a/tests/tests-asn1c-compiler/130-enum-OK.asn1 b/tests/tests-asn1c-compiler/130-enum-OK.asn1 deleted file mode 100644 index d917e39..0000000 --- a/tests/tests-asn1c-compiler/130-enum-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .130 - -ModuleTestEnum1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 130 } - DEFINITIONS ::= -BEGIN - - A ::= ENUMERATED {a(-5), b(-4),..., c} - -END diff --git a/tests/tests-asn1c-compiler/130-enum-OK.asn1.-EF b/tests/tests-asn1c-compiler/130-enum-OK.asn1.-EF deleted file mode 100644 index eaa5a51..0000000 --- a/tests/tests-asn1c-compiler/130-enum-OK.asn1.-EF +++ /dev/null @@ -1,13 +0,0 @@ -ModuleTestEnum1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 130 } -DEFINITIONS ::= -BEGIN - -A ::= ENUMERATED { - a(-5), - b(-4), - ..., - c(0) -} - -END diff --git a/tests/tests-asn1c-compiler/131-per-empty-OK.asn1 b/tests/tests-asn1c-compiler/131-per-empty-OK.asn1 deleted file mode 100644 index fec5d2c..0000000 --- a/tests/tests-asn1c-compiler/131-per-empty-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .131 - -ModulePERLong - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 131 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= SEQUENCE { } -- Empty sequence - -END diff --git a/tests/tests-asn1c-compiler/131-per-empty-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/131-per-empty-OK.asn1.-Pgen-PER deleted file mode 100644 index 829dc4d..0000000 --- a/tests/tests-asn1c-compiler/131-per-empty-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,45 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/132-per-choice-OK.asn1 b/tests/tests-asn1c-compiler/132-per-choice-OK.asn1 deleted file mode 100644 index 8cbdb48..0000000 --- a/tests/tests-asn1c-compiler/132-per-choice-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .132 - -ModulePERChoice - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 132 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= CHOICE { - first [1] CHOICE { - nothing INTEGER (5..10) - }, - second [0] INTEGER (-10..10) - } - -END diff --git a/tests/tests-asn1c-compiler/133-per-constraints-OK.asn1 b/tests/tests-asn1c-compiler/133-per-constraints-OK.asn1 deleted file mode 100644 index 38721b6..0000000 --- a/tests/tests-asn1c-compiler/133-per-constraints-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .133 - -ModulePERConstraints - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 133 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= CHOICE { - first [2] CHOICE { - nothing INTEGER (5..MAX) - }, - second [0] INTEGER (MIN..10), - ..., - third [1] INTEGER (-10..MAX) - } - -END diff --git a/tests/tests-asn1c-compiler/134-per-long-OK.asn1 b/tests/tests-asn1c-compiler/134-per-long-OK.asn1 deleted file mode 100644 index b4334dd..0000000 --- a/tests/tests-asn1c-compiler/134-per-long-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine --- Also see .127 for narrower integer types. - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .134 - -ModulePERLong - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 134 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - -- Supported only on 64-bit platforms. - T ::= SEQUENCE { - unsigned33 INTEGER (0..5000000000), -- range 33 bits - unsigned42 INTEGER (0..3153600000000), -- range 42 bits - signed33 INTEGER (-4000000000..4000000000), -- 33 bits - signed33ext INTEGER (-4000000000..4000000000,...) - } - -END diff --git a/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER deleted file mode 100644 index df46a74..0000000 --- a/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,245 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - INTEGER_t unsigned33; - INTEGER_t unsigned42; - INTEGER_t signed33; - INTEGER_t signed33ext; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CODE [T] >>> ***/ - -static int -memb_unsigned33_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 0 && value <= 5000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned42_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 0 && value <= 3153600000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed33_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -4000000000 && value <= 4000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed33ext_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -4000000000 && value <= 4000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [T] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_unsigned33_constr_2 CC_NOTUSED = { - { APC_CONSTRAINED, 33, -1, 0, 5000000000 } /* (0..5000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_unsigned42_constr_3 CC_NOTUSED = { - { APC_CONSTRAINED, 42, -1, 0, 3153600000000 } /* (0..3153600000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_signed33_constr_4 CC_NOTUSED = { - { APC_CONSTRAINED, 33, -1, -4000000000, 4000000000 } /* (-4000000000..4000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_signed33ext_constr_5 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 33, -1, -4000000000, 4000000000 } /* (-4000000000..4000000000,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned33), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_unsigned33_constr_2, .general_constraints = memb_unsigned33_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned33" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned42), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_unsigned42_constr_3, .general_constraints = memb_unsigned42_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned42" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, signed33), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_signed33_constr_4, .general_constraints = memb_signed33_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed33" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, signed33ext), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_signed33ext_constr_5, .general_constraints = memb_signed33ext_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed33ext" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* unsigned33 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* unsigned42 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* signed33 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* signed33ext */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 4, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/135-oer-short-OK.asn1 b/tests/tests-asn1c-compiler/135-oer-short-OK.asn1 deleted file mode 100644 index fcd80fc..0000000 --- a/tests/tests-asn1c-compiler/135-oer-short-OK.asn1 +++ /dev/null @@ -1,30 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .135 - -ModuleOERShort - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 135 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - -- Supported only on 64-bit platforms. - T ::= SEQUENCE { - unsigned8 [0] INTEGER (0..255), -- OER 1 byte - unsigned16 [1] INTEGER (0..65535), -- OER 2 bytes - unsigned16stack [2] INTEGER (0..32767)(0..255), -- OER 1 byte - unsigned16stack-ext [15] INTEGER (0..32767)(0..255,...), -- OER 2 bytes - ..., - signed8 [10] INTEGER (-128..127) DEFAULT 3, -- OER 1 byte - signed16 [11] INTEGER (-32768..32767), -- OER 2 bytes - signed16stack [12] INTEGER (-32768..32767)(-128..127), -- OER 1 byte - signed16stack-ext [5] INTEGER (-32768..32767)(-128..127,...), -- OER 2 b - signed32 [7] INTEGER (-2000000000..2000000000), -- OER 4 bytes - ..., - minmax [6] INTEGER (MIN..MAX) OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1 b/tests/tests-asn1c-compiler/136-oer-long-OK.asn1 deleted file mode 100644 index 706a6ea..0000000 --- a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1 +++ /dev/null @@ -1,32 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .136 - -ModuleOERLong - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 136 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - -- Supported only on 64-bit platforms. - T ::= SEQUENCE { - unsigned8 [0] INTEGER (0..255), -- OER 1 byte - unsigned16 [1] INTEGER (0..65535), -- OER 2 bytes - unsigned16stack [2] INTEGER (0..32767)(0..255), -- OER 1 byte - unsigned16stack-ext [15] INTEGER (0..32767)(0..255,...), -- OER 2 bytes - unsigned33 [3] INTEGER (0..5000000000), -- OER 8 bytes - ..., - signed8 [10] INTEGER (-128..127) DEFAULT 3, -- OER 1 byte - signed16 [11] INTEGER (-32768..32767), -- OER 2 bytes - signed16stack [12] INTEGER (-32768..32767)(-128..127), -- OER 1 byte - signed16stack-ext [5] INTEGER (-32768..32767)(-128..127,...), -- OER 2 b - signed32 [7] INTEGER (-2000000000..2000000000), -- OER 4 bytes - signed33ext [8] INTEGER (-4000000000..4000000000,...),-- OER vrble - ..., - minmax [6] INTEGER (MIN..MAX) OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER deleted file mode 100644 index 4c242fa..0000000 --- a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER +++ /dev/null @@ -1,561 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - long unsigned8; - long unsigned16; - long unsigned16stack; - long unsigned16stack_ext; - INTEGER_t unsigned33; - long *minmax; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - long *signed8; /* DEFAULT 3 */ - long *signed16; - long *signed16stack; - long *signed16stack_ext; - long *signed32; - INTEGER_t *signed33ext; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CODE [T] >>> ***/ - -static int -memb_unsigned8_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 255)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned16_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned16stack_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 255)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned16stack_ext_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 255)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_unsigned33_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 0 && value <= 5000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_minmax_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static int -memb_signed8_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -128 && value <= 127)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed16_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -32768 && value <= 32767)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed16stack_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -128 && value <= 127)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed16stack_ext_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -128 && value <= 127)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed32_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -2000000000 && value <= 2000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_signed33ext_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -4000000000 && value <= 4000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [T] >>> ***/ - -static asn_oer_constraints_t asn_OER_memb_unsigned8_constr_2 CC_NOTUSED = { - { 1, 1 } /* (0..255) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_unsigned16_constr_3 CC_NOTUSED = { - { 2, 1 } /* (0..65535) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_unsigned16stack_constr_4 CC_NOTUSED = { - { 1, 1 } /* (0..255) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_unsigned16stack_ext_constr_5 CC_NOTUSED = { - { 2, 1 } /* (0..32767) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_unsigned33_constr_6 CC_NOTUSED = { - { 8, 1 } /* (0..5000000000) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_minmax_constr_7 CC_NOTUSED = { - { 0, 0 }, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed8_constr_9 CC_NOTUSED = { - { 1, 0 } /* (-128..127) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed16_constr_10 CC_NOTUSED = { - { 2, 0 } /* (-32768..32767) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed16stack_constr_11 CC_NOTUSED = { - { 1, 0 } /* (-128..127) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed16stack_ext_constr_12 CC_NOTUSED = { - { 2, 0 } /* (-32768..32767) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed32_constr_13 CC_NOTUSED = { - { 4, 0 } /* (-2000000000..2000000000) */, - -1}; -static asn_oer_constraints_t asn_OER_memb_signed33ext_constr_14 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static int asn_DFL_9_cmp_3(const void *sptr) { - const long *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 3 */ - return (*st != 3); -} -static int asn_DFL_9_set_3(void **sptr) { - long *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 3 */ - *st = 3; - return 0; -} -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned8), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_unsigned8_constr_2, .per_constraints = 0, .general_constraints = memb_unsigned8_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned8" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned16), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_unsigned16_constr_3, .per_constraints = 0, .general_constraints = memb_unsigned16_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned16" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned16stack), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_unsigned16stack_constr_4, .per_constraints = 0, .general_constraints = memb_unsigned16stack_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned16stack" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned16stack_ext), - .tag = (ASN_TAG_CLASS_CONTEXT | (15 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_unsigned16stack_ext_constr_5, .per_constraints = 0, .general_constraints = memb_unsigned16stack_ext_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned16stack-ext" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, unsigned33), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_unsigned33_constr_6, .per_constraints = 0, .general_constraints = memb_unsigned33_constraint_1 }, - 0, 0, /* No default value */ - .name = "unsigned33" - }, - { ATF_POINTER, 7, offsetof(struct T, minmax), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_minmax_constr_7, .per_constraints = 0, .general_constraints = memb_minmax_constraint_1 }, - 0, 0, /* No default value */ - .name = "minmax" - }, - { ATF_POINTER, 6, offsetof(struct T, signed8), - .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed8_constr_9, .per_constraints = 0, .general_constraints = memb_signed8_constraint_1 }, - .default_value_cmp = &asn_DFL_9_cmp_3, /* Compare DEFAULT 3 */ - .default_value_set = &asn_DFL_9_set_3, /* Set DEFAULT 3 */ - .name = "signed8" - }, - { ATF_POINTER, 5, offsetof(struct T, signed16), - .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed16_constr_10, .per_constraints = 0, .general_constraints = memb_signed16_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed16" - }, - { ATF_POINTER, 4, offsetof(struct T, signed16stack), - .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed16stack_constr_11, .per_constraints = 0, .general_constraints = memb_signed16stack_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed16stack" - }, - { ATF_POINTER, 3, offsetof(struct T, signed16stack_ext), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed16stack_ext_constr_12, .per_constraints = 0, .general_constraints = memb_signed16stack_ext_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed16stack-ext" - }, - { ATF_POINTER, 2, offsetof(struct T, signed32), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed32_constr_13, .per_constraints = 0, .general_constraints = memb_signed32_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed32" - }, - { ATF_POINTER, 1, offsetof(struct T, signed33ext), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_signed33ext_constr_14, .per_constraints = 0, .general_constraints = memb_signed33ext_constraint_1 }, - 0, 0, /* No default value */ - .name = "signed33ext" - }, -}; -static const int asn_MAP_T_oms_1[] = { 5, 6, 7, 8, 9, 10, 11 }; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* unsigned8 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* unsigned16 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* unsigned16stack */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 4, 0, 0 }, /* unsigned33 */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 9, 0, 0 }, /* signed16stack-ext */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 5, 0, 0 }, /* minmax */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 10, 0, 0 }, /* signed32 */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 11, 0, 0 }, /* signed33ext */ - { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 6, 0, 0 }, /* signed8 */ - { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 7, 0, 0 }, /* signed16 */ - { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 8, 0, 0 }, /* signed16stack */ - { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 3, 0, 0 } /* unsigned16stack-ext */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 12, /* Count of tags in the map */ - asn_MAP_T_oms_1, /* Optional members */ - 1, 6, /* Root/Additions */ - 6, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 12, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1 b/tests/tests-asn1c-compiler/137-oer-string-OK.asn1 deleted file mode 100644 index 86707e6..0000000 --- a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1 +++ /dev/null @@ -1,27 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .137 - -ModuleOERString - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 137 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SEQUENCE { - unconstrained SEQUENCE { - unc-ia5 IA5String, - unc-utf8 UTF8String, - unc-universal UniversalString - }, - constrained SEQUENCE { - con-ia5 IA5String (SIZE(2..2)), - con-utf8 UTF8String (SIZE(2)), - con-universal UniversalString (SIZE(2 | 2)) - } - } - -END diff --git a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER deleted file mode 100644 index 6277490..0000000 --- a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER +++ /dev/null @@ -1,347 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - struct unconstrained { - IA5String_t unc_ia5; - UTF8String_t unc_utf8; - UniversalString_t unc_universal; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } unconstrained; - struct constrained { - IA5String_t con_ia5; - UTF8String_t con_utf8; - UniversalString_t con_universal; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } constrained; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CTABLES [T] >>> ***/ - -static int check_permitted_alphabet_7(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv <= 127)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_9(const void *sptr) { - /* The underlying type is UniversalString */ - const UniversalString_t *st = (const UniversalString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - if(st->size % 4) return -1; /* (size%4)! */ - for(; ch < end; ch += 4) { - uint32_t cv = (ch[0] << 24) - | (ch[1] << 16) - | (ch[2] << 8) - | ch[3]; - (void)cv; /* Unused variable */ - } - return 0; -} - - -/*** <<< CODE [T] >>> ***/ - -static int -memb_con_ia5_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 2) - && !check_permitted_alphabet_7(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_con_utf8_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size == 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_con_universal_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UniversalString_t *st = (const UniversalString_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size >> 2; /* 4 byte per character */ - - if((size == 2) - && !check_permitted_alphabet_9(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [T] >>> ***/ - -static asn_oer_constraints_t asn_OER_memb_con_ia5_constr_7 CC_NOTUSED = { - { 0, 0 }, - 2 /* (SIZE(2..2)) */}; -static asn_oer_constraints_t asn_OER_memb_con_utf8_constr_8 CC_NOTUSED = { - { 0, 0 }, - -1 /* (SIZE(0..MAX)) */}; -static asn_oer_constraints_t asn_OER_memb_con_universal_constr_9 CC_NOTUSED = { - { 0, 0 }, - 2 /* (SIZE(2..2)) */}; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_unconstrained_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct unconstrained, unc_ia5), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "unc-ia5" - }, - { ATF_NOFLAGS, 0, offsetof(struct unconstrained, unc_utf8), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "unc-utf8" - }, - { ATF_NOFLAGS, 0, offsetof(struct unconstrained, unc_universal), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "unc-universal" - }, -}; -static const ber_tlv_tag_t asn_DEF_unconstrained_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_unconstrained_tag2el_2[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* unc-utf8 */ - { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* unc-ia5 */ - { (ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), 2, 0, 0 } /* unc-universal */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_unconstrained_specs_2 = { - sizeof(struct unconstrained), - offsetof(struct unconstrained, _asn_ctx), - .tag2el = asn_MAP_unconstrained_tag2el_2, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_unconstrained_2 = { - "unconstrained", - "unconstrained", - &asn_OP_SEQUENCE, - asn_DEF_unconstrained_tags_2, - sizeof(asn_DEF_unconstrained_tags_2) - /sizeof(asn_DEF_unconstrained_tags_2[0]), /* 1 */ - asn_DEF_unconstrained_tags_2, /* Same as above */ - sizeof(asn_DEF_unconstrained_tags_2) - /sizeof(asn_DEF_unconstrained_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_unconstrained_2, - 3, /* Elements count */ - &asn_SPC_unconstrained_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_constrained_6[] = { - { ATF_NOFLAGS, 0, offsetof(struct constrained, con_ia5), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_con_ia5_constr_7, .per_constraints = 0, .general_constraints = memb_con_ia5_constraint_6 }, - 0, 0, /* No default value */ - .name = "con-ia5" - }, - { ATF_NOFLAGS, 0, offsetof(struct constrained, con_utf8), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_con_utf8_constr_8, .per_constraints = 0, .general_constraints = memb_con_utf8_constraint_6 }, - 0, 0, /* No default value */ - .name = "con-utf8" - }, - { ATF_NOFLAGS, 0, offsetof(struct constrained, con_universal), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UniversalString, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_con_universal_constr_9, .per_constraints = 0, .general_constraints = memb_con_universal_constraint_6 }, - 0, 0, /* No default value */ - .name = "con-universal" - }, -}; -static const ber_tlv_tag_t asn_DEF_constrained_tags_6[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_constrained_tag2el_6[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* con-utf8 */ - { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* con-ia5 */ - { (ASN_TAG_CLASS_UNIVERSAL | (28 << 2)), 2, 0, 0 } /* con-universal */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_constrained_specs_6 = { - sizeof(struct constrained), - offsetof(struct constrained, _asn_ctx), - .tag2el = asn_MAP_constrained_tag2el_6, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_constrained_6 = { - "constrained", - "constrained", - &asn_OP_SEQUENCE, - asn_DEF_constrained_tags_6, - sizeof(asn_DEF_constrained_tags_6) - /sizeof(asn_DEF_constrained_tags_6[0]), /* 1 */ - asn_DEF_constrained_tags_6, /* Same as above */ - sizeof(asn_DEF_constrained_tags_6) - /sizeof(asn_DEF_constrained_tags_6[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_constrained_6, - 3, /* Elements count */ - &asn_SPC_constrained_specs_6 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, unconstrained), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_unconstrained_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "unconstrained" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, constrained), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_constrained_6, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "constrained" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* unconstrained */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* constrained */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 2, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 deleted file mode 100644 index 486cbc0..0000000 --- a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 +++ /dev/null @@ -1,35 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .138 - -ModuleOERConstraints - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 138 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - A-noc ::= INTEGER -- No constraints - B-0-0 ::= INTEGER (0) -- Value constraint - C-1-2 ::= INTEGER (1..2) -- Value range constraint - D-inv ::= INTEGER (0..10,...) -- Extensible, not OER-visible - E-2-5 ::= INTEGER (0..10,...)(2..5) -- OER-visible constraint 2..5 - F-inv ::= INTEGER (0..10,...)(2..5,...) -- Not OER-visible - G-3-3 ::= INTEGER (0..10,...)(2..5,...)(3) -- OER-visible constraint 3 - -- X.696 #8.2.4 Not OER-visible parts of INTERSECTION are ignored - H-4-5 ::= INTEGER ((0..5) ^ (4..9)) -- OER-visible constraint 4..5 - I-1-5 ::= INTEGER ((0..5) ^ (EConstr)) -- OER-visible constraint 1..5 - J-4-5 ::= INTEGER ((EConstr) ^ (4..9)) -- OER-visible constraint 4..5 - K-1-4 ::= INTEGER ((FConstr) ^ (EConstr)) -- OER-visible constraint 1..4 - -- X.696 #8.2.5 UNION with exeptions are ignored - L-0-5 ::= INTEGER ((0) | (5)) -- OER-visible constraint 0..5 - M-inv ::= INTEGER ((0) | (EConstr),...) -- Not OER-visible - N-0-5 ::= INTEGER ((FConstr) | (5)) -- OER-visible constraint 0..5 - O-inv ::= INTEGER ((FConstr) | (5), ...) -- Not OER-visible - - EConstr ::= INTEGER (1..5,...) - FConstr ::= INTEGER (0..4) - -END diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER deleted file mode 100644 index 5379108..0000000 --- a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER +++ /dev/null @@ -1,1329 +0,0 @@ - -/*** <<< INCLUDES [A-noc] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [A-noc] >>> ***/ - -typedef long A_noc_t; - -/*** <<< FUNC-DECLS [A-noc] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_A_noc; -asn_struct_free_f A_noc_free; -asn_struct_print_f A_noc_print; -asn_constr_check_f A_noc_constraint; -ber_type_decoder_f A_noc_decode_ber; -der_type_encoder_f A_noc_encode_der; -xer_type_decoder_f A_noc_decode_xer; -xer_type_encoder_f A_noc_encode_xer; -oer_type_decoder_f A_noc_decode_oer; -oer_type_encoder_f A_noc_encode_oer; - -/*** <<< CODE [A-noc] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [A-noc] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_A_noc_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_A_noc = { - "A-noc", - "A-noc", - &asn_OP_NativeInteger, - asn_DEF_A_noc_tags_1, - sizeof(asn_DEF_A_noc_tags_1) - /sizeof(asn_DEF_A_noc_tags_1[0]), /* 1 */ - asn_DEF_A_noc_tags_1, /* Same as above */ - sizeof(asn_DEF_A_noc_tags_1) - /sizeof(asn_DEF_A_noc_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [B-0-0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [B-0-0] >>> ***/ - -typedef long B_0_0_t; - -/*** <<< FUNC-DECLS [B-0-0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_B_0_0; -asn_struct_free_f B_0_0_free; -asn_struct_print_f B_0_0_print; -asn_constr_check_f B_0_0_constraint; -ber_type_decoder_f B_0_0_decode_ber; -der_type_encoder_f B_0_0_encode_der; -xer_type_decoder_f B_0_0_decode_xer; -xer_type_encoder_f B_0_0_encode_xer; -oer_type_decoder_f B_0_0_decode_oer; -oer_type_encoder_f B_0_0_encode_oer; - -/*** <<< CODE [B-0-0] >>> ***/ - -int -B_0_0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [B-0-0] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_B_0_0_constr_1 CC_NOTUSED = { - { 1, 1 } /* (0..0) */, - -1}; - -/*** <<< STAT-DEFS [B-0-0] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_B_0_0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_B_0_0 = { - "B-0-0", - "B-0-0", - &asn_OP_NativeInteger, - asn_DEF_B_0_0_tags_1, - sizeof(asn_DEF_B_0_0_tags_1) - /sizeof(asn_DEF_B_0_0_tags_1[0]), /* 1 */ - asn_DEF_B_0_0_tags_1, /* Same as above */ - sizeof(asn_DEF_B_0_0_tags_1) - /sizeof(asn_DEF_B_0_0_tags_1[0]), /* 1 */ - { &asn_OER_type_B_0_0_constr_1, 0, B_0_0_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [C-1-2] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [C-1-2] >>> ***/ - -typedef long C_1_2_t; - -/*** <<< FUNC-DECLS [C-1-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_C_1_2; -asn_struct_free_f C_1_2_free; -asn_struct_print_f C_1_2_print; -asn_constr_check_f C_1_2_constraint; -ber_type_decoder_f C_1_2_decode_ber; -der_type_encoder_f C_1_2_encode_der; -xer_type_decoder_f C_1_2_decode_xer; -xer_type_encoder_f C_1_2_encode_xer; -oer_type_decoder_f C_1_2_decode_oer; -oer_type_encoder_f C_1_2_encode_oer; - -/*** <<< CODE [C-1-2] >>> ***/ - -int -C_1_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [C-1-2] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_C_1_2_constr_1 CC_NOTUSED = { - { 1, 1 } /* (1..2) */, - -1}; - -/*** <<< STAT-DEFS [C-1-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_C_1_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_C_1_2 = { - "C-1-2", - "C-1-2", - &asn_OP_NativeInteger, - asn_DEF_C_1_2_tags_1, - sizeof(asn_DEF_C_1_2_tags_1) - /sizeof(asn_DEF_C_1_2_tags_1[0]), /* 1 */ - asn_DEF_C_1_2_tags_1, /* Same as above */ - sizeof(asn_DEF_C_1_2_tags_1) - /sizeof(asn_DEF_C_1_2_tags_1[0]), /* 1 */ - { &asn_OER_type_C_1_2_constr_1, 0, C_1_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [D-inv] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [D-inv] >>> ***/ - -typedef long D_inv_t; - -/*** <<< FUNC-DECLS [D-inv] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_D_inv; -asn_struct_free_f D_inv_free; -asn_struct_print_f D_inv_print; -asn_constr_check_f D_inv_constraint; -ber_type_decoder_f D_inv_decode_ber; -der_type_encoder_f D_inv_encode_der; -xer_type_decoder_f D_inv_decode_xer; -xer_type_encoder_f D_inv_encode_xer; -oer_type_decoder_f D_inv_decode_oer; -oer_type_encoder_f D_inv_encode_oer; - -/*** <<< CODE [D-inv] >>> ***/ - -int -D_inv_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [D-inv] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_D_inv_constr_1 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [D-inv] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_D_inv_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_D_inv = { - "D-inv", - "D-inv", - &asn_OP_NativeInteger, - asn_DEF_D_inv_tags_1, - sizeof(asn_DEF_D_inv_tags_1) - /sizeof(asn_DEF_D_inv_tags_1[0]), /* 1 */ - asn_DEF_D_inv_tags_1, /* Same as above */ - sizeof(asn_DEF_D_inv_tags_1) - /sizeof(asn_DEF_D_inv_tags_1[0]), /* 1 */ - { &asn_OER_type_D_inv_constr_1, 0, D_inv_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [E-2-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [E-2-5] >>> ***/ - -typedef long E_2_5_t; - -/*** <<< FUNC-DECLS [E-2-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_E_2_5; -asn_struct_free_f E_2_5_free; -asn_struct_print_f E_2_5_print; -asn_constr_check_f E_2_5_constraint; -ber_type_decoder_f E_2_5_decode_ber; -der_type_encoder_f E_2_5_encode_der; -xer_type_decoder_f E_2_5_decode_xer; -xer_type_encoder_f E_2_5_encode_xer; -oer_type_decoder_f E_2_5_decode_oer; -oer_type_encoder_f E_2_5_encode_oer; - -/*** <<< CODE [E-2-5] >>> ***/ - -int -E_2_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 2 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [E-2-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_E_2_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (2..5) */, - -1}; - -/*** <<< STAT-DEFS [E-2-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_E_2_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_E_2_5 = { - "E-2-5", - "E-2-5", - &asn_OP_NativeInteger, - asn_DEF_E_2_5_tags_1, - sizeof(asn_DEF_E_2_5_tags_1) - /sizeof(asn_DEF_E_2_5_tags_1[0]), /* 1 */ - asn_DEF_E_2_5_tags_1, /* Same as above */ - sizeof(asn_DEF_E_2_5_tags_1) - /sizeof(asn_DEF_E_2_5_tags_1[0]), /* 1 */ - { &asn_OER_type_E_2_5_constr_1, 0, E_2_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [F-inv] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [F-inv] >>> ***/ - -typedef long F_inv_t; - -/*** <<< FUNC-DECLS [F-inv] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_F_inv; -asn_struct_free_f F_inv_free; -asn_struct_print_f F_inv_print; -asn_constr_check_f F_inv_constraint; -ber_type_decoder_f F_inv_decode_ber; -der_type_encoder_f F_inv_encode_der; -xer_type_decoder_f F_inv_decode_xer; -xer_type_encoder_f F_inv_encode_xer; -oer_type_decoder_f F_inv_decode_oer; -oer_type_encoder_f F_inv_encode_oer; - -/*** <<< CODE [F-inv] >>> ***/ - -int -F_inv_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 2 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [F-inv] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_F_inv_constr_1 CC_NOTUSED = { - { 1, 1 } /* (0..10) */, - -1}; - -/*** <<< STAT-DEFS [F-inv] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_F_inv_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_F_inv = { - "F-inv", - "F-inv", - &asn_OP_NativeInteger, - asn_DEF_F_inv_tags_1, - sizeof(asn_DEF_F_inv_tags_1) - /sizeof(asn_DEF_F_inv_tags_1[0]), /* 1 */ - asn_DEF_F_inv_tags_1, /* Same as above */ - sizeof(asn_DEF_F_inv_tags_1) - /sizeof(asn_DEF_F_inv_tags_1[0]), /* 1 */ - { &asn_OER_type_F_inv_constr_1, 0, F_inv_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [G-3-3] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [G-3-3] >>> ***/ - -typedef long G_3_3_t; - -/*** <<< FUNC-DECLS [G-3-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_G_3_3; -asn_struct_free_f G_3_3_free; -asn_struct_print_f G_3_3_print; -asn_constr_check_f G_3_3_constraint; -ber_type_decoder_f G_3_3_decode_ber; -der_type_encoder_f G_3_3_encode_der; -xer_type_decoder_f G_3_3_decode_xer; -xer_type_encoder_f G_3_3_encode_xer; -oer_type_decoder_f G_3_3_decode_oer; -oer_type_encoder_f G_3_3_encode_oer; - -/*** <<< CODE [G-3-3] >>> ***/ - -int -G_3_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [G-3-3] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_G_3_3_constr_1 CC_NOTUSED = { - { 1, 1 } /* (3..3) */, - -1}; - -/*** <<< STAT-DEFS [G-3-3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_G_3_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_G_3_3 = { - "G-3-3", - "G-3-3", - &asn_OP_NativeInteger, - asn_DEF_G_3_3_tags_1, - sizeof(asn_DEF_G_3_3_tags_1) - /sizeof(asn_DEF_G_3_3_tags_1[0]), /* 1 */ - asn_DEF_G_3_3_tags_1, /* Same as above */ - sizeof(asn_DEF_G_3_3_tags_1) - /sizeof(asn_DEF_G_3_3_tags_1[0]), /* 1 */ - { &asn_OER_type_G_3_3_constr_1, 0, G_3_3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [H-4-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [H-4-5] >>> ***/ - -typedef long H_4_5_t; - -/*** <<< FUNC-DECLS [H-4-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_H_4_5; -asn_struct_free_f H_4_5_free; -asn_struct_print_f H_4_5_print; -asn_constr_check_f H_4_5_constraint; -ber_type_decoder_f H_4_5_decode_ber; -der_type_encoder_f H_4_5_encode_der; -xer_type_decoder_f H_4_5_decode_xer; -xer_type_encoder_f H_4_5_encode_xer; -oer_type_decoder_f H_4_5_decode_oer; -oer_type_encoder_f H_4_5_encode_oer; - -/*** <<< CODE [H-4-5] >>> ***/ - -int -H_4_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 4 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [H-4-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_H_4_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (4..5) */, - -1}; - -/*** <<< STAT-DEFS [H-4-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_H_4_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_H_4_5 = { - "H-4-5", - "H-4-5", - &asn_OP_NativeInteger, - asn_DEF_H_4_5_tags_1, - sizeof(asn_DEF_H_4_5_tags_1) - /sizeof(asn_DEF_H_4_5_tags_1[0]), /* 1 */ - asn_DEF_H_4_5_tags_1, /* Same as above */ - sizeof(asn_DEF_H_4_5_tags_1) - /sizeof(asn_DEF_H_4_5_tags_1[0]), /* 1 */ - { &asn_OER_type_H_4_5_constr_1, 0, H_4_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [I-1-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [I-1-5] >>> ***/ - -typedef long I_1_5_t; - -/*** <<< FUNC-DECLS [I-1-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_I_1_5; -asn_struct_free_f I_1_5_free; -asn_struct_print_f I_1_5_print; -asn_constr_check_f I_1_5_constraint; -ber_type_decoder_f I_1_5_decode_ber; -der_type_encoder_f I_1_5_encode_der; -xer_type_decoder_f I_1_5_decode_xer; -xer_type_encoder_f I_1_5_encode_xer; -oer_type_decoder_f I_1_5_decode_oer; -oer_type_encoder_f I_1_5_encode_oer; - -/*** <<< CODE [I-1-5] >>> ***/ - -int -I_1_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [I-1-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_I_1_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (1..5) */, - -1}; - -/*** <<< STAT-DEFS [I-1-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_I_1_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_I_1_5 = { - "I-1-5", - "I-1-5", - &asn_OP_NativeInteger, - asn_DEF_I_1_5_tags_1, - sizeof(asn_DEF_I_1_5_tags_1) - /sizeof(asn_DEF_I_1_5_tags_1[0]), /* 1 */ - asn_DEF_I_1_5_tags_1, /* Same as above */ - sizeof(asn_DEF_I_1_5_tags_1) - /sizeof(asn_DEF_I_1_5_tags_1[0]), /* 1 */ - { &asn_OER_type_I_1_5_constr_1, 0, I_1_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [J-4-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [J-4-5] >>> ***/ - -typedef long J_4_5_t; - -/*** <<< FUNC-DECLS [J-4-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_J_4_5; -asn_struct_free_f J_4_5_free; -asn_struct_print_f J_4_5_print; -asn_constr_check_f J_4_5_constraint; -ber_type_decoder_f J_4_5_decode_ber; -der_type_encoder_f J_4_5_encode_der; -xer_type_decoder_f J_4_5_decode_xer; -xer_type_encoder_f J_4_5_encode_xer; -oer_type_decoder_f J_4_5_decode_oer; -oer_type_encoder_f J_4_5_encode_oer; - -/*** <<< CODE [J-4-5] >>> ***/ - -int -J_4_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 4 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [J-4-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_J_4_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (4..5) */, - -1}; - -/*** <<< STAT-DEFS [J-4-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_J_4_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_J_4_5 = { - "J-4-5", - "J-4-5", - &asn_OP_NativeInteger, - asn_DEF_J_4_5_tags_1, - sizeof(asn_DEF_J_4_5_tags_1) - /sizeof(asn_DEF_J_4_5_tags_1[0]), /* 1 */ - asn_DEF_J_4_5_tags_1, /* Same as above */ - sizeof(asn_DEF_J_4_5_tags_1) - /sizeof(asn_DEF_J_4_5_tags_1[0]), /* 1 */ - { &asn_OER_type_J_4_5_constr_1, 0, J_4_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [K-1-4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [K-1-4] >>> ***/ - -typedef long K_1_4_t; - -/*** <<< FUNC-DECLS [K-1-4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_K_1_4; -asn_struct_free_f K_1_4_free; -asn_struct_print_f K_1_4_print; -asn_constr_check_f K_1_4_constraint; -ber_type_decoder_f K_1_4_decode_ber; -der_type_encoder_f K_1_4_encode_der; -xer_type_decoder_f K_1_4_decode_xer; -xer_type_encoder_f K_1_4_encode_xer; -oer_type_decoder_f K_1_4_decode_oer; -oer_type_encoder_f K_1_4_encode_oer; - -/*** <<< CODE [K-1-4] >>> ***/ - -int -K_1_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 4)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [K-1-4] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_K_1_4_constr_1 CC_NOTUSED = { - { 1, 1 } /* (1..4) */, - -1}; - -/*** <<< STAT-DEFS [K-1-4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_K_1_4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_K_1_4 = { - "K-1-4", - "K-1-4", - &asn_OP_NativeInteger, - asn_DEF_K_1_4_tags_1, - sizeof(asn_DEF_K_1_4_tags_1) - /sizeof(asn_DEF_K_1_4_tags_1[0]), /* 1 */ - asn_DEF_K_1_4_tags_1, /* Same as above */ - sizeof(asn_DEF_K_1_4_tags_1) - /sizeof(asn_DEF_K_1_4_tags_1[0]), /* 1 */ - { &asn_OER_type_K_1_4_constr_1, 0, K_1_4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [L-0-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [L-0-5] >>> ***/ - -typedef long L_0_5_t; - -/*** <<< FUNC-DECLS [L-0-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_L_0_5; -asn_struct_free_f L_0_5_free; -asn_struct_print_f L_0_5_print; -asn_constr_check_f L_0_5_constraint; -ber_type_decoder_f L_0_5_decode_ber; -der_type_encoder_f L_0_5_encode_der; -xer_type_decoder_f L_0_5_decode_xer; -xer_type_encoder_f L_0_5_encode_xer; -oer_type_decoder_f L_0_5_decode_oer; -oer_type_encoder_f L_0_5_encode_oer; - -/*** <<< CODE [L-0-5] >>> ***/ - -int -L_0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == 0) || (value == 5))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [L-0-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_L_0_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (0..5) */, - -1}; - -/*** <<< STAT-DEFS [L-0-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_L_0_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_L_0_5 = { - "L-0-5", - "L-0-5", - &asn_OP_NativeInteger, - asn_DEF_L_0_5_tags_1, - sizeof(asn_DEF_L_0_5_tags_1) - /sizeof(asn_DEF_L_0_5_tags_1[0]), /* 1 */ - asn_DEF_L_0_5_tags_1, /* Same as above */ - sizeof(asn_DEF_L_0_5_tags_1) - /sizeof(asn_DEF_L_0_5_tags_1[0]), /* 1 */ - { &asn_OER_type_L_0_5_constr_1, 0, L_0_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [M-inv] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [M-inv] >>> ***/ - -typedef long M_inv_t; - -/*** <<< FUNC-DECLS [M-inv] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_M_inv; -asn_struct_free_f M_inv_free; -asn_struct_print_f M_inv_print; -asn_constr_check_f M_inv_constraint; -ber_type_decoder_f M_inv_decode_ber; -der_type_encoder_f M_inv_encode_der; -xer_type_decoder_f M_inv_decode_xer; -xer_type_encoder_f M_inv_encode_xer; -oer_type_decoder_f M_inv_decode_oer; -oer_type_encoder_f M_inv_encode_oer; - -/*** <<< CODE [M-inv] >>> ***/ - -int -M_inv_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [M-inv] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_M_inv_constr_1 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [M-inv] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_M_inv_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_M_inv = { - "M-inv", - "M-inv", - &asn_OP_NativeInteger, - asn_DEF_M_inv_tags_1, - sizeof(asn_DEF_M_inv_tags_1) - /sizeof(asn_DEF_M_inv_tags_1[0]), /* 1 */ - asn_DEF_M_inv_tags_1, /* Same as above */ - sizeof(asn_DEF_M_inv_tags_1) - /sizeof(asn_DEF_M_inv_tags_1[0]), /* 1 */ - { &asn_OER_type_M_inv_constr_1, 0, M_inv_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [N-0-5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [N-0-5] >>> ***/ - -typedef long N_0_5_t; - -/*** <<< FUNC-DECLS [N-0-5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_N_0_5; -asn_struct_free_f N_0_5_free; -asn_struct_print_f N_0_5_print; -asn_constr_check_f N_0_5_constraint; -ber_type_decoder_f N_0_5_decode_ber; -der_type_encoder_f N_0_5_encode_der; -xer_type_decoder_f N_0_5_decode_xer; -xer_type_encoder_f N_0_5_encode_xer; -oer_type_decoder_f N_0_5_decode_oer; -oer_type_encoder_f N_0_5_encode_oer; - -/*** <<< CODE [N-0-5] >>> ***/ - -int -N_0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [N-0-5] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_N_0_5_constr_1 CC_NOTUSED = { - { 1, 1 } /* (0..5) */, - -1}; - -/*** <<< STAT-DEFS [N-0-5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_N_0_5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_N_0_5 = { - "N-0-5", - "N-0-5", - &asn_OP_NativeInteger, - asn_DEF_N_0_5_tags_1, - sizeof(asn_DEF_N_0_5_tags_1) - /sizeof(asn_DEF_N_0_5_tags_1[0]), /* 1 */ - asn_DEF_N_0_5_tags_1, /* Same as above */ - sizeof(asn_DEF_N_0_5_tags_1) - /sizeof(asn_DEF_N_0_5_tags_1[0]), /* 1 */ - { &asn_OER_type_N_0_5_constr_1, 0, N_0_5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [O-inv] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [O-inv] >>> ***/ - -typedef long O_inv_t; - -/*** <<< FUNC-DECLS [O-inv] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_O_inv; -asn_struct_free_f O_inv_free; -asn_struct_print_f O_inv_print; -asn_constr_check_f O_inv_constraint; -ber_type_decoder_f O_inv_decode_ber; -der_type_encoder_f O_inv_encode_der; -xer_type_decoder_f O_inv_decode_xer; -xer_type_encoder_f O_inv_encode_xer; -oer_type_decoder_f O_inv_decode_oer; -oer_type_encoder_f O_inv_encode_oer; - -/*** <<< CODE [O-inv] >>> ***/ - -int -O_inv_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [O-inv] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_O_inv_constr_1 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [O-inv] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_O_inv_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_O_inv = { - "O-inv", - "O-inv", - &asn_OP_NativeInteger, - asn_DEF_O_inv_tags_1, - sizeof(asn_DEF_O_inv_tags_1) - /sizeof(asn_DEF_O_inv_tags_1[0]), /* 1 */ - asn_DEF_O_inv_tags_1, /* Same as above */ - sizeof(asn_DEF_O_inv_tags_1) - /sizeof(asn_DEF_O_inv_tags_1[0]), /* 1 */ - { &asn_OER_type_O_inv_constr_1, 0, O_inv_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [EConstr] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [EConstr] >>> ***/ - -typedef long EConstr_t; - -/*** <<< FUNC-DECLS [EConstr] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_EConstr; -asn_struct_free_f EConstr_free; -asn_struct_print_f EConstr_print; -asn_constr_check_f EConstr_constraint; -ber_type_decoder_f EConstr_decode_ber; -der_type_encoder_f EConstr_encode_der; -xer_type_decoder_f EConstr_decode_xer; -xer_type_encoder_f EConstr_encode_xer; -oer_type_decoder_f EConstr_decode_oer; -oer_type_encoder_f EConstr_encode_oer; - -/*** <<< CODE [EConstr] >>> ***/ - -int -EConstr_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [EConstr] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_EConstr_constr_1 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [EConstr] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_EConstr_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_EConstr = { - "EConstr", - "EConstr", - &asn_OP_NativeInteger, - asn_DEF_EConstr_tags_1, - sizeof(asn_DEF_EConstr_tags_1) - /sizeof(asn_DEF_EConstr_tags_1[0]), /* 1 */ - asn_DEF_EConstr_tags_1, /* Same as above */ - sizeof(asn_DEF_EConstr_tags_1) - /sizeof(asn_DEF_EConstr_tags_1[0]), /* 1 */ - { &asn_OER_type_EConstr_constr_1, 0, EConstr_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [FConstr] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [FConstr] >>> ***/ - -typedef long FConstr_t; - -/*** <<< FUNC-DECLS [FConstr] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_FConstr; -asn_struct_free_f FConstr_free; -asn_struct_print_f FConstr_print; -asn_constr_check_f FConstr_constraint; -ber_type_decoder_f FConstr_decode_ber; -der_type_encoder_f FConstr_encode_der; -xer_type_decoder_f FConstr_decode_xer; -xer_type_encoder_f FConstr_encode_xer; -oer_type_decoder_f FConstr_decode_oer; -oer_type_encoder_f FConstr_encode_oer; - -/*** <<< CODE [FConstr] >>> ***/ - -int -FConstr_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 4)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [FConstr] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_FConstr_constr_1 CC_NOTUSED = { - { 1, 1 } /* (0..4) */, - -1}; - -/*** <<< STAT-DEFS [FConstr] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_FConstr_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_FConstr = { - "FConstr", - "FConstr", - &asn_OP_NativeInteger, - asn_DEF_FConstr_tags_1, - sizeof(asn_DEF_FConstr_tags_1) - /sizeof(asn_DEF_FConstr_tags_1[0]), /* 1 */ - asn_DEF_FConstr_tags_1, /* Same as above */ - sizeof(asn_DEF_FConstr_tags_1) - /sizeof(asn_DEF_FConstr_tags_1[0]), /* 1 */ - { &asn_OER_type_FConstr_constr_1, 0, FConstr_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1 b/tests/tests-asn1c-compiler/139-component-relation-OK.asn1 deleted file mode 100644 index e71a35e..0000000 --- a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1 +++ /dev/null @@ -1,36 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .139 - -ModuleComponentRelationConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 139 } - DEFINITIONS ::= -BEGIN - - Frame ::= SEQUENCE { - ident FRAME-STRUCTURE.&id({FrameTypes}), - value FRAME-STRUCTURE.&Type({FrameTypes}{@.ident}), - ... - } - - FRAME-STRUCTURE ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - FrameTypes FRAME-STRUCTURE ::= { - { PrimitiveMessage IDENTIFIED BY basicMessage } | - { ComplexMessage IDENTIFIED BY 2 }, - ... - } - - PrimitiveMessage ::= SEQUENCE {} - ComplexMessage ::= SEQUENCE {} - - basicMessage INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 31bf458..0000000 --- a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,37 +0,0 @@ -ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 139 } -DEFINITIONS ::= -BEGIN - -Frame ::= SEQUENCE { - ident FRAME-STRUCTURE.&id ({FrameTypes}), - value FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}), - ... -} - -FRAME-STRUCTURE ::= CLASS { - &id INTEGER UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] basicMessage PrimitiveMessage --- [2] 2 ComplexMessage - - -FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY basicMessage } | { ComplexMessage IDENTIFIED BY 2 },...} --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] basicMessage PrimitiveMessage --- [2] 2 ComplexMessage --- [ ] ... - - -PrimitiveMessage ::= SEQUENCE { } - -ComplexMessage ::= SEQUENCE { } - -basicMessage INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P deleted file mode 100644 index bdd439a..0000000 --- a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P +++ /dev/null @@ -1,344 +0,0 @@ - -/*** <<< INCLUDES [Frame] >>> ***/ - -#include -#include -#include -#include "PrimitiveMessage.h" -#include "ComplexMessage.h" -#include -#include -#include - -/*** <<< DEPS [Frame] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_PrimitiveMessage, - value_PR_ComplexMessage -} value_PR; - -/*** <<< TYPE-DECLS [Frame] >>> ***/ - -typedef struct Frame { - long ident; - struct value { - value_PR present; - union Frame__value_u { - PrimitiveMessage_t PrimitiveMessage; - ComplexMessage_t ComplexMessage; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Frame_t; - -/*** <<< FUNC-DECLS [Frame] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Frame; - -/*** <<< IOC-TABLES [Frame] >>> ***/ - -static const long asn_VAL_1_basicMessage = 1; -static const long asn_VAL_2_2 = 2; -static const asn_ioc_cell_t asn_IOS_FrameTypes_1_rows[] = { - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_basicMessage }, - { "&Type", aioc__type, &asn_DEF_PrimitiveMessage }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 }, - { "&Type", aioc__type, &asn_DEF_ComplexMessage } -}; -static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = { - { 2, 2, asn_IOS_FrameTypes_1_rows } -}; - -/*** <<< CODE [Frame] >>> ***/ - -static int -memb_ident_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_Frame_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [Frame] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_PrimitiveMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "PrimitiveMessage" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_ComplexMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ComplexMessage" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 2, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Frame_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Frame, ident), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_ident_constraint_1 }, - 0, 0, /* No default value */ - .name = "ident" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_3, - .type_selector = select_Frame_value_type, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_Frame_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Frame_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* ident */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Frame_specs_1 = { - sizeof(struct Frame), - offsetof(struct Frame, _asn_ctx), - .tag2el = asn_MAP_Frame_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Frame = { - "Frame", - "Frame", - &asn_OP_SEQUENCE, - asn_DEF_Frame_tags_1, - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - asn_DEF_Frame_tags_1, /* Same as above */ - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Frame_1, - 2, /* Elements count */ - &asn_SPC_Frame_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [PrimitiveMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PrimitiveMessage] >>> ***/ - -typedef struct PrimitiveMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrimitiveMessage_t; - -/*** <<< FUNC-DECLS [PrimitiveMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1; - -/*** <<< STAT-DEFS [PrimitiveMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PrimitiveMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1 = { - sizeof(struct PrimitiveMessage), - offsetof(struct PrimitiveMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage = { - "PrimitiveMessage", - "PrimitiveMessage", - &asn_OP_SEQUENCE, - asn_DEF_PrimitiveMessage_tags_1, - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - asn_DEF_PrimitiveMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_PrimitiveMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ComplexMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ComplexMessage] >>> ***/ - -typedef struct ComplexMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ComplexMessage_t; - -/*** <<< FUNC-DECLS [ComplexMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ComplexMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1; - -/*** <<< STAT-DEFS [ComplexMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ComplexMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1 = { - sizeof(struct ComplexMessage), - offsetof(struct ComplexMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ComplexMessage = { - "ComplexMessage", - "ComplexMessage", - &asn_OP_SEQUENCE, - asn_DEF_ComplexMessage_tags_1, - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - asn_DEF_ComplexMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_ComplexMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define basicMessage (1) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/14-resolver-OK.asn1 b/tests/tests-asn1c-compiler/14-resolver-OK.asn1 deleted file mode 100644 index 4b0df81..0000000 --- a/tests/tests-asn1c-compiler/14-resolver-OK.asn1 +++ /dev/null @@ -1,66 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .14 1 --- .14 2 --- .14 3 - -ModuleTestResolver2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 1 } - DEFINITIONS ::= -BEGIN - IMPORTS Enumeration, beta, gamma FROM - OtherModuleRenamed - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 2 }; - - -- external references - alpha Enumeration ::= beta - other Enumeration ::= gamma - - Struct ::= SEQUENCE { - member1 [1] ModuleTestResolver3.Enumeration OPTIONAL, - member2 [2] OtherModuleRenamed.Enumeration DEFAULT b - } - - -- - -- The following are for post-fix checking by the check_fixer. - -- It will be able to pick-up these values if the file is parseable, - -- even if it contains some semantic errors. - -- - - check-alpha INTEGER ::= 2 - check-other INTEGER ::= 1 - -END - -ModuleTestResolver3 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 2 } - DEFINITIONS ::= -BEGIN - EXPORTS Enumeration, beta, gamma; - IMPORTS gamma, HiddenEnum FROM HiddenModule; - - beta HiddenEnum ::= b - - Enumeration ::= ENUMERATED { a(1), b(2) } -- the same type -- - -END - -HiddenModule - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 3 } - DEFINITIONS ::= -BEGIN - EXPORTS HiddenEnum, gamma; - IMPORTS Enumeration FROM ModuleTestResolver3; - - HiddenEnum ::= ENUMERATED { a(1), b(2) } - - gamma Enumeration ::= a - -END diff --git a/tests/tests-asn1c-compiler/14-resolver-OK.asn1.-EF b/tests/tests-asn1c-compiler/14-resolver-OK.asn1.-EF deleted file mode 100644 index 8c3eb0f..0000000 --- a/tests/tests-asn1c-compiler/14-resolver-OK.asn1.-EF +++ /dev/null @@ -1,47 +0,0 @@ -ModuleTestResolver2 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 1 } -DEFINITIONS ::= -BEGIN - -alpha Enumeration ::= 2 - -other Enumeration ::= 1 - -Struct ::= SEQUENCE { - member1 [1] EXPLICIT ModuleTestResolver3.Enumeration OPTIONAL, - member2 [2] EXPLICIT OtherModuleRenamed.Enumeration DEFAULT 2 -} - -check-alpha INTEGER ::= 2 - -check-other INTEGER ::= 1 - -END - -ModuleTestResolver3 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 2 } -DEFINITIONS ::= -BEGIN - -beta HiddenEnum ::= 2 - -Enumeration ::= ENUMERATED { - a(1), - b(2) -} - -END - -HiddenModule { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 14 3 } -DEFINITIONS ::= -BEGIN - -HiddenEnum ::= ENUMERATED { - a(1), - b(2) -} - -gamma Enumeration ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1 b/tests/tests-asn1c-compiler/140-component-relation-OK.asn1 deleted file mode 100644 index 39ec8f1..0000000 --- a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1 +++ /dev/null @@ -1,35 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .140 - -ModuleComponentRelationConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 140 } - DEFINITIONS ::= -BEGIN - - Frame ::= SEQUENCE { - ident FRAME-STRUCTURE.&id({FrameTypes}), - value FRAME-STRUCTURE.&Type({FrameTypes}{@ident}), - ... - } - - FRAME-STRUCTURE ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - FrameTypes FRAME-STRUCTURE ::= { primType | complexType, ... } - - primType FRAME-STRUCTURE ::= { PrimitiveMessage IDENTIFIED BY basicMessage } - complexType FRAME-STRUCTURE ::= { ComplexMessage IDENTIFIED BY 2 } - - PrimitiveMessage ::= SEQUENCE {} - ComplexMessage ::= SEQUENCE {} - - basicMessage INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 778d76b..0000000 --- a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,49 +0,0 @@ -ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 140 } -DEFINITIONS ::= -BEGIN - -Frame ::= SEQUENCE { - ident FRAME-STRUCTURE.&id ({FrameTypes}), - value FRAME-STRUCTURE.&Type ({FrameTypes}{@ident}), - ... -} - -FRAME-STRUCTURE ::= CLASS { - &id INTEGER UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] basicMessage PrimitiveMessage --- [2] 2 ComplexMessage - - -FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY basicMessage } | { ComplexMessage IDENTIFIED BY 2 },...} --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] basicMessage PrimitiveMessage --- [2] 2 ComplexMessage --- [ ] ... - - -primType FRAME-STRUCTURE ::= { PrimitiveMessage IDENTIFIED BY basicMessage } --- Information Object Set has 1 entry: --- [ &id][ &Type] --- [1] basicMessage PrimitiveMessage - - -complexType FRAME-STRUCTURE ::= { ComplexMessage IDENTIFIED BY 2 } --- Information Object Set has 1 entry: --- [ &id][ &Type] --- [1] 2 ComplexMessage - - -PrimitiveMessage ::= SEQUENCE { } - -ComplexMessage ::= SEQUENCE { } - -basicMessage INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P deleted file mode 100644 index bdd439a..0000000 --- a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P +++ /dev/null @@ -1,344 +0,0 @@ - -/*** <<< INCLUDES [Frame] >>> ***/ - -#include -#include -#include -#include "PrimitiveMessage.h" -#include "ComplexMessage.h" -#include -#include -#include - -/*** <<< DEPS [Frame] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_PrimitiveMessage, - value_PR_ComplexMessage -} value_PR; - -/*** <<< TYPE-DECLS [Frame] >>> ***/ - -typedef struct Frame { - long ident; - struct value { - value_PR present; - union Frame__value_u { - PrimitiveMessage_t PrimitiveMessage; - ComplexMessage_t ComplexMessage; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Frame_t; - -/*** <<< FUNC-DECLS [Frame] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Frame; - -/*** <<< IOC-TABLES [Frame] >>> ***/ - -static const long asn_VAL_1_basicMessage = 1; -static const long asn_VAL_2_2 = 2; -static const asn_ioc_cell_t asn_IOS_FrameTypes_1_rows[] = { - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_basicMessage }, - { "&Type", aioc__type, &asn_DEF_PrimitiveMessage }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 }, - { "&Type", aioc__type, &asn_DEF_ComplexMessage } -}; -static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = { - { 2, 2, asn_IOS_FrameTypes_1_rows } -}; - -/*** <<< CODE [Frame] >>> ***/ - -static int -memb_ident_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_Frame_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [Frame] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_PrimitiveMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "PrimitiveMessage" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_ComplexMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ComplexMessage" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 2, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Frame_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Frame, ident), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_ident_constraint_1 }, - 0, 0, /* No default value */ - .name = "ident" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_3, - .type_selector = select_Frame_value_type, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_Frame_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Frame_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* ident */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Frame_specs_1 = { - sizeof(struct Frame), - offsetof(struct Frame, _asn_ctx), - .tag2el = asn_MAP_Frame_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Frame = { - "Frame", - "Frame", - &asn_OP_SEQUENCE, - asn_DEF_Frame_tags_1, - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - asn_DEF_Frame_tags_1, /* Same as above */ - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Frame_1, - 2, /* Elements count */ - &asn_SPC_Frame_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [PrimitiveMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PrimitiveMessage] >>> ***/ - -typedef struct PrimitiveMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrimitiveMessage_t; - -/*** <<< FUNC-DECLS [PrimitiveMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1; - -/*** <<< STAT-DEFS [PrimitiveMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PrimitiveMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1 = { - sizeof(struct PrimitiveMessage), - offsetof(struct PrimitiveMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage = { - "PrimitiveMessage", - "PrimitiveMessage", - &asn_OP_SEQUENCE, - asn_DEF_PrimitiveMessage_tags_1, - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - asn_DEF_PrimitiveMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_PrimitiveMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ComplexMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ComplexMessage] >>> ***/ - -typedef struct ComplexMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ComplexMessage_t; - -/*** <<< FUNC-DECLS [ComplexMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ComplexMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1; - -/*** <<< STAT-DEFS [ComplexMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ComplexMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1 = { - sizeof(struct ComplexMessage), - offsetof(struct ComplexMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ComplexMessage = { - "ComplexMessage", - "ComplexMessage", - &asn_OP_SEQUENCE, - asn_DEF_ComplexMessage_tags_1, - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - asn_DEF_ComplexMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_ComplexMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define basicMessage (1) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1 b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1 deleted file mode 100644 index e1f1d0d..0000000 --- a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1 +++ /dev/null @@ -1,38 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .141 - -ModuleComponentRelationConstraint - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 141 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Frame ::= SEQUENCE { - ident FRAME-STRUCTURE.&id({FrameTypes}), - value FRAME-STRUCTURE.&Type({FrameTypes}{@.ident}), - ... - } - - FRAME-STRUCTURE ::= CLASS { - &id ConstrainedInteger UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - ConstrainedInteger ::= INTEGER (0..32767) - - FrameTypes FRAME-STRUCTURE ::= { - { PrimitiveMessage IDENTIFIED BY primMessage } | - { ComplexMessage IDENTIFIED BY cplxMessage } - , ... } - - PrimitiveMessage ::= SEQUENCE {} - ComplexMessage ::= SEQUENCE {} - - primMessage INTEGER ::= 1 - cplxMessage INTEGER ::= 2 - -END diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 9820b30..0000000 --- a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,41 +0,0 @@ -ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 141 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -Frame ::= SEQUENCE { - ident [0] IMPLICIT FRAME-STRUCTURE.&id ({FrameTypes}), - value [1] EXPLICIT FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}), - ... -} - -FRAME-STRUCTURE ::= CLASS { - &id ConstrainedInteger UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] primMessage PrimitiveMessage --- [2] cplxMessage ComplexMessage - - -ConstrainedInteger ::= INTEGER (0..32767) - -FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY primMessage } | { ComplexMessage IDENTIFIED BY cplxMessage },...} --- Information Object Set has 2 entries: --- [ &id][ &Type] --- [1] primMessage PrimitiveMessage --- [2] cplxMessage ComplexMessage --- [ ] ... - - -PrimitiveMessage ::= SEQUENCE { } - -ComplexMessage ::= SEQUENCE { } - -primMessage INTEGER ::= 1 - -cplxMessage INTEGER ::= 2 - -END diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P deleted file mode 100644 index db52a1a..0000000 --- a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P +++ /dev/null @@ -1,424 +0,0 @@ - -/*** <<< INCLUDES [Frame] >>> ***/ - -#include "ConstrainedInteger.h" -#include -#include -#include "PrimitiveMessage.h" -#include "ComplexMessage.h" -#include -#include -#include - -/*** <<< DEPS [Frame] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_PrimitiveMessage, - value_PR_ComplexMessage -} value_PR; - -/*** <<< TYPE-DECLS [Frame] >>> ***/ - -typedef struct Frame { - ConstrainedInteger_t ident; - struct value { - value_PR present; - union Frame__value_u { - PrimitiveMessage_t PrimitiveMessage; - ComplexMessage_t ComplexMessage; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Frame_t; - -/*** <<< FUNC-DECLS [Frame] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Frame; - -/*** <<< IOC-TABLES [Frame] >>> ***/ - -static const long asn_VAL_1_primMessage = 1; -static const long asn_VAL_2_cplxMessage = 2; -static const asn_ioc_cell_t asn_IOS_FrameTypes_1_rows[] = { - { "&id", aioc__value, &asn_DEF_ConstrainedInteger, &asn_VAL_1_primMessage }, - { "&Type", aioc__type, &asn_DEF_PrimitiveMessage }, - { "&id", aioc__value, &asn_DEF_ConstrainedInteger, &asn_VAL_2_cplxMessage }, - { "&Type", aioc__type, &asn_DEF_ComplexMessage } -}; -static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = { - { 2, 2, asn_IOS_FrameTypes_1_rows } -}; - -/*** <<< CODE [Frame] >>> ***/ - -static int -memb_ident_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 32767)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_type_selector_result_t -select_Frame_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [Frame] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_PrimitiveMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "PrimitiveMessage" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_ComplexMessage, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ComplexMessage" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 2, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Frame_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Frame, ident), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ConstrainedInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_ident_constraint_1 }, - 0, 0, /* No default value */ - .name = "ident" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_value_3, - .type_selector = select_Frame_value_type, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_Frame_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Frame_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ident */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* value */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Frame_specs_1 = { - sizeof(struct Frame), - offsetof(struct Frame, _asn_ctx), - .tag2el = asn_MAP_Frame_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Frame = { - "Frame", - "Frame", - &asn_OP_SEQUENCE, - asn_DEF_Frame_tags_1, - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - asn_DEF_Frame_tags_1, /* Same as above */ - sizeof(asn_DEF_Frame_tags_1) - /sizeof(asn_DEF_Frame_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Frame_1, - 2, /* Elements count */ - &asn_SPC_Frame_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ConstrainedInteger] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ConstrainedInteger] >>> ***/ - -typedef long ConstrainedInteger_t; - -/*** <<< FUNC-DECLS [ConstrainedInteger] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ConstrainedInteger; -asn_struct_free_f ConstrainedInteger_free; -asn_struct_print_f ConstrainedInteger_print; -asn_constr_check_f ConstrainedInteger_constraint; -ber_type_decoder_f ConstrainedInteger_decode_ber; -der_type_encoder_f ConstrainedInteger_encode_der; -xer_type_decoder_f ConstrainedInteger_decode_xer; -xer_type_encoder_f ConstrainedInteger_encode_xer; - -/*** <<< CODE [ConstrainedInteger] >>> ***/ - -int -ConstrainedInteger_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 32767)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [ConstrainedInteger] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ConstrainedInteger_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ConstrainedInteger = { - "ConstrainedInteger", - "ConstrainedInteger", - &asn_OP_NativeInteger, - asn_DEF_ConstrainedInteger_tags_1, - sizeof(asn_DEF_ConstrainedInteger_tags_1) - /sizeof(asn_DEF_ConstrainedInteger_tags_1[0]), /* 1 */ - asn_DEF_ConstrainedInteger_tags_1, /* Same as above */ - sizeof(asn_DEF_ConstrainedInteger_tags_1) - /sizeof(asn_DEF_ConstrainedInteger_tags_1[0]), /* 1 */ - { 0, 0, ConstrainedInteger_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [PrimitiveMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PrimitiveMessage] >>> ***/ - -typedef struct PrimitiveMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrimitiveMessage_t; - -/*** <<< FUNC-DECLS [PrimitiveMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1; - -/*** <<< STAT-DEFS [PrimitiveMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PrimitiveMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_PrimitiveMessage_specs_1 = { - sizeof(struct PrimitiveMessage), - offsetof(struct PrimitiveMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_PrimitiveMessage = { - "PrimitiveMessage", - "PrimitiveMessage", - &asn_OP_SEQUENCE, - asn_DEF_PrimitiveMessage_tags_1, - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - asn_DEF_PrimitiveMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_PrimitiveMessage_tags_1) - /sizeof(asn_DEF_PrimitiveMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_PrimitiveMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ComplexMessage] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ComplexMessage] >>> ***/ - -typedef struct ComplexMessage { - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ComplexMessage_t; - -/*** <<< FUNC-DECLS [ComplexMessage] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ComplexMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1; - -/*** <<< STAT-DEFS [ComplexMessage] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ComplexMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_ComplexMessage_specs_1 = { - sizeof(struct ComplexMessage), - offsetof(struct ComplexMessage, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ComplexMessage = { - "ComplexMessage", - "ComplexMessage", - &asn_OP_SEQUENCE, - asn_DEF_ComplexMessage_tags_1, - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - asn_DEF_ComplexMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_ComplexMessage_tags_1) - /sizeof(asn_DEF_ComplexMessage_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_ComplexMessage_specs_1 /* Additional specs */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define primMessage (1) -#define cplxMessage (2) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1 b/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1 deleted file mode 100644 index 5b89bd9..0000000 --- a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1 +++ /dev/null @@ -1,31 +0,0 @@ --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .142 - -ModuleTestAnonTypeDecoration - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 142 } -DEFINITIONS AUTOMATIC TAGS ::= BEGIN - - CommonType ::= CHOICE { - t1 Type1, - t2 Type2 - } - - Type1 ::= CHOICE { - anonType SEQUENCE { - x OCTET STRING (SIZE (32)), - y OCTET STRING (SIZE (32)) - } - } - - Type2 ::= CHOICE { - anonType SEQUENCE { - x OCTET STRING (SIZE (48)), - y OCTET STRING (SIZE (48)) - } - } - -END diff --git a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names deleted file mode 100644 index 1d2ee81..0000000 --- a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names +++ /dev/null @@ -1,454 +0,0 @@ - -/*** <<< INCLUDES [CommonType] >>> ***/ - -#include "Type1.h" -#include "Type2.h" -#include - -/*** <<< DEPS [CommonType] >>> ***/ - -typedef enum CommonType_PR { - CommonType_PR_NOTHING, /* No components present */ - CommonType_PR_t1, - CommonType_PR_t2 -} CommonType_PR; - -/*** <<< TYPE-DECLS [CommonType] >>> ***/ - -typedef struct CommonType { - CommonType_PR present; - union CommonType_u { - Type1_t t1; - Type2_t t2; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CommonType_t; - -/*** <<< FUNC-DECLS [CommonType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CommonType; - -/*** <<< STAT-DEFS [CommonType] >>> ***/ - -static asn_TYPE_member_t asn_MBR_CommonType_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct CommonType, choice.t1), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Type1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t1" - }, - { ATF_NOFLAGS, 0, offsetof(struct CommonType, choice.t2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Type2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t2" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_CommonType_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* t1 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* t2 */ -}; -static asn_CHOICE_specifics_t asn_SPC_CommonType_specs_1 = { - sizeof(struct CommonType), - offsetof(struct CommonType, _asn_ctx), - offsetof(struct CommonType, present), - sizeof(((struct CommonType *)0)->present), - .tag2el = asn_MAP_CommonType_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_CommonType = { - "CommonType", - "CommonType", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_CommonType_1, - 2, /* Elements count */ - &asn_SPC_CommonType_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Type1] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Type1] >>> ***/ - -typedef enum Type1_PR { - Type1_PR_NOTHING, /* No components present */ - Type1_PR_anonType -} Type1_PR; - -/*** <<< TYPE-DECLS [Type1] >>> ***/ - -typedef struct Type1 { - Type1_PR present; - union Type1_u { - struct Type1__anonType { - OCTET_STRING_t x; - OCTET_STRING_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } anonType; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type1_t; - -/*** <<< FUNC-DECLS [Type1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type1; -extern asn_CHOICE_specifics_t asn_SPC_Type1_specs_1; -extern asn_TYPE_member_t asn_MBR_Type1_1[1]; - -/*** <<< CODE [Type1] >>> ***/ - -static int -memb_x_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 32)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_y_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 32)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Type1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_anonType_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type1__anonType, x), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_x_constraint_2 }, - 0, 0, /* No default value */ - .name = "x" - }, - { ATF_NOFLAGS, 0, offsetof(struct Type1__anonType, y), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_y_constraint_2 }, - 0, 0, /* No default value */ - .name = "y" - }, -}; -static const ber_tlv_tag_t asn_DEF_anonType_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_anonType_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_anonType_specs_2 = { - sizeof(struct Type1__anonType), - offsetof(struct Type1__anonType, _asn_ctx), - .tag2el = asn_MAP_anonType_tag2el_2, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_anonType_2 = { - "anonType", - "anonType", - &asn_OP_SEQUENCE, - asn_DEF_anonType_tags_2, - sizeof(asn_DEF_anonType_tags_2) - /sizeof(asn_DEF_anonType_tags_2[0]) - 1, /* 1 */ - asn_DEF_anonType_tags_2, /* Same as above */ - sizeof(asn_DEF_anonType_tags_2) - /sizeof(asn_DEF_anonType_tags_2[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_anonType_2, - 2, /* Elements count */ - &asn_SPC_anonType_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Type1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type1, choice.anonType), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_anonType_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "anonType" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* anonType */ -}; -asn_CHOICE_specifics_t asn_SPC_Type1_specs_1 = { - sizeof(struct Type1), - offsetof(struct Type1, _asn_ctx), - offsetof(struct Type1, present), - sizeof(((struct Type1 *)0)->present), - .tag2el = asn_MAP_Type1_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Type1 = { - "Type1", - "Type1", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Type1_1, - 1, /* Elements count */ - &asn_SPC_Type1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Type2] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Type2] >>> ***/ - -typedef enum Type2_PR { - Type2_PR_NOTHING, /* No components present */ - Type2_PR_anonType -} Type2_PR; - -/*** <<< TYPE-DECLS [Type2] >>> ***/ - -typedef struct Type2 { - Type2_PR present; - union Type2_u { - struct Type2__anonType { - OCTET_STRING_t x; - OCTET_STRING_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } anonType; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type2_t; - -/*** <<< FUNC-DECLS [Type2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type2; -extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1; -extern asn_TYPE_member_t asn_MBR_Type2_1[1]; - -/*** <<< CODE [Type2] >>> ***/ - -static int -memb_x_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 48)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_y_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 48)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Type2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_anonType_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type2__anonType, x), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_x_constraint_2 }, - 0, 0, /* No default value */ - .name = "x" - }, - { ATF_NOFLAGS, 0, offsetof(struct Type2__anonType, y), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_y_constraint_2 }, - 0, 0, /* No default value */ - .name = "y" - }, -}; -static const ber_tlv_tag_t asn_DEF_anonType_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_anonType_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_anonType_specs_2 = { - sizeof(struct Type2__anonType), - offsetof(struct Type2__anonType, _asn_ctx), - .tag2el = asn_MAP_anonType_tag2el_2, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_anonType_2 = { - "anonType", - "anonType", - &asn_OP_SEQUENCE, - asn_DEF_anonType_tags_2, - sizeof(asn_DEF_anonType_tags_2) - /sizeof(asn_DEF_anonType_tags_2[0]) - 1, /* 1 */ - asn_DEF_anonType_tags_2, /* Same as above */ - sizeof(asn_DEF_anonType_tags_2) - /sizeof(asn_DEF_anonType_tags_2[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_anonType_2, - 2, /* Elements count */ - &asn_SPC_anonType_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Type2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.anonType), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_anonType_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "anonType" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* anonType */ -}; -asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = { - sizeof(struct Type2), - offsetof(struct Type2, _asn_ctx), - offsetof(struct Type2, present), - sizeof(((struct Type2 *)0)->present), - .tag2el = asn_MAP_Type2_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Type2 = { - "Type2", - "Type2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Type2_1, - 1, /* Elements count */ - &asn_SPC_Type2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1 b/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1 deleted file mode 100644 index 9335401..0000000 --- a/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .143 - -ModuleInnerParameterization - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 143 } - DEFINITIONS ::= -BEGIN - - Message ::= SEQUENCE { - content13 SpecializedContent {13}, - content42 SpecializedContent {42} - } - - SpecializedContent {INTEGER:constraint} ::= SEQUENCE { - id INTEGER (constraint) - } - -END diff --git a/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1.-P b/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1.-P deleted file mode 100644 index 0a50ab8..0000000 --- a/tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1.-P +++ /dev/null @@ -1,240 +0,0 @@ - -/*** <<< INCLUDES [Message] >>> ***/ - -#include "SpecializedContent.h" -#include - -/*** <<< TYPE-DECLS [Message] >>> ***/ - -typedef struct Message { - SpecializedContent_21P0_t content13; - SpecializedContent_21P1_t content42; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Message_t; - -/*** <<< FUNC-DECLS [Message] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Message; - -/*** <<< STAT-DEFS [Message] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Message_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Message, content13), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_SpecializedContent_21P0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "content13" - }, - { ATF_NOFLAGS, 0, offsetof(struct Message, content42), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_SpecializedContent_21P1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "content42" - }, -}; -static const ber_tlv_tag_t asn_DEF_Message_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Message_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* content13 */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* content42 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Message_specs_1 = { - sizeof(struct Message), - offsetof(struct Message, _asn_ctx), - .tag2el = asn_MAP_Message_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Message = { - "Message", - "Message", - &asn_OP_SEQUENCE, - asn_DEF_Message_tags_1, - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - asn_DEF_Message_tags_1, /* Same as above */ - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Message_1, - 2, /* Elements count */ - &asn_SPC_Message_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SpecializedContent] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [SpecializedContent] >>> ***/ - -typedef struct SpecializedContent_21P0 { - long id; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpecializedContent_21P0_t; -typedef struct SpecializedContent_21P1 { - long id; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpecializedContent_21P1_t; - -/*** <<< FUNC-DECLS [SpecializedContent] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SpecializedContent_21P0; -extern asn_SEQUENCE_specifics_t asn_SPC_SpecializedContent_21P0_specs_1; -extern asn_TYPE_member_t asn_MBR_SpecializedContent_21P0_1[1]; -extern asn_TYPE_descriptor_t asn_DEF_SpecializedContent_21P1; -extern asn_SEQUENCE_specifics_t asn_SPC_SpecializedContent_21P1_specs_3; -extern asn_TYPE_member_t asn_MBR_SpecializedContent_21P1_3[1]; - -/*** <<< CODE [SpecializedContent] >>> ***/ - -static int -memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 13)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_id_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 42)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [SpecializedContent] >>> ***/ - -asn_TYPE_member_t asn_MBR_SpecializedContent_21P0_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SpecializedContent_21P0, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_id_constraint_1 }, - 0, 0, /* No default value */ - .name = "id" - }, -}; -static const ber_tlv_tag_t asn_DEF_SpecializedContent_21P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SpecializedContent_21P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* id */ -}; -asn_SEQUENCE_specifics_t asn_SPC_SpecializedContent_21P0_specs_1 = { - sizeof(struct SpecializedContent_21P0), - offsetof(struct SpecializedContent_21P0, _asn_ctx), - .tag2el = asn_MAP_SpecializedContent_21P0_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SpecializedContent_21P0 = { - "SpecializedContent", - "SpecializedContent", - &asn_OP_SEQUENCE, - asn_DEF_SpecializedContent_21P0_tags_1, - sizeof(asn_DEF_SpecializedContent_21P0_tags_1) - /sizeof(asn_DEF_SpecializedContent_21P0_tags_1[0]), /* 1 */ - asn_DEF_SpecializedContent_21P0_tags_1, /* Same as above */ - sizeof(asn_DEF_SpecializedContent_21P0_tags_1) - /sizeof(asn_DEF_SpecializedContent_21P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SpecializedContent_21P0_1, - 1, /* Elements count */ - &asn_SPC_SpecializedContent_21P0_specs_1 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_SpecializedContent_21P1_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct SpecializedContent_21P1, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_id_constraint_3 }, - 0, 0, /* No default value */ - .name = "id" - }, -}; -static const ber_tlv_tag_t asn_DEF_SpecializedContent_21P1_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SpecializedContent_21P1_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* id */ -}; -asn_SEQUENCE_specifics_t asn_SPC_SpecializedContent_21P1_specs_3 = { - sizeof(struct SpecializedContent_21P1), - offsetof(struct SpecializedContent_21P1, _asn_ctx), - .tag2el = asn_MAP_SpecializedContent_21P1_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SpecializedContent_21P1 = { - "SpecializedContent", - "SpecializedContent", - &asn_OP_SEQUENCE, - asn_DEF_SpecializedContent_21P1_tags_3, - sizeof(asn_DEF_SpecializedContent_21P1_tags_3) - /sizeof(asn_DEF_SpecializedContent_21P1_tags_3[0]), /* 1 */ - asn_DEF_SpecializedContent_21P1_tags_3, /* Same as above */ - sizeof(asn_DEF_SpecializedContent_21P1_tags_3) - /sizeof(asn_DEF_SpecializedContent_21P1_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SpecializedContent_21P1_3, - 1, /* Elements count */ - &asn_SPC_SpecializedContent_21P1_specs_3 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1 b/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1 deleted file mode 100644 index 1797473..0000000 --- a/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .144 - -ModuleInformationObjectParameterization - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 144 } - DEFINITIONS ::= -BEGIN - - MYID ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - RegionalExtension MYID ::= { - {INTEGER IDENTIFIED BY 1} | - {BOOLEAN IDENTIFIED BY 2}, - ... - } - - Message ::= SEQUENCE { - content SpecializedContent {{RegionalExtension}} - } - - SpecializedContent {MYID : Set} ::= SEQUENCE { - id MYID.&id({Set}), - value MYID.&Type({Set}{@id}) - } - -END diff --git a/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1.-P b/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1.-P deleted file mode 100644 index 539d9d8..0000000 --- a/tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1.-P +++ /dev/null @@ -1,289 +0,0 @@ - -/*** <<< INCLUDES [Message] >>> ***/ - -#include "SpecializedContent.h" -#include - -/*** <<< TYPE-DECLS [Message] >>> ***/ - -typedef struct Message { - RegionalExtension_t content; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Message_t; - -/*** <<< FUNC-DECLS [Message] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Message; - -/*** <<< STAT-DEFS [Message] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Message_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Message, content), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RegionalExtension, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "content" - }, -}; -static const ber_tlv_tag_t asn_DEF_Message_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Message_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* content */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Message_specs_1 = { - sizeof(struct Message), - offsetof(struct Message, _asn_ctx), - .tag2el = asn_MAP_Message_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Message = { - "Message", - "Message", - &asn_OP_SEQUENCE, - asn_DEF_Message_tags_1, - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - asn_DEF_Message_tags_1, /* Same as above */ - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Message_1, - 1, /* Elements count */ - &asn_SPC_Message_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SpecializedContent] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [SpecializedContent] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_INTEGER, - value_PR_BOOLEAN -} value_PR; - -/*** <<< TYPE-DECLS [SpecializedContent] >>> ***/ - -typedef struct RegionalExtension { - long id; - struct value { - value_PR present; - union RegionalExtension__value_u { - long INTEGER; - BOOLEAN_t BOOLEAN; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionalExtension_t; - -/*** <<< FUNC-DECLS [SpecializedContent] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_RegionalExtension; -extern asn_SEQUENCE_specifics_t asn_SPC_RegionalExtension_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionalExtension_1[2]; - -/*** <<< IOC-TABLES [SpecializedContent] >>> ***/ - -static const long asn_VAL_1_1 = 1; -static const long asn_VAL_2_2 = 2; -static const asn_ioc_cell_t asn_IOS_RegionalExtension_1_rows[] = { - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 }, - { "&Type", aioc__type, &asn_DEF_NativeInteger }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 }, - { "&Type", aioc__type, &asn_DEF_BOOLEAN } -}; -static const asn_ioc_set_t asn_IOS_RegionalExtension_1[] = { - { 2, 2, asn_IOS_RegionalExtension_1_rows } -}; - -/*** <<< CODE [SpecializedContent] >>> ***/ - -static int -memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_RegionalExtension_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_RegionalExtension_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RegionalExtension, id)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [SpecializedContent] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.INTEGER), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "INTEGER" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.BOOLEAN), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "BOOLEAN" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 1, 0, 0 }, /* BOOLEAN */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* INTEGER */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 2, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_RegionalExtension_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct RegionalExtension, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_id_constraint_1 }, - 0, 0, /* No default value */ - .name = "id" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RegionalExtension, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_3, - .type_selector = select_RegionalExtension_value_type, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_RegionalExtension_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_RegionalExtension_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* id */ -}; -asn_SEQUENCE_specifics_t asn_SPC_RegionalExtension_specs_1 = { - sizeof(struct RegionalExtension), - offsetof(struct RegionalExtension, _asn_ctx), - .tag2el = asn_MAP_RegionalExtension_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_RegionalExtension = { - "RegionalExtension", - "RegionalExtension", - &asn_OP_SEQUENCE, - asn_DEF_RegionalExtension_tags_1, - sizeof(asn_DEF_RegionalExtension_tags_1) - /sizeof(asn_DEF_RegionalExtension_tags_1[0]), /* 1 */ - asn_DEF_RegionalExtension_tags_1, /* Same as above */ - sizeof(asn_DEF_RegionalExtension_tags_1) - /sizeof(asn_DEF_RegionalExtension_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_RegionalExtension_1, - 2, /* Elements count */ - &asn_SPC_RegionalExtension_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/145-empty-information-object-set-OK.asn1 b/tests/tests-asn1c-compiler/145-empty-information-object-set-OK.asn1 deleted file mode 100644 index cd68676..0000000 --- a/tests/tests-asn1c-compiler/145-empty-information-object-set-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .145 - -ModuleEmptyInformationObjectSet - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 145 } - DEFINITIONS ::= -BEGIN - - Frame ::= SEQUENCE { - ident TYPE-IDENTIFIER.&id({FrameTypes}), - value TYPE-IDENTIFIER.&Type({FrameTypes}{@ident}) - } - - FrameTypes TYPE-IDENTIFIER ::= { ... } - -END diff --git a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1 b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1 deleted file mode 100644 index 1ae50f0..0000000 --- a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .146 - -ModuleInformationObjectParameterizationPER - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 146 } - DEFINITIONS ::= -BEGIN - - MYID ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - RegionalExtension MYID ::= { - {INTEGER IDENTIFIED BY 1} | - {BOOLEAN IDENTIFIED BY 2}, - ... - } - - Message ::= SEQUENCE { - content SpecializedContent {{RegionalExtension}} - } - - SpecializedContent {MYID : Set} ::= SEQUENCE { - id MYID.&id({Set}), - value MYID.&Type({Set}{@id}) - } - -END diff --git a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER deleted file mode 100644 index ef85ab2..0000000 --- a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,305 +0,0 @@ - -/*** <<< INCLUDES [Message] >>> ***/ - -#include "SpecializedContent.h" -#include - -/*** <<< TYPE-DECLS [Message] >>> ***/ - -typedef struct Message { - RegionalExtension_t content; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Message_t; - -/*** <<< FUNC-DECLS [Message] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Message; - -/*** <<< STAT-DEFS [Message] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Message_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Message, content), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RegionalExtension, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "content" - }, -}; -static const ber_tlv_tag_t asn_DEF_Message_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Message_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* content */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Message_specs_1 = { - sizeof(struct Message), - offsetof(struct Message, _asn_ctx), - .tag2el = asn_MAP_Message_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Message = { - "Message", - "Message", - &asn_OP_SEQUENCE, - asn_DEF_Message_tags_1, - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - asn_DEF_Message_tags_1, /* Same as above */ - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Message_1, - 1, /* Elements count */ - &asn_SPC_Message_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SpecializedContent] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [SpecializedContent] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_INTEGER, - value_PR_BOOLEAN -} value_PR; - -/*** <<< TYPE-DECLS [SpecializedContent] >>> ***/ - -typedef struct RegionalExtension { - long id; - struct value { - value_PR present; - union RegionalExtension__value_u { - long INTEGER; - BOOLEAN_t BOOLEAN; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionalExtension_t; - -/*** <<< FUNC-DECLS [SpecializedContent] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_RegionalExtension; -extern asn_SEQUENCE_specifics_t asn_SPC_RegionalExtension_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionalExtension_1[2]; - -/*** <<< IOC-TABLES [SpecializedContent] >>> ***/ - -static const long asn_VAL_1_1 = 1; -static const long asn_VAL_2_2 = 2; -static const asn_ioc_cell_t asn_IOS_RegionalExtension_1_rows[] = { - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 }, - { "&Type", aioc__type, &asn_DEF_NativeInteger }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 }, - { "&Type", aioc__type, &asn_DEF_BOOLEAN } -}; -static const asn_ioc_set_t asn_IOS_RegionalExtension_1[] = { - { 2, 2, asn_IOS_RegionalExtension_1_rows } -}; - -/*** <<< CODE [SpecializedContent] >>> ***/ - -static int -memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_RegionalExtension_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_RegionalExtension_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RegionalExtension, id)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< CTDEFS [SpecializedContent] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_value_constr_3 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [SpecializedContent] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.INTEGER), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "INTEGER" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.BOOLEAN), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "BOOLEAN" - }, -}; -static const unsigned asn_MAP_value_to_canonical_3[] = { 1, 0 }; -static const unsigned asn_MAP_value_from_canonical_3[] = { 1, 0 }; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 1, 0, 0 }, /* BOOLEAN */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* INTEGER */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_value_to_canonical_3, - .from_canonical_order = asn_MAP_value_from_canonical_3, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 2, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_RegionalExtension_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct RegionalExtension, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_id_constr_2, .general_constraints = memb_id_constraint_1 }, - 0, 0, /* No default value */ - .name = "id" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RegionalExtension, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_3, - .type_selector = select_RegionalExtension_value_type, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_value_constr_3, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_RegionalExtension_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_RegionalExtension_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* id */ -}; -asn_SEQUENCE_specifics_t asn_SPC_RegionalExtension_specs_1 = { - sizeof(struct RegionalExtension), - offsetof(struct RegionalExtension, _asn_ctx), - .tag2el = asn_MAP_RegionalExtension_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_RegionalExtension = { - "RegionalExtension", - "RegionalExtension", - &asn_OP_SEQUENCE, - asn_DEF_RegionalExtension_tags_1, - sizeof(asn_DEF_RegionalExtension_tags_1) - /sizeof(asn_DEF_RegionalExtension_tags_1[0]), /* 1 */ - asn_DEF_RegionalExtension_tags_1, /* Same as above */ - sizeof(asn_DEF_RegionalExtension_tags_1) - /sizeof(asn_DEF_RegionalExtension_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_RegionalExtension_1, - 2, /* Elements count */ - &asn_SPC_RegionalExtension_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 deleted file mode 100644 index d92fbdb..0000000 --- a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .147 - -ModuleInheritPERConstraints - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 147 } - DEFINITIONS ::= -BEGIN - - Short ::= INTEGER (0..65535) - Alias ::= Short - - Soo ::= SEQUENCE { - foo INTEGER (0..65535), - bar Short, - baz Alias - } - -END diff --git a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER deleted file mode 100644 index ec984ce..0000000 --- a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER +++ /dev/null @@ -1,280 +0,0 @@ - -/*** <<< INCLUDES [Short] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Short] >>> ***/ - -typedef long Short_t; - -/*** <<< FUNC-DECLS [Short] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Short; -asn_struct_free_f Short_free; -asn_struct_print_f Short_print; -asn_constr_check_f Short_constraint; -ber_type_decoder_f Short_decode_ber; -der_type_encoder_f Short_encode_der; -xer_type_decoder_f Short_decode_xer; -xer_type_encoder_f Short_encode_xer; -oer_type_decoder_f Short_decode_oer; -oer_type_encoder_f Short_encode_oer; - -/*** <<< CODE [Short] >>> ***/ - -int -Short_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Short] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_Short_constr_1 CC_NOTUSED = { - { 2, 1 } /* (0..65535) */, - -1}; - -/*** <<< STAT-DEFS [Short] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Short_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Short = { - "Short", - "Short", - &asn_OP_NativeInteger, - asn_DEF_Short_tags_1, - sizeof(asn_DEF_Short_tags_1) - /sizeof(asn_DEF_Short_tags_1[0]), /* 1 */ - asn_DEF_Short_tags_1, /* Same as above */ - sizeof(asn_DEF_Short_tags_1) - /sizeof(asn_DEF_Short_tags_1[0]), /* 1 */ - { &asn_OER_type_Short_constr_1, 0, Short_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Alias] >>> ***/ - -#include "Short.h" - -/*** <<< TYPE-DECLS [Alias] >>> ***/ - -typedef Short_t Alias_t; - -/*** <<< FUNC-DECLS [Alias] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Alias; -asn_struct_free_f Alias_free; -asn_struct_print_f Alias_print; -asn_constr_check_f Alias_constraint; -ber_type_decoder_f Alias_decode_ber; -der_type_encoder_f Alias_encode_der; -xer_type_decoder_f Alias_decode_xer; -xer_type_encoder_f Alias_encode_xer; -oer_type_decoder_f Alias_decode_oer; -oer_type_encoder_f Alias_encode_oer; - -/*** <<< CODE [Alias] >>> ***/ - -int -Alias_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Short, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Alias] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_Alias_constr_1 CC_NOTUSED = { - { 2, 1 } /* (0..65535) */, - -1}; - -/*** <<< STAT-DEFS [Alias] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Alias_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Alias = { - "Alias", - "Alias", - &asn_OP_NativeInteger, - asn_DEF_Alias_tags_1, - sizeof(asn_DEF_Alias_tags_1) - /sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */ - asn_DEF_Alias_tags_1, /* Same as above */ - sizeof(asn_DEF_Alias_tags_1) - /sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */ - { &asn_OER_type_Alias_constr_1, 0, Alias_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Soo] >>> ***/ - -#include -#include "Short.h" -#include "Alias.h" -#include - -/*** <<< TYPE-DECLS [Soo] >>> ***/ - -typedef struct Soo { - long foo; - Short_t bar; - Alias_t baz; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Soo_t; - -/*** <<< FUNC-DECLS [Soo] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Soo; - -/*** <<< CODE [Soo] >>> ***/ - -static int -memb_foo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [Soo] >>> ***/ - -static asn_oer_constraints_t asn_OER_memb_foo_constr_2 CC_NOTUSED = { - { 2, 1 } /* (0..65535) */, - -1}; - -/*** <<< STAT-DEFS [Soo] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Soo_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Soo, foo), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = &asn_OER_memb_foo_constr_2, .per_constraints = 0, .general_constraints = memb_foo_constraint_1 }, - 0, 0, /* No default value */ - .name = "foo" - }, - { ATF_NOFLAGS, 0, offsetof(struct Soo, bar), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Short, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bar" - }, - { ATF_NOFLAGS, 0, offsetof(struct Soo, baz), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Alias, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "baz" - }, -}; -static const ber_tlv_tag_t asn_DEF_Soo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Soo_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* foo */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* bar */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -2, 0 } /* baz */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Soo_specs_1 = { - sizeof(struct Soo), - offsetof(struct Soo, _asn_ctx), - .tag2el = asn_MAP_Soo_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Soo = { - "Soo", - "Soo", - &asn_OP_SEQUENCE, - asn_DEF_Soo_tags_1, - sizeof(asn_DEF_Soo_tags_1) - /sizeof(asn_DEF_Soo_tags_1[0]), /* 1 */ - asn_DEF_Soo_tags_1, /* Same as above */ - sizeof(asn_DEF_Soo_tags_1) - /sizeof(asn_DEF_Soo_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Soo_1, - 3, /* Elements count */ - &asn_SPC_Soo_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER deleted file mode 100644 index fdd0767..0000000 --- a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,292 +0,0 @@ - -/*** <<< INCLUDES [Short] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Short] >>> ***/ - -typedef long Short_t; - -/*** <<< FUNC-DECLS [Short] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Short_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Short; -asn_struct_free_f Short_free; -asn_struct_print_f Short_print; -asn_constr_check_f Short_constraint; -ber_type_decoder_f Short_decode_ber; -der_type_encoder_f Short_encode_der; -xer_type_decoder_f Short_decode_xer; -xer_type_encoder_f Short_encode_xer; -per_type_decoder_f Short_decode_uper; -per_type_encoder_f Short_encode_uper; -per_type_decoder_f Short_decode_aper; -per_type_encoder_f Short_encode_aper; - -/*** <<< CODE [Short] >>> ***/ - -int -Short_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Short] >>> ***/ - -asn_per_constraints_t asn_PER_type_Short_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Short] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Short_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Short = { - "Short", - "Short", - &asn_OP_NativeInteger, - asn_DEF_Short_tags_1, - sizeof(asn_DEF_Short_tags_1) - /sizeof(asn_DEF_Short_tags_1[0]), /* 1 */ - asn_DEF_Short_tags_1, /* Same as above */ - sizeof(asn_DEF_Short_tags_1) - /sizeof(asn_DEF_Short_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Short_constr_1, Short_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Alias] >>> ***/ - -#include "Short.h" - -/*** <<< TYPE-DECLS [Alias] >>> ***/ - -typedef Short_t Alias_t; - -/*** <<< FUNC-DECLS [Alias] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Alias_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Alias; -asn_struct_free_f Alias_free; -asn_struct_print_f Alias_print; -asn_constr_check_f Alias_constraint; -ber_type_decoder_f Alias_decode_ber; -der_type_encoder_f Alias_encode_der; -xer_type_decoder_f Alias_decode_xer; -xer_type_encoder_f Alias_encode_xer; -per_type_decoder_f Alias_decode_uper; -per_type_encoder_f Alias_encode_uper; -per_type_decoder_f Alias_decode_aper; -per_type_encoder_f Alias_encode_aper; - -/*** <<< CODE [Alias] >>> ***/ - -int -Alias_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Short, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Alias] >>> ***/ - -asn_per_constraints_t asn_PER_type_Alias_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Alias] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Alias_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Alias = { - "Alias", - "Alias", - &asn_OP_NativeInteger, - asn_DEF_Alias_tags_1, - sizeof(asn_DEF_Alias_tags_1) - /sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */ - asn_DEF_Alias_tags_1, /* Same as above */ - sizeof(asn_DEF_Alias_tags_1) - /sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Alias_constr_1, Alias_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Soo] >>> ***/ - -#include -#include "Short.h" -#include "Alias.h" -#include - -/*** <<< TYPE-DECLS [Soo] >>> ***/ - -typedef struct Soo { - long foo; - Short_t bar; - Alias_t baz; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Soo_t; - -/*** <<< FUNC-DECLS [Soo] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Soo; - -/*** <<< CODE [Soo] >>> ***/ - -static int -memb_foo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [Soo] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_foo_constr_2 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Soo] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Soo_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Soo, foo), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_foo_constr_2, .general_constraints = memb_foo_constraint_1 }, - 0, 0, /* No default value */ - .name = "foo" - }, - { ATF_NOFLAGS, 0, offsetof(struct Soo, bar), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Short, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bar" - }, - { ATF_NOFLAGS, 0, offsetof(struct Soo, baz), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Alias, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "baz" - }, -}; -static const ber_tlv_tag_t asn_DEF_Soo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Soo_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* foo */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 1 }, /* bar */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -2, 0 } /* baz */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Soo_specs_1 = { - sizeof(struct Soo), - offsetof(struct Soo, _asn_ctx), - .tag2el = asn_MAP_Soo_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Soo = { - "Soo", - "Soo", - &asn_OP_SEQUENCE, - asn_DEF_Soo_tags_1, - sizeof(asn_DEF_Soo_tags_1) - /sizeof(asn_DEF_Soo_tags_1[0]), /* 1 */ - asn_DEF_Soo_tags_1, /* Same as above */ - sizeof(asn_DEF_Soo_tags_1) - /sizeof(asn_DEF_Soo_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Soo_1, - 3, /* Elements count */ - &asn_SPC_Soo_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/148-der-default-set-sequence-values-OK.asn1 b/tests/tests-asn1c-compiler/148-der-default-set-sequence-values-OK.asn1 deleted file mode 100644 index f4576c6..0000000 --- a/tests/tests-asn1c-compiler/148-der-default-set-sequence-values-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .148 - -ModuleTestDerSetSequenceValues - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 148 } -DEFINITIONS AUTOMATIC TAGS ::= BEGIN - - DefaultSequence ::= SEQUENCE { - aBool BOOLEAN DEFAULT FALSE, - anInteger INTEGER OPTIONAL - } - - DefaultSet ::= SET { - aBool [0] IMPLICIT BOOLEAN DEFAULT FALSE, - anInteger [1] IMPLICIT INTEGER OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/149-with-components-SE.asn1 b/tests/tests-asn1c-compiler/149-with-components-SE.asn1 deleted file mode 100644 index 15ec290..0000000 --- a/tests/tests-asn1c-compiler/149-with-components-SE.asn1 +++ /dev/null @@ -1,42 +0,0 @@ --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .149 - -ModuleComplexWithComponents - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 149 } -DEFINITIONS ::= BEGIN - -Certificate ::= ExplicitCertificate (WITH COMPONENTS { ..., - issuer (WITH COMPONENTS {sha256AndDigest}), - toBeSigned (WITH COMPONENTS { ..., - id (WITH COMPONENTS { - name ("foo" | "bar") -- Some comment - }), - crlSeries(ScmsSpclComponentCrlSeries), - validityPeriod (WITH COMPONENTS { ..., - duration (CrlgCertExpiration) - }), - region (WITH COMPONENTS { - identifiedRegion (SequenceOfIdentifiedRegion (SIZE(3)) (CONSTRAINED BY { - IdentifiedRegion ( WITH COMPONENTS { countryOnly(Canada) }), - IdentifiedRegion ( WITH COMPONENTS { countryOnly(Mexico) }), - IdentifiedRegion ( WITH COMPONENTS { countryOnly(USA) }) - })) - }), - canRequestRollover (NULL), - encryptionKey ABSENT, - verifyKeyIndicator (WITH COMPONENTS { - verificationKey (WITH COMPONENTS { - ecdsaNistP256 (WITH COMPONENTS { - compressed-y-0, compressed-y-1 - }) - }) - }) - }) -}) - - -END diff --git a/tests/tests-asn1c-compiler/149-with-components-SE.asn1.-E b/tests/tests-asn1c-compiler/149-with-components-SE.asn1.-E deleted file mode 100644 index e20e6cd..0000000 --- a/tests/tests-asn1c-compiler/149-with-components-SE.asn1.-E +++ /dev/null @@ -1,12 +0,0 @@ -ModuleComplexWithComponents { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 149 } -DEFINITIONS ::= -BEGIN - -Certificate ::= ExplicitCertificate (WITH COMPONENTS { ..., issuer (WITH COMPONENTS { sha256AndDigest }), toBeSigned (WITH COMPONENTS { ..., id (WITH COMPONENTS { name ("foo" | "bar") }), crlSeries ( ScmsSpclComponentCrlSeries), validityPeriod (WITH COMPONENTS { ..., duration ( CrlgCertExpiration) }), region (WITH COMPONENTS { identifiedRegion ( SequenceOfIdentifiedRegion (SIZE(3)) (CONSTRAINED BY { - IdentifiedRegion ( WITH COMPONENTS { countryOnly(Canada) }), - IdentifiedRegion ( WITH COMPONENTS { countryOnly(Mexico) }), - IdentifiedRegion ( WITH COMPONENTS { countryOnly(USA) }) - })) }), canRequestRollover (NULL), encryptionKey ABSENT, verifyKeyIndicator (WITH COMPONENTS { verificationKey (WITH COMPONENTS { ecdsaNistP256 (WITH COMPONENTS { compressed-y-0, compressed-y-1 }) }) }) }) }) - -END diff --git a/tests/tests-asn1c-compiler/15-resolver-SE.asn1 b/tests/tests-asn1c-compiler/15-resolver-SE.asn1 deleted file mode 100644 index f4255c8..0000000 --- a/tests/tests-asn1c-compiler/15-resolver-SE.asn1 +++ /dev/null @@ -1,35 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .15 1 --- .15 2 - -ModuleTestResolver4 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 15 1 } - DEFINITIONS ::= -BEGIN - IMPORTS Enumeration, beta FROM - OtherModuleRenamed - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 15 2 }; - - -- external reference - alpha Enumeration ::= beta - -END - -ModuleTestResolver5 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 15 2 } - DEFINITIONS ::= -BEGIN - EXPORTS; -- Does not export anything! - - beta Enumeration ::= b - - Enumeration ::= ENUMERATED { a(1), b(2) } - -END diff --git a/tests/tests-asn1c-compiler/150-with-components-OK.asn1 b/tests/tests-asn1c-compiler/150-with-components-OK.asn1 deleted file mode 100644 index 40ea000..0000000 --- a/tests/tests-asn1c-compiler/150-with-components-OK.asn1 +++ /dev/null @@ -1,25 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .150 - -ModuleValueWithComponents - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 150 } -DEFINITIONS ::= BEGIN - - EntityType ::= BIT STRING {app (0), enrol (1)} (SIZE (8)) - - GroupPermissions ::= SEQUENCE { - minChainDepth INTEGER DEFAULT 1, - eeType EntityType DEFAULT {app} - } - - EnrolPermissions ::= GroupPermissions (WITH COMPONENTS { - minChainDepth (2), - eeType ({enrol}) - }) - -END diff --git a/tests/tests-asn1c-compiler/150-with-components-OK.asn1.-EF b/tests/tests-asn1c-compiler/150-with-components-OK.asn1.-EF deleted file mode 100644 index ddc8944..0000000 --- a/tests/tests-asn1c-compiler/150-with-components-OK.asn1.-EF +++ /dev/null @@ -1,18 +0,0 @@ -ModuleValueWithComponents { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 150 } -DEFINITIONS ::= -BEGIN - -EntityType ::= BIT STRING { - app(0), - enrol(1) -} (SIZE(8)) - -GroupPermissions ::= SEQUENCE { - minChainDepth INTEGER DEFAULT 1, - eeType EntityType DEFAULT {app} -} - -EnrolPermissions ::= GroupPermissions (WITH COMPONENTS { minChainDepth (2), eeType ({enrol}) }) - -END diff --git a/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 b/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 deleted file mode 100644 index 8706d86..0000000 --- a/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .151 - -ModulePerEffectiveConstraint - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 151 } -DEFINITIONS ::= BEGIN - - -- B.2.1.10 - -- Effective constraint: SIZE(3..20) and FROM("A".."K") - B ::= VisibleString (SIZE (20) INTERSECTION FROM ("A".."F") - UNION SIZE (3) INTERSECTION FROM ("F".."K")) - -END diff --git a/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1.-EFprint-constraints deleted file mode 100644 index 09b56f8..0000000 --- a/tests/tests-asn1c-compiler/151-per-b2110-OK.asn1.-EFprint-constraints +++ /dev/null @@ -1,12 +0,0 @@ -ModulePerEffectiveConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 151 } -DEFINITIONS ::= -BEGIN - -B ::= VisibleString (SIZE(20) ^ FROM("A".."F") | SIZE(3) ^ FROM("F".."K")) --- Combined constraints: (SIZE(20) ^ FROM("A".."F") | SIZE(3) ^ FROM("F".."K")) --- Practical constraints (B): (MIN..MAX) (SIZE(3 | 20)) (FROM("A".."K")) --- OER-visible constraints (B): (MIN..MAX) (SIZE(3 | 20)) --- PER-visible constraints (B): (MIN..MAX) (SIZE(3 | 20)) (FROM("A".."K")) - -END diff --git a/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1 b/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1 deleted file mode 100644 index fcbd527..0000000 --- a/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1 +++ /dev/null @@ -1,43 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .152 - -ModuleValueAndTypeReferences - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 152 } -DEFINITIONS ::= BEGIN - - value INTEGER ::= 3 - - valueAssignment3 INTEGER ::= value - valueAssignment4 INTEGER ::= MOD-CAPITALS.value4 - - Foo ::= Extension {{CAPS.SomeType}} - Bar ::= Extension {{Uppercase.SomeType}} - - Extension {Foo} ::= SEQUENCE { - } - - MTYPE ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - MessageFrame ::= SEQUENCE { - messageIdE MTYPE.&id, - messageIdF MTYPE.&id({MessageTypes}), - valueE MTYPE.&Type, - valueF MTYPE.&Type({MessageTypes}{@.messageId}) - } - -END - -MOD-CAPITALS - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 152 1 } -DEFINITIONS ::= BEGIN - value4 INTEGER ::= 4 -END diff --git a/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1.-EF b/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1.-EF deleted file mode 100644 index ac83aa5..0000000 --- a/tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1.-EF +++ /dev/null @@ -1,40 +0,0 @@ -ModuleValueAndTypeReferences { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 152 } -DEFINITIONS ::= -BEGIN - -value INTEGER ::= 3 - -valueAssignment3 INTEGER ::= 3 - -valueAssignment4 INTEGER ::= 4 - -Foo ::= Extension{ { CAPS.SomeType}} - -Bar ::= Extension{ { Uppercase.SomeType}} - -Extension{Foo} ::= SEQUENCE { } - -MTYPE ::= CLASS { - &id INTEGER UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - - -MessageFrame ::= SEQUENCE { - messageIdE MTYPE.&id, - messageIdF MTYPE.&id ({MessageTypes}), - valueE MTYPE.&Type, - valueF MTYPE.&Type ({MessageTypes}{@.messageId}) -} - -END - -MOD-CAPITALS { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 152 1 } -DEFINITIONS ::= -BEGIN - -value4 INTEGER ::= 4 - -END diff --git a/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1 b/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1 deleted file mode 100644 index ea87f14..0000000 --- a/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .153 - -ModuleSingleValueConstraint - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 153 } -DEFINITIONS ::= BEGIN - - zero8 OCTET STRING ::= '0000000000000000'H - - Index ::= SEQUENCE { - padding OCTET STRING (SIZE(8)) (zero8) - } - -END diff --git a/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1.-EF b/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1.-EF deleted file mode 100644 index 6586849..0000000 --- a/tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1.-EF +++ /dev/null @@ -1,12 +0,0 @@ -ModuleSingleValueConstraint { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 153 } -DEFINITIONS ::= -BEGIN - -zero8 OCTET STRING ::= '0000000000000000'H - -Index ::= SEQUENCE { - padding OCTET STRING (SIZE(8)) ('0000000000000000'H) -} - -END diff --git a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 deleted file mode 100644 index 11abf12..0000000 --- a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 +++ /dev/null @@ -1,59 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .154 - -ModuleREALWithComponents - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 154 } -DEFINITIONS ::= BEGIN - - UnconstrainedREAL ::= REAL - - WeirdlyConstrainedREAL ::= REAL (3, ...) -- Not really constrained - - Indirect-IEEE-binary32 ::= UnconstrainedREAL (WITH COMPONENTS { - mantissa (-16777215..16777215), - base (2), exponent (-149..104)}) - - -- X.696 (08/2005) #12.2 and #12.3 - - -- IEEE 754 encoding single precision - IEEE-binary32-w ::= REAL (WITH COMPONENTS { - mantissa (-16777215..16777215), - base (2), exponent (-149..104)}) - - IEEE-binary32-0w ::= REAL (0 | WITH COMPONENTS { - mantissa (-16777215..16777215), - base (2), exponent (-149..104)}) - - IEEE-binary32-w0 ::= REAL (WITH COMPONENTS { - mantissa (-16777215..16777215), - base (2), exponent (-149..104)} | 0) - - -- IEEE 754 encoding double precision - IEEE-binary64-w ::= REAL (WITH COMPONENTS { - mantissa (-9007199254740991..9007199254740991), - base (2), exponent (-1074..971)}) - - IEEE-binary64-0w ::= REAL (0 | WITH COMPONENTS { - mantissa (-9007199254740991..9007199254740991), - base (2), exponent (-1074..971)}) - - IEEE-binary64-w0 ::= REAL (WITH COMPONENTS { - mantissa (-9007199254740991..9007199254740991), - base (2), exponent (-1074..971)} | 0) - - Test ::= SEQUENCE { - indirect-ieee-binary32 Indirect-IEEE-binary32, - ieee-binary32-w IEEE-binary32-w, - ieee-binary32-0w IEEE-binary32-0w, - ieee-binary32-w0 IEEE-binary32-w0, - ieee-binary64-w IEEE-binary64-w, - ieee-binary64-0w IEEE-binary64-0w, - ieee-binary64-w0 IEEE-binary64-w0 - } - -END diff --git a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types deleted file mode 100644 index 9403b97..0000000 --- a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,924 +0,0 @@ - -/*** <<< INCLUDES [UnconstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [UnconstrainedREAL] >>> ***/ - -typedef REAL_t UnconstrainedREAL_t; - -/*** <<< FUNC-DECLS [UnconstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL; -asn_struct_free_f UnconstrainedREAL_free; -asn_struct_print_f UnconstrainedREAL_print; -asn_constr_check_f UnconstrainedREAL_constraint; -ber_type_decoder_f UnconstrainedREAL_decode_ber; -der_type_encoder_f UnconstrainedREAL_encode_der; -xer_type_decoder_f UnconstrainedREAL_decode_xer; -xer_type_encoder_f UnconstrainedREAL_encode_xer; - -/*** <<< CODE [UnconstrainedREAL] >>> ***/ - -/* - * This type is implemented using REAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [UnconstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_UnconstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL = { - "UnconstrainedREAL", - "UnconstrainedREAL", - &asn_OP_REAL, - asn_DEF_UnconstrainedREAL_tags_1, - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_UnconstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [WeirdlyConstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -typedef REAL_t WeirdlyConstrainedREAL_t; - -/*** <<< FUNC-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL; -asn_struct_free_f WeirdlyConstrainedREAL_free; -asn_struct_print_f WeirdlyConstrainedREAL_print; -asn_constr_check_f WeirdlyConstrainedREAL_constraint; -ber_type_decoder_f WeirdlyConstrainedREAL_decode_ber; -der_type_encoder_f WeirdlyConstrainedREAL_encode_der; -xer_type_decoder_f WeirdlyConstrainedREAL_decode_xer; -xer_type_encoder_f WeirdlyConstrainedREAL_encode_xer; - -/*** <<< CODE [WeirdlyConstrainedREAL] >>> ***/ - -int -WeirdlyConstrainedREAL_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const REAL_t *st = (const REAL_t *)sptr; - double value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_REAL2double(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value == 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using REAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [WeirdlyConstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_WeirdlyConstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL = { - "WeirdlyConstrainedREAL", - "WeirdlyConstrainedREAL", - &asn_OP_REAL, - asn_DEF_WeirdlyConstrainedREAL_tags_1, - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_WeirdlyConstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - { 0, 0, WeirdlyConstrainedREAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Indirect-IEEE-binary32] >>> ***/ - -#include "UnconstrainedREAL.h" - -/*** <<< TYPE-DECLS [Indirect-IEEE-binary32] >>> ***/ - -typedef UnconstrainedREAL_t Indirect_IEEE_binary32_t; - -/*** <<< FUNC-DECLS [Indirect-IEEE-binary32] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32; -extern const asn_REAL_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1; -asn_struct_free_f Indirect_IEEE_binary32_free; -asn_struct_print_f Indirect_IEEE_binary32_print; -asn_constr_check_f Indirect_IEEE_binary32_constraint; -ber_type_decoder_f Indirect_IEEE_binary32_decode_ber; -der_type_encoder_f Indirect_IEEE_binary32_encode_der; -xer_type_decoder_f Indirect_IEEE_binary32_decode_xer; -xer_type_encoder_f Indirect_IEEE_binary32_encode_xer; - -/*** <<< CODE [Indirect-IEEE-binary32] >>> ***/ - -int -Indirect_IEEE_binary32_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using UnconstrainedREAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Indirect-IEEE-binary32] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_Indirect_IEEE_binary32_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32 = { - "Indirect-IEEE-binary32", - "Indirect-IEEE-binary32", - &asn_OP_REAL, - asn_DEF_Indirect_IEEE_binary32_tags_1, - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - asn_DEF_Indirect_IEEE_binary32_tags_1, /* Same as above */ - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - { 0, 0, Indirect_IEEE_binary32_constraint }, - 0, 0, /* No members */ - &asn_SPC_Indirect_IEEE_binary32_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w] >>> ***/ - -typedef float IEEE_binary32_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1; -asn_struct_free_f IEEE_binary32_w_free; -asn_struct_print_f IEEE_binary32_w_print; -asn_constr_check_f IEEE_binary32_w_constraint; -ber_type_decoder_f IEEE_binary32_w_decode_ber; -der_type_encoder_f IEEE_binary32_w_encode_der; -xer_type_decoder_f IEEE_binary32_w_decode_xer; -xer_type_encoder_f IEEE_binary32_w_encode_xer; - -/*** <<< CODE [IEEE-binary32-w] >>> ***/ - -int -IEEE_binary32_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary32-w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w = { - "IEEE-binary32-w", - "IEEE-binary32-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w_tags_1, - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary32_w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-0w] >>> ***/ - -typedef float IEEE_binary32_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-0w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1; -asn_struct_free_f IEEE_binary32_0w_free; -asn_struct_print_f IEEE_binary32_0w_print; -asn_constr_check_f IEEE_binary32_0w_constraint; -ber_type_decoder_f IEEE_binary32_0w_decode_ber; -der_type_encoder_f IEEE_binary32_0w_encode_der; -xer_type_decoder_f IEEE_binary32_0w_decode_xer; -xer_type_encoder_f IEEE_binary32_0w_encode_xer; - -/*** <<< CODE [IEEE-binary32-0w] >>> ***/ - -int -IEEE_binary32_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary32-0w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w = { - "IEEE-binary32-0w", - "IEEE-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_0w_tags_1, - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary32_0w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_0w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w0] >>> ***/ - -typedef float IEEE_binary32_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1; -asn_struct_free_f IEEE_binary32_w0_free; -asn_struct_print_f IEEE_binary32_w0_print; -asn_constr_check_f IEEE_binary32_w0_constraint; -ber_type_decoder_f IEEE_binary32_w0_decode_ber; -der_type_encoder_f IEEE_binary32_w0_encode_der; -xer_type_decoder_f IEEE_binary32_w0_decode_xer; -xer_type_encoder_f IEEE_binary32_w0_encode_xer; - -/*** <<< CODE [IEEE-binary32-w0] >>> ***/ - -int -IEEE_binary32_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary32-w0] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0 = { - "IEEE-binary32-w0", - "IEEE-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w0_tags_1, - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary32_w0_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w] >>> ***/ - -typedef double IEEE_binary64_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w; -asn_struct_free_f IEEE_binary64_w_free; -asn_struct_print_f IEEE_binary64_w_print; -asn_constr_check_f IEEE_binary64_w_constraint; -ber_type_decoder_f IEEE_binary64_w_decode_ber; -der_type_encoder_f IEEE_binary64_w_encode_der; -xer_type_decoder_f IEEE_binary64_w_decode_xer; -xer_type_encoder_f IEEE_binary64_w_encode_xer; - -/*** <<< CODE [IEEE-binary64-w] >>> ***/ - -int -IEEE_binary64_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary64-w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w = { - "IEEE-binary64-w", - "IEEE-binary64-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w_tags_1, - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary64_w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-0w] >>> ***/ - -typedef double IEEE_binary64_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-0w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w; -asn_struct_free_f IEEE_binary64_0w_free; -asn_struct_print_f IEEE_binary64_0w_print; -asn_constr_check_f IEEE_binary64_0w_constraint; -ber_type_decoder_f IEEE_binary64_0w_decode_ber; -der_type_encoder_f IEEE_binary64_0w_encode_der; -xer_type_decoder_f IEEE_binary64_0w_decode_xer; -xer_type_encoder_f IEEE_binary64_0w_encode_xer; - -/*** <<< CODE [IEEE-binary64-0w] >>> ***/ - -int -IEEE_binary64_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary64-0w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w = { - "IEEE-binary64-0w", - "IEEE-binary64-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_0w_tags_1, - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary64_0w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w0] >>> ***/ - -typedef double IEEE_binary64_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0; -asn_struct_free_f IEEE_binary64_w0_free; -asn_struct_print_f IEEE_binary64_w0_print; -asn_constr_check_f IEEE_binary64_w0_constraint; -ber_type_decoder_f IEEE_binary64_w0_decode_ber; -der_type_encoder_f IEEE_binary64_w0_encode_der; -xer_type_decoder_f IEEE_binary64_w0_decode_xer; -xer_type_encoder_f IEEE_binary64_w0_encode_xer; - -/*** <<< CODE [IEEE-binary64-w0] >>> ***/ - -int -IEEE_binary64_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [IEEE-binary64-w0] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0 = { - "IEEE-binary64-w0", - "IEEE-binary64-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w0_tags_1, - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - { 0, 0, IEEE_binary64_w0_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Test] >>> ***/ - -#include "Indirect-IEEE-binary32.h" -#include "IEEE-binary32-w.h" -#include "IEEE-binary32-0w.h" -#include "IEEE-binary32-w0.h" -#include "IEEE-binary64-w.h" -#include "IEEE-binary64-0w.h" -#include "IEEE-binary64-w0.h" -#include - -/*** <<< TYPE-DECLS [Test] >>> ***/ - -typedef struct Test { - Indirect_IEEE_binary32_t indirect_ieee_binary32; - IEEE_binary32_w_t ieee_binary32_w; - IEEE_binary32_0w_t ieee_binary32_0w; - IEEE_binary32_w0_t ieee_binary32_w0; - IEEE_binary64_w_t ieee_binary64_w; - IEEE_binary64_0w_t ieee_binary64_0w; - IEEE_binary64_w0_t ieee_binary64_w0; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_t; - -/*** <<< FUNC-DECLS [Test] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Test; - -/*** <<< CODE [Test] >>> ***/ - -static int -indirect_ieee_binary32_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using Indirect_IEEE_binary32, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_0w_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_0w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Test] >>> ***/ - -static const asn_NativeReal_specifics_t asn_SPC_indirect_ieee_binary32_specs_2 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_indirect_ieee_binary32_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2 = { - "indirect-ieee-binary32", - "indirect-ieee-binary32", - &asn_OP_REAL, - asn_DEF_indirect_ieee_binary32_tags_2, - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - asn_DEF_indirect_ieee_binary32_tags_2, /* Same as above */ - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - { 0, 0, indirect_ieee_binary32_2_constraint }, - 0, 0, /* No members */ - &asn_SPC_indirect_ieee_binary32_specs_2 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w_specs_3 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3 = { - "ieee-binary32-w", - "ieee-binary32-w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w_tags_3, - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - asn_DEF_ieee_binary32_w_tags_3, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - { 0, 0, ieee_binary32_w_3_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w_specs_3 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_0w_specs_4 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_0w_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4 = { - "ieee-binary32-0w", - "ieee-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_0w_tags_4, - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - asn_DEF_ieee_binary32_0w_tags_4, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - { 0, 0, ieee_binary32_0w_4_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_0w_specs_4 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w0_specs_5 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w0_tags_5[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5 = { - "ieee-binary32-w0", - "ieee-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w0_tags_5, - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - asn_DEF_ieee_binary32_w0_tags_5, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - { 0, 0, ieee_binary32_w0_5_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w0_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Test_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Test, indirect_ieee_binary32), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Indirect_IEEE_binary32, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "indirect-ieee-binary32" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w0" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w0" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 6 }, /* indirect-ieee-binary32 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 1, -1, 5 }, /* ieee-binary32-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 2, -2, 4 }, /* ieee-binary32-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 3, -3, 3 }, /* ieee-binary32-w0 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 4, -4, 2 }, /* ieee-binary64-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 5, -5, 1 }, /* ieee-binary64-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 6, -6, 0 } /* ieee-binary64-w0 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Test_specs_1 = { - sizeof(struct Test), - offsetof(struct Test, _asn_ctx), - .tag2el = asn_MAP_Test_tag2el_1, - .tag2el_count = 7, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Test = { - "Test", - "Test", - &asn_OP_SEQUENCE, - asn_DEF_Test_tags_1, - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - asn_DEF_Test_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Test_1, - 7, /* Elements count */ - &asn_SPC_Test_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-OER deleted file mode 100644 index 71cb428..0000000 --- a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-OER +++ /dev/null @@ -1,999 +0,0 @@ - -/*** <<< INCLUDES [UnconstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [UnconstrainedREAL] >>> ***/ - -typedef double UnconstrainedREAL_t; - -/*** <<< FUNC-DECLS [UnconstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL; -asn_struct_free_f UnconstrainedREAL_free; -asn_struct_print_f UnconstrainedREAL_print; -asn_constr_check_f UnconstrainedREAL_constraint; -ber_type_decoder_f UnconstrainedREAL_decode_ber; -der_type_encoder_f UnconstrainedREAL_encode_der; -xer_type_decoder_f UnconstrainedREAL_decode_xer; -xer_type_encoder_f UnconstrainedREAL_encode_xer; -oer_type_decoder_f UnconstrainedREAL_decode_oer; -oer_type_encoder_f UnconstrainedREAL_encode_oer; - -/*** <<< CODE [UnconstrainedREAL] >>> ***/ - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [UnconstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_UnconstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL = { - "UnconstrainedREAL", - "UnconstrainedREAL", - &asn_OP_NativeReal, - asn_DEF_UnconstrainedREAL_tags_1, - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_UnconstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [WeirdlyConstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -typedef double WeirdlyConstrainedREAL_t; - -/*** <<< FUNC-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL; -asn_struct_free_f WeirdlyConstrainedREAL_free; -asn_struct_print_f WeirdlyConstrainedREAL_print; -asn_constr_check_f WeirdlyConstrainedREAL_constraint; -ber_type_decoder_f WeirdlyConstrainedREAL_decode_ber; -der_type_encoder_f WeirdlyConstrainedREAL_encode_der; -xer_type_decoder_f WeirdlyConstrainedREAL_decode_xer; -xer_type_encoder_f WeirdlyConstrainedREAL_encode_xer; -oer_type_decoder_f WeirdlyConstrainedREAL_decode_oer; -oer_type_encoder_f WeirdlyConstrainedREAL_encode_oer; - -/*** <<< CODE [WeirdlyConstrainedREAL] >>> ***/ - -int -WeirdlyConstrainedREAL_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - double value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const double *)sptr; - - if((value == 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [WeirdlyConstrainedREAL] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_WeirdlyConstrainedREAL_constr_1 CC_NOTUSED = { - { 0, 0 }, - -1}; - -/*** <<< STAT-DEFS [WeirdlyConstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_WeirdlyConstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL = { - "WeirdlyConstrainedREAL", - "WeirdlyConstrainedREAL", - &asn_OP_NativeReal, - asn_DEF_WeirdlyConstrainedREAL_tags_1, - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_WeirdlyConstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - { &asn_OER_type_WeirdlyConstrainedREAL_constr_1, 0, WeirdlyConstrainedREAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Indirect-IEEE-binary32] >>> ***/ - -#include "UnconstrainedREAL.h" - -/*** <<< TYPE-DECLS [Indirect-IEEE-binary32] >>> ***/ - -typedef UnconstrainedREAL_t Indirect_IEEE_binary32_t; - -/*** <<< FUNC-DECLS [Indirect-IEEE-binary32] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32; -extern const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1; -asn_struct_free_f Indirect_IEEE_binary32_free; -asn_struct_print_f Indirect_IEEE_binary32_print; -asn_constr_check_f Indirect_IEEE_binary32_constraint; -ber_type_decoder_f Indirect_IEEE_binary32_decode_ber; -der_type_encoder_f Indirect_IEEE_binary32_encode_der; -xer_type_decoder_f Indirect_IEEE_binary32_decode_xer; -xer_type_encoder_f Indirect_IEEE_binary32_encode_xer; -oer_type_decoder_f Indirect_IEEE_binary32_decode_oer; -oer_type_encoder_f Indirect_IEEE_binary32_encode_oer; - -/*** <<< CODE [Indirect-IEEE-binary32] >>> ***/ - -int -Indirect_IEEE_binary32_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using UnconstrainedREAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Indirect-IEEE-binary32] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_Indirect_IEEE_binary32_constr_1 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; - -/*** <<< STAT-DEFS [Indirect-IEEE-binary32] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_Indirect_IEEE_binary32_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32 = { - "Indirect-IEEE-binary32", - "Indirect-IEEE-binary32", - &asn_OP_NativeReal, - asn_DEF_Indirect_IEEE_binary32_tags_1, - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - asn_DEF_Indirect_IEEE_binary32_tags_1, /* Same as above */ - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - { &asn_OER_type_Indirect_IEEE_binary32_constr_1, 0, Indirect_IEEE_binary32_constraint }, - 0, 0, /* No members */ - &asn_SPC_Indirect_IEEE_binary32_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w] >>> ***/ - -typedef float IEEE_binary32_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1; -asn_struct_free_f IEEE_binary32_w_free; -asn_struct_print_f IEEE_binary32_w_print; -asn_constr_check_f IEEE_binary32_w_constraint; -ber_type_decoder_f IEEE_binary32_w_decode_ber; -der_type_encoder_f IEEE_binary32_w_encode_der; -xer_type_decoder_f IEEE_binary32_w_decode_xer; -xer_type_encoder_f IEEE_binary32_w_encode_xer; -oer_type_decoder_f IEEE_binary32_w_decode_oer; -oer_type_encoder_f IEEE_binary32_w_encode_oer; - -/*** <<< CODE [IEEE-binary32-w] >>> ***/ - -int -IEEE_binary32_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-w] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary32_w_constr_1 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary32-w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w = { - "IEEE-binary32-w", - "IEEE-binary32-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w_tags_1, - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary32_w_constr_1, 0, IEEE_binary32_w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-0w] >>> ***/ - -typedef float IEEE_binary32_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-0w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1; -asn_struct_free_f IEEE_binary32_0w_free; -asn_struct_print_f IEEE_binary32_0w_print; -asn_constr_check_f IEEE_binary32_0w_constraint; -ber_type_decoder_f IEEE_binary32_0w_decode_ber; -der_type_encoder_f IEEE_binary32_0w_encode_der; -xer_type_decoder_f IEEE_binary32_0w_decode_xer; -xer_type_encoder_f IEEE_binary32_0w_encode_xer; -oer_type_decoder_f IEEE_binary32_0w_decode_oer; -oer_type_encoder_f IEEE_binary32_0w_encode_oer; - -/*** <<< CODE [IEEE-binary32-0w] >>> ***/ - -int -IEEE_binary32_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-0w] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary32_0w_constr_1 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary32-0w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w = { - "IEEE-binary32-0w", - "IEEE-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_0w_tags_1, - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary32_0w_constr_1, 0, IEEE_binary32_0w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_0w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w0] >>> ***/ - -typedef float IEEE_binary32_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1; -asn_struct_free_f IEEE_binary32_w0_free; -asn_struct_print_f IEEE_binary32_w0_print; -asn_constr_check_f IEEE_binary32_w0_constraint; -ber_type_decoder_f IEEE_binary32_w0_decode_ber; -der_type_encoder_f IEEE_binary32_w0_encode_der; -xer_type_decoder_f IEEE_binary32_w0_decode_xer; -xer_type_encoder_f IEEE_binary32_w0_encode_xer; -oer_type_decoder_f IEEE_binary32_w0_decode_oer; -oer_type_encoder_f IEEE_binary32_w0_encode_oer; - -/*** <<< CODE [IEEE-binary32-w0] >>> ***/ - -int -IEEE_binary32_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-w0] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary32_w0_constr_1 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary32-w0] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0 = { - "IEEE-binary32-w0", - "IEEE-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w0_tags_1, - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary32_w0_constr_1, 0, IEEE_binary32_w0_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w] >>> ***/ - -typedef double IEEE_binary64_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w; -asn_struct_free_f IEEE_binary64_w_free; -asn_struct_print_f IEEE_binary64_w_print; -asn_constr_check_f IEEE_binary64_w_constraint; -ber_type_decoder_f IEEE_binary64_w_decode_ber; -der_type_encoder_f IEEE_binary64_w_encode_der; -xer_type_decoder_f IEEE_binary64_w_decode_xer; -xer_type_encoder_f IEEE_binary64_w_encode_xer; -oer_type_decoder_f IEEE_binary64_w_decode_oer; -oer_type_encoder_f IEEE_binary64_w_encode_oer; - -/*** <<< CODE [IEEE-binary64-w] >>> ***/ - -int -IEEE_binary64_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-w] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary64_w_constr_1 CC_NOTUSED = { - { sizeof(double), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary64-w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w = { - "IEEE-binary64-w", - "IEEE-binary64-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w_tags_1, - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary64_w_constr_1, 0, IEEE_binary64_w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-0w] >>> ***/ - -typedef double IEEE_binary64_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-0w] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w; -asn_struct_free_f IEEE_binary64_0w_free; -asn_struct_print_f IEEE_binary64_0w_print; -asn_constr_check_f IEEE_binary64_0w_constraint; -ber_type_decoder_f IEEE_binary64_0w_decode_ber; -der_type_encoder_f IEEE_binary64_0w_encode_der; -xer_type_decoder_f IEEE_binary64_0w_decode_xer; -xer_type_encoder_f IEEE_binary64_0w_encode_xer; -oer_type_decoder_f IEEE_binary64_0w_decode_oer; -oer_type_encoder_f IEEE_binary64_0w_encode_oer; - -/*** <<< CODE [IEEE-binary64-0w] >>> ***/ - -int -IEEE_binary64_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-0w] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary64_0w_constr_1 CC_NOTUSED = { - { sizeof(double), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary64-0w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w = { - "IEEE-binary64-0w", - "IEEE-binary64-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_0w_tags_1, - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary64_0w_constr_1, 0, IEEE_binary64_0w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w0] >>> ***/ - -typedef double IEEE_binary64_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0; -asn_struct_free_f IEEE_binary64_w0_free; -asn_struct_print_f IEEE_binary64_w0_print; -asn_constr_check_f IEEE_binary64_w0_constraint; -ber_type_decoder_f IEEE_binary64_w0_decode_ber; -der_type_encoder_f IEEE_binary64_w0_encode_der; -xer_type_decoder_f IEEE_binary64_w0_decode_xer; -xer_type_encoder_f IEEE_binary64_w0_encode_xer; -oer_type_decoder_f IEEE_binary64_w0_decode_oer; -oer_type_encoder_f IEEE_binary64_w0_encode_oer; - -/*** <<< CODE [IEEE-binary64-w0] >>> ***/ - -int -IEEE_binary64_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-w0] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_IEEE_binary64_w0_constr_1 CC_NOTUSED = { - { sizeof(double), 0 }, - -1}; - -/*** <<< STAT-DEFS [IEEE-binary64-w0] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0 = { - "IEEE-binary64-w0", - "IEEE-binary64-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w0_tags_1, - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - { &asn_OER_type_IEEE_binary64_w0_constr_1, 0, IEEE_binary64_w0_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Test] >>> ***/ - -#include "Indirect-IEEE-binary32.h" -#include "IEEE-binary32-w.h" -#include "IEEE-binary32-0w.h" -#include "IEEE-binary32-w0.h" -#include "IEEE-binary64-w.h" -#include "IEEE-binary64-0w.h" -#include "IEEE-binary64-w0.h" -#include - -/*** <<< TYPE-DECLS [Test] >>> ***/ - -typedef struct Test { - Indirect_IEEE_binary32_t indirect_ieee_binary32; - IEEE_binary32_w_t ieee_binary32_w; - IEEE_binary32_0w_t ieee_binary32_0w; - IEEE_binary32_w0_t ieee_binary32_w0; - IEEE_binary64_w_t ieee_binary64_w; - IEEE_binary64_0w_t ieee_binary64_0w; - IEEE_binary64_w0_t ieee_binary64_w0; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_t; - -/*** <<< FUNC-DECLS [Test] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Test; - -/*** <<< CODE [Test] >>> ***/ - -static int -indirect_ieee_binary32_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using Indirect_IEEE_binary32, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_0w_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_0w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Test] >>> ***/ - -static asn_oer_constraints_t asn_OER_type_indirect_ieee_binary32_constr_2 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; -static asn_oer_constraints_t asn_OER_type_ieee_binary32_w_constr_3 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; -static asn_oer_constraints_t asn_OER_type_ieee_binary32_0w_constr_4 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; -static asn_oer_constraints_t asn_OER_type_ieee_binary32_w0_constr_5 CC_NOTUSED = { - { sizeof(float), 0 }, - -1}; - -/*** <<< STAT-DEFS [Test] >>> ***/ - -static const asn_NativeReal_specifics_t asn_SPC_indirect_ieee_binary32_specs_2 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_indirect_ieee_binary32_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2 = { - "indirect-ieee-binary32", - "indirect-ieee-binary32", - &asn_OP_NativeReal, - asn_DEF_indirect_ieee_binary32_tags_2, - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - asn_DEF_indirect_ieee_binary32_tags_2, /* Same as above */ - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - { &asn_OER_type_indirect_ieee_binary32_constr_2, 0, indirect_ieee_binary32_2_constraint }, - 0, 0, /* No members */ - &asn_SPC_indirect_ieee_binary32_specs_2 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w_specs_3 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3 = { - "ieee-binary32-w", - "ieee-binary32-w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w_tags_3, - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - asn_DEF_ieee_binary32_w_tags_3, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - { &asn_OER_type_ieee_binary32_w_constr_3, 0, ieee_binary32_w_3_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w_specs_3 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_0w_specs_4 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_0w_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4 = { - "ieee-binary32-0w", - "ieee-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_0w_tags_4, - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - asn_DEF_ieee_binary32_0w_tags_4, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - { &asn_OER_type_ieee_binary32_0w_constr_4, 0, ieee_binary32_0w_4_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_0w_specs_4 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w0_specs_5 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w0_tags_5[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5 = { - "ieee-binary32-w0", - "ieee-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w0_tags_5, - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - asn_DEF_ieee_binary32_w0_tags_5, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - { &asn_OER_type_ieee_binary32_w0_constr_5, 0, ieee_binary32_w0_5_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w0_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Test_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Test, indirect_ieee_binary32), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Indirect_IEEE_binary32, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "indirect-ieee-binary32" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w0" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w0" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 6 }, /* indirect-ieee-binary32 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 1, -1, 5 }, /* ieee-binary32-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 2, -2, 4 }, /* ieee-binary32-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 3, -3, 3 }, /* ieee-binary32-w0 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 4, -4, 2 }, /* ieee-binary64-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 5, -5, 1 }, /* ieee-binary64-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 6, -6, 0 } /* ieee-binary64-w0 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Test_specs_1 = { - sizeof(struct Test), - offsetof(struct Test, _asn_ctx), - .tag2el = asn_MAP_Test_tag2el_1, - .tag2el_count = 7, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Test = { - "Test", - "Test", - &asn_OP_SEQUENCE, - asn_DEF_Test_tags_1, - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - asn_DEF_Test_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Test_1, - 7, /* Elements count */ - &asn_SPC_Test_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-PER deleted file mode 100644 index 0826565..0000000 --- a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,1048 +0,0 @@ - -/*** <<< INCLUDES [UnconstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [UnconstrainedREAL] >>> ***/ - -typedef double UnconstrainedREAL_t; - -/*** <<< FUNC-DECLS [UnconstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL; -asn_struct_free_f UnconstrainedREAL_free; -asn_struct_print_f UnconstrainedREAL_print; -asn_constr_check_f UnconstrainedREAL_constraint; -ber_type_decoder_f UnconstrainedREAL_decode_ber; -der_type_encoder_f UnconstrainedREAL_encode_der; -xer_type_decoder_f UnconstrainedREAL_decode_xer; -xer_type_encoder_f UnconstrainedREAL_encode_xer; -per_type_decoder_f UnconstrainedREAL_decode_uper; -per_type_encoder_f UnconstrainedREAL_encode_uper; -per_type_decoder_f UnconstrainedREAL_decode_aper; -per_type_encoder_f UnconstrainedREAL_encode_aper; - -/*** <<< CODE [UnconstrainedREAL] >>> ***/ - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [UnconstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_UnconstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UnconstrainedREAL = { - "UnconstrainedREAL", - "UnconstrainedREAL", - &asn_OP_NativeReal, - asn_DEF_UnconstrainedREAL_tags_1, - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_UnconstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_UnconstrainedREAL_tags_1) - /sizeof(asn_DEF_UnconstrainedREAL_tags_1[0]), /* 1 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [WeirdlyConstrainedREAL] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -typedef double WeirdlyConstrainedREAL_t; - -/*** <<< FUNC-DECLS [WeirdlyConstrainedREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL; -asn_struct_free_f WeirdlyConstrainedREAL_free; -asn_struct_print_f WeirdlyConstrainedREAL_print; -asn_constr_check_f WeirdlyConstrainedREAL_constraint; -ber_type_decoder_f WeirdlyConstrainedREAL_decode_ber; -der_type_encoder_f WeirdlyConstrainedREAL_encode_der; -xer_type_decoder_f WeirdlyConstrainedREAL_decode_xer; -xer_type_encoder_f WeirdlyConstrainedREAL_encode_xer; -per_type_decoder_f WeirdlyConstrainedREAL_decode_uper; -per_type_encoder_f WeirdlyConstrainedREAL_encode_uper; -per_type_decoder_f WeirdlyConstrainedREAL_decode_aper; -per_type_encoder_f WeirdlyConstrainedREAL_encode_aper; - -/*** <<< CODE [WeirdlyConstrainedREAL] >>> ***/ - -int -WeirdlyConstrainedREAL_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - double value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const double *)sptr; - - if((value == 3)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [WeirdlyConstrainedREAL] >>> ***/ - -static asn_per_constraints_t asn_PER_type_WeirdlyConstrainedREAL_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [WeirdlyConstrainedREAL] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_WeirdlyConstrainedREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_WeirdlyConstrainedREAL = { - "WeirdlyConstrainedREAL", - "WeirdlyConstrainedREAL", - &asn_OP_NativeReal, - asn_DEF_WeirdlyConstrainedREAL_tags_1, - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - asn_DEF_WeirdlyConstrainedREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1) - /sizeof(asn_DEF_WeirdlyConstrainedREAL_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_WeirdlyConstrainedREAL_constr_1, WeirdlyConstrainedREAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Indirect-IEEE-binary32] >>> ***/ - -#include "UnconstrainedREAL.h" - -/*** <<< TYPE-DECLS [Indirect-IEEE-binary32] >>> ***/ - -typedef UnconstrainedREAL_t Indirect_IEEE_binary32_t; - -/*** <<< FUNC-DECLS [Indirect-IEEE-binary32] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Indirect_IEEE_binary32_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32; -extern const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1; -asn_struct_free_f Indirect_IEEE_binary32_free; -asn_struct_print_f Indirect_IEEE_binary32_print; -asn_constr_check_f Indirect_IEEE_binary32_constraint; -ber_type_decoder_f Indirect_IEEE_binary32_decode_ber; -der_type_encoder_f Indirect_IEEE_binary32_encode_der; -xer_type_decoder_f Indirect_IEEE_binary32_decode_xer; -xer_type_encoder_f Indirect_IEEE_binary32_encode_xer; -per_type_decoder_f Indirect_IEEE_binary32_decode_uper; -per_type_encoder_f Indirect_IEEE_binary32_encode_uper; -per_type_decoder_f Indirect_IEEE_binary32_decode_aper; -per_type_encoder_f Indirect_IEEE_binary32_encode_aper; - -/*** <<< CODE [Indirect-IEEE-binary32] >>> ***/ - -int -Indirect_IEEE_binary32_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using UnconstrainedREAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Indirect-IEEE-binary32] >>> ***/ - -asn_per_constraints_t asn_PER_type_Indirect_IEEE_binary32_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Indirect-IEEE-binary32] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_Indirect_IEEE_binary32_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_Indirect_IEEE_binary32_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Indirect_IEEE_binary32 = { - "Indirect-IEEE-binary32", - "Indirect-IEEE-binary32", - &asn_OP_NativeReal, - asn_DEF_Indirect_IEEE_binary32_tags_1, - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - asn_DEF_Indirect_IEEE_binary32_tags_1, /* Same as above */ - sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1) - /sizeof(asn_DEF_Indirect_IEEE_binary32_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Indirect_IEEE_binary32_constr_1, Indirect_IEEE_binary32_constraint }, - 0, 0, /* No members */ - &asn_SPC_Indirect_IEEE_binary32_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w] >>> ***/ - -typedef float IEEE_binary32_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary32_w_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1; -asn_struct_free_f IEEE_binary32_w_free; -asn_struct_print_f IEEE_binary32_w_print; -asn_constr_check_f IEEE_binary32_w_constraint; -ber_type_decoder_f IEEE_binary32_w_decode_ber; -der_type_encoder_f IEEE_binary32_w_encode_der; -xer_type_decoder_f IEEE_binary32_w_decode_xer; -xer_type_encoder_f IEEE_binary32_w_encode_xer; -per_type_decoder_f IEEE_binary32_w_decode_uper; -per_type_encoder_f IEEE_binary32_w_encode_uper; -per_type_decoder_f IEEE_binary32_w_decode_aper; -per_type_encoder_f IEEE_binary32_w_encode_aper; - -/*** <<< CODE [IEEE-binary32-w] >>> ***/ - -int -IEEE_binary32_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-w] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary32_w_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary32-w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w = { - "IEEE-binary32-w", - "IEEE-binary32-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w_tags_1, - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary32_w_constr_1, IEEE_binary32_w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-0w] >>> ***/ - -typedef float IEEE_binary32_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-0w] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary32_0w_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1; -asn_struct_free_f IEEE_binary32_0w_free; -asn_struct_print_f IEEE_binary32_0w_print; -asn_constr_check_f IEEE_binary32_0w_constraint; -ber_type_decoder_f IEEE_binary32_0w_decode_ber; -der_type_encoder_f IEEE_binary32_0w_encode_der; -xer_type_decoder_f IEEE_binary32_0w_decode_xer; -xer_type_encoder_f IEEE_binary32_0w_encode_xer; -per_type_decoder_f IEEE_binary32_0w_decode_uper; -per_type_encoder_f IEEE_binary32_0w_encode_uper; -per_type_decoder_f IEEE_binary32_0w_decode_aper; -per_type_encoder_f IEEE_binary32_0w_encode_aper; - -/*** <<< CODE [IEEE-binary32-0w] >>> ***/ - -int -IEEE_binary32_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-0w] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary32_0w_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary32-0w] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_0w_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_0w = { - "IEEE-binary32-0w", - "IEEE-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_0w_tags_1, - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary32_0w_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary32_0w_constr_1, IEEE_binary32_0w_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_0w_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary32-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary32-w0] >>> ***/ - -typedef float IEEE_binary32_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary32-w0] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary32_w0_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0; -extern const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1; -asn_struct_free_f IEEE_binary32_w0_free; -asn_struct_print_f IEEE_binary32_w0_print; -asn_constr_check_f IEEE_binary32_w0_constraint; -ber_type_decoder_f IEEE_binary32_w0_decode_ber; -der_type_encoder_f IEEE_binary32_w0_encode_der; -xer_type_decoder_f IEEE_binary32_w0_decode_xer; -xer_type_encoder_f IEEE_binary32_w0_encode_xer; -per_type_decoder_f IEEE_binary32_w0_decode_uper; -per_type_encoder_f IEEE_binary32_w0_encode_uper; -per_type_decoder_f IEEE_binary32_w0_decode_aper; -per_type_encoder_f IEEE_binary32_w0_encode_aper; - -/*** <<< CODE [IEEE-binary32-w0] >>> ***/ - -int -IEEE_binary32_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary32-w0] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary32_w0_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary32-w0] >>> ***/ - -const asn_NativeReal_specifics_t asn_SPC_IEEE_binary32_w0_specs_1 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_IEEE_binary32_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary32_w0 = { - "IEEE-binary32-w0", - "IEEE-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary32_w0_tags_1, - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary32_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary32_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary32_w0_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary32_w0_constr_1, IEEE_binary32_w0_constraint }, - 0, 0, /* No members */ - &asn_SPC_IEEE_binary32_w0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w] >>> ***/ - -typedef double IEEE_binary64_w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary64_w_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w; -asn_struct_free_f IEEE_binary64_w_free; -asn_struct_print_f IEEE_binary64_w_print; -asn_constr_check_f IEEE_binary64_w_constraint; -ber_type_decoder_f IEEE_binary64_w_decode_ber; -der_type_encoder_f IEEE_binary64_w_encode_der; -xer_type_decoder_f IEEE_binary64_w_decode_xer; -xer_type_encoder_f IEEE_binary64_w_encode_xer; -per_type_decoder_f IEEE_binary64_w_decode_uper; -per_type_encoder_f IEEE_binary64_w_encode_uper; -per_type_decoder_f IEEE_binary64_w_decode_aper; -per_type_encoder_f IEEE_binary64_w_encode_aper; - -/*** <<< CODE [IEEE-binary64-w] >>> ***/ - -int -IEEE_binary64_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-w] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary64_w_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary64-w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w = { - "IEEE-binary64-w", - "IEEE-binary64-w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w_tags_1, - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary64_w_constr_1, IEEE_binary64_w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-0w] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-0w] >>> ***/ - -typedef double IEEE_binary64_0w_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-0w] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary64_0w_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w; -asn_struct_free_f IEEE_binary64_0w_free; -asn_struct_print_f IEEE_binary64_0w_print; -asn_constr_check_f IEEE_binary64_0w_constraint; -ber_type_decoder_f IEEE_binary64_0w_decode_ber; -der_type_encoder_f IEEE_binary64_0w_encode_der; -xer_type_decoder_f IEEE_binary64_0w_decode_xer; -xer_type_encoder_f IEEE_binary64_0w_encode_xer; -per_type_decoder_f IEEE_binary64_0w_decode_uper; -per_type_encoder_f IEEE_binary64_0w_encode_uper; -per_type_decoder_f IEEE_binary64_0w_decode_aper; -per_type_encoder_f IEEE_binary64_0w_encode_aper; - -/*** <<< CODE [IEEE-binary64-0w] >>> ***/ - -int -IEEE_binary64_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-0w] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary64_0w_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary64-0w] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_0w_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_0w = { - "IEEE-binary64-0w", - "IEEE-binary64-0w", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_0w_tags_1, - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_0w_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_0w_tags_1) - /sizeof(asn_DEF_IEEE_binary64_0w_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary64_0w_constr_1, IEEE_binary64_0w_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [IEEE-binary64-w0] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [IEEE-binary64-w0] >>> ***/ - -typedef double IEEE_binary64_w0_t; - -/*** <<< FUNC-DECLS [IEEE-binary64-w0] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_IEEE_binary64_w0_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0; -asn_struct_free_f IEEE_binary64_w0_free; -asn_struct_print_f IEEE_binary64_w0_print; -asn_constr_check_f IEEE_binary64_w0_constraint; -ber_type_decoder_f IEEE_binary64_w0_decode_ber; -der_type_encoder_f IEEE_binary64_w0_encode_der; -xer_type_decoder_f IEEE_binary64_w0_decode_xer; -xer_type_encoder_f IEEE_binary64_w0_encode_xer; -per_type_decoder_f IEEE_binary64_w0_decode_uper; -per_type_encoder_f IEEE_binary64_w0_encode_uper; -per_type_decoder_f IEEE_binary64_w0_decode_aper; -per_type_encoder_f IEEE_binary64_w0_encode_aper; - -/*** <<< CODE [IEEE-binary64-w0] >>> ***/ - -int -IEEE_binary64_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [IEEE-binary64-w0] >>> ***/ - -asn_per_constraints_t asn_PER_type_IEEE_binary64_w0_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [IEEE-binary64-w0] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_IEEE_binary64_w0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IEEE_binary64_w0 = { - "IEEE-binary64-w0", - "IEEE-binary64-w0", - &asn_OP_NativeReal, - asn_DEF_IEEE_binary64_w0_tags_1, - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - asn_DEF_IEEE_binary64_w0_tags_1, /* Same as above */ - sizeof(asn_DEF_IEEE_binary64_w0_tags_1) - /sizeof(asn_DEF_IEEE_binary64_w0_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_IEEE_binary64_w0_constr_1, IEEE_binary64_w0_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Test] >>> ***/ - -#include "Indirect-IEEE-binary32.h" -#include "IEEE-binary32-w.h" -#include "IEEE-binary32-0w.h" -#include "IEEE-binary32-w0.h" -#include "IEEE-binary64-w.h" -#include "IEEE-binary64-0w.h" -#include "IEEE-binary64-w0.h" -#include - -/*** <<< TYPE-DECLS [Test] >>> ***/ - -typedef struct Test { - Indirect_IEEE_binary32_t indirect_ieee_binary32; - IEEE_binary32_w_t ieee_binary32_w; - IEEE_binary32_0w_t ieee_binary32_0w; - IEEE_binary32_w0_t ieee_binary32_w0; - IEEE_binary64_w_t ieee_binary64_w; - IEEE_binary64_0w_t ieee_binary64_0w; - IEEE_binary64_w0_t ieee_binary64_w0; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_t; - -/*** <<< FUNC-DECLS [Test] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4; // (Use -fall-defs-global to expose) */ -/* extern asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Test; - -/*** <<< CODE [Test] >>> ***/ - -static int -indirect_ieee_binary32_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using Indirect_IEEE_binary32, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_0w_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_0w, - * so here we adjust the DEF accordingly. - */ -static int -ieee_binary32_w0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using IEEE_binary32_w0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Test] >>> ***/ - -static asn_per_constraints_t asn_PER_type_indirect_ieee_binary32_constr_2 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_ieee_binary32_w_constr_3 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_ieee_binary32_0w_constr_4 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_ieee_binary32_w0_constr_5 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Test] >>> ***/ - -static const asn_NativeReal_specifics_t asn_SPC_indirect_ieee_binary32_specs_2 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_indirect_ieee_binary32_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_indirect_ieee_binary32_2 = { - "indirect-ieee-binary32", - "indirect-ieee-binary32", - &asn_OP_NativeReal, - asn_DEF_indirect_ieee_binary32_tags_2, - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - asn_DEF_indirect_ieee_binary32_tags_2, /* Same as above */ - sizeof(asn_DEF_indirect_ieee_binary32_tags_2) - /sizeof(asn_DEF_indirect_ieee_binary32_tags_2[0]), /* 1 */ - { 0, &asn_PER_type_indirect_ieee_binary32_constr_2, indirect_ieee_binary32_2_constraint }, - 0, 0, /* No members */ - &asn_SPC_indirect_ieee_binary32_specs_2 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w_specs_3 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w_3 = { - "ieee-binary32-w", - "ieee-binary32-w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w_tags_3, - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - asn_DEF_ieee_binary32_w_tags_3, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w_tags_3) - /sizeof(asn_DEF_ieee_binary32_w_tags_3[0]), /* 1 */ - { 0, &asn_PER_type_ieee_binary32_w_constr_3, ieee_binary32_w_3_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w_specs_3 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_0w_specs_4 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_0w_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_0w_4 = { - "ieee-binary32-0w", - "ieee-binary32-0w", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_0w_tags_4, - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - asn_DEF_ieee_binary32_0w_tags_4, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_0w_tags_4) - /sizeof(asn_DEF_ieee_binary32_0w_tags_4[0]), /* 1 */ - { 0, &asn_PER_type_ieee_binary32_0w_constr_4, ieee_binary32_0w_4_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_0w_specs_4 /* Additional specs */ -}; - -static const asn_NativeReal_specifics_t asn_SPC_ieee_binary32_w0_specs_5 = { - 4 /* Use 'float' type. */ -}; -static const ber_tlv_tag_t asn_DEF_ieee_binary32_w0_tags_5[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ieee_binary32_w0_5 = { - "ieee-binary32-w0", - "ieee-binary32-w0", - &asn_OP_NativeReal, - asn_DEF_ieee_binary32_w0_tags_5, - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - asn_DEF_ieee_binary32_w0_tags_5, /* Same as above */ - sizeof(asn_DEF_ieee_binary32_w0_tags_5) - /sizeof(asn_DEF_ieee_binary32_w0_tags_5[0]), /* 1 */ - { 0, &asn_PER_type_ieee_binary32_w0_constr_5, ieee_binary32_w0_5_constraint }, - 0, 0, /* No members */ - &asn_SPC_ieee_binary32_w0_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Test_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Test, indirect_ieee_binary32), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Indirect_IEEE_binary32, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "indirect-ieee-binary32" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary32_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary32-w0" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_0w), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_0w, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-0w" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w0), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IEEE_binary64_w0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ieee-binary64-w0" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 0, 0, 6 }, /* indirect-ieee-binary32 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 1, -1, 5 }, /* ieee-binary32-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 2, -2, 4 }, /* ieee-binary32-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 3, -3, 3 }, /* ieee-binary32-w0 */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 4, -4, 2 }, /* ieee-binary64-w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 5, -5, 1 }, /* ieee-binary64-0w */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 6, -6, 0 } /* ieee-binary64-w0 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Test_specs_1 = { - sizeof(struct Test), - offsetof(struct Test, _asn_ctx), - .tag2el = asn_MAP_Test_tag2el_1, - .tag2el_count = 7, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Test = { - "Test", - "Test", - &asn_OP_SEQUENCE, - asn_DEF_Test_tags_1, - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - asn_DEF_Test_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_tags_1) - /sizeof(asn_DEF_Test_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Test_1, - 7, /* Elements count */ - &asn_SPC_Test_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1 b/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1 deleted file mode 100644 index c9f3138..0000000 --- a/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1 +++ /dev/null @@ -1,58 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .155 - -ModuleParameterizationMoreThanTwoLevel - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 155 } -DEFINITIONS ::= BEGIN - - id-TYPE1 PacketId ::= 1 - - PacketId ::= INTEGER (0..65535) - - Color ::= ENUMERATED { red(0), green, blue } - - Valid ::= ENUMERATED { crc-nok, crc-ok(1) } - - PACKET ::= CLASS { - &id PacketId UNIQUE, - &color Color, - &Value, - &valid Valid - } - WITH SYNTAX { - ID &id - COLOR &color - TYPE &Value - VALID &valid - } - - ClassItem PACKET ::= { - { ID id-TYPE1 COLOR blue TYPE OCTET STRING VALID crc-ok }, - ... - } - - Packet-List ::= UpperLayer-List { {ClassItem} } - - UpperLayer-List {PACKET : Param} ::= LowerLayer-List { 1, max-items, {Param} } - - LowerLayer-List {INTEGER : low, INTEGER : high, PACKET : Param} ::= - SEQUENCE (SIZE (low..high)) OF - SinglePacket {{Param}} - - SinglePacket {PACKET : Param} ::= - Packet {{Param}} - - Packet {PACKET : Param} ::= SEQUENCE { - id PACKET.&id ({Param}), - color PACKET.&color ({Param}{@id}), - value PACKET.&Value ({Param}{@id}) - } - - max-items INTEGER ::= 256 - -END diff --git a/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1.-Pgen-PER deleted file mode 100644 index c4aaa97..0000000 --- a/tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,880 +0,0 @@ - -/*** <<< INCLUDES [PacketId] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PacketId] >>> ***/ - -typedef long PacketId_t; - -/*** <<< FUNC-DECLS [PacketId] >>> ***/ - -#define PacketId_id_TYPE1 ((PacketId_t)1) -extern asn_per_constraints_t asn_PER_type_PacketId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PacketId; -asn_struct_free_f PacketId_free; -asn_struct_print_f PacketId_print; -asn_constr_check_f PacketId_constraint; -ber_type_decoder_f PacketId_decode_ber; -der_type_encoder_f PacketId_encode_der; -xer_type_decoder_f PacketId_decode_xer; -xer_type_encoder_f PacketId_encode_xer; -per_type_decoder_f PacketId_decode_uper; -per_type_encoder_f PacketId_encode_uper; -per_type_decoder_f PacketId_decode_aper; -per_type_encoder_f PacketId_encode_aper; - -/*** <<< CODE [PacketId] >>> ***/ - -int -PacketId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [PacketId] >>> ***/ - -asn_per_constraints_t asn_PER_type_PacketId_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [PacketId] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PacketId_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PacketId = { - "PacketId", - "PacketId", - &asn_OP_NativeInteger, - asn_DEF_PacketId_tags_1, - sizeof(asn_DEF_PacketId_tags_1) - /sizeof(asn_DEF_PacketId_tags_1[0]), /* 1 */ - asn_DEF_PacketId_tags_1, /* Same as above */ - sizeof(asn_DEF_PacketId_tags_1) - /sizeof(asn_DEF_PacketId_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_PacketId_constr_1, PacketId_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Color] >>> ***/ - -#include - -/*** <<< DEPS [Color] >>> ***/ - -typedef enum Color { - Color_red = 0, - Color_green = 1, - Color_blue = 2 -} e_Color; - -/*** <<< TYPE-DECLS [Color] >>> ***/ - -typedef long Color_t; - -/*** <<< FUNC-DECLS [Color] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Color_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Color; -extern const asn_INTEGER_specifics_t asn_SPC_Color_specs_1; -asn_struct_free_f Color_free; -asn_struct_print_f Color_print; -asn_constr_check_f Color_constraint; -ber_type_decoder_f Color_decode_ber; -der_type_encoder_f Color_encode_der; -xer_type_decoder_f Color_decode_xer; -xer_type_encoder_f Color_encode_xer; -per_type_decoder_f Color_decode_uper; -per_type_encoder_f Color_encode_uper; -per_type_decoder_f Color_decode_aper; -per_type_encoder_f Color_encode_aper; - -/*** <<< CODE [Color] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Color] >>> ***/ - -asn_per_constraints_t asn_PER_type_Color_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Color] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Color_value2enum_1[] = { - { 0, 3, "red" }, - { 1, 5, "green" }, - { 2, 4, "blue" } -}; -static const unsigned int asn_MAP_Color_enum2value_1[] = { - 2, /* blue(2) */ - 1, /* green(1) */ - 0 /* red(0) */ -}; -const asn_INTEGER_specifics_t asn_SPC_Color_specs_1 = { - asn_MAP_Color_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Color_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Color_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Color = { - "Color", - "Color", - &asn_OP_NativeEnumerated, - asn_DEF_Color_tags_1, - sizeof(asn_DEF_Color_tags_1) - /sizeof(asn_DEF_Color_tags_1[0]), /* 1 */ - asn_DEF_Color_tags_1, /* Same as above */ - sizeof(asn_DEF_Color_tags_1) - /sizeof(asn_DEF_Color_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Color_constr_1, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Color_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Valid] >>> ***/ - -#include - -/*** <<< DEPS [Valid] >>> ***/ - -typedef enum Valid { - Valid_crc_nok = 0, - Valid_crc_ok = 1 -} e_Valid; - -/*** <<< TYPE-DECLS [Valid] >>> ***/ - -typedef long Valid_t; - -/*** <<< FUNC-DECLS [Valid] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Valid_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Valid; -extern const asn_INTEGER_specifics_t asn_SPC_Valid_specs_1; -asn_struct_free_f Valid_free; -asn_struct_print_f Valid_print; -asn_constr_check_f Valid_constraint; -ber_type_decoder_f Valid_decode_ber; -der_type_encoder_f Valid_encode_der; -xer_type_decoder_f Valid_decode_xer; -xer_type_encoder_f Valid_encode_xer; -per_type_decoder_f Valid_decode_uper; -per_type_encoder_f Valid_encode_uper; -per_type_decoder_f Valid_decode_aper; -per_type_encoder_f Valid_encode_aper; - -/*** <<< CODE [Valid] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Valid] >>> ***/ - -asn_per_constraints_t asn_PER_type_Valid_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Valid] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Valid_value2enum_1[] = { - { 0, 7, "crc-nok" }, - { 1, 6, "crc-ok" } -}; -static const unsigned int asn_MAP_Valid_enum2value_1[] = { - 0, /* crc-nok(0) */ - 1 /* crc-ok(1) */ -}; -const asn_INTEGER_specifics_t asn_SPC_Valid_specs_1 = { - asn_MAP_Valid_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Valid_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Valid_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Valid = { - "Valid", - "Valid", - &asn_OP_NativeEnumerated, - asn_DEF_Valid_tags_1, - sizeof(asn_DEF_Valid_tags_1) - /sizeof(asn_DEF_Valid_tags_1[0]), /* 1 */ - asn_DEF_Valid_tags_1, /* Same as above */ - sizeof(asn_DEF_Valid_tags_1) - /sizeof(asn_DEF_Valid_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Valid_constr_1, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Valid_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Packet-List] >>> ***/ - -#include "UpperLayer-List.h" - -/*** <<< TYPE-DECLS [Packet-List] >>> ***/ - -typedef UpperLayer_List_41P0_t Packet_List_t; - -/*** <<< FUNC-DECLS [Packet-List] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Packet_List; -asn_struct_free_f Packet_List_free; -asn_struct_print_f Packet_List_print; -asn_constr_check_f Packet_List_constraint; -ber_type_decoder_f Packet_List_decode_ber; -der_type_encoder_f Packet_List_encode_der; -xer_type_decoder_f Packet_List_decode_xer; -xer_type_encoder_f Packet_List_encode_xer; -per_type_decoder_f Packet_List_decode_uper; -per_type_encoder_f Packet_List_encode_uper; -per_type_decoder_f Packet_List_decode_aper; -per_type_encoder_f Packet_List_encode_aper; - -/*** <<< CODE [Packet-List] >>> ***/ - -int -Packet_List_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size >= 1 && size <= 256)) { - /* Perform validation of the inner elements */ - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using UpperLayer_List_41P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Packet-List] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Packet_List_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Packet-List] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Packet_List_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Packet_List = { - "Packet-List", - "Packet-List", - &asn_OP_SEQUENCE_OF, - asn_DEF_Packet_List_tags_1, - sizeof(asn_DEF_Packet_List_tags_1) - /sizeof(asn_DEF_Packet_List_tags_1[0]), /* 1 */ - asn_DEF_Packet_List_tags_1, /* Same as above */ - sizeof(asn_DEF_Packet_List_tags_1) - /sizeof(asn_DEF_Packet_List_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Packet_List_constr_1, Packet_List_constraint }, - asn_MBR_LowerLayer_List_45P0_1, - 1, /* Single element */ - &asn_SPC_LowerLayer_List_45P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [UpperLayer-List] >>> ***/ - -#include "LowerLayer-List.h" - -/*** <<< TYPE-DECLS [UpperLayer-List] >>> ***/ - -typedef LowerLayer_List_45P0_t UpperLayer_List_41P0_t; - -/*** <<< FUNC-DECLS [UpperLayer-List] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_UpperLayer_List_41P0_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_UpperLayer_List_41P0; -asn_struct_free_f UpperLayer_List_41P0_free; -asn_struct_print_f UpperLayer_List_41P0_print; -asn_constr_check_f UpperLayer_List_41P0_constraint; -ber_type_decoder_f UpperLayer_List_41P0_decode_ber; -der_type_encoder_f UpperLayer_List_41P0_encode_der; -xer_type_decoder_f UpperLayer_List_41P0_decode_xer; -xer_type_encoder_f UpperLayer_List_41P0_encode_xer; -per_type_decoder_f UpperLayer_List_41P0_decode_uper; -per_type_encoder_f UpperLayer_List_41P0_encode_uper; -per_type_decoder_f UpperLayer_List_41P0_decode_aper; -per_type_encoder_f UpperLayer_List_41P0_encode_aper; - -/*** <<< CODE [UpperLayer-List] >>> ***/ - -int -UpperLayer_List_41P0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size >= 1 && size <= 256)) { - /* Perform validation of the inner elements */ - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using LowerLayer_List_45P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [UpperLayer-List] >>> ***/ - -asn_per_constraints_t asn_PER_type_UpperLayer_List_41P0_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [UpperLayer-List] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_UpperLayer_List_41P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UpperLayer_List_41P0 = { - "UpperLayer-List", - "UpperLayer-List", - &asn_OP_SEQUENCE_OF, - asn_DEF_UpperLayer_List_41P0_tags_1, - sizeof(asn_DEF_UpperLayer_List_41P0_tags_1) - /sizeof(asn_DEF_UpperLayer_List_41P0_tags_1[0]), /* 1 */ - asn_DEF_UpperLayer_List_41P0_tags_1, /* Same as above */ - sizeof(asn_DEF_UpperLayer_List_41P0_tags_1) - /sizeof(asn_DEF_UpperLayer_List_41P0_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_UpperLayer_List_41P0_constr_1, UpperLayer_List_41P0_constraint }, - asn_MBR_LowerLayer_List_45P0_1, - 1, /* Single element */ - &asn_SPC_LowerLayer_List_45P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [LowerLayer-List] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [LowerLayer-List] >>> ***/ - -struct SinglePacket; - -/*** <<< TYPE-DECLS [LowerLayer-List] >>> ***/ - -typedef struct LowerLayer_List_45P0 { - A_SEQUENCE_OF(struct SinglePacket) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LowerLayer_List_45P0_t; - -/*** <<< FUNC-DECLS [LowerLayer-List] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_LowerLayer_List_45P0; -extern asn_SET_OF_specifics_t asn_SPC_LowerLayer_List_45P0_specs_1; -extern asn_TYPE_member_t asn_MBR_LowerLayer_List_45P0_1[1]; -extern asn_per_constraints_t asn_PER_type_LowerLayer_List_45P0_constr_1; - -/*** <<< POST-INCLUDE [LowerLayer-List] >>> ***/ - -#include "SinglePacket.h" - -/*** <<< CTDEFS [LowerLayer-List] >>> ***/ - -asn_per_constraints_t asn_PER_type_LowerLayer_List_45P0_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [LowerLayer-List] >>> ***/ - -asn_TYPE_member_t asn_MBR_LowerLayer_List_45P0_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_SinglePacket_48P0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_LowerLayer_List_45P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_LowerLayer_List_45P0_specs_1 = { - sizeof(struct LowerLayer_List_45P0), - offsetof(struct LowerLayer_List_45P0, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_LowerLayer_List_45P0 = { - "LowerLayer-List", - "LowerLayer-List", - &asn_OP_SEQUENCE_OF, - asn_DEF_LowerLayer_List_45P0_tags_1, - sizeof(asn_DEF_LowerLayer_List_45P0_tags_1) - /sizeof(asn_DEF_LowerLayer_List_45P0_tags_1[0]), /* 1 */ - asn_DEF_LowerLayer_List_45P0_tags_1, /* Same as above */ - sizeof(asn_DEF_LowerLayer_List_45P0_tags_1) - /sizeof(asn_DEF_LowerLayer_List_45P0_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_LowerLayer_List_45P0_constr_1, SEQUENCE_OF_constraint }, - asn_MBR_LowerLayer_List_45P0_1, - 1, /* Single element */ - &asn_SPC_LowerLayer_List_45P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SinglePacket] >>> ***/ - -#include "Packet.h" - -/*** <<< TYPE-DECLS [SinglePacket] >>> ***/ - -typedef ClassItem_t SinglePacket_48P0_t; - -/*** <<< FUNC-DECLS [SinglePacket] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SinglePacket_48P0; -asn_struct_free_f SinglePacket_48P0_free; -asn_struct_print_f SinglePacket_48P0_print; -asn_constr_check_f SinglePacket_48P0_constraint; -ber_type_decoder_f SinglePacket_48P0_decode_ber; -der_type_encoder_f SinglePacket_48P0_encode_der; -xer_type_decoder_f SinglePacket_48P0_decode_xer; -xer_type_encoder_f SinglePacket_48P0_encode_xer; -per_type_decoder_f SinglePacket_48P0_decode_uper; -per_type_encoder_f SinglePacket_48P0_encode_uper; -per_type_decoder_f SinglePacket_48P0_decode_aper; -per_type_encoder_f SinglePacket_48P0_encode_aper; - -/*** <<< CODE [SinglePacket] >>> ***/ - -/* - * This type is implemented using ClassItem, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SinglePacket] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SinglePacket_48P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SinglePacket_48P0 = { - "SinglePacket", - "SinglePacket", - &asn_OP_SEQUENCE, - asn_DEF_SinglePacket_48P0_tags_1, - sizeof(asn_DEF_SinglePacket_48P0_tags_1) - /sizeof(asn_DEF_SinglePacket_48P0_tags_1[0]), /* 1 */ - asn_DEF_SinglePacket_48P0_tags_1, /* Same as above */ - sizeof(asn_DEF_SinglePacket_48P0_tags_1) - /sizeof(asn_DEF_SinglePacket_48P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ClassItem_1, - 3, /* Elements count */ - &asn_SPC_ClassItem_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Packet] >>> ***/ - -#include "PacketId.h" -#include "Color.h" -#include -#include -#include -#include "Valid.h" -#include -#include -#include - -/*** <<< DEPS [Packet] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_OCTET_STRING -} value_PR; - -/*** <<< TYPE-DECLS [Packet] >>> ***/ - -typedef struct ClassItem { - PacketId_t id; - Color_t color; - struct value { - value_PR present; - union ClassItem__value_u { - OCTET_STRING_t OCTET_STRING; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ClassItem_t; - -/*** <<< FUNC-DECLS [Packet] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ClassItem; -extern asn_SEQUENCE_specifics_t asn_SPC_ClassItem_specs_1; -extern asn_TYPE_member_t asn_MBR_ClassItem_1[3]; - -/*** <<< IOC-TABLES [Packet] >>> ***/ - -static const long asn_VAL_1_id_TYPE1 = 1; -static const long asn_VAL_1_blue = 2; -static const long asn_VAL_1_crc_ok = 1; -static const asn_ioc_cell_t asn_IOS_ClassItem_1_rows[] = { - { "&id", aioc__value, &asn_DEF_PacketId, &asn_VAL_1_id_TYPE1 }, - { "&color", aioc__value, &asn_DEF_Color, &asn_VAL_1_blue }, - { "&Value", aioc__type, &asn_DEF_OCTET_STRING }, - { "&valid", aioc__value, &asn_DEF_Valid, &asn_VAL_1_crc_ok } -}; -static const asn_ioc_set_t asn_IOS_ClassItem_1[] = { - { 1, 4, asn_IOS_ClassItem_1_rows } -}; - -/*** <<< CODE [Packet] >>> ***/ - -static int -memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 65535)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_type_selector_result_t -select_ClassItem_color_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_ClassItem_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &color */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ClassItem, id)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_color_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_ClassItem_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_ClassItem_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 2; /* &Value */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ClassItem, id)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< CTDEFS [Packet] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_color_constr_3 CC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Packet] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.OCTET_STRING), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "OCTET STRING" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* OCTET STRING */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_4, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_4 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_4, - 1, /* Elements count */ - &asn_SPC_value_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_ClassItem_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ClassItem, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_PacketId, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_id_constr_2, .general_constraints = memb_id_constraint_1 }, - 0, 0, /* No default value */ - .name = "id" - }, - { ATF_NOFLAGS, 0, offsetof(struct ClassItem, color), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Color, - .type_selector = select_ClassItem_color_type, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_color_constr_3, .general_constraints = memb_color_constraint_1 }, - 0, 0, /* No default value */ - .name = "color" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ClassItem, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_4, - .type_selector = select_ClassItem_value_type, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_value_constr_4, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_ClassItem_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ClassItem_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */ - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* color */ -}; -asn_SEQUENCE_specifics_t asn_SPC_ClassItem_specs_1 = { - sizeof(struct ClassItem), - offsetof(struct ClassItem, _asn_ctx), - .tag2el = asn_MAP_ClassItem_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ClassItem = { - "ClassItem", - "ClassItem", - &asn_OP_SEQUENCE, - asn_DEF_ClassItem_tags_1, - sizeof(asn_DEF_ClassItem_tags_1) - /sizeof(asn_DEF_ClassItem_tags_1[0]), /* 1 */ - asn_DEF_ClassItem_tags_1, /* Same as above */ - sizeof(asn_DEF_ClassItem_tags_1) - /sizeof(asn_DEF_ClassItem_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ClassItem_1, - 3, /* Elements count */ - &asn_SPC_ClassItem_specs_1 /* Additional specs */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define max_items (256) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/156-union-ios-OK.asn1 b/tests/tests-asn1c-compiler/156-union-ios-OK.asn1 deleted file mode 100644 index efdf467..0000000 --- a/tests/tests-asn1c-compiler/156-union-ios-OK.asn1 +++ /dev/null @@ -1,46 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .156 - -ModuleUnionIOS - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 156 } -DEFINITIONS ::= BEGIN - - MYID ::= CLASS { - &id INTEGER UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - TotalRegionExtension MYID ::= { - RegionalExtension1 | - RegionalExtension2 - } - - RegionalExtension1 MYID ::= { - {INTEGER IDENTIFIED BY 1} | - {BOOLEAN IDENTIFIED BY 2}, - ..., - {OCTET STRING IDENTIFIED BY 3} - } - - RegionalExtension2 MYID ::= { - {INTEGER IDENTIFIED BY 1}, - ..., - {BOOLEAN IDENTIFIED BY 2} | - {OCTET STRING IDENTIFIED BY 3} - } - - Message ::= SEQUENCE { - content SpecializedContent {{TotalRegionExtension}} - } - - SpecializedContent {MYID : Set} ::= SEQUENCE { - id MYID.&id({Set}), - value MYID.&Type({Set}{@id}) - } - -END diff --git a/tests/tests-asn1c-compiler/156-union-ios-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/156-union-ios-OK.asn1.-Pgen-PER deleted file mode 100644 index 8c053e4..0000000 --- a/tests/tests-asn1c-compiler/156-union-ios-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,330 +0,0 @@ - -/*** <<< INCLUDES [Message] >>> ***/ - -#include "SpecializedContent.h" -#include - -/*** <<< TYPE-DECLS [Message] >>> ***/ - -typedef struct Message { - TotalRegionExtension_t content; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Message_t; - -/*** <<< FUNC-DECLS [Message] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Message; - -/*** <<< STAT-DEFS [Message] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Message_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Message, content), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_TotalRegionExtension, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "content" - }, -}; -static const ber_tlv_tag_t asn_DEF_Message_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Message_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* content */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Message_specs_1 = { - sizeof(struct Message), - offsetof(struct Message, _asn_ctx), - .tag2el = asn_MAP_Message_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Message = { - "Message", - "Message", - &asn_OP_SEQUENCE, - asn_DEF_Message_tags_1, - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - asn_DEF_Message_tags_1, /* Same as above */ - sizeof(asn_DEF_Message_tags_1) - /sizeof(asn_DEF_Message_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Message_1, - 1, /* Elements count */ - &asn_SPC_Message_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SpecializedContent] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [SpecializedContent] >>> ***/ - -typedef enum value_PR { - value_PR_NOTHING, /* No components present */ - value_PR_INTEGER, - value_PR_BOOLEAN, - value_PR_OCTET_STRING -} value_PR; - -/*** <<< TYPE-DECLS [SpecializedContent] >>> ***/ - -typedef struct TotalRegionExtension { - long id; - struct value { - value_PR present; - union TotalRegionExtension__value_u { - long INTEGER; - BOOLEAN_t BOOLEAN; - OCTET_STRING_t OCTET_STRING; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TotalRegionExtension_t; - -/*** <<< FUNC-DECLS [SpecializedContent] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TotalRegionExtension; -extern asn_SEQUENCE_specifics_t asn_SPC_TotalRegionExtension_specs_1; -extern asn_TYPE_member_t asn_MBR_TotalRegionExtension_1[2]; - -/*** <<< IOC-TABLES [SpecializedContent] >>> ***/ - -static const long asn_VAL_1_1 = 1; -static const long asn_VAL_2_2 = 2; -static const long asn_VAL_3_3 = 3; -static const long asn_VAL_4_1 = 1; -static const long asn_VAL_5_2 = 2; -static const long asn_VAL_6_3 = 3; -static const asn_ioc_cell_t asn_IOS_TotalRegionExtension_1_rows[] = { - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 }, - { "&Type", aioc__type, &asn_DEF_NativeInteger }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 }, - { "&Type", aioc__type, &asn_DEF_BOOLEAN }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_3_3 }, - { "&Type", aioc__type, &asn_DEF_OCTET_STRING }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_4_1 }, - { "&Type", aioc__type, &asn_DEF_NativeInteger }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_5_2 }, - { "&Type", aioc__type, &asn_DEF_BOOLEAN }, - { "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_6_3 }, - { "&Type", aioc__type, &asn_DEF_OCTET_STRING } -}; -static const asn_ioc_set_t asn_IOS_TotalRegionExtension_1[] = { - { 6, 2, asn_IOS_TotalRegionExtension_1_rows } -}; - -/*** <<< CODE [SpecializedContent] >>> ***/ - -static int -memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -static asn_type_selector_result_t -select_TotalRegionExtension_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { - asn_type_selector_result_t result = {0, 0}; - const asn_ioc_set_t *itable = asn_IOS_TotalRegionExtension_1; - size_t constraining_column = 0; /* &id */ - size_t for_column = 1; /* &Type */ - size_t row, presence_index = 0; - const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct TotalRegionExtension, id)); - - for(row=0; row < itable->rows_count; row++) { - const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; - const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; - - if(type_cell->cell_kind == aioc__undefined) - continue; - - presence_index++; - if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { - result.type_descriptor = type_cell->type_descriptor; - result.presence_index = presence_index; - break; - } - } - - return result; -} - -static int -memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< CTDEFS [SpecializedContent] >>> ***/ - -static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_value_constr_3 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [SpecializedContent] >>> ***/ - -static asn_TYPE_member_t asn_MBR_value_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct value, choice.INTEGER), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "INTEGER" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.BOOLEAN), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "BOOLEAN" - }, - { ATF_NOFLAGS, 0, offsetof(struct value, choice.OCTET_STRING), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "OCTET STRING" - }, -}; -static const unsigned asn_MAP_value_to_canonical_3[] = { 1, 0, 2 }; -static const unsigned asn_MAP_value_from_canonical_3[] = { 1, 0, 2 }; -static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 1, 0, 0 }, /* BOOLEAN */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* INTEGER */ - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 0 } /* OCTET STRING */ -}; -static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { - sizeof(struct value), - offsetof(struct value, _asn_ctx), - offsetof(struct value, present), - sizeof(((struct value *)0)->present), - .tag2el = asn_MAP_value_tag2el_3, - .tag2el_count = 3, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_value_to_canonical_3, - .from_canonical_order = asn_MAP_value_from_canonical_3, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_value_3 = { - "value", - "value", - &asn_OP_OPEN_TYPE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, OPEN_TYPE_constraint }, - asn_MBR_value_3, - 3, /* Elements count */ - &asn_SPC_value_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_TotalRegionExtension_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TotalRegionExtension, id), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_id_constr_2, .general_constraints = memb_id_constraint_1 }, - 0, 0, /* No default value */ - .name = "id" - }, - { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct TotalRegionExtension, value), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_value_3, - .type_selector = select_TotalRegionExtension_value_type, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_value_constr_3, .general_constraints = memb_value_constraint_1 }, - 0, 0, /* No default value */ - .name = "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_TotalRegionExtension_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TotalRegionExtension_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* id */ -}; -asn_SEQUENCE_specifics_t asn_SPC_TotalRegionExtension_specs_1 = { - sizeof(struct TotalRegionExtension), - offsetof(struct TotalRegionExtension, _asn_ctx), - .tag2el = asn_MAP_TotalRegionExtension_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_TotalRegionExtension = { - "TotalRegionExtension", - "TotalRegionExtension", - &asn_OP_SEQUENCE, - asn_DEF_TotalRegionExtension_tags_1, - sizeof(asn_DEF_TotalRegionExtension_tags_1) - /sizeof(asn_DEF_TotalRegionExtension_tags_1[0]), /* 1 */ - asn_DEF_TotalRegionExtension_tags_1, /* Same as above */ - sizeof(asn_DEF_TotalRegionExtension_tags_1) - /sizeof(asn_DEF_TotalRegionExtension_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_TotalRegionExtension_1, - 2, /* Elements count */ - &asn_SPC_TotalRegionExtension_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1 b/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1 deleted file mode 100644 index d35e052..0000000 --- a/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .157 - -ModulePERCanonicalOrder - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 157 } -DEFINITIONS ::= BEGIN - - T ::= CHOICE { - one [4] NULL, - two [3] NULL, - three [1] NULL, - four [2] NULL - } - -END diff --git a/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1.-Pgen-PER deleted file mode 100644 index ba6520c..0000000 --- a/tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,116 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T_PR { - T_PR_NOTHING, /* No components present */ - T_PR_one, - T_PR_two, - T_PR_three, - T_PR_four -} T_PR; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - T_PR present; - union T_u { - NULL_t one; - NULL_t two; - NULL_t three; - NULL_t four; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CTDEFS [T] >>> ***/ - -static asn_per_constraints_t asn_PER_type_T_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, choice.one), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "one" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.two), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "two" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.three), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "three" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.four), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "four" - }, -}; -static const unsigned asn_MAP_T_to_canonical_1[] = { 2, 3, 1, 0 }; -static const unsigned asn_MAP_T_from_canonical_1[] = { 3, 2, 0, 1 }; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* three */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* four */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* two */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* one */ -}; -static asn_CHOICE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - offsetof(struct T, present), - sizeof(((struct T *)0)->present), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_T_to_canonical_1, - .from_canonical_order = asn_MAP_T_from_canonical_1, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, &asn_PER_type_T_constr_1, CHOICE_constraint }, - asn_MBR_T_1, - 4, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1 b/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1 deleted file mode 100644 index 16de4fa..0000000 --- a/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1 +++ /dev/null @@ -1,24 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .158 - -ModuleTestSequenceOfSequenceNested - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 158 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - SeqWithNestedSOS ::= SEQUENCE { - someString [0] UTF8String, - sos [1] SEQUENCE OF SEQUENCE { - anotherString [2] UTF8String, - nested-sos [3] SEQUENCE OF SEQUENCE { - nested-string [4] UTF8String - } - } - } - -END diff --git a/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1.-Pfcompound-names deleted file mode 100644 index 9e98f34..0000000 --- a/tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1.-Pfcompound-names +++ /dev/null @@ -1,269 +0,0 @@ - -/*** <<< INCLUDES [SeqWithNestedSOS] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DEFS [SeqWithNestedSOS] >>> ***/ - -typedef struct SeqWithNestedSOS__sos__Member { - UTF8String_t anotherString; - struct SeqWithNestedSOS__sos__Member__nested_sos { - A_SEQUENCE_OF(typedef struct SeqWithNestedSOS__sos__Member__nested_sos__Member { - UTF8String_t nested_string; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } SeqWithNestedSOS__sos__Member__nested_sos__Member; - SeqWithNestedSOS__sos__Member__nested_sos__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } nested_sos; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SeqWithNestedSOS__sos__Member; - -/*** <<< TYPE-DECLS [SeqWithNestedSOS] >>> ***/ - -typedef struct SeqWithNestedSOS { - UTF8String_t someString; - struct SeqWithNestedSOS__sos { - A_SEQUENCE_OF(SeqWithNestedSOS__sos__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } sos; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SeqWithNestedSOS_t; - -/*** <<< FUNC-DECLS [SeqWithNestedSOS] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SeqWithNestedSOS; - -/*** <<< STAT-DEFS [SeqWithNestedSOS] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Member_7[] = { - { ATF_NOFLAGS, 0, offsetof(struct SeqWithNestedSOS__sos__Member__nested_sos__Member, nested_string), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "nested-string" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_7[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_7[] = { - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* nested-string */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_7 = { - sizeof(struct SeqWithNestedSOS__sos__Member__nested_sos__Member), - offsetof(struct SeqWithNestedSOS__sos__Member__nested_sos__Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_7, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_7 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_7, - sizeof(asn_DEF_Member_tags_7) - /sizeof(asn_DEF_Member_tags_7[0]), /* 1 */ - asn_DEF_Member_tags_7, /* Same as above */ - sizeof(asn_DEF_Member_tags_7) - /sizeof(asn_DEF_Member_tags_7[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_7, - 1, /* Elements count */ - &asn_SPC_Member_specs_7 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_nested_sos_6[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_7, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_nested_sos_tags_6[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_nested_sos_specs_6 = { - sizeof(struct SeqWithNestedSOS__sos__Member__nested_sos), - offsetof(struct SeqWithNestedSOS__sos__Member__nested_sos, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_nested_sos_6 = { - "nested-sos", - "nested-sos", - &asn_OP_SEQUENCE_OF, - asn_DEF_nested_sos_tags_6, - sizeof(asn_DEF_nested_sos_tags_6) - /sizeof(asn_DEF_nested_sos_tags_6[0]) - 1, /* 1 */ - asn_DEF_nested_sos_tags_6, /* Same as above */ - sizeof(asn_DEF_nested_sos_tags_6) - /sizeof(asn_DEF_nested_sos_tags_6[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_nested_sos_6, - 1, /* Single element */ - &asn_SPC_nested_sos_specs_6 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Member_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct SeqWithNestedSOS__sos__Member, anotherString), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "anotherString" - }, - { ATF_NOFLAGS, 0, offsetof(struct SeqWithNestedSOS__sos__Member, nested_sos), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_nested_sos_6, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "nested-sos" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_4[] = { - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* anotherString */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* nested-sos */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_4 = { - sizeof(struct SeqWithNestedSOS__sos__Member), - offsetof(struct SeqWithNestedSOS__sos__Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_4, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_4 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_4, - sizeof(asn_DEF_Member_tags_4) - /sizeof(asn_DEF_Member_tags_4[0]), /* 1 */ - asn_DEF_Member_tags_4, /* Same as above */ - sizeof(asn_DEF_Member_tags_4) - /sizeof(asn_DEF_Member_tags_4[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_4, - 2, /* Elements count */ - &asn_SPC_Member_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_sos_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_sos_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_sos_specs_3 = { - sizeof(struct SeqWithNestedSOS__sos), - offsetof(struct SeqWithNestedSOS__sos, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_sos_3 = { - "sos", - "sos", - &asn_OP_SEQUENCE_OF, - asn_DEF_sos_tags_3, - sizeof(asn_DEF_sos_tags_3) - /sizeof(asn_DEF_sos_tags_3[0]) - 1, /* 1 */ - asn_DEF_sos_tags_3, /* Same as above */ - sizeof(asn_DEF_sos_tags_3) - /sizeof(asn_DEF_sos_tags_3[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_sos_3, - 1, /* Single element */ - &asn_SPC_sos_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_SeqWithNestedSOS_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SeqWithNestedSOS, someString), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "someString" - }, - { ATF_NOFLAGS, 0, offsetof(struct SeqWithNestedSOS, sos), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_sos_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "sos" - }, -}; -static const ber_tlv_tag_t asn_DEF_SeqWithNestedSOS_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SeqWithNestedSOS_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* someString */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sos */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_SeqWithNestedSOS_specs_1 = { - sizeof(struct SeqWithNestedSOS), - offsetof(struct SeqWithNestedSOS, _asn_ctx), - .tag2el = asn_MAP_SeqWithNestedSOS_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SeqWithNestedSOS = { - "SeqWithNestedSOS", - "SeqWithNestedSOS", - &asn_OP_SEQUENCE, - asn_DEF_SeqWithNestedSOS_tags_1, - sizeof(asn_DEF_SeqWithNestedSOS_tags_1) - /sizeof(asn_DEF_SeqWithNestedSOS_tags_1[0]), /* 1 */ - asn_DEF_SeqWithNestedSOS_tags_1, /* Same as above */ - sizeof(asn_DEF_SeqWithNestedSOS_tags_1) - /sizeof(asn_DEF_SeqWithNestedSOS_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SeqWithNestedSOS_1, - 2, /* Elements count */ - &asn_SPC_SeqWithNestedSOS_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/16-constraint-OK.asn1 b/tests/tests-asn1c-compiler/16-constraint-OK.asn1 deleted file mode 100644 index 00ade37..0000000 --- a/tests/tests-asn1c-compiler/16-constraint-OK.asn1 +++ /dev/null @@ -1,39 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .16 1 --- .16 2 - -ModuleTestConstraint1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 16 1 } - DEFINITIONS ::= -BEGIN - IMPORTS Type1 FROM ModuleTestConstraint2; - - -- external reference - Type0 ::= IA5String (Type6) - Type6 ::= IA5String (Type1) -END - -ModuleTestConstraint2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 16 2 } - DEFINITIONS ::= -BEGIN - EXPORTS Type1; - - -- external reference - Type1 ::= IA5String (SIZE(1..ten,...))(FROM("a".."z"|"#",...)) - Type2 ::= IA5String (SIZE (MIN..4)|FROM ("abc")) - Type3 ::= BMPString (SIZE(1)) - Type4 ::= INTEGER (1..MAX) - Type5 ::= BOOLEAN (TRUE|FALSE) - - ten INTEGER ::= 10 - - v1 Type1 ::= "#value wi - th ""double quotes""" -END diff --git a/tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EF b/tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EF deleted file mode 100644 index 314f710..0000000 --- a/tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EF +++ /dev/null @@ -1,31 +0,0 @@ -ModuleTestConstraint1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 16 1 } -DEFINITIONS ::= -BEGIN - -Type0 ::= IA5String (((SIZE(1..10)) (FROM("a".."z" | "#")))) - -Type6 ::= IA5String ((SIZE(1..10)) (FROM("a".."z" | "#"))) - -END - -ModuleTestConstraint2 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 16 2 } -DEFINITIONS ::= -BEGIN - -Type1 ::= IA5String (SIZE(1..10,...)) (FROM("a".."z" | "#",...)) - -Type2 ::= IA5String (SIZE(MIN..4) | FROM("abc")) - -Type3 ::= BMPString (SIZE(1)) - -Type4 ::= INTEGER (1..MAX) - -Type5 ::= BOOLEAN (TRUE | FALSE) - -ten INTEGER ::= 10 - -v1 Type1 ::= "#value with ""double quotes""" - -END diff --git a/tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/16-constraint-OK.asn1.-EFprint-constraints deleted file mode 100644 index df2e07f902b71d7f2ce5d2f4d156d568248a4ed9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2804 zcmcgu+iKfD5bbOA6~p>v1-0<{1~v4-Nt7UnWMjKf`X<}kRNzXkw03Bl(l0M`FN&|L zQ5|Ug=G~dmnX@xzCd`(b6`%1!TxV$^@;FHagCCF-8D#kb?YOYambCAJyx@7t1!XR* z^JE(fPP;B}bu9lETwXY@i#1;*8GYO7OV1+vBp%~j-9TKVY(aZ22>C5_!1}=8r*q@q z22n5zM$r@ogLlrAe-}iKGyAsYEp-6Fus0QXl0E>XbQ*m0Df2wma$TUelTk=XOgxW# zC-4NML0tKBnoYRQzRZ)9FJZAus~B7qVVuVcku2iXVF;iam@7ktLF9Si@Pou*L)FlL zN^Azx$e%Q~Ns-J~{KA+jqw$NqOP)>&C&uLdm&7=ZA`X|ce1l1k4*HZ%sU*u7ZE4>> ***/ - -#include -#include -#include -#include "Name.h" -#include - -/*** <<< TYPE-DECLS [SIGNED] >>> ***/ - -typedef struct SIGNED_15P0 { - struct toBeSigned { - INTEGER_t version; - OBJECT_IDENTIFIER_t signature; - Name_t issuer; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } toBeSigned; - OBJECT_IDENTIFIER_t algorithm; - BIT_STRING_t signature; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SIGNED_15P0_t; - -/*** <<< FUNC-DECLS [SIGNED] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIGNED_15P0; -extern asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1; -extern asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[3]; - -/*** <<< CODE [SIGNED] >>> ***/ - -static int -memb_signature_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size <= 256)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [SIGNED] >>> ***/ - -static asn_TYPE_member_t asn_MBR_toBeSigned_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct toBeSigned, version), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "version" - }, - { ATF_NOFLAGS, 0, offsetof(struct toBeSigned, signature), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OBJECT_IDENTIFIER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "signature" - }, - { ATF_NOFLAGS, 0, offsetof(struct toBeSigned, issuer), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Name, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "issuer" - }, -}; -static const ber_tlv_tag_t asn_DEF_toBeSigned_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_toBeSigned_tag2el_2[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* version */ - { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* signature */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 } /* issuer */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_toBeSigned_specs_2 = { - sizeof(struct toBeSigned), - offsetof(struct toBeSigned, _asn_ctx), - .tag2el = asn_MAP_toBeSigned_tag2el_2, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_toBeSigned_2 = { - "toBeSigned", - "toBeSigned", - &asn_OP_SEQUENCE, - asn_DEF_toBeSigned_tags_2, - sizeof(asn_DEF_toBeSigned_tags_2) - /sizeof(asn_DEF_toBeSigned_tags_2[0]), /* 1 */ - asn_DEF_toBeSigned_tags_2, /* Same as above */ - sizeof(asn_DEF_toBeSigned_tags_2) - /sizeof(asn_DEF_toBeSigned_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_toBeSigned_2, - 3, /* Elements count */ - &asn_SPC_toBeSigned_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_SIGNED_15P0_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SIGNED_15P0, toBeSigned), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_toBeSigned_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "toBeSigned" - }, - { ATF_NOFLAGS, 0, offsetof(struct SIGNED_15P0, algorithm), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OBJECT_IDENTIFIER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "algorithm" - }, - { ATF_NOFLAGS, 0, offsetof(struct SIGNED_15P0, signature), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_signature_constraint_1 }, - 0, 0, /* No default value */ - .name = "signature" - }, -}; -static const ber_tlv_tag_t asn_DEF_SIGNED_15P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SIGNED_15P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 2, 0, 0 }, /* signature */ - { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 1, 0, 0 }, /* algorithm */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* toBeSigned */ -}; -asn_SEQUENCE_specifics_t asn_SPC_SIGNED_15P0_specs_1 = { - sizeof(struct SIGNED_15P0), - offsetof(struct SIGNED_15P0, _asn_ctx), - .tag2el = asn_MAP_SIGNED_15P0_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SIGNED_15P0 = { - "SIGNED", - "SIGNED", - &asn_OP_SEQUENCE, - asn_DEF_SIGNED_15P0_tags_1, - sizeof(asn_DEF_SIGNED_15P0_tags_1) - /sizeof(asn_DEF_SIGNED_15P0_tags_1[0]), /* 1 */ - asn_DEF_SIGNED_15P0_tags_1, /* Same as above */ - sizeof(asn_DEF_SIGNED_15P0_tags_1) - /sizeof(asn_DEF_SIGNED_15P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_15P0_1, - 3, /* Elements count */ - &asn_SPC_SIGNED_15P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Certificate] >>> ***/ - -#include "SIGNED.h" - -/*** <<< TYPE-DECLS [Certificate] >>> ***/ - -typedef SIGNED_15P0_t Certificate_t; - -/*** <<< FUNC-DECLS [Certificate] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Certificate; -asn_struct_free_f Certificate_free; -asn_struct_print_f Certificate_print; -asn_constr_check_f Certificate_constraint; -ber_type_decoder_f Certificate_decode_ber; -der_type_encoder_f Certificate_encode_der; -xer_type_decoder_f Certificate_decode_xer; -xer_type_encoder_f Certificate_encode_xer; - -/*** <<< CODE [Certificate] >>> ***/ - -/* - * This type is implemented using SIGNED_15P0, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Certificate] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Certificate_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Certificate = { - "Certificate", - "Certificate", - &asn_OP_SEQUENCE, - asn_DEF_Certificate_tags_1, - sizeof(asn_DEF_Certificate_tags_1) - /sizeof(asn_DEF_Certificate_tags_1[0]), /* 1 */ - asn_DEF_Certificate_tags_1, /* Same as above */ - sizeof(asn_DEF_Certificate_tags_1) - /sizeof(asn_DEF_Certificate_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SIGNED_15P0_1, - 3, /* Elements count */ - &asn_SPC_SIGNED_15P0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Name] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Name] >>> ***/ - -struct RelativeDistinguishedName; - -/*** <<< TYPE-DECLS [Name] >>> ***/ - -typedef struct Name { - A_SEQUENCE_OF(struct RelativeDistinguishedName) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Name_t; - -/*** <<< FUNC-DECLS [Name] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Name; -extern asn_SET_OF_specifics_t asn_SPC_Name_specs_1; -extern asn_TYPE_member_t asn_MBR_Name_1[1]; - -/*** <<< POST-INCLUDE [Name] >>> ***/ - -#include "RelativeDistinguishedName.h" - -/*** <<< STAT-DEFS [Name] >>> ***/ - -asn_TYPE_member_t asn_MBR_Name_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RelativeDistinguishedName, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Name_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Name_specs_1 = { - sizeof(struct Name), - offsetof(struct Name, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Name = { - "Name", - "Name", - &asn_OP_SEQUENCE_OF, - asn_DEF_Name_tags_1, - sizeof(asn_DEF_Name_tags_1) - /sizeof(asn_DEF_Name_tags_1[0]), /* 1 */ - asn_DEF_Name_tags_1, /* Same as above */ - sizeof(asn_DEF_Name_tags_1) - /sizeof(asn_DEF_Name_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_Name_1, - 1, /* Single element */ - &asn_SPC_Name_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [RelativeDistinguishedName] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [RelativeDistinguishedName] >>> ***/ - -typedef struct RelativeDistinguishedName { - A_SET_OF(IA5String_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RelativeDistinguishedName_t; - -/*** <<< FUNC-DECLS [RelativeDistinguishedName] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName; -extern asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1; -extern asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[1]; - -/*** <<< CTABLES [RelativeDistinguishedName] >>> ***/ - -static const int permitted_alphabet_table_2[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, /* ,-. */ - 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, /* 0 9 */ - 0, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20, /* ABCDEFGHIJKLMNO */ -21,22,23,24,25,26,27,28,29,30,31, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */ - 0,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46, /* abcdefghijklmno */ -47,48,49,50,51,52,53,54,55,56,57, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; - -static int check_permitted_alphabet_2(const void *sptr) { - const int *table = permitted_alphabet_table_2; - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [RelativeDistinguishedName] >>> ***/ - -static int -memb_IA5String_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_2(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [RelativeDistinguishedName] >>> ***/ - -asn_TYPE_member_t asn_MBR_RelativeDistinguishedName_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_IA5String_constraint_1 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_RelativeDistinguishedName_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_RelativeDistinguishedName_specs_1 = { - sizeof(struct RelativeDistinguishedName), - offsetof(struct RelativeDistinguishedName, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_RelativeDistinguishedName = { - "RelativeDistinguishedName", - "RelativeDistinguishedName", - &asn_OP_SET_OF, - asn_DEF_RelativeDistinguishedName_tags_1, - sizeof(asn_DEF_RelativeDistinguishedName_tags_1) - /sizeof(asn_DEF_RelativeDistinguishedName_tags_1[0]), /* 1 */ - asn_DEF_RelativeDistinguishedName_tags_1, /* Same as above */ - sizeof(asn_DEF_RelativeDistinguishedName_tags_1) - /sizeof(asn_DEF_RelativeDistinguishedName_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_RelativeDistinguishedName_1, - 1, /* Single element */ - &asn_SPC_RelativeDistinguishedName_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/20-constr-OK.asn1 b/tests/tests-asn1c-compiler/20-constr-OK.asn1 deleted file mode 100644 index f2a97f0..0000000 --- a/tests/tests-asn1c-compiler/20-constr-OK.asn1 +++ /dev/null @@ -1,30 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .20 - -ModuleTestConstr - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 20 } - DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= -BEGIN - - ConstructedType1 ::= SEQUENCE { - a [1] INTEGER, - b [2] INTEGER, - ...!ex1, - c IA5String, - ..., - d UTF8String - } - - ConstructedType2 ::= SET { - a [1] INTEGER, - b [2] INTEGER - } - - ex1 INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/20-constr-OK.asn1.-EF b/tests/tests-asn1c-compiler/20-constr-OK.asn1.-EF deleted file mode 100644 index 798f756..0000000 --- a/tests/tests-asn1c-compiler/20-constr-OK.asn1.-EF +++ /dev/null @@ -1,22 +0,0 @@ -ModuleTestConstr { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 20 } -DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= -BEGIN - -ConstructedType1 ::= SEQUENCE { - a [1] IMPLICIT INTEGER, - b [2] IMPLICIT INTEGER, - d UTF8String, - ...!ex1, - c IA5String -} - -ConstructedType2 ::= SET { - a [1] IMPLICIT INTEGER, - b [2] IMPLICIT INTEGER, - ... -} - -ex1 INTEGER ::= 1 - -END diff --git a/tests/tests-asn1c-compiler/21-tags-OK.asn1 b/tests/tests-asn1c-compiler/21-tags-OK.asn1 deleted file mode 100644 index 3a46c32..0000000 --- a/tests/tests-asn1c-compiler/21-tags-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .21 1 --- .21 2 - -ModuleTestTags1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 21 1 } - DEFINITIONS EXPLICIT TAGS ::= -BEGIN - - T1 ::= CHOICE { - first [0] INTEGER, - second [1] INTEGER - } - -END - -ModuleTestTags2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 21 2 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - IMPORTS T1 FROM ModuleTestTags1; - - T2 ::= SEQUENCE { - one [0] T1, - two [1] IA5String - } - -END diff --git a/tests/tests-asn1c-compiler/21-tags-OK.asn1.-EF b/tests/tests-asn1c-compiler/21-tags-OK.asn1.-EF deleted file mode 100644 index 566e6a1..0000000 --- a/tests/tests-asn1c-compiler/21-tags-OK.asn1.-EF +++ /dev/null @@ -1,23 +0,0 @@ -ModuleTestTags1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 21 1 } -DEFINITIONS EXPLICIT TAGS ::= -BEGIN - -T1 ::= CHOICE { - first [0] EXPLICIT INTEGER, - second [1] EXPLICIT INTEGER -} - -END - -ModuleTestTags2 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 21 2 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -T2 ::= SEQUENCE { - one [0] EXPLICIT T1, - two [1] IMPLICIT IA5String -} - -END diff --git a/tests/tests-asn1c-compiler/22-tags-OK.asn1 b/tests/tests-asn1c-compiler/22-tags-OK.asn1 deleted file mode 100644 index 562e14b..0000000 --- a/tests/tests-asn1c-compiler/22-tags-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .22 - -ModuleTestTags3 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 22 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T1 ::= SEQUENCE { - a INTEGER, - b CHOICE { - i INTEGER, - n IA5String - }, - c UTF8String - } - -END diff --git a/tests/tests-asn1c-compiler/22-tags-OK.asn1.-EF b/tests/tests-asn1c-compiler/22-tags-OK.asn1.-EF deleted file mode 100644 index b1a0b8c..0000000 --- a/tests/tests-asn1c-compiler/22-tags-OK.asn1.-EF +++ /dev/null @@ -1,15 +0,0 @@ -ModuleTestTags3 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 22 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -T1 ::= SEQUENCE { - a [0] IMPLICIT INTEGER, - b [1] EXPLICIT CHOICE { - i [0] IMPLICIT INTEGER, - n [1] IMPLICIT IA5String - }, - c [2] IMPLICIT UTF8String -} - -END diff --git a/tests/tests-asn1c-compiler/22-tags-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/22-tags-OK.asn1.-Pfwide-types deleted file mode 100644 index e9d863d..0000000 --- a/tests/tests-asn1c-compiler/22-tags-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,153 +0,0 @@ - -/*** <<< INCLUDES [T1] >>> ***/ - -#include -#include -#include -#include -#include - -/*** <<< DEPS [T1] >>> ***/ - -typedef enum b_PR { - b_PR_NOTHING, /* No components present */ - b_PR_i, - b_PR_n -} b_PR; - -/*** <<< TYPE-DECLS [T1] >>> ***/ - -typedef struct T1 { - INTEGER_t a; - struct b { - b_PR present; - union T1__b_u { - INTEGER_t i; - IA5String_t n; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } b; - UTF8String_t c; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T1_t; - -/*** <<< FUNC-DECLS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; - -/*** <<< STAT-DEFS [T1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_b_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct b, choice.i), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, - { ATF_NOFLAGS, 0, offsetof(struct b, choice.n), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "n" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* i */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* n */ -}; -static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = { - sizeof(struct b), - offsetof(struct b, _asn_ctx), - offsetof(struct b, present), - sizeof(((struct b *)0)->present), - .tag2el = asn_MAP_b_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_b_3 = { - "b", - "b", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_b_3, - 2, /* Elements count */ - &asn_SPC_b_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T1, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct T1, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_b_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_NOFLAGS, 0, offsetof(struct T1, c), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c" - }, -}; -static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T1_specs_1 = { - sizeof(struct T1), - offsetof(struct T1, _asn_ctx), - .tag2el = asn_MAP_T1_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T1 = { - "T1", - "T1", - &asn_OP_SEQUENCE, - asn_DEF_T1_tags_1, - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - asn_DEF_T1_tags_1, /* Same as above */ - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T1_1, - 3, /* Elements count */ - &asn_SPC_T1_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/23-bits-OK.asn1 b/tests/tests-asn1c-compiler/23-bits-OK.asn1 deleted file mode 100644 index a4c1a65..0000000 --- a/tests/tests-asn1c-compiler/23-bits-OK.asn1 +++ /dev/null @@ -1,24 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .23 - -ModuleTestBitString - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 23 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - v28 INTEGER ::= 28 - - BS1 ::= BIT STRING { first(0), third(2), twenty-eight(v28) } - - one-zero-one BS1 ::= { first, third } -- Equivalent to '101'B - - one0one BS1 ::= '1010000'B -- Equivalent to '101'B - - empty BS1 ::= { } -- Equivalent to ''B - -END diff --git a/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF b/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF deleted file mode 100644 index d02605b..0000000 --- a/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF +++ /dev/null @@ -1,20 +0,0 @@ -ModuleTestBitString { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 23 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -v28 INTEGER ::= 28 - -BS1 ::= BIT STRING { - first(0), - third(2), - twenty-eight(28) -} - -one-zero-one BS1 ::= '101'B - -one0one BS1 ::= '101'B - -empty BS1 ::= ''H - -END diff --git a/tests/tests-asn1c-compiler/24-sequence-OK.asn1 b/tests/tests-asn1c-compiler/24-sequence-OK.asn1 deleted file mode 100644 index ce6f6d6..0000000 --- a/tests/tests-asn1c-compiler/24-sequence-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .24 - -ModuleTestSequence - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 24 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= [5] EXPLICIT SEQUENCE { - a INTEGER, - b [0] INTEGER OPTIONAL, - c [1] INTEGER DEFAULT ten, - d [5] EXPLICIT INTEGER - } - - ten INTEGER ::= 10 - -END diff --git a/tests/tests-asn1c-compiler/24-sequence-OK.asn1.-EF b/tests/tests-asn1c-compiler/24-sequence-OK.asn1.-EF deleted file mode 100644 index ecdc4b0..0000000 --- a/tests/tests-asn1c-compiler/24-sequence-OK.asn1.-EF +++ /dev/null @@ -1,15 +0,0 @@ -ModuleTestSequence { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 24 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -T ::= [5] EXPLICIT SEQUENCE { - a INTEGER, - b [0] IMPLICIT INTEGER OPTIONAL, - c [1] IMPLICIT INTEGER DEFAULT 10, - d [5] EXPLICIT INTEGER -} - -ten INTEGER ::= 10 - -END diff --git a/tests/tests-asn1c-compiler/25-misc-OK.asn1 b/tests/tests-asn1c-compiler/25-misc-OK.asn1 deleted file mode 100644 index 43487de..0000000 --- a/tests/tests-asn1c-compiler/25-misc-OK.asn1 +++ /dev/null @@ -1,29 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .25 - -ModuleTestMisc - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 25 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SEQUENCE { - a INTEGER, - b [2] BOOLEAN, - c NULL, - ..., - d ENUMERATED { - a(1), b(2) - }, - e OCTET STRING, - f [5] VisibleString, - g BIT STRING, - h [7] BIT STRING, - ... - } - -END diff --git a/tests/tests-asn1c-compiler/26-sequence-SE.asn1 b/tests/tests-asn1c-compiler/26-sequence-SE.asn1 deleted file mode 100644 index 8c5866a..0000000 --- a/tests/tests-asn1c-compiler/26-sequence-SE.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .26 - -ModuleTestSequenceTagsDistinct - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 26 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SEQUENCE { - a INTEGER, - b INTEGER OPTIONAL, - c INTEGER - } - -END diff --git a/tests/tests-asn1c-compiler/27-set-SE.asn1 b/tests/tests-asn1c-compiler/27-set-SE.asn1 deleted file mode 100644 index 91e5697..0000000 --- a/tests/tests-asn1c-compiler/27-set-SE.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .27 - -ModuleTestSetTagsDistinct - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 27 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SET { - a INTEGER, - b CHOICE { -- Could we lookup tag past CHOICE?.. - c INTEGER -- Tags must be distinct here. - } - } - -END diff --git a/tests/tests-asn1c-compiler/28-tags-SE.asn1 b/tests/tests-asn1c-compiler/28-tags-SE.asn1 deleted file mode 100644 index b3af0e3..0000000 --- a/tests/tests-asn1c-compiler/28-tags-SE.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .28 - -ModuleTestTagsDistinct - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 28 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - S ::= SET { - a INTEGER, - b CHOICE { - c IA5String, - ... - }, - d CHOICE { - e BOOLEAN, - ... - } - } - -END diff --git a/tests/tests-asn1c-compiler/29-tags-OK.asn1 b/tests/tests-asn1c-compiler/29-tags-OK.asn1 deleted file mode 100644 index 440f16c..0000000 --- a/tests/tests-asn1c-compiler/29-tags-OK.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- OK: Everything is fin - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .29 - -ModuleTestTagsDistinct2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 29 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - S ::= SET { - a INTEGER, - b CHOICE { - c IA5String, - ... - }, - d CHOICE { - e BOOLEAN, - ... - } - } - -END diff --git a/tests/tests-asn1c-compiler/30-set-OK.asn1 b/tests/tests-asn1c-compiler/30-set-OK.asn1 deleted file mode 100644 index 41ad52d..0000000 --- a/tests/tests-asn1c-compiler/30-set-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .30 - -ModuleTestSetSimple - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 30 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SET { - i [APPLICATION 3] INTEGER, - s IA5String, - ..., - b [2] BOOLEAN - } - -END diff --git a/tests/tests-asn1c-compiler/30-set-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/30-set-OK.asn1.-Pfwide-types deleted file mode 100644 index ef0ea21..0000000 --- a/tests/tests-asn1c-compiler/30-set-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,113 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include -#include - -/*** <<< DEPS [T] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum T_PR { - T_PR_i, /* Member i is present */ - T_PR_s, /* Member s is present */ - T_PR_b, /* Member b is present */ -} T_PR; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - INTEGER_t i; - IA5String_t s; - /* - * This type is extensible, - * possible extensions are below. - */ - BOOLEAN_t *b; - - /* Presence bitmask: ASN_SET_ISPRESENT(pT, T_PR_x) */ - unsigned int _presence_map - [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, i), - .tag = (ASN_TAG_CLASS_APPLICATION | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, s), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "s" - }, - { ATF_POINTER, 1, offsetof(struct T, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 1, 0, 0 }, /* s */ - { (ASN_TAG_CLASS_APPLICATION | (3 << 2)), 0, 0, 0 }, /* i */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */ -}; -static const uint8_t asn_MAP_T_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (1 << 6) | (0 << 5) -}; -static -asn_SET_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - offsetof(struct T, _presence_map), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - asn_MAP_T_tag2el_1, /* Same as above */ - 3, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_T_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SET, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_T_1, - 3, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/31-set-of-OK.asn1 b/tests/tests-asn1c-compiler/31-set-of-OK.asn1 deleted file mode 100644 index c8fa51e..0000000 --- a/tests/tests-asn1c-compiler/31-set-of-OK.asn1 +++ /dev/null @@ -1,40 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .31 - -ModuleTestSetOfSimple - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 31 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - Forest ::= SET OF Tree - - Tree ::= SEQUENCE { - height INTEGER, - width INTEGER - } - - -- The following clause tests OPTIONAL. - Stuff ::= SET { - trees [1] SET OF Forest OPTIONAL, - ..., - other CHOICE { - a [0] INTEGER, - b [3] INTEGER - }, - ..., - anything [2] SET OF - SEQUENCE { - cup-of-coffee BIT STRING, - ... - } OPTIONAL - -- The above OPTIONAL applies to the "anything" - -- member of the outer CHOICE, - -- not to the SET OF's embedded SEQUENCE! - } - -END diff --git a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-EF b/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-EF deleted file mode 100644 index f97ce2a..0000000 --- a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-EF +++ /dev/null @@ -1,26 +0,0 @@ -ModuleTestSetOfSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 31 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -Forest ::= SET OF Tree - -Tree ::= SEQUENCE { - height INTEGER, - width INTEGER -} - -Stuff ::= SET { - trees [1] IMPLICIT SET OF Forest OPTIONAL, - anything [2] IMPLICIT SET OF SEQUENCE { - cup-of-coffee BIT STRING, - ... - } OPTIONAL, - ..., - other CHOICE { - a [0] IMPLICIT INTEGER, - b [3] IMPLICIT INTEGER - } -} - -END diff --git a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfcompound-names deleted file mode 100644 index fc39f33..0000000 --- a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfcompound-names +++ /dev/null @@ -1,473 +0,0 @@ - -/*** <<< INCLUDES [Forest] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Forest] >>> ***/ - -struct Tree; - -/*** <<< TYPE-DECLS [Forest] >>> ***/ - -typedef struct Forest { - A_SET_OF(struct Tree) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Forest_t; - -/*** <<< FUNC-DECLS [Forest] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Forest; -extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1; -extern asn_TYPE_member_t asn_MBR_Forest_1[1]; - -/*** <<< POST-INCLUDE [Forest] >>> ***/ - -#include "Tree.h" - -/*** <<< STAT-DEFS [Forest] >>> ***/ - -asn_TYPE_member_t asn_MBR_Forest_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Tree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = { - sizeof(struct Forest), - offsetof(struct Forest, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Forest = { - "Forest", - "Forest", - &asn_OP_SET_OF, - asn_DEF_Forest_tags_1, - sizeof(asn_DEF_Forest_tags_1) - /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */ - asn_DEF_Forest_tags_1, /* Same as above */ - sizeof(asn_DEF_Forest_tags_1) - /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Forest_1, - 1, /* Single element */ - &asn_SPC_Forest_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Tree] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [Tree] >>> ***/ - -typedef struct Tree { - long height; - long width; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Tree_t; - -/*** <<< FUNC-DECLS [Tree] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Tree; -extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1; -extern asn_TYPE_member_t asn_MBR_Tree_1[2]; - -/*** <<< STAT-DEFS [Tree] >>> ***/ - -asn_TYPE_member_t asn_MBR_Tree_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Tree, height), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "height" - }, - { ATF_NOFLAGS, 0, offsetof(struct Tree, width), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "width" - }, -}; -static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = { - sizeof(struct Tree), - offsetof(struct Tree, _asn_ctx), - .tag2el = asn_MAP_Tree_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Tree = { - "Tree", - "Tree", - &asn_OP_SEQUENCE, - asn_DEF_Tree_tags_1, - sizeof(asn_DEF_Tree_tags_1) - /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */ - asn_DEF_Tree_tags_1, /* Same as above */ - sizeof(asn_DEF_Tree_tags_1) - /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Tree_1, - 2, /* Elements count */ - &asn_SPC_Tree_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Stuff] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [Stuff] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Stuff_PR { - Stuff_PR_trees, /* Member trees is present */ - Stuff_PR_anything, /* Member anything is present */ - Stuff_PR_other, /* Member other is present */ -} Stuff_PR; -typedef enum Stuff__other_PR { - Stuff__other_PR_NOTHING, /* No components present */ - Stuff__other_PR_a, - Stuff__other_PR_b -} Stuff__other_PR; - -/*** <<< FWD-DECLS [Stuff] >>> ***/ - -struct Forest; - -/*** <<< FWD-DEFS [Stuff] >>> ***/ - -typedef struct Stuff__anything__Member { - BIT_STRING_t cup_of_coffee; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Stuff__anything__Member; - -/*** <<< TYPE-DECLS [Stuff] >>> ***/ - -typedef struct Stuff { - struct Stuff__trees { - A_SET_OF(struct Forest) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *trees; - struct Stuff__anything { - A_SET_OF(Stuff__anything__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *anything; - /* - * This type is extensible, - * possible extensions are below. - */ - struct Stuff__other { - Stuff__other_PR present; - union Stuff__other_u { - long a; - long b; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *other; - - /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */ - unsigned int _presence_map - [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Stuff_t; - -/*** <<< FUNC-DECLS [Stuff] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Stuff; - -/*** <<< POST-INCLUDE [Stuff] >>> ***/ - -#include "Forest.h" - -/*** <<< STAT-DEFS [Stuff] >>> ***/ - -static asn_TYPE_member_t asn_MBR_trees_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Forest, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = { - sizeof(struct Stuff__trees), - offsetof(struct Stuff__trees, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_trees_2 = { - "trees", - "trees", - &asn_OP_SET_OF, - asn_DEF_trees_tags_2, - sizeof(asn_DEF_trees_tags_2) - /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */ - asn_DEF_trees_tags_2, /* Same as above */ - sizeof(asn_DEF_trees_tags_2) - /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_trees_2, - 1, /* Single element */ - &asn_SPC_trees_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Member_5[] = { - { ATF_NOFLAGS, 0, offsetof(struct Stuff__anything__Member, cup_of_coffee), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "cup-of-coffee" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = { - sizeof(struct Stuff__anything__Member), - offsetof(struct Stuff__anything__Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_5, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_5 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_5, - sizeof(asn_DEF_Member_tags_5) - /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */ - asn_DEF_Member_tags_5, /* Same as above */ - sizeof(asn_DEF_Member_tags_5) - /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_5, - 1, /* Elements count */ - &asn_SPC_Member_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_anything_4[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = { - sizeof(struct Stuff__anything), - offsetof(struct Stuff__anything, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_anything_4 = { - "anything", - "anything", - &asn_OP_SET_OF, - asn_DEF_anything_tags_4, - sizeof(asn_DEF_anything_tags_4) - /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */ - asn_DEF_anything_tags_4, /* Same as above */ - sizeof(asn_DEF_anything_tags_4) - /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_anything_4, - 1, /* Single element */ - &asn_SPC_anything_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_other_9[] = { - { ATF_NOFLAGS, 0, offsetof(struct Stuff__other, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Stuff__other, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */ -}; -static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = { - sizeof(struct Stuff__other), - offsetof(struct Stuff__other, _asn_ctx), - offsetof(struct Stuff__other, present), - sizeof(((struct Stuff__other *)0)->present), - .tag2el = asn_MAP_other_tag2el_9, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_other_9 = { - "other", - "other", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_other_9, - 2, /* Elements count */ - &asn_SPC_other_specs_9 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Stuff_1[] = { - { ATF_POINTER, 3, offsetof(struct Stuff, trees), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_trees_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "trees" - }, - { ATF_POINTER, 2, offsetof(struct Stuff, anything), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_anything_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "anything" - }, - { ATF_POINTER, 1, offsetof(struct Stuff, other), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_other_9, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "other" - }, -}; -static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */ -}; -static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */ -}; -static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (0 << 7) | (0 << 6) | (0 << 5) -}; -static -asn_SET_specifics_t asn_SPC_Stuff_specs_1 = { - sizeof(struct Stuff), - offsetof(struct Stuff, _asn_ctx), - offsetof(struct Stuff, _presence_map), - .tag2el = asn_MAP_Stuff_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - asn_MAP_Stuff_tag2el_cxer_1, - 3, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Stuff = { - "Stuff", - "Stuff", - &asn_OP_SET, - asn_DEF_Stuff_tags_1, - sizeof(asn_DEF_Stuff_tags_1) - /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */ - asn_DEF_Stuff_tags_1, /* Same as above */ - sizeof(asn_DEF_Stuff_tags_1) - /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Stuff_1, - 3, /* Elements count */ - &asn_SPC_Stuff_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfwide-types deleted file mode 100644 index 2a4cf8f..0000000 --- a/tests/tests-asn1c-compiler/31-set-of-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,473 +0,0 @@ - -/*** <<< INCLUDES [Forest] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Forest] >>> ***/ - -struct Tree; - -/*** <<< TYPE-DECLS [Forest] >>> ***/ - -typedef struct Forest { - A_SET_OF(struct Tree) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Forest_t; - -/*** <<< FUNC-DECLS [Forest] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Forest; -extern asn_SET_OF_specifics_t asn_SPC_Forest_specs_1; -extern asn_TYPE_member_t asn_MBR_Forest_1[1]; - -/*** <<< POST-INCLUDE [Forest] >>> ***/ - -#include "Tree.h" - -/*** <<< STAT-DEFS [Forest] >>> ***/ - -asn_TYPE_member_t asn_MBR_Forest_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Tree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Forest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Forest_specs_1 = { - sizeof(struct Forest), - offsetof(struct Forest, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Forest = { - "Forest", - "Forest", - &asn_OP_SET_OF, - asn_DEF_Forest_tags_1, - sizeof(asn_DEF_Forest_tags_1) - /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */ - asn_DEF_Forest_tags_1, /* Same as above */ - sizeof(asn_DEF_Forest_tags_1) - /sizeof(asn_DEF_Forest_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Forest_1, - 1, /* Single element */ - &asn_SPC_Forest_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Tree] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [Tree] >>> ***/ - -typedef struct Tree { - INTEGER_t height; - INTEGER_t width; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Tree_t; - -/*** <<< FUNC-DECLS [Tree] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Tree; -extern asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1; -extern asn_TYPE_member_t asn_MBR_Tree_1[2]; - -/*** <<< STAT-DEFS [Tree] >>> ***/ - -asn_TYPE_member_t asn_MBR_Tree_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Tree, height), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "height" - }, - { ATF_NOFLAGS, 0, offsetof(struct Tree, width), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "width" - }, -}; -static const ber_tlv_tag_t asn_DEF_Tree_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Tree_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* height */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* width */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Tree_specs_1 = { - sizeof(struct Tree), - offsetof(struct Tree, _asn_ctx), - .tag2el = asn_MAP_Tree_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Tree = { - "Tree", - "Tree", - &asn_OP_SEQUENCE, - asn_DEF_Tree_tags_1, - sizeof(asn_DEF_Tree_tags_1) - /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */ - asn_DEF_Tree_tags_1, /* Same as above */ - sizeof(asn_DEF_Tree_tags_1) - /sizeof(asn_DEF_Tree_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Tree_1, - 2, /* Elements count */ - &asn_SPC_Tree_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Stuff] >>> ***/ - -#include -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [Stuff] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Stuff_PR { - Stuff_PR_trees, /* Member trees is present */ - Stuff_PR_anything, /* Member anything is present */ - Stuff_PR_other, /* Member other is present */ -} Stuff_PR; -typedef enum other_PR { - other_PR_NOTHING, /* No components present */ - other_PR_a, - other_PR_b -} other_PR; - -/*** <<< FWD-DECLS [Stuff] >>> ***/ - -struct Forest; - -/*** <<< FWD-DEFS [Stuff] >>> ***/ - -typedef struct Member { - BIT_STRING_t cup_of_coffee; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Member; - -/*** <<< TYPE-DECLS [Stuff] >>> ***/ - -typedef struct Stuff { - struct trees { - A_SET_OF(struct Forest) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *trees; - struct anything { - A_SET_OF(Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *anything; - /* - * This type is extensible, - * possible extensions are below. - */ - struct other { - other_PR present; - union Stuff__other_u { - INTEGER_t a; - INTEGER_t b; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *other; - - /* Presence bitmask: ASN_SET_ISPRESENT(pStuff, Stuff_PR_x) */ - unsigned int _presence_map - [((3+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Stuff_t; - -/*** <<< FUNC-DECLS [Stuff] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Stuff; - -/*** <<< POST-INCLUDE [Stuff] >>> ***/ - -#include "Forest.h" - -/*** <<< STAT-DEFS [Stuff] >>> ***/ - -static asn_TYPE_member_t asn_MBR_trees_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Forest, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_trees_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_trees_specs_2 = { - sizeof(struct trees), - offsetof(struct trees, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_trees_2 = { - "trees", - "trees", - &asn_OP_SET_OF, - asn_DEF_trees_tags_2, - sizeof(asn_DEF_trees_tags_2) - /sizeof(asn_DEF_trees_tags_2[0]) - 1, /* 1 */ - asn_DEF_trees_tags_2, /* Same as above */ - sizeof(asn_DEF_trees_tags_2) - /sizeof(asn_DEF_trees_tags_2[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_trees_2, - 1, /* Single element */ - &asn_SPC_trees_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Member_5[] = { - { ATF_NOFLAGS, 0, offsetof(struct Member, cup_of_coffee), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "cup-of-coffee" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_5[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_5[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* cup-of-coffee */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_5 = { - sizeof(struct Member), - offsetof(struct Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_5, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_5 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_5, - sizeof(asn_DEF_Member_tags_5) - /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */ - asn_DEF_Member_tags_5, /* Same as above */ - sizeof(asn_DEF_Member_tags_5) - /sizeof(asn_DEF_Member_tags_5[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_5, - 1, /* Elements count */ - &asn_SPC_Member_specs_5 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_anything_4[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_anything_tags_4[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_anything_specs_4 = { - sizeof(struct anything), - offsetof(struct anything, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_anything_4 = { - "anything", - "anything", - &asn_OP_SET_OF, - asn_DEF_anything_tags_4, - sizeof(asn_DEF_anything_tags_4) - /sizeof(asn_DEF_anything_tags_4[0]) - 1, /* 1 */ - asn_DEF_anything_tags_4, /* Same as above */ - sizeof(asn_DEF_anything_tags_4) - /sizeof(asn_DEF_anything_tags_4[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_anything_4, - 1, /* Single element */ - &asn_SPC_anything_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_other_9[] = { - { ATF_NOFLAGS, 0, offsetof(struct other, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct other, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_other_tag2el_9[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* b */ -}; -static asn_CHOICE_specifics_t asn_SPC_other_specs_9 = { - sizeof(struct other), - offsetof(struct other, _asn_ctx), - offsetof(struct other, present), - sizeof(((struct other *)0)->present), - .tag2el = asn_MAP_other_tag2el_9, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_other_9 = { - "other", - "other", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_other_9, - 2, /* Elements count */ - &asn_SPC_other_specs_9 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Stuff_1[] = { - { ATF_POINTER, 3, offsetof(struct Stuff, trees), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_trees_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "trees" - }, - { ATF_POINTER, 2, offsetof(struct Stuff, anything), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_anything_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "anything" - }, - { ATF_POINTER, 1, offsetof(struct Stuff, other), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_other_9, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "other" - }, -}; -static const ber_tlv_tag_t asn_DEF_Stuff_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* b */ -}; -static const asn_TYPE_tag2member_t asn_MAP_Stuff_tag2el_cxer_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* trees */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* anything */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 } /* a */ -}; -static const uint8_t asn_MAP_Stuff_mmap_1[(3 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (0 << 7) | (0 << 6) | (0 << 5) -}; -static -asn_SET_specifics_t asn_SPC_Stuff_specs_1 = { - sizeof(struct Stuff), - offsetof(struct Stuff, _asn_ctx), - offsetof(struct Stuff, _presence_map), - .tag2el = asn_MAP_Stuff_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - asn_MAP_Stuff_tag2el_cxer_1, - 3, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_Stuff_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Stuff = { - "Stuff", - "Stuff", - &asn_OP_SET, - asn_DEF_Stuff_tags_1, - sizeof(asn_DEF_Stuff_tags_1) - /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */ - asn_DEF_Stuff_tags_1, /* Same as above */ - sizeof(asn_DEF_Stuff_tags_1) - /sizeof(asn_DEF_Stuff_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Stuff_1, - 3, /* Elements count */ - &asn_SPC_Stuff_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 b/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 deleted file mode 100644 index 467e5bd..0000000 --- a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .32 - -ModuleTestSequenceSimple - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 32 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - Programming ::= SEQUENCE SIZE(1..maxSize) OF [0] IMPLICIT Fault - - Fault ::= SET OF Error - - Error ::= SEQUENCE { - ... - } - - maxSize INTEGER ::= 10 - - SeqWithMandatory ::= SEQUENCE { - someString UTF8String, - seqOfMan [0] EXPLICIT SEQUENCE OF Error - } - - SeqWithOptional ::= SEQUENCE { - someString UTF8String, - seqOfOpt [0] EXPLICIT SEQUENCE OF Error OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-EF b/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-EF deleted file mode 100644 index d0059b2..0000000 --- a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-EF +++ /dev/null @@ -1,26 +0,0 @@ -ModuleTestSequenceSimple { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 32 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -Programming ::= SEQUENCE SIZE(1..10) OF [0] IMPLICIT Fault - -Fault ::= SET OF Error - -Error ::= SEQUENCE { - ... -} - -maxSize INTEGER ::= 10 - -SeqWithMandatory ::= SEQUENCE { - someString UTF8String, - seqOfMan [0] EXPLICIT SEQUENCE OF Error -} - -SeqWithOptional ::= SEQUENCE { - someString UTF8String, - seqOfOpt [0] EXPLICIT SEQUENCE OF Error OPTIONAL -} - -END diff --git a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-P b/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-P deleted file mode 100644 index 4a7298b..0000000 --- a/tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.-P +++ /dev/null @@ -1,452 +0,0 @@ - -/*** <<< INCLUDES [Programming] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Programming] >>> ***/ - -struct Fault; - -/*** <<< TYPE-DECLS [Programming] >>> ***/ - -typedef struct Programming { - A_SEQUENCE_OF(struct Fault) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Programming_t; - -/*** <<< FUNC-DECLS [Programming] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Programming; - -/*** <<< POST-INCLUDE [Programming] >>> ***/ - -#include "Fault.h" - -/*** <<< STAT-DEFS [Programming] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Programming_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Fault, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Programming_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_Programming_specs_1 = { - sizeof(struct Programming), - offsetof(struct Programming, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Programming = { - "Programming", - "Programming", - &asn_OP_SEQUENCE_OF, - asn_DEF_Programming_tags_1, - sizeof(asn_DEF_Programming_tags_1) - /sizeof(asn_DEF_Programming_tags_1[0]), /* 1 */ - asn_DEF_Programming_tags_1, /* Same as above */ - sizeof(asn_DEF_Programming_tags_1) - /sizeof(asn_DEF_Programming_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_Programming_1, - 1, /* Single element */ - &asn_SPC_Programming_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Fault] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Fault] >>> ***/ - -struct Error; - -/*** <<< TYPE-DECLS [Fault] >>> ***/ - -typedef struct Fault { - A_SET_OF(struct Error) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Fault_t; - -/*** <<< FUNC-DECLS [Fault] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Fault; -extern asn_SET_OF_specifics_t asn_SPC_Fault_specs_1; -extern asn_TYPE_member_t asn_MBR_Fault_1[1]; - -/*** <<< POST-INCLUDE [Fault] >>> ***/ - -#include "Error.h" - -/*** <<< STAT-DEFS [Fault] >>> ***/ - -asn_TYPE_member_t asn_MBR_Fault_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Error, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Fault_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Fault_specs_1 = { - sizeof(struct Fault), - offsetof(struct Fault, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Fault = { - "Fault", - "Fault", - &asn_OP_SET_OF, - asn_DEF_Fault_tags_1, - sizeof(asn_DEF_Fault_tags_1) - /sizeof(asn_DEF_Fault_tags_1[0]), /* 1 */ - asn_DEF_Fault_tags_1, /* Same as above */ - sizeof(asn_DEF_Fault_tags_1) - /sizeof(asn_DEF_Fault_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Fault_1, - 1, /* Single element */ - &asn_SPC_Fault_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Error] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Error] >>> ***/ - -typedef struct Error { - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Error_t; - -/*** <<< FUNC-DECLS [Error] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Error; -extern asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1; - -/*** <<< STAT-DEFS [Error] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Error_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SEQUENCE_specifics_t asn_SPC_Error_specs_1 = { - sizeof(struct Error), - offsetof(struct Error, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Error = { - "Error", - "Error", - &asn_OP_SEQUENCE, - asn_DEF_Error_tags_1, - sizeof(asn_DEF_Error_tags_1) - /sizeof(asn_DEF_Error_tags_1[0]), /* 1 */ - asn_DEF_Error_tags_1, /* Same as above */ - sizeof(asn_DEF_Error_tags_1) - /sizeof(asn_DEF_Error_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_Error_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SeqWithMandatory] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [SeqWithMandatory] >>> ***/ - -struct Error; - -/*** <<< TYPE-DECLS [SeqWithMandatory] >>> ***/ - -typedef struct SeqWithMandatory { - UTF8String_t someString; - struct seqOfMan { - A_SEQUENCE_OF(struct Error) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } seqOfMan; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SeqWithMandatory_t; - -/*** <<< FUNC-DECLS [SeqWithMandatory] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SeqWithMandatory; - -/*** <<< POST-INCLUDE [SeqWithMandatory] >>> ***/ - -#include "Error.h" - -/*** <<< STAT-DEFS [SeqWithMandatory] >>> ***/ - -static asn_TYPE_member_t asn_MBR_seqOfMan_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Error, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_seqOfMan_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_seqOfMan_specs_3 = { - sizeof(struct seqOfMan), - offsetof(struct seqOfMan, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_seqOfMan_3 = { - "seqOfMan", - "seqOfMan", - &asn_OP_SEQUENCE_OF, - asn_DEF_seqOfMan_tags_3, - sizeof(asn_DEF_seqOfMan_tags_3) - /sizeof(asn_DEF_seqOfMan_tags_3[0]), /* 2 */ - asn_DEF_seqOfMan_tags_3, /* Same as above */ - sizeof(asn_DEF_seqOfMan_tags_3) - /sizeof(asn_DEF_seqOfMan_tags_3[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_seqOfMan_3, - 1, /* Single element */ - &asn_SPC_seqOfMan_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_SeqWithMandatory_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SeqWithMandatory, someString), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "someString" - }, - { ATF_NOFLAGS, 0, offsetof(struct SeqWithMandatory, seqOfMan), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_seqOfMan_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seqOfMan" - }, -}; -static const ber_tlv_tag_t asn_DEF_SeqWithMandatory_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SeqWithMandatory_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 0, 0, 0 }, /* someString */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* seqOfMan */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_SeqWithMandatory_specs_1 = { - sizeof(struct SeqWithMandatory), - offsetof(struct SeqWithMandatory, _asn_ctx), - .tag2el = asn_MAP_SeqWithMandatory_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SeqWithMandatory = { - "SeqWithMandatory", - "SeqWithMandatory", - &asn_OP_SEQUENCE, - asn_DEF_SeqWithMandatory_tags_1, - sizeof(asn_DEF_SeqWithMandatory_tags_1) - /sizeof(asn_DEF_SeqWithMandatory_tags_1[0]), /* 1 */ - asn_DEF_SeqWithMandatory_tags_1, /* Same as above */ - sizeof(asn_DEF_SeqWithMandatory_tags_1) - /sizeof(asn_DEF_SeqWithMandatory_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SeqWithMandatory_1, - 2, /* Elements count */ - &asn_SPC_SeqWithMandatory_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SeqWithOptional] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [SeqWithOptional] >>> ***/ - -struct Error; - -/*** <<< TYPE-DECLS [SeqWithOptional] >>> ***/ - -typedef struct SeqWithOptional { - UTF8String_t someString; - struct seqOfOpt { - A_SEQUENCE_OF(struct Error) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *seqOfOpt; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SeqWithOptional_t; - -/*** <<< FUNC-DECLS [SeqWithOptional] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SeqWithOptional; - -/*** <<< POST-INCLUDE [SeqWithOptional] >>> ***/ - -#include "Error.h" - -/*** <<< STAT-DEFS [SeqWithOptional] >>> ***/ - -static asn_TYPE_member_t asn_MBR_seqOfOpt_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Error, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_seqOfOpt_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_seqOfOpt_specs_3 = { - sizeof(struct seqOfOpt), - offsetof(struct seqOfOpt, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_seqOfOpt_3 = { - "seqOfOpt", - "seqOfOpt", - &asn_OP_SEQUENCE_OF, - asn_DEF_seqOfOpt_tags_3, - sizeof(asn_DEF_seqOfOpt_tags_3) - /sizeof(asn_DEF_seqOfOpt_tags_3[0]), /* 2 */ - asn_DEF_seqOfOpt_tags_3, /* Same as above */ - sizeof(asn_DEF_seqOfOpt_tags_3) - /sizeof(asn_DEF_seqOfOpt_tags_3[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_seqOfOpt_3, - 1, /* Single element */ - &asn_SPC_seqOfOpt_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_SeqWithOptional_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SeqWithOptional, someString), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "someString" - }, - { ATF_POINTER, 1, offsetof(struct SeqWithOptional, seqOfOpt), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_seqOfOpt_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seqOfOpt" - }, -}; -static const ber_tlv_tag_t asn_DEF_SeqWithOptional_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SeqWithOptional_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 0, 0, 0 }, /* someString */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* seqOfOpt */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_SeqWithOptional_specs_1 = { - sizeof(struct SeqWithOptional), - offsetof(struct SeqWithOptional, _asn_ctx), - .tag2el = asn_MAP_SeqWithOptional_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_SeqWithOptional = { - "SeqWithOptional", - "SeqWithOptional", - &asn_OP_SEQUENCE, - asn_DEF_SeqWithOptional_tags_1, - sizeof(asn_DEF_SeqWithOptional_tags_1) - /sizeof(asn_DEF_SeqWithOptional_tags_1[0]), /* 1 */ - asn_DEF_SeqWithOptional_tags_1, /* Same as above */ - sizeof(asn_DEF_SeqWithOptional_tags_1) - /sizeof(asn_DEF_SeqWithOptional_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_SeqWithOptional_1, - 2, /* Elements count */ - &asn_SPC_SeqWithOptional_specs_1 /* Additional specs */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define maxSize (10) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/33-misc-OK.asn1 b/tests/tests-asn1c-compiler/33-misc-OK.asn1 deleted file mode 100644 index 1018a40..0000000 --- a/tests/tests-asn1c-compiler/33-misc-OK.asn1 +++ /dev/null @@ -1,33 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .33 - -ModuleTestMiscComplex - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 33 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SEQUENCE { - a [1] INTEGER, - ..., - b [2] EXPLICIT BitString, - c [8] IMPLICIT Label, - d [10] IMPLICIT Int, - e [12] T2 - } - - BitString ::= [8] BIT STRING - - Label ::= [9] EXPLICIT UTF8String - - Label2 ::= [1] Label - - Int ::= [3] IMPLICIT INTEGER { a(1), b(2) } - - T2 ::= SEQUENCE { l Label2 } - -END diff --git a/tests/tests-asn1c-compiler/34-class-OK.asn1 b/tests/tests-asn1c-compiler/34-class-OK.asn1 deleted file mode 100644 index 2ea8901..0000000 --- a/tests/tests-asn1c-compiler/34-class-OK.asn1 +++ /dev/null @@ -1,53 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .34 - -ModuleTestClassSimple - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 34 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - -- First CLASS - - EXTENSION ::= CLASS { - &id [PRIVATE 0] INTEGER UNIQUE, - &ExtnType - } WITH SYNTAX { - SYNTAX &ExtnType - IDENTIFIED BY &id - } - - -- Basic CLASS extraction - Ext1 ::= SEQUENCE { - extnId EXTENSION.&id - } - - -- Second CLASS - - EXTENSION-ATTRIBUTE ::= CLASS { - &id INTEGER (0..ub-extension-attributes) UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - - terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23} - - TerminalType ::= INTEGER { terminal(0) } - - -- Advanced CLASS extraction - - ExtensionAttribute ::= SEQUENCE { - extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id - ({ExtensionAttributeTable}), - extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type - ({ExtensionAttributeTable} {@extension-attribute-type}) - } - - -- Variables referenced by subtype constraints - - ub-extension-attributes INTEGER ::= 256 - -END diff --git a/tests/tests-asn1c-compiler/34-class-OK.asn1.-EF b/tests/tests-asn1c-compiler/34-class-OK.asn1.-EF deleted file mode 100644 index 8af80a8..0000000 --- a/tests/tests-asn1c-compiler/34-class-OK.asn1.-EF +++ /dev/null @@ -1,38 +0,0 @@ -ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 34 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -EXTENSION ::= CLASS { - &id [PRIVATE 0] INTEGER UNIQUE, - &ExtnType -} WITH SYNTAX { - SYNTAX &ExtnType - IDENTIFIED BY &id - } - - -Ext1 ::= SEQUENCE { - extnId EXTENSION.&id -} - -EXTENSION-ATTRIBUTE ::= CLASS { - &id INTEGER (0..256) UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - - -terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23} - -TerminalType ::= INTEGER { - terminal(0) -} - -ExtensionAttribute ::= SEQUENCE { - extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}), - extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type}) -} - -ub-extension-attributes INTEGER ::= 256 - -END diff --git a/tests/tests-asn1c-compiler/34-class-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/34-class-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 136dd92..0000000 --- a/tests/tests-asn1c-compiler/34-class-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,47 +0,0 @@ -ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 34 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -EXTENSION ::= CLASS { - &id [PRIVATE 0] INTEGER UNIQUE, - &ExtnType -} WITH SYNTAX { - SYNTAX &ExtnType - IDENTIFIED BY &id - } - --- Information Object Class table is empty - -Ext1 ::= SEQUENCE { - extnId EXTENSION.&id -} - -EXTENSION-ATTRIBUTE ::= CLASS { - &id INTEGER (0..256) UNIQUE, - &Type ANY -} WITH SYNTAX {&Type IDENTIFIED BY &id} - --- Information Object Set has 1 entry: --- [ &id][ &Type] --- [1] 23 TerminalType - - -terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23} --- Information Object Set has 1 entry: --- [ &id][ &Type] --- [1] 23 TerminalType - - -TerminalType ::= INTEGER { - terminal(0) -} - -ExtensionAttribute ::= SEQUENCE { - extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}), - extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type}) -} - -ub-extension-attributes INTEGER ::= 256 - -END diff --git a/tests/tests-asn1c-compiler/35-set-choice-OK.asn1 b/tests/tests-asn1c-compiler/35-set-choice-OK.asn1 deleted file mode 100644 index 3678021..0000000 --- a/tests/tests-asn1c-compiler/35-set-choice-OK.asn1 +++ /dev/null @@ -1,36 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .35 - -ModuleTestSetAndUntaggedChoice - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 35 } - DEFINITIONS ::= -BEGIN - - T ::= SET { - a NumericString, - b CHOICE { -- Untagged choice - b1 IA5String, - b2 ObjectDescriptor, - b3 Choice - }, - c BOOLEAN, - ..., - d OID - } - - Choice ::= CHOICE { -- One more level - ch-a OCTET STRING, - ch-b BIT STRING - } - - OID ::= CHOICE { - oid OBJECT IDENTIFIER, - r-oid RELATIVE-OID - } - -END diff --git a/tests/tests-asn1c-compiler/36-indirect-choice-SE.asn1 b/tests/tests-asn1c-compiler/36-indirect-choice-SE.asn1 deleted file mode 100644 index 90155c7..0000000 --- a/tests/tests-asn1c-compiler/36-indirect-choice-SE.asn1 +++ /dev/null @@ -1,25 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .36 - -ModuleTestIndirectChoiceError - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 36 } - DEFINITIONS ::= -BEGIN - - T ::= CHOICE { - t-a INTEGER, - t-b OCTET STRING, - t-c Choice - } - - Choice ::= CHOICE { -- One more level - c-a OCTET STRING, - c-b INTEGER - } - -END diff --git a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 b/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 deleted file mode 100644 index 86b3b66..0000000 --- a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 +++ /dev/null @@ -1,38 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .37 - -ModuleTestIndirectChoiceFine - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 37 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= CHOICE { - t-a INTEGER, - t-b OCTET STRING, - t-c [1] Choice1, - t-d [3] Choice2 - } - - Choice1 ::= CHOICE { - c-a OCTET STRING, - c-b INTEGER - } - - Choice2 ::= [2] CHOICE { - c-a OCTET STRING, - c-b INTEGER, - c-d [3] Choice1, - c-e [4] Choice1 - } - - Choice3 ::= [3] EXPLICIT Choice2 -- tags [3] [2] - Choice4 ::= [4] IMPLICIT Choice2 -- tags [4] - Choice5 ::= Choice2 -- tags [2] - Choice6 ::= Choice1 -- tags - -END diff --git a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-EF b/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-EF deleted file mode 100644 index b4031a8..0000000 --- a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-EF +++ /dev/null @@ -1,33 +0,0 @@ -ModuleTestIndirectChoiceFine { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 37 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -T ::= CHOICE { - t-a INTEGER, - t-b OCTET STRING, - t-c [1] EXPLICIT Choice1, - t-d [3] IMPLICIT Choice2 -} - -Choice1 ::= CHOICE { - c-a OCTET STRING, - c-b INTEGER -} - -Choice2 ::= [2] EXPLICIT CHOICE { - c-a OCTET STRING, - c-b INTEGER, - c-d [3] EXPLICIT Choice1, - c-e [4] EXPLICIT Choice1 -} - -Choice3 ::= [3] EXPLICIT Choice2 - -Choice4 ::= [4] IMPLICIT Choice2 - -Choice5 ::= Choice2 - -Choice6 ::= Choice1 - -END diff --git a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-Pfwide-types deleted file mode 100644 index b1ea6bf..0000000 --- a/tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,495 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include "Choice1.h" -#include "Choice2.h" -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T_PR { - T_PR_NOTHING, /* No components present */ - T_PR_t_a, - T_PR_t_b, - T_PR_t_c, - T_PR_t_d -} T_PR; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - T_PR present; - union T_u { - INTEGER_t t_a; - OCTET_STRING_t t_b; - Choice1_t t_c; - Choice2_t t_d; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, choice.t_a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-a" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.t_b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-b" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.t_c), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-c" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, choice.t_d), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Choice2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-d" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* t-a */ - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* t-b */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* t-c */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* t-d */ -}; -static asn_CHOICE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - offsetof(struct T, present), - sizeof(((struct T *)0)->present), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_T_1, - 4, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice1] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Choice1] >>> ***/ - -typedef enum Choice1_PR { - Choice1_PR_NOTHING, /* No components present */ - Choice1_PR_c_a, - Choice1_PR_c_b -} Choice1_PR; - -/*** <<< TYPE-DECLS [Choice1] >>> ***/ - -typedef struct Choice1 { - Choice1_PR present; - union Choice1_u { - OCTET_STRING_t c_a; - INTEGER_t c_b; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice1_t; - -/*** <<< FUNC-DECLS [Choice1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice1; -extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice1_1[2]; - -/*** <<< STAT-DEFS [Choice1] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice1, choice.c_a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice1, choice.c_b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-b" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* c-b */ - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 } /* c-a */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = { - sizeof(struct Choice1), - offsetof(struct Choice1, _asn_ctx), - offsetof(struct Choice1, present), - sizeof(((struct Choice1 *)0)->present), - .tag2el = asn_MAP_Choice1_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice1 = { - "Choice1", - "Choice1", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice1_1, - 2, /* Elements count */ - &asn_SPC_Choice1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice2] >>> ***/ - -#include -#include -#include "Choice1.h" -#include - -/*** <<< DEPS [Choice2] >>> ***/ - -typedef enum Choice2_PR { - Choice2_PR_NOTHING, /* No components present */ - Choice2_PR_c_a, - Choice2_PR_c_b, - Choice2_PR_c_d, - Choice2_PR_c_e -} Choice2_PR; - -/*** <<< TYPE-DECLS [Choice2] >>> ***/ - -typedef struct Choice2 { - Choice2_PR present; - union Choice2_u { - OCTET_STRING_t c_a; - INTEGER_t c_b; - Choice1_t c_d; - Choice1_t c_e; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice2_t; - -/*** <<< FUNC-DECLS [Choice2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice2; -extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice2_1[4]; - -/*** <<< STAT-DEFS [Choice2] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-b" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_d), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-d" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.c_e), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c-e" - }, -}; -static const ber_tlv_tag_t asn_DEF_Choice2_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* c-b */ - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* c-a */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* c-d */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* c-e */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = { - sizeof(struct Choice2), - offsetof(struct Choice2, _asn_ctx), - offsetof(struct Choice2, present), - sizeof(((struct Choice2 *)0)->present), - .tag2el = asn_MAP_Choice2_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice2 = { - "Choice2", - "Choice2", - &asn_OP_CHOICE, - asn_DEF_Choice2_tags_1, - sizeof(asn_DEF_Choice2_tags_1) - /sizeof(asn_DEF_Choice2_tags_1[0]), /* 1 */ - asn_DEF_Choice2_tags_1, /* Same as above */ - sizeof(asn_DEF_Choice2_tags_1) - /sizeof(asn_DEF_Choice2_tags_1[0]), /* 1 */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 4, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice3] >>> ***/ - -#include "Choice2.h" - -/*** <<< TYPE-DECLS [Choice3] >>> ***/ - -typedef Choice2_t Choice3_t; - -/*** <<< FUNC-DECLS [Choice3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice3; -asn_struct_free_f Choice3_free; -asn_struct_print_f Choice3_print; -asn_constr_check_f Choice3_constraint; -ber_type_decoder_f Choice3_decode_ber; -der_type_encoder_f Choice3_encode_der; -xer_type_decoder_f Choice3_decode_xer; -xer_type_encoder_f Choice3_encode_xer; - -/*** <<< CODE [Choice3] >>> ***/ - -/* - * This type is implemented using Choice2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Choice3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Choice3_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Choice3 = { - "Choice3", - "Choice3", - &asn_OP_CHOICE, - asn_DEF_Choice3_tags_1, - sizeof(asn_DEF_Choice3_tags_1) - /sizeof(asn_DEF_Choice3_tags_1[0]), /* 2 */ - asn_DEF_Choice3_tags_1, /* Same as above */ - sizeof(asn_DEF_Choice3_tags_1) - /sizeof(asn_DEF_Choice3_tags_1[0]), /* 2 */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 4, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice4] >>> ***/ - -#include "Choice2.h" - -/*** <<< TYPE-DECLS [Choice4] >>> ***/ - -typedef Choice2_t Choice4_t; - -/*** <<< FUNC-DECLS [Choice4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice4; -asn_struct_free_f Choice4_free; -asn_struct_print_f Choice4_print; -asn_constr_check_f Choice4_constraint; -ber_type_decoder_f Choice4_decode_ber; -der_type_encoder_f Choice4_encode_der; -xer_type_decoder_f Choice4_decode_xer; -xer_type_encoder_f Choice4_encode_xer; - -/*** <<< CODE [Choice4] >>> ***/ - -/* - * This type is implemented using Choice2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Choice4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Choice4_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Choice4 = { - "Choice4", - "Choice4", - &asn_OP_CHOICE, - asn_DEF_Choice4_tags_1, - sizeof(asn_DEF_Choice4_tags_1) - /sizeof(asn_DEF_Choice4_tags_1[0]) - 1, /* 1 */ - asn_DEF_Choice4_tags_1, /* Same as above */ - sizeof(asn_DEF_Choice4_tags_1) - /sizeof(asn_DEF_Choice4_tags_1[0]), /* 2 */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 4, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice5] >>> ***/ - -#include "Choice2.h" - -/*** <<< TYPE-DECLS [Choice5] >>> ***/ - -typedef Choice2_t Choice5_t; - -/*** <<< FUNC-DECLS [Choice5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice5; -asn_struct_free_f Choice5_free; -asn_struct_print_f Choice5_print; -asn_constr_check_f Choice5_constraint; -ber_type_decoder_f Choice5_decode_ber; -der_type_encoder_f Choice5_encode_der; -xer_type_decoder_f Choice5_decode_xer; -xer_type_encoder_f Choice5_encode_xer; - -/*** <<< CODE [Choice5] >>> ***/ - -/* - * This type is implemented using Choice2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Choice5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Choice5_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Choice5 = { - "Choice5", - "Choice5", - &asn_OP_CHOICE, - asn_DEF_Choice5_tags_1, - sizeof(asn_DEF_Choice5_tags_1) - /sizeof(asn_DEF_Choice5_tags_1[0]), /* 1 */ - asn_DEF_Choice5_tags_1, /* Same as above */ - sizeof(asn_DEF_Choice5_tags_1) - /sizeof(asn_DEF_Choice5_tags_1[0]), /* 1 */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 4, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice6] >>> ***/ - -#include "Choice1.h" - -/*** <<< TYPE-DECLS [Choice6] >>> ***/ - -typedef Choice1_t Choice6_t; - -/*** <<< FUNC-DECLS [Choice6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice6; -asn_struct_free_f Choice6_free; -asn_struct_print_f Choice6_print; -asn_constr_check_f Choice6_constraint; -ber_type_decoder_f Choice6_decode_ber; -der_type_encoder_f Choice6_encode_der; -xer_type_decoder_f Choice6_decode_xer; -xer_type_encoder_f Choice6_encode_xer; - -/*** <<< CODE [Choice6] >>> ***/ - -/* - * This type is implemented using Choice1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Choice6] >>> ***/ - -asn_TYPE_descriptor_t asn_DEF_Choice6 = { - "Choice6", - "Choice6", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice1_1, - 2, /* Elements count */ - &asn_SPC_Choice1_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/38-comments-OK.asn1 b/tests/tests-asn1c-compiler/38-comments-OK.asn1 deleted file mode 100644 index f2f9aab..0000000 --- a/tests/tests-asn1c-compiler/38-comments-OK.asn1 +++ /dev/null @@ -1,33 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .38 - -ModuleNestedCTypeComments - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 38 } - DEFINITIONS ::= -BEGIN - - T ::= CHOICE { - t-a INTEGER, - t-b OCTET STRING -/* t-c [1] Choice1, t-d Choice2 */ - } - - -- this is a comment too -- This-Is-Not-A-Comment - ::= INTEGER - -/* - ISO/IEC 8824-1 #11.6.4 - - blah blah blah - /* nested comment */ - -- this is an insignificant coment - -- this is a comment too -- and this is a comment - - */ - -END diff --git a/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 b/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 deleted file mode 100644 index b8ac3f4..0000000 --- a/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 +++ /dev/null @@ -1,24 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .39 - -ModuleNestedSequenceOf - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 39 } - DEFINITIONS ::= -BEGIN - - T ::= SEQUENCE { - int INTEGER, - collection SEQUENCE OF T2 - } - - T2 ::= SEQUENCE { - flag BOOLEAN, - str UTF8String - } - -END diff --git a/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1.-Pfwide-types deleted file mode 100644 index c535515..0000000 --- a/tests/tests-asn1c-compiler/39-sequence-of-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,200 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [T] >>> ***/ - -struct T2; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - INTEGER_t Int; - struct collection { - A_SEQUENCE_OF(struct T2) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } collection; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< POST-INCLUDE [T] >>> ***/ - -#include "T2.h" - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_collection_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_T2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_collection_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_collection_specs_3 = { - sizeof(struct collection), - offsetof(struct collection, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_collection_3 = { - "collection", - "collection", - &asn_OP_SEQUENCE_OF, - asn_DEF_collection_tags_3, - sizeof(asn_DEF_collection_tags_3) - /sizeof(asn_DEF_collection_tags_3[0]), /* 1 */ - asn_DEF_collection_tags_3, /* Same as above */ - sizeof(asn_DEF_collection_tags_3) - /sizeof(asn_DEF_collection_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_collection_3, - 1, /* Single element */ - &asn_SPC_collection_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, Int), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, collection), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_collection_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "collection" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* collection */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 2, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T2] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [T2] >>> ***/ - -typedef struct T2 { - BOOLEAN_t flag; - UTF8String_t str; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T2_t; - -/*** <<< FUNC-DECLS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; -extern asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1; -extern asn_TYPE_member_t asn_MBR_T2_1[2]; - -/*** <<< STAT-DEFS [T2] >>> ***/ - -asn_TYPE_member_t asn_MBR_T2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T2, flag), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "flag" - }, - { ATF_NOFLAGS, 0, offsetof(struct T2, str), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), - .tag_mode = 0, - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "str" - }, -}; -static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* flag */ - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* str */ -}; -asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = { - sizeof(struct T2), - offsetof(struct T2, _asn_ctx), - .tag2el = asn_MAP_T2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T2 = { - "T2", - "T2", - &asn_OP_SEQUENCE, - asn_DEF_T2_tags_1, - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - asn_DEF_T2_tags_1, /* Same as above */ - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T2_1, - 2, /* Elements count */ - &asn_SPC_T2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/40-int-optional-SE.asn1 b/tests/tests-asn1c-compiler/40-int-optional-SE.asn1 deleted file mode 100644 index fbcb0a5..0000000 --- a/tests/tests-asn1c-compiler/40-int-optional-SE.asn1 +++ /dev/null @@ -1,27 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .40 - -ModuleTestIntOptional - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 40 } - DEFINITIONS ::= -BEGIN - - T ::= CHOICE { - seq SEQUENCE { - string UTF8String, - alpha INTEGER OPTIONAL, - beta INTEGER OPTIONAL - }, - set SET { - string UTF8String, - alpha INTEGER OPTIONAL, - beta INTEGER OPTIONAL - } - } - -END diff --git a/tests/tests-asn1c-compiler/41-int-optional-OK.asn1 b/tests/tests-asn1c-compiler/41-int-optional-OK.asn1 deleted file mode 100644 index 3e091d7..0000000 --- a/tests/tests-asn1c-compiler/41-int-optional-OK.asn1 +++ /dev/null @@ -1,27 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .41 - -ModuleTestIntOptional - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 41 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - T ::= CHOICE { - seq SEQUENCE { - string UTF8String, - alpha INTEGER OPTIONAL, - beta INTEGER OPTIONAL - }, - set SET { - string UTF8String, - alpha INTEGER OPTIONAL, - beta INTEGER OPTIONAL - } - } - -END diff --git a/tests/tests-asn1c-compiler/42-real-life-OK.asn1 b/tests/tests-asn1c-compiler/42-real-life-OK.asn1 deleted file mode 100644 index 8c1d59e..0000000 --- a/tests/tests-asn1c-compiler/42-real-life-OK.asn1 +++ /dev/null @@ -1,67 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .42 - -ModuleLAPStorage - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 42 } - DEFINITIONS EXTENSIBILITY IMPLIED ::= -BEGIN - - /* - * A package representing a distinguished log line. - * It contains - * - a digest of that line (actually, a normalized - * form with bells (\007) in place of variable components), - * - one or more sets of variable parts (presumably with different - * acceptability rules). - */ - LogLine ::= SEQUENCE { - line-digest IA5String, -- Log line normal form - varsets SEQUENCE SIZE(1..MAX) OF VariablePartSet - } - - /* - * This package contains a set of variable components of a log line. - * Each variable component may contain one or more "value samples", - * or a range between two samples. - */ - VariablePartSet ::= SEQUENCE { - vparts SEQUENCE SIZE(0..MAX) OF VariablePart, -- {123,321} - resolution ActionItem - } - - /* - * A description of a single variable part. - */ - VariablePart ::= CHOICE { - -- A set of acceptable values - vset SET SIZE(1..MAX) OF VisibleString, - -- A range of acceptable values - vrange SEQUENCE { - from VisibleString, - to VisibleString - } - } - - /* - * What to do with the log line. - */ - ActionItem ::= SEQUENCE { - accept-as ENUMERATED { - unknown, -- Action yet unknown. - safe, -- No action, just move on. - unsafe, -- Unsafe message. Inform NOC. - ... - }, - notify SEQUENCE { -- How to notify NOC. - critical BOOLEAN, -- Emit critical message - email SET OF VisibleString, -- Send emails - ... - } OPTIONAL - } - -END diff --git a/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-EF b/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-EF deleted file mode 100644 index 0543ee3..0000000 --- a/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-EF +++ /dev/null @@ -1,43 +0,0 @@ -ModuleLAPStorage { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 42 } -DEFINITIONS EXTENSIBILITY IMPLIED ::= -BEGIN - -LogLine ::= SEQUENCE { - line-digest IA5String, - varsets SEQUENCE SIZE(1..MAX) OF VariablePartSet, - ... -} - -VariablePartSet ::= SEQUENCE { - vparts SEQUENCE SIZE(0..MAX) OF VariablePart, - resolution ActionItem, - ... -} - -VariablePart ::= CHOICE { - vset SET SIZE(1..MAX) OF VisibleString, - vrange SEQUENCE { - from VisibleString, - to VisibleString, - ... - }, - ... -} - -ActionItem ::= SEQUENCE { - accept-as ENUMERATED { - unknown(0), - safe(1), - unsafe(2), - ... - }, - notify SEQUENCE { - critical BOOLEAN, - email SET OF VisibleString, - ... - } OPTIONAL, - ... -} - -END diff --git a/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-PR b/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-PR deleted file mode 100644 index b27e77a..0000000 --- a/tests/tests-asn1c-compiler/42-real-life-OK.asn1.-PR +++ /dev/null @@ -1,778 +0,0 @@ - -/*** <<< INCLUDES [LogLine] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [LogLine] >>> ***/ - -struct VariablePartSet; - -/*** <<< TYPE-DECLS [LogLine] >>> ***/ - -typedef struct LogLine { - IA5String_t line_digest; - struct varsets { - A_SEQUENCE_OF(struct VariablePartSet) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } varsets; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LogLine_t; - -/*** <<< FUNC-DECLS [LogLine] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_LogLine; - -/*** <<< POST-INCLUDE [LogLine] >>> ***/ - -#include "VariablePartSet.h" - -/*** <<< CODE [LogLine] >>> ***/ - -static int -memb_varsets_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size >= 1)) { - /* Perform validation of the inner elements */ - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [LogLine] >>> ***/ - -static asn_TYPE_member_t asn_MBR_varsets_3[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_VariablePartSet, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_varsets_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = { - sizeof(struct varsets), - offsetof(struct varsets, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_varsets_3 = { - "varsets", - "varsets", - &asn_OP_SEQUENCE_OF, - asn_DEF_varsets_tags_3, - sizeof(asn_DEF_varsets_tags_3) - /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */ - asn_DEF_varsets_tags_3, /* Same as above */ - sizeof(asn_DEF_varsets_tags_3) - /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_varsets_3, - 1, /* Single element */ - &asn_SPC_varsets_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_LogLine_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "line-digest" - }, - { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_varsets_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_varsets_constraint_1 }, - 0, 0, /* No default value */ - .name = "varsets" - }, -}; -static const ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets */ - { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = { - sizeof(struct LogLine), - offsetof(struct LogLine, _asn_ctx), - .tag2el = asn_MAP_LogLine_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_LogLine = { - "LogLine", - "LogLine", - &asn_OP_SEQUENCE, - asn_DEF_LogLine_tags_1, - sizeof(asn_DEF_LogLine_tags_1) - /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */ - asn_DEF_LogLine_tags_1, /* Same as above */ - sizeof(asn_DEF_LogLine_tags_1) - /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_LogLine_1, - 2, /* Elements count */ - &asn_SPC_LogLine_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [VariablePartSet] >>> ***/ - -#include "ActionItem.h" -#include -#include -#include - -/*** <<< FWD-DECLS [VariablePartSet] >>> ***/ - -struct VariablePart; - -/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/ - -typedef struct VariablePartSet { - struct vparts { - A_SEQUENCE_OF(struct VariablePart) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } vparts; - ActionItem_t resolution; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VariablePartSet_t; - -/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet; -extern asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1; -extern asn_TYPE_member_t asn_MBR_VariablePartSet_1[2]; - -/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/ - -#include "VariablePart.h" - -/*** <<< CODE [VariablePartSet] >>> ***/ - -static int -memb_vparts_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [VariablePartSet] >>> ***/ - -static asn_TYPE_member_t asn_MBR_vparts_2[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_VariablePart, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_vparts_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = { - sizeof(struct vparts), - offsetof(struct vparts, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_vparts_2 = { - "vparts", - "vparts", - &asn_OP_SEQUENCE_OF, - asn_DEF_vparts_tags_2, - sizeof(asn_DEF_vparts_tags_2) - /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */ - asn_DEF_vparts_tags_2, /* Same as above */ - sizeof(asn_DEF_vparts_tags_2) - /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_vparts_2, - 1, /* Single element */ - &asn_SPC_vparts_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_vparts_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_vparts_constraint_1 }, - 0, 0, /* No default value */ - .name = "vparts" - }, - { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_ActionItem, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "resolution" - }, -}; -static const ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */ -}; -asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = { - sizeof(struct VariablePartSet), - offsetof(struct VariablePartSet, _asn_ctx), - .tag2el = asn_MAP_VariablePartSet_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_VariablePartSet = { - "VariablePartSet", - "VariablePartSet", - &asn_OP_SEQUENCE, - asn_DEF_VariablePartSet_tags_1, - sizeof(asn_DEF_VariablePartSet_tags_1) - /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */ - asn_DEF_VariablePartSet_tags_1, /* Same as above */ - sizeof(asn_DEF_VariablePartSet_tags_1) - /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_VariablePartSet_1, - 2, /* Elements count */ - &asn_SPC_VariablePartSet_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [VariablePart] >>> ***/ - -#include -#include -#include -#include -#include - -/*** <<< DEPS [VariablePart] >>> ***/ - -typedef enum VariablePart_PR { - VariablePart_PR_NOTHING, /* No components present */ - VariablePart_PR_vset, - VariablePart_PR_vrange - /* Extensions may appear below */ - -} VariablePart_PR; - -/*** <<< TYPE-DECLS [VariablePart] >>> ***/ - -typedef struct VariablePart { - VariablePart_PR present; - union VariablePart_u { - struct vset { - A_SET_OF(VisibleString_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } vset; - struct vrange { - VisibleString_t from; - VisibleString_t to; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } vrange; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VariablePart_t; - -/*** <<< FUNC-DECLS [VariablePart] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_VariablePart; -extern asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1; -extern asn_TYPE_member_t asn_MBR_VariablePart_1[2]; - -/*** <<< CODE [VariablePart] >>> ***/ - -static int -memb_vset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSET_FROM_VOID(sptr)->count; - - if((size >= 1)) { - /* Perform validation of the inner elements */ - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [VariablePart] >>> ***/ - -static asn_TYPE_member_t asn_MBR_vset_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), - .tag_mode = 0, - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_vset_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = { - sizeof(struct vset), - offsetof(struct vset, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_vset_2 = { - "vset", - "vset", - &asn_OP_SET_OF, - asn_DEF_vset_tags_2, - sizeof(asn_DEF_vset_tags_2) - /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */ - asn_DEF_vset_tags_2, /* Same as above */ - sizeof(asn_DEF_vset_tags_2) - /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_vset_2, - 1, /* Single element */ - &asn_SPC_vset_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_vrange_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct vrange, from), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), - .tag_mode = 0, - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "from" - }, - { ATF_NOFLAGS, 0, offsetof(struct vrange, to), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), - .tag_mode = 0, - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "to" - }, -}; -static const ber_tlv_tag_t asn_DEF_vrange_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from */ - { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = { - sizeof(struct vrange), - offsetof(struct vrange, _asn_ctx), - .tag2el = asn_MAP_vrange_tag2el_4, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_vrange_4 = { - "vrange", - "vrange", - &asn_OP_SEQUENCE, - asn_DEF_vrange_tags_4, - sizeof(asn_DEF_vrange_tags_4) - /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */ - asn_DEF_vrange_tags_4, /* Same as above */ - sizeof(asn_DEF_vrange_tags_4) - /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_vrange_4, - 2, /* Elements count */ - &asn_SPC_vrange_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_VariablePart_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_vset_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_vset_constraint_1 }, - 0, 0, /* No default value */ - .name = "vset" - }, - { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_vrange_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "vrange" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */ -}; -asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = { - sizeof(struct VariablePart), - offsetof(struct VariablePart, _asn_ctx), - offsetof(struct VariablePart, present), - sizeof(((struct VariablePart *)0)->present), - .tag2el = asn_MAP_VariablePart_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = 2 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_VariablePart = { - "VariablePart", - "VariablePart", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_VariablePart_1, - 2, /* Elements count */ - &asn_SPC_VariablePart_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ActionItem] >>> ***/ - -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [ActionItem] >>> ***/ - -typedef enum accept_as { - accept_as_unknown = 0, - accept_as_safe = 1, - accept_as_unsafe = 2 - /* - * Enumeration is extensible - */ -} e_accept_as; - -/*** <<< TYPE-DECLS [ActionItem] >>> ***/ - -typedef struct ActionItem { - long accept_as; - struct notify { - BOOLEAN_t critical; - struct email { - A_SET_OF(VisibleString_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } email; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *notify; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ActionItem_t; - -/*** <<< FUNC-DECLS [ActionItem] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_ActionItem; -extern asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1; -extern asn_TYPE_member_t asn_MBR_ActionItem_1[2]; - -/*** <<< CODE [ActionItem] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [ActionItem] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = { - { 0, 7, "unknown" }, - { 1, 4, "safe" }, - { 2, 6, "unsafe" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_accept_as_enum2value_2[] = { - 1, /* safe(1) */ - 0, /* unknown(0) */ - 2 /* unsafe(2) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = { - asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */ - asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 4, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_accept_as_2 = { - "accept-as", - "accept-as", - &asn_OP_NativeEnumerated, - asn_DEF_accept_as_tags_2, - sizeof(asn_DEF_accept_as_tags_2) - /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */ - asn_DEF_accept_as_tags_2, /* Same as above */ - sizeof(asn_DEF_accept_as_tags_2) - /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */ - { 0, 0, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_accept_as_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_email_9[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), - .tag_mode = 0, - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_email_tags_9[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = { - sizeof(struct email), - offsetof(struct email, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_email_9 = { - "email", - "email", - &asn_OP_SET_OF, - asn_DEF_email_tags_9, - sizeof(asn_DEF_email_tags_9) - /sizeof(asn_DEF_email_tags_9[0]), /* 1 */ - asn_DEF_email_tags_9, /* Same as above */ - sizeof(asn_DEF_email_tags_9) - /sizeof(asn_DEF_email_tags_9[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_email_9, - 1, /* Single element */ - &asn_SPC_email_specs_9 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_notify_7[] = { - { ATF_NOFLAGS, 0, offsetof(struct notify, critical), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "critical" - }, - { ATF_NOFLAGS, 0, offsetof(struct notify, email), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_email_9, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "email" - }, -}; -static const ber_tlv_tag_t asn_DEF_notify_tags_7[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = { - sizeof(struct notify), - offsetof(struct notify, _asn_ctx), - .tag2el = asn_MAP_notify_tag2el_7, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_notify_7 = { - "notify", - "notify", - &asn_OP_SEQUENCE, - asn_DEF_notify_tags_7, - sizeof(asn_DEF_notify_tags_7) - /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */ - asn_DEF_notify_tags_7, /* Same as above */ - sizeof(asn_DEF_notify_tags_7) - /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_notify_7, - 2, /* Elements count */ - &asn_SPC_notify_specs_7 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_ActionItem_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_accept_as_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "accept-as" - }, - { ATF_POINTER, 1, offsetof(struct ActionItem, notify), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_notify_7, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "notify" - }, -}; -static const ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */ -}; -asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = { - sizeof(struct ActionItem), - offsetof(struct ActionItem, _asn_ctx), - .tag2el = asn_MAP_ActionItem_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ActionItem = { - "ActionItem", - "ActionItem", - &asn_OP_SEQUENCE, - asn_DEF_ActionItem_tags_1, - sizeof(asn_DEF_ActionItem_tags_1) - /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */ - asn_DEF_ActionItem_tags_1, /* Same as above */ - sizeof(asn_DEF_ActionItem_tags_1) - /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ActionItem_1, - 2, /* Elements count */ - &asn_SPC_ActionItem_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/43-recursion-OK.asn1 b/tests/tests-asn1c-compiler/43-recursion-OK.asn1 deleted file mode 100644 index 782f6c3..0000000 --- a/tests/tests-asn1c-compiler/43-recursion-OK.asn1 +++ /dev/null @@ -1,31 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .43 - -ModuleRecursion - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 43 } - DEFINITIONS ::= -BEGIN - - Test-structure-1 ::= SEQUENCE { - t-member1 SET OF Test-structure-1, - t-member2 SEQUENCE OF Test-structure-1, - t-member3 Test-structure-1 OPTIONAL, - t-member4 INTEGER - } - - Choice-1 ::= CHOICE { - and [1] Choice-1, - or [2] IMPLICIT SET OF Choice-1, - not [3] Choice-1, - other [4] INTEGER - } - - Test-structure-2 ::= SET { m1 Test-structure-3 OPTIONAL } - Test-structure-3 ::= SET { m1 Test-structure-2 OPTIONAL } - -END diff --git a/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types deleted file mode 100644 index b3bc7e7..0000000 --- a/tests/tests-asn1c-compiler/43-recursion-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,532 +0,0 @@ - -/*** <<< INCLUDES [Test-structure-1] >>> ***/ - -#include -#include -#include -#include -#include -#include - -/*** <<< FWD-DECLS [Test-structure-1] >>> ***/ - -struct Test_structure_1; - -/*** <<< TYPE-DECLS [Test-structure-1] >>> ***/ - -typedef struct Test_structure_1 { - struct t_member1 { - A_SET_OF(struct Test_structure_1) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } t_member1; - struct t_member2 { - A_SEQUENCE_OF(struct Test_structure_1) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } t_member2; - struct Test_structure_1 *t_member3; /* OPTIONAL */ - INTEGER_t t_member4; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_structure_1_t; - -/*** <<< FUNC-DECLS [Test-structure-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_1; -extern asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1; -extern asn_TYPE_member_t asn_MBR_Test_structure_1_1[4]; - -/*** <<< POST-INCLUDE [Test-structure-1] >>> ***/ - -#include "Test-structure-1.h" - -/*** <<< STAT-DEFS [Test-structure-1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_t_member1_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Test_structure_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_t_member1_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_t_member1_specs_2 = { - sizeof(struct t_member1), - offsetof(struct t_member1, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_t_member1_2 = { - "t-member1", - "t-member1", - &asn_OP_SET_OF, - asn_DEF_t_member1_tags_2, - sizeof(asn_DEF_t_member1_tags_2) - /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */ - asn_DEF_t_member1_tags_2, /* Same as above */ - sizeof(asn_DEF_t_member1_tags_2) - /sizeof(asn_DEF_t_member1_tags_2[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_t_member1_2, - 1, /* Single element */ - &asn_SPC_t_member1_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_t_member2_4[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Test_structure_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_t_member2_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_t_member2_specs_4 = { - sizeof(struct t_member2), - offsetof(struct t_member2, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_t_member2_4 = { - "t-member2", - "t-member2", - &asn_OP_SEQUENCE_OF, - asn_DEF_t_member2_tags_4, - sizeof(asn_DEF_t_member2_tags_4) - /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */ - asn_DEF_t_member2_tags_4, /* Same as above */ - sizeof(asn_DEF_t_member2_tags_4) - /sizeof(asn_DEF_t_member2_tags_4[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_t_member2_4, - 1, /* Single element */ - &asn_SPC_t_member2_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Test_structure_1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_t_member1_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-member1" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member2), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_t_member2_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-member2" - }, - { ATF_POINTER, 1, offsetof(struct Test_structure_1, t_member3), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Test_structure_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-member3" - }, - { ATF_NOFLAGS, 0, offsetof(struct Test_structure_1, t_member4), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t-member4" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_structure_1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_structure_1_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* t-member4 */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* t-member2 */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 }, /* t-member3 */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* t-member1 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Test_structure_1_specs_1 = { - sizeof(struct Test_structure_1), - offsetof(struct Test_structure_1, _asn_ctx), - .tag2el = asn_MAP_Test_structure_1_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Test_structure_1 = { - "Test-structure-1", - "Test-structure-1", - &asn_OP_SEQUENCE, - asn_DEF_Test_structure_1_tags_1, - sizeof(asn_DEF_Test_structure_1_tags_1) - /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */ - asn_DEF_Test_structure_1_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_structure_1_tags_1) - /sizeof(asn_DEF_Test_structure_1_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Test_structure_1_1, - 4, /* Elements count */ - &asn_SPC_Test_structure_1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice-1] >>> ***/ - -#include -#include -#include -#include - -/*** <<< DEPS [Choice-1] >>> ***/ - -typedef enum Choice_1_PR { - Choice_1_PR_NOTHING, /* No components present */ - Choice_1_PR_and, - Choice_1_PR_or, - Choice_1_PR_not, - Choice_1_PR_other -} Choice_1_PR; - -/*** <<< FWD-DECLS [Choice-1] >>> ***/ - -struct Choice_1; - -/*** <<< TYPE-DECLS [Choice-1] >>> ***/ - -typedef struct Choice_1 { - Choice_1_PR present; - union Choice_1_u { - struct Choice_1 *And; - struct Or { - A_SET_OF(struct Choice_1) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } Or; - struct Choice_1 *Not; - INTEGER_t other; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice_1_t; - -/*** <<< FUNC-DECLS [Choice-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice_1; -extern asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice_1_1[4]; - -/*** <<< POST-INCLUDE [Choice-1] >>> ***/ - -#include "Choice-1.h" - -/*** <<< STAT-DEFS [Choice-1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_or_3[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_Choice_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_or_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_or_specs_3 = { - sizeof(struct Or), - offsetof(struct Or, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_or_3 = { - "or", - "or", - &asn_OP_SET_OF, - asn_DEF_or_tags_3, - sizeof(asn_DEF_or_tags_3) - /sizeof(asn_DEF_or_tags_3[0]) - 1, /* 1 */ - asn_DEF_or_tags_3, /* Same as above */ - sizeof(asn_DEF_or_tags_3) - /sizeof(asn_DEF_or_tags_3[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_or_3, - 1, /* Single element */ - &asn_SPC_or_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Choice_1_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice_1, choice.And), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "and" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.Or), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_or_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "or" - }, - { ATF_POINTER, 0, offsetof(struct Choice_1, choice.Not), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice_1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "not" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice_1, choice.other), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "other" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* and */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* or */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* not */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* other */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice_1_specs_1 = { - sizeof(struct Choice_1), - offsetof(struct Choice_1, _asn_ctx), - offsetof(struct Choice_1, present), - sizeof(((struct Choice_1 *)0)->present), - .tag2el = asn_MAP_Choice_1_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice_1 = { - "Choice-1", - "Choice-1", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice_1_1, - 4, /* Elements count */ - &asn_SPC_Choice_1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Test-structure-2] >>> ***/ - -#include - -/*** <<< DEPS [Test-structure-2] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Test_structure_2_PR { - Test_structure_2_PR_m1, /* Member m1 is present */ -} Test_structure_2_PR; - -/*** <<< FWD-DECLS [Test-structure-2] >>> ***/ - -struct Test_structure_3; - -/*** <<< TYPE-DECLS [Test-structure-2] >>> ***/ - -typedef struct Test_structure_2 { - struct Test_structure_3 *m1; /* OPTIONAL */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_2, Test_structure_2_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_structure_2_t; - -/*** <<< FUNC-DECLS [Test-structure-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_2; -extern asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1; -extern asn_TYPE_member_t asn_MBR_Test_structure_2_1[1]; - -/*** <<< POST-INCLUDE [Test-structure-2] >>> ***/ - -#include "Test-structure-3.h" - -/*** <<< STAT-DEFS [Test-structure-2] >>> ***/ - -asn_TYPE_member_t asn_MBR_Test_structure_2_1[] = { - { ATF_POINTER, 1, offsetof(struct Test_structure_2, m1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Test_structure_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m1" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_structure_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_structure_2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */ -}; -static const uint8_t asn_MAP_Test_structure_2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (0 << 7) -}; -asn_SET_specifics_t asn_SPC_Test_structure_2_specs_1 = { - sizeof(struct Test_structure_2), - offsetof(struct Test_structure_2, _asn_ctx), - offsetof(struct Test_structure_2, _presence_map), - .tag2el = asn_MAP_Test_structure_2_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_Test_structure_2_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_Test_structure_2_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = { - "Test-structure-2", - "Test-structure-2", - &asn_OP_SET, - asn_DEF_Test_structure_2_tags_1, - sizeof(asn_DEF_Test_structure_2_tags_1) - /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */ - asn_DEF_Test_structure_2_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_structure_2_tags_1) - /sizeof(asn_DEF_Test_structure_2_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Test_structure_2_1, - 1, /* Elements count */ - &asn_SPC_Test_structure_2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Test-structure-3] >>> ***/ - -#include - -/*** <<< DEPS [Test-structure-3] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Test_structure_3_PR { - Test_structure_3_PR_m1, /* Member m1 is present */ -} Test_structure_3_PR; - -/*** <<< FWD-DECLS [Test-structure-3] >>> ***/ - -struct Test_structure_2; - -/*** <<< TYPE-DECLS [Test-structure-3] >>> ***/ - -typedef struct Test_structure_3 { - struct Test_structure_2 *m1; /* OPTIONAL */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pTest_structure_3, Test_structure_3_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Test_structure_3_t; - -/*** <<< FUNC-DECLS [Test-structure-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Test_structure_3; -extern asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1; -extern asn_TYPE_member_t asn_MBR_Test_structure_3_1[1]; - -/*** <<< POST-INCLUDE [Test-structure-3] >>> ***/ - -#include "Test-structure-2.h" - -/*** <<< STAT-DEFS [Test-structure-3] >>> ***/ - -asn_TYPE_member_t asn_MBR_Test_structure_3_1[] = { - { ATF_POINTER, 1, offsetof(struct Test_structure_3, m1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Test_structure_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m1" - }, -}; -static const ber_tlv_tag_t asn_DEF_Test_structure_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Test_structure_3_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* m1 */ -}; -static const uint8_t asn_MAP_Test_structure_3_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (0 << 7) -}; -asn_SET_specifics_t asn_SPC_Test_structure_3_specs_1 = { - sizeof(struct Test_structure_3), - offsetof(struct Test_structure_3, _asn_ctx), - offsetof(struct Test_structure_3, _presence_map), - .tag2el = asn_MAP_Test_structure_3_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_Test_structure_3_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_Test_structure_3_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = { - "Test-structure-3", - "Test-structure-3", - &asn_OP_SET, - asn_DEF_Test_structure_3_tags_1, - sizeof(asn_DEF_Test_structure_3_tags_1) - /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */ - asn_DEF_Test_structure_3_tags_1, /* Same as above */ - sizeof(asn_DEF_Test_structure_3_tags_1) - /sizeof(asn_DEF_Test_structure_3_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Test_structure_3_1, - 1, /* Elements count */ - &asn_SPC_Test_structure_3_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1 b/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1 deleted file mode 100644 index ef375f6..0000000 --- a/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1 +++ /dev/null @@ -1,30 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .44 - -ModuleChoiceInSequence - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 44 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= [PRIVATE 1] SEQUENCE { - a [PRIVATE 2] NULL, - b CHOICE { - c [PRIVATE 5] NULL, - d [PRIVATE 6] NULL, - e CHOICE { - f [PRIVATE 7] NULL, - g [PRIVATE 8] NULL - }, - h [PRIVATE 9] CHOICE { -- EXPLICIT! - i [PRIVATE 1] NULL, - j [PRIVATE 2] NULL - } - } - } - -END diff --git a/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1.-P b/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1.-P deleted file mode 100644 index 003c11a..0000000 --- a/tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1.-P +++ /dev/null @@ -1,296 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum b_PR { - b_PR_NOTHING, /* No components present */ - b_PR_c, - b_PR_d, - b_PR_e, - b_PR_h -} b_PR; -typedef enum e_PR { - e_PR_NOTHING, /* No components present */ - e_PR_f, - e_PR_g -} e_PR; -typedef enum h_PR { - h_PR_NOTHING, /* No components present */ - h_PR_i, - h_PR_j -} h_PR; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - NULL_t a; - struct b { - b_PR present; - union T__b_u { - NULL_t c; - NULL_t d; - struct e { - e_PR present; - union T__b__e_u { - NULL_t f; - NULL_t g; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } e; - struct h { - h_PR present; - union T__b__h_u { - NULL_t i; - NULL_t j; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } h; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_e_6[] = { - { ATF_NOFLAGS, 0, offsetof(struct e, choice.f), - .tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "f" - }, - { ATF_NOFLAGS, 0, offsetof(struct e, choice.g), - .tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_e_tag2el_6[] = { - { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f */ - { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g */ -}; -static asn_CHOICE_specifics_t asn_SPC_e_specs_6 = { - sizeof(struct e), - offsetof(struct e, _asn_ctx), - offsetof(struct e, present), - sizeof(((struct e *)0)->present), - .tag2el = asn_MAP_e_tag2el_6, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_e_6 = { - "e", - "e", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_e_6, - 2, /* Elements count */ - &asn_SPC_e_specs_6 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_h_9[] = { - { ATF_NOFLAGS, 0, offsetof(struct h, choice.i), - .tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, - { ATF_NOFLAGS, 0, offsetof(struct h, choice.j), - .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "j" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_h_tag2el_9[] = { - { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i */ - { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j */ -}; -static asn_CHOICE_specifics_t asn_SPC_h_specs_9 = { - sizeof(struct h), - offsetof(struct h, _asn_ctx), - offsetof(struct h, present), - sizeof(((struct h *)0)->present), - .tag2el = asn_MAP_h_tag2el_9, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_h_9 = { - "h", - "h", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_h_9, - 2, /* Elements count */ - &asn_SPC_h_specs_9 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_b_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct b, choice.c), - .tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c" - }, - { ATF_NOFLAGS, 0, offsetof(struct b, choice.d), - .tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "d" - }, - { ATF_NOFLAGS, 0, offsetof(struct b, choice.e), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_e_6, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "e" - }, - { ATF_NOFLAGS, 0, offsetof(struct b, choice.h), - .tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_h_9, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "h" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = { - { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c */ - { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */ - { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f */ - { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g */ - { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h */ -}; -static asn_CHOICE_specifics_t asn_SPC_b_specs_3 = { - sizeof(struct b), - offsetof(struct b, _asn_ctx), - offsetof(struct b, present), - sizeof(((struct b *)0)->present), - .tag2el = asn_MAP_b_tag2el_3, - .tag2el_count = 5, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_b_3 = { - "b", - "b", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_b_3, - 4, /* Elements count */ - &asn_SPC_b_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, a), - .tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, b), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_b_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_PRIVATE | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c */ - { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d */ - { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 1, 0, 0 }, /* f */ - { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g */ - { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 } /* h */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 6, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 2, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1 b/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1 deleted file mode 100644 index a068b5c..0000000 --- a/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .45 - -ModuleKnownExternType - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 45 } - DEFINITIONS ::= -BEGIN - - Type ::= KnownExt -- KnownExt is known to be external. - -END diff --git a/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1.-EFfknown-extern-type=KnownExt b/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1.-EFfknown-extern-type=KnownExt deleted file mode 100644 index 994a890..0000000 --- a/tests/tests-asn1c-compiler/45-undefined-type-SE.asn1.-EFfknown-extern-type=KnownExt +++ /dev/null @@ -1,8 +0,0 @@ -ModuleKnownExternType { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 45 } -DEFINITIONS ::= -BEGIN - -Type ::= KnownExt - -END diff --git a/tests/tests-asn1c-compiler/46-redefine-OK.asn1 b/tests/tests-asn1c-compiler/46-redefine-OK.asn1 deleted file mode 100644 index 0585404..0000000 --- a/tests/tests-asn1c-compiler/46-redefine-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .46 - -ModuleRedefineType - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 46 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - PrimitiveType ::= OCTET STRING - - ConstructedType ::= SEQUENCE { - field [5] PrimitiveType - } - - T ::= [3] ConstructedType - -END diff --git a/tests/tests-asn1c-compiler/46-redefine-OK.asn1.-PR b/tests/tests-asn1c-compiler/46-redefine-OK.asn1.-PR deleted file mode 100644 index ea18361..0000000 --- a/tests/tests-asn1c-compiler/46-redefine-OK.asn1.-PR +++ /dev/null @@ -1,160 +0,0 @@ - -/*** <<< INCLUDES [PrimitiveType] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PrimitiveType] >>> ***/ - -typedef OCTET_STRING_t PrimitiveType_t; - -/*** <<< FUNC-DECLS [PrimitiveType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PrimitiveType; -asn_struct_free_f PrimitiveType_free; -asn_struct_print_f PrimitiveType_print; -asn_constr_check_f PrimitiveType_constraint; -ber_type_decoder_f PrimitiveType_decode_ber; -der_type_encoder_f PrimitiveType_encode_der; -xer_type_decoder_f PrimitiveType_decode_xer; -xer_type_encoder_f PrimitiveType_encode_xer; - -/*** <<< CODE [PrimitiveType] >>> ***/ - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [PrimitiveType] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PrimitiveType_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PrimitiveType = { - "PrimitiveType", - "PrimitiveType", - &asn_OP_OCTET_STRING, - asn_DEF_PrimitiveType_tags_1, - sizeof(asn_DEF_PrimitiveType_tags_1) - /sizeof(asn_DEF_PrimitiveType_tags_1[0]), /* 1 */ - asn_DEF_PrimitiveType_tags_1, /* Same as above */ - sizeof(asn_DEF_PrimitiveType_tags_1) - /sizeof(asn_DEF_PrimitiveType_tags_1[0]), /* 1 */ - { 0, 0, OCTET_STRING_constraint }, - 0, 0, /* No members */ - &asn_SPC_OCTET_STRING_specs /* Additional specs */ -}; - - -/*** <<< INCLUDES [ConstructedType] >>> ***/ - -#include "PrimitiveType.h" -#include - -/*** <<< TYPE-DECLS [ConstructedType] >>> ***/ - -typedef struct ConstructedType { - PrimitiveType_t field; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConstructedType_t; - -/*** <<< FUNC-DECLS [ConstructedType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ConstructedType; -extern asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1; -extern asn_TYPE_member_t asn_MBR_ConstructedType_1[1]; - -/*** <<< STAT-DEFS [ConstructedType] >>> ***/ - -asn_TYPE_member_t asn_MBR_ConstructedType_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_PrimitiveType, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "field" - }, -}; -static const ber_tlv_tag_t asn_DEF_ConstructedType_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ConstructedType_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 } /* field */ -}; -asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = { - sizeof(struct ConstructedType), - offsetof(struct ConstructedType, _asn_ctx), - .tag2el = asn_MAP_ConstructedType_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ConstructedType = { - "ConstructedType", - "ConstructedType", - &asn_OP_SEQUENCE, - asn_DEF_ConstructedType_tags_1, - sizeof(asn_DEF_ConstructedType_tags_1) - /sizeof(asn_DEF_ConstructedType_tags_1[0]), /* 1 */ - asn_DEF_ConstructedType_tags_1, /* Same as above */ - sizeof(asn_DEF_ConstructedType_tags_1) - /sizeof(asn_DEF_ConstructedType_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ConstructedType_1, - 1, /* Elements count */ - &asn_SPC_ConstructedType_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T] >>> ***/ - -#include "ConstructedType.h" - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef ConstructedType_t T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; -asn_struct_free_f T_free; -asn_struct_print_f T_print; -asn_constr_check_f T_constraint; -ber_type_decoder_f T_decode_ber; -der_type_encoder_f T_encode_der; -xer_type_decoder_f T_decode_xer; -xer_type_encoder_f T_encode_xer; - -/*** <<< CODE [T] >>> ***/ - -/* - * This type is implemented using ConstructedType, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ConstructedType_1, - 1, /* Elements count */ - &asn_SPC_ConstructedType_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/47-set-ext-OK.asn1 b/tests/tests-asn1c-compiler/47-set-ext-OK.asn1 deleted file mode 100644 index 52afef1..0000000 --- a/tests/tests-asn1c-compiler/47-set-ext-OK.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .47 - -ModuleSetChoiceExtensibility - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 47 } - DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= -BEGIN - - T1 ::= SET { i INTEGER } - T2 ::= SET { i INTEGER, ... } - T3 ::= CHOICE { i INTEGER } - T4 ::= CHOICE { i INTEGER, ... } - -END diff --git a/tests/tests-asn1c-compiler/47-set-ext-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/47-set-ext-OK.asn1.-Pfwide-types deleted file mode 100644 index 5aca445..0000000 --- a/tests/tests-asn1c-compiler/47-set-ext-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,324 +0,0 @@ - -/*** <<< INCLUDES [T1] >>> ***/ - -#include -#include - -/*** <<< DEPS [T1] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum T1_PR { - T1_PR_i, /* Member i is present */ -} T1_PR; - -/*** <<< TYPE-DECLS [T1] >>> ***/ - -typedef struct T1 { - INTEGER_t i; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pT1, T1_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T1_t; - -/*** <<< FUNC-DECLS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; - -/*** <<< STAT-DEFS [T1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T1, i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, -}; -static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */ -}; -static const uint8_t asn_MAP_T1_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -static -asn_SET_specifics_t asn_SPC_T1_specs_1 = { - sizeof(struct T1), - offsetof(struct T1, _asn_ctx), - offsetof(struct T1, _presence_map), - .tag2el = asn_MAP_T1_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_T1_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_T1_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_T1 = { - "T1", - "T1", - &asn_OP_SET, - asn_DEF_T1_tags_1, - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - asn_DEF_T1_tags_1, /* Same as above */ - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_T1_1, - 1, /* Elements count */ - &asn_SPC_T1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T2] >>> ***/ - -#include -#include - -/*** <<< DEPS [T2] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum T2_PR { - T2_PR_i, /* Member i is present */ -} T2_PR; - -/*** <<< TYPE-DECLS [T2] >>> ***/ - -typedef struct T2 { - INTEGER_t i; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pT2, T2_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T2_t; - -/*** <<< FUNC-DECLS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; - -/*** <<< STAT-DEFS [T2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T2, i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, -}; -static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */ -}; -static const uint8_t asn_MAP_T2_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -static -asn_SET_specifics_t asn_SPC_T2_specs_1 = { - sizeof(struct T2), - offsetof(struct T2, _asn_ctx), - offsetof(struct T2, _presence_map), - .tag2el = asn_MAP_T2_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_T2_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_T2_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_T2 = { - "T2", - "T2", - &asn_OP_SET, - asn_DEF_T2_tags_1, - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - asn_DEF_T2_tags_1, /* Same as above */ - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_T2_1, - 1, /* Elements count */ - &asn_SPC_T2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T3] >>> ***/ - -#include -#include - -/*** <<< DEPS [T3] >>> ***/ - -typedef enum T3_PR { - T3_PR_NOTHING, /* No components present */ - T3_PR_i - /* Extensions may appear below */ - -} T3_PR; - -/*** <<< TYPE-DECLS [T3] >>> ***/ - -typedef struct T3 { - T3_PR present; - union T3_u { - INTEGER_t i; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T3_t; - -/*** <<< FUNC-DECLS [T3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T3; - -/*** <<< STAT-DEFS [T3] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T3_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T3, choice.i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_T3_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */ -}; -static asn_CHOICE_specifics_t asn_SPC_T3_specs_1 = { - sizeof(struct T3), - offsetof(struct T3, _asn_ctx), - offsetof(struct T3, present), - sizeof(((struct T3 *)0)->present), - .tag2el = asn_MAP_T3_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T3 = { - "T3", - "T3", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_T3_1, - 1, /* Elements count */ - &asn_SPC_T3_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T4] >>> ***/ - -#include -#include - -/*** <<< DEPS [T4] >>> ***/ - -typedef enum T4_PR { - T4_PR_NOTHING, /* No components present */ - T4_PR_i - /* Extensions may appear below */ - -} T4_PR; - -/*** <<< TYPE-DECLS [T4] >>> ***/ - -typedef struct T4 { - T4_PR present; - union T4_u { - INTEGER_t i; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T4_t; - -/*** <<< FUNC-DECLS [T4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T4; - -/*** <<< STAT-DEFS [T4] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T4_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T4, choice.i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_T4_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */ -}; -static asn_CHOICE_specifics_t asn_SPC_T4_specs_1 = { - sizeof(struct T4), - offsetof(struct T4, _asn_ctx), - offsetof(struct T4, present), - sizeof(((struct T4 *)0)->present), - .tag2el = asn_MAP_T4_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T4 = { - "T4", - "T4", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_T4_1, - 1, /* Elements count */ - &asn_SPC_T4_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/48-real-life-OK.asn1 b/tests/tests-asn1c-compiler/48-real-life-OK.asn1 deleted file mode 100644 index 7173676..0000000 --- a/tests/tests-asn1c-compiler/48-real-life-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .48 - -ModuleSetChoiceExtensibility - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 48 } - DEFINITIONS ::= -BEGIN - - /* - * 0.8.14 had problem saving/reloading this object - */ - UserIdentifier ::= CHOICE { - phoneNumber [3] EXPLICIT IA5String - } - -END diff --git a/tests/tests-asn1c-compiler/49-real-life-OK.asn1 b/tests/tests-asn1c-compiler/49-real-life-OK.asn1 deleted file mode 100644 index aeba3b0..0000000 --- a/tests/tests-asn1c-compiler/49-real-life-OK.asn1 +++ /dev/null @@ -1,24 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .49 - -ModuleSetChoiceExtensibility - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 49 } - DEFINITIONS ::= -BEGIN - /* - * 0.8.17 had problem parsing this module - */ - - EXPORTS TypeA ; - - IMPORTS TypeB FROM ModuleB - TypeC FROM ModuleC ; - - Z ::= INTEGER -- Can't specify only EXPORTS & IMPOTS - -END diff --git a/tests/tests-asn1c-compiler/49-real-life-OK.asn1.-E b/tests/tests-asn1c-compiler/49-real-life-OK.asn1.-E deleted file mode 100644 index 018bc6b..0000000 --- a/tests/tests-asn1c-compiler/49-real-life-OK.asn1.-E +++ /dev/null @@ -1,8 +0,0 @@ -ModuleSetChoiceExtensibility { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 49 } -DEFINITIONS ::= -BEGIN - -Z ::= INTEGER - -END diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1 b/tests/tests-asn1c-compiler/50-constraint-OK.asn1 deleted file mode 100644 index 43c9ba4..0000000 --- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1 +++ /dev/null @@ -1,93 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .50 1 --- .50 2 - -ModuleNestedConstraintsCheck - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 50 1 } - DEFINITIONS ::= -BEGIN - IMPORTS Identifier FROM IdentifierModule; - - Int1 ::= INTEGER - Int2 ::= Int1 (0..MAX) -- X.680-0207::41.4.4 - Int3 ::= Int2 (MIN..ten) -- Means (0..10) - Int4 ::= Int3 (5..MAX,...,1..4) -- Means (1..10,...) - Int5 ::= Int4 (MIN..5) -- Means (5) - -- Int6 ::= INTEGER (Int5) -- -- Not yet supported - - ten Int1 ::= other-ten - other-ten Int2 ::= 10 - - -- G.4.3.4 - ExtensibleExtensions ::= INTEGER (1..256) (1..255,...) - - Str1 ::= IA5String - Str2 ::= Str1 (SIZE(MIN..20 | 25..30)) - -- Means (SIZE(0..20 | 25..30)) - Str3 ::= Str2 (SIZE(10..27))(FROM("ABC"|"def")) - -- (SIZE(10..20,25..27))(FROM("ABCdef")) - Str4 ::= IA5String ("ABCD"|SIZE(4)) - -- Not PER-visible - - PER-Visible ::= IA5String (FROM("A".."F")) - PER-Visible-2 ::= PER-Visible (FROM("E".."F")) -- Means (FROM("EF")) - -- The following maintain parent permitted alphabet constraint - Not-PER-Visible-1 ::= PER-Visible (FROM("AB") | SIZE(1..2)) - Not-PER-Visible-2 ::= PER-Visible (FROM("AB",...)) - Not-PER-Visible-3 ::= PER-Visible (FROM("AB"),...) - - SIZE-but-not-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD",...)) - SIZE-and-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD")) - Neither-SIZE-nor-FROM ::= PER-Visible (SIZE(1..4) | FROM("ABCD",...)) - - Utf8-4 ::= UTF8String (FROM("A".."Z")) -- Alphabet - Utf8-3 ::= Utf8-2 (FROM("A".."Z"|"a".."z")) -- Alphabet and size - Utf8-2 ::= Utf8-1 (SIZE(1..2)) -- Size - Utf8-1 ::= UTF8String - - VisibleIdentifier ::= Identifier - - Sequence ::= SEQUENCE { - int1-c Int1 (-2..MAX) DEFAULT 3, - int4 [2] Int4, - int4-c Int4 (MIN..7), - bool BOOLEAN DEFAULT 1, - enum-c ENUMERATED { one(1), two(2), ..., three(3) }, - ..., - int5-c Int5 (5) OPTIONAL, - ..., - null NULL OPTIONAL - } - - SequenceOf ::= SEQUENCE (SIZE(1..2)) OF Sequence - - Enum0 ::= ENUMERATED { one, two } - Enum1 ::= ENUMERATED { one, two } (one) - -END - - -IdentifierModule - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 50 2 } - DEFINITIONS ::= -BEGIN - EXPORTS Identifier; - - maxIdentifier INTEGER ::= 32 - - Identifier ::= - VisibleString ( FROM - ("A"|"a"|"B"|"b"|"C"|"c"|"D"|"d"|"E"|"e"|"F"|"f"| - "G"|"g"|"H"|"h"|"I"|"i"|"J"|"j"|"K"|"k"|"L"|"l"| - "M"|"m"|"N"|"n"|"O"|"o"|"P"|"p"|"Q"|"q"|"R"|"r"| - "S"|"s"|"T"|"t"|"U"|"u"|"V"|"v"|"W"|"w"|"X"|"x"| - "Y"|"y"|"Z"|"z"|"$"|"_"|"0"|"1"|"2"|"3"|"4"|"5"| - "6"|"7"|"8"|"9") ) (SIZE(1..maxIdentifier)) - -END diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints deleted file mode 100644 index d77822b8e03c63a790322b45abf9148da702f1d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12325 zcmeHNTW{Mo6y9s}D+pr`G7uZSHf@1DIEm7Ev*k3gyRO4FIJVq)b)?i*+O8Mur*AwT zMO|W%lpS|S(Y_og&f(!X-?@-HWIveREIij+h2Hci@K@n-Jom%Z(WN(e#Xhk4Dqz9# zrQIyEX)v`Plo|i8xAeWxu9w;Ma{guN zC1x&SieM&7TGEmxv)k~+ezjWNuUD%)M2${KEXp5ku#wMFuhD#;#mMw^##@zF-8YO+GbuJBCW{8W!2MoeZ19<2nfH$qPtQQFb*{MLE6 zj8>FRn}5&!mzroJ=IokcpLbt4vWjykPtFE?yYyYDS}pxkDkB4xD~?ebG*PWT#?foK zkgXzGX)F_}BXJrv_K`Jsg>2S@&WhCv#^#SuM1e-j%%nR*E-Q6g1hZ0dkrb;WAQec~ z`6}8tD91t2IXo(HSW8oH7Dd8ls74Mli`@`<2$T-bC`?fs=}eze?TrI?eTJ?4ur4NY zL?=&CitcE=mzm7$5_iHec>$5z(gt@fuNvFdP78rvnh8Gr==JcWqWLV^1Yk_L{UxsBCDB0fw~!txkGn@Yet)U zg=?ajAw z{lOv#X;YBIq+(mP2De$#cIZR7WZOt=Rim-R14GqL&s_pv|S5cADyvRKt~W=o0eJht(v0`VoyE99(ssB<9mZ^w%bn4-$j3tO663Lu^*!Dw zoIR|FGsS3l@{k`eczYn;J5Zj!D7;0MoC^5FRE2lPQkoLEJbC(lNj!r0RV@4=7At)6 zPH?ImzQDP5OaQ#s10YkF@6JpTbim{`U3hUSAXbmiEx`p4q7gAdV!H%{WIsh{MFFW; zR#K24Z1Zm~gv`8n$eN8#)4!1uKC7)_Bc9~JR?6Q_w(Zrw)p*lZfEY}2Ty*a3PWcVh zd^Y!%qA42xsd1f50qW|EkpqXI7oehZGQl@`4y7r+9Z(PS1at=a1oS27kD!;JUC=q` zPoRH+{tWsGvPTapl?8b z0euVl9P}ONub_W}ic0Yw-`|7&30ecKgEl~$pe@ig=mXFL(1)Opc$~|w81Gd^M?OX2 zNF1!lA{sA?lF+S273~qG!X92|FEq|nJ7uC3n^YUD#Y9BqcoV&?bMN(y=TAHY{JHaV z5ShRcSgM- zYwk;(0&N`3N2h;Z_67CiLb zQLm>_l9dBwTE8N{??kJ)sHtO_tPlRB77$Rm7c&48QA-B$x_K;VNUg6sAW7 z^h;6iVK_FL6GsbJ2N}RKt@xnZqWtZmYUQwKL1}97o(?o-0`Hb4$^=Kni9Lz|` zjE!WNvho?m8Ntq*&vJOht^xJ6noaduJbY4wXIy1Sj(e zDQAwEv^fBjC~t~Bvr!FD>XADD-Vx`{uiiWSsi3yl>Q+z!7iG`*##(o<+#WE zb!L2s?&BHh1`kGA=Dn!3x6y;qhWf$i)%abam3%ddd~Y^1Wi&HvlfX9(RN|=}m_io1 zM?H+&4askP2}0n$^d%Jizi&;XZ%rf=Yvo2KDOlOc6K|E!xkB|)Hb>%0tP`>> ***/ - -#include - -/*** <<< TYPE-DECLS [Int1] >>> ***/ - -typedef INTEGER_t Int1_t; - -/*** <<< FUNC-DECLS [Int1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int1; -asn_struct_free_f Int1_free; -asn_struct_print_f Int1_print; -asn_constr_check_f Int1_constraint; -ber_type_decoder_f Int1_decode_ber; -der_type_encoder_f Int1_encode_der; -xer_type_decoder_f Int1_decode_xer; -xer_type_encoder_f Int1_encode_xer; -#define Int1_ten ((Int1_t)10) - -/*** <<< CODE [Int1] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int1 = { - "Int1", - "Int1", - &asn_OP_INTEGER, - asn_DEF_Int1_tags_1, - sizeof(asn_DEF_Int1_tags_1) - /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */ - asn_DEF_Int1_tags_1, /* Same as above */ - sizeof(asn_DEF_Int1_tags_1) - /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int2] >>> ***/ - -#include "Int1.h" - -/*** <<< TYPE-DECLS [Int2] >>> ***/ - -typedef Int1_t Int2_t; - -/*** <<< FUNC-DECLS [Int2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int2; -asn_struct_free_f Int2_free; -asn_struct_print_f Int2_print; -asn_constr_check_f Int2_constraint; -ber_type_decoder_f Int2_decode_ber; -der_type_encoder_f Int2_encode_der; -xer_type_decoder_f Int2_decode_xer; -xer_type_encoder_f Int2_encode_xer; - -/*** <<< CODE [Int2] >>> ***/ - -int -Int2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int1_t *st = (const Int1_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Check if the sign bit is present */ - value = st->buf ? ((st->buf[0] & 0x80) ? -1 : 1) : 0; - - if((value >= 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int2 = { - "Int2", - "Int2", - &asn_OP_INTEGER, - asn_DEF_Int2_tags_1, - sizeof(asn_DEF_Int2_tags_1) - /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */ - asn_DEF_Int2_tags_1, /* Same as above */ - sizeof(asn_DEF_Int2_tags_1) - /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */ - { 0, 0, Int2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int3] >>> ***/ - -#include "Int2.h" - -/*** <<< TYPE-DECLS [Int3] >>> ***/ - -typedef Int2_t Int3_t; - -/*** <<< FUNC-DECLS [Int3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int3; -asn_struct_free_f Int3_free; -asn_struct_print_f Int3_print; -asn_constr_check_f Int3_constraint; -ber_type_decoder_f Int3_decode_ber; -der_type_encoder_f Int3_encode_der; -xer_type_decoder_f Int3_decode_xer; -xer_type_encoder_f Int3_encode_xer; - -/*** <<< CODE [Int3] >>> ***/ - -int -Int3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int2_t *st = (const Int2_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 0 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int3 = { - "Int3", - "Int3", - &asn_OP_INTEGER, - asn_DEF_Int3_tags_1, - sizeof(asn_DEF_Int3_tags_1) - /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */ - asn_DEF_Int3_tags_1, /* Same as above */ - sizeof(asn_DEF_Int3_tags_1) - /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */ - { 0, 0, Int3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int4] >>> ***/ - -#include "Int3.h" - -/*** <<< TYPE-DECLS [Int4] >>> ***/ - -typedef Int3_t Int4_t; - -/*** <<< FUNC-DECLS [Int4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int4; -asn_struct_free_f Int4_free; -asn_struct_print_f Int4_print; -asn_constr_check_f Int4_constraint; -ber_type_decoder_f Int4_decode_ber; -der_type_encoder_f Int4_encode_der; -xer_type_decoder_f Int4_decode_xer; -xer_type_encoder_f Int4_encode_xer; - -/*** <<< CODE [Int4] >>> ***/ - -int -Int4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int3_t *st = (const Int3_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 1 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int3, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int4 = { - "Int4", - "Int4", - &asn_OP_INTEGER, - asn_DEF_Int4_tags_1, - sizeof(asn_DEF_Int4_tags_1) - /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */ - asn_DEF_Int4_tags_1, /* Same as above */ - sizeof(asn_DEF_Int4_tags_1) - /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */ - { 0, 0, Int4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int5] >>> ***/ - -#include "Int4.h" - -/*** <<< TYPE-DECLS [Int5] >>> ***/ - -typedef Int4_t Int5_t; - -/*** <<< FUNC-DECLS [Int5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int5; -asn_struct_free_f Int5_free; -asn_struct_print_f Int5_print; -asn_constr_check_f Int5_constraint; -ber_type_decoder_f Int5_decode_ber; -der_type_encoder_f Int5_encode_der; -xer_type_decoder_f Int5_decode_xer; -xer_type_encoder_f Int5_encode_xer; - -/*** <<< CODE [Int5] >>> ***/ - -int -Int5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int4_t *st = (const Int4_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value == 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int4, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int5 = { - "Int5", - "Int5", - &asn_OP_INTEGER, - asn_DEF_Int5_tags_1, - sizeof(asn_DEF_Int5_tags_1) - /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */ - asn_DEF_Int5_tags_1, /* Same as above */ - sizeof(asn_DEF_Int5_tags_1) - /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */ - { 0, 0, Int5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [ExtensibleExtensions] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ExtensibleExtensions] >>> ***/ - -typedef INTEGER_t ExtensibleExtensions_t; - -/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions; -asn_struct_free_f ExtensibleExtensions_free; -asn_struct_print_f ExtensibleExtensions_print; -asn_constr_check_f ExtensibleExtensions_constraint; -ber_type_decoder_f ExtensibleExtensions_decode_ber; -der_type_encoder_f ExtensibleExtensions_encode_der; -xer_type_decoder_f ExtensibleExtensions_decode_xer; -xer_type_encoder_f ExtensibleExtensions_encode_xer; - -/*** <<< CODE [ExtensibleExtensions] >>> ***/ - -int -ExtensibleExtensions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 1 && value <= 255)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ExtensibleExtensions_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = { - "ExtensibleExtensions", - "ExtensibleExtensions", - &asn_OP_INTEGER, - asn_DEF_ExtensibleExtensions_tags_1, - sizeof(asn_DEF_ExtensibleExtensions_tags_1) - /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */ - asn_DEF_ExtensibleExtensions_tags_1, /* Same as above */ - sizeof(asn_DEF_ExtensibleExtensions_tags_1) - /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */ - { 0, 0, ExtensibleExtensions_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Str1] >>> ***/ - -typedef IA5String_t Str1_t; - -/*** <<< FUNC-DECLS [Str1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str1; -asn_struct_free_f Str1_free; -asn_struct_print_f Str1_print; -asn_constr_check_f Str1_constraint; -ber_type_decoder_f Str1_decode_ber; -der_type_encoder_f Str1_encode_der; -xer_type_decoder_f Str1_decode_xer; -xer_type_encoder_f Str1_encode_xer; - -/*** <<< CODE [Str1] >>> ***/ - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Str1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str1 = { - "Str1", - "Str1", - &asn_OP_IA5String, - asn_DEF_Str1_tags_1, - sizeof(asn_DEF_Str1_tags_1) - /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */ - asn_DEF_Str1_tags_1, /* Same as above */ - sizeof(asn_DEF_Str1_tags_1) - /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */ - { 0, 0, IA5String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str2] >>> ***/ - -#include "Str1.h" - -/*** <<< TYPE-DECLS [Str2] >>> ***/ - -typedef Str1_t Str2_t; - -/*** <<< FUNC-DECLS [Str2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str2; -asn_struct_free_f Str2_free; -asn_struct_print_f Str2_print; -asn_constr_check_f Str2_constraint; -ber_type_decoder_f Str2_decode_ber; -der_type_encoder_f Str2_encode_der; -xer_type_decoder_f Str2_decode_xer; -xer_type_encoder_f Str2_encode_xer; - -/*** <<< CTABLES [Str2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv <= 127)) return -1; - } - return 0; -} - - -/*** <<< CODE [Str2] >>> ***/ - -int -Str2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Str1_t *st = (const Str1_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if(((size <= 20) || (size >= 25 && size <= 30)) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Str1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Str2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str2 = { - "Str2", - "Str2", - &asn_OP_IA5String, - asn_DEF_Str2_tags_1, - sizeof(asn_DEF_Str2_tags_1) - /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */ - asn_DEF_Str2_tags_1, /* Same as above */ - sizeof(asn_DEF_Str2_tags_1) - /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */ - { 0, 0, Str2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str3] >>> ***/ - -#include "Str2.h" - -/*** <<< TYPE-DECLS [Str3] >>> ***/ - -typedef Str2_t Str3_t; - -/*** <<< FUNC-DECLS [Str3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str3; -asn_struct_free_f Str3_free; -asn_struct_print_f Str3_print; -asn_constr_check_f Str3_constraint; -ber_type_decoder_f Str3_decode_ber; -der_type_encoder_f Str3_encode_der; -xer_type_decoder_f Str3_decode_xer; -xer_type_encoder_f Str3_encode_xer; - -/*** <<< CTABLES [Str3] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ABC */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* def */ -}; - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Str3] >>> ***/ - -int -Str3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Str2_t *st = (const Str2_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27)) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Str2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Str3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str3 = { - "Str3", - "Str3", - &asn_OP_IA5String, - asn_DEF_Str3_tags_1, - sizeof(asn_DEF_Str3_tags_1) - /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */ - asn_DEF_Str3_tags_1, /* Same as above */ - sizeof(asn_DEF_Str3_tags_1) - /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */ - { 0, 0, Str3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Str4] >>> ***/ - -typedef IA5String_t Str4_t; - -/*** <<< FUNC-DECLS [Str4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str4; -asn_struct_free_f Str4_free; -asn_struct_print_f Str4_print; -asn_constr_check_f Str4_constraint; -ber_type_decoder_f Str4_decode_ber; -der_type_encoder_f Str4_encode_der; -xer_type_decoder_f Str4_decode_xer; -xer_type_encoder_f Str4_encode_xer; - -/*** <<< CTABLES [Str4] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv <= 127)) return -1; - } - return 0; -} - - -/*** <<< CODE [Str4] >>> ***/ - -int -Str4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Str4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str4 = { - "Str4", - "Str4", - &asn_OP_IA5String, - asn_DEF_Str4_tags_1, - sizeof(asn_DEF_Str4_tags_1) - /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */ - asn_DEF_Str4_tags_1, /* Same as above */ - sizeof(asn_DEF_Str4_tags_1) - /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */ - { 0, 0, Str4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [PER-Visible] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PER-Visible] >>> ***/ - -typedef IA5String_t PER_Visible_t; - -/*** <<< FUNC-DECLS [PER-Visible] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PER_Visible; -asn_struct_free_f PER_Visible_free; -asn_struct_print_f PER_Visible_print; -asn_constr_check_f PER_Visible_constraint; -ber_type_decoder_f PER_Visible_decode_ber; -der_type_encoder_f PER_Visible_encode_der; -xer_type_decoder_f PER_Visible_decode_xer; -xer_type_encoder_f PER_Visible_encode_xer; - -/*** <<< CTABLES [PER-Visible] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [PER-Visible] >>> ***/ - -int -PER_Visible_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [PER-Visible] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PER_Visible_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PER_Visible = { - "PER-Visible", - "PER-Visible", - &asn_OP_IA5String, - asn_DEF_PER_Visible_tags_1, - sizeof(asn_DEF_PER_Visible_tags_1) - /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */ - asn_DEF_PER_Visible_tags_1, /* Same as above */ - sizeof(asn_DEF_PER_Visible_tags_1) - /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */ - { 0, 0, PER_Visible_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [PER-Visible-2] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [PER-Visible-2] >>> ***/ - -typedef PER_Visible_t PER_Visible_2_t; - -/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PER_Visible_2; -asn_struct_free_f PER_Visible_2_free; -asn_struct_print_f PER_Visible_2_print; -asn_constr_check_f PER_Visible_2_constraint; -ber_type_decoder_f PER_Visible_2_decode_ber; -der_type_encoder_f PER_Visible_2_encode_der; -xer_type_decoder_f PER_Visible_2_decode_xer; -xer_type_encoder_f PER_Visible_2_encode_xer; - -/*** <<< CTABLES [PER-Visible-2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 69 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [PER-Visible-2] >>> ***/ - -int -PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PER_Visible_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = { - "PER-Visible-2", - "PER-Visible-2", - &asn_OP_IA5String, - asn_DEF_PER_Visible_2_tags_1, - sizeof(asn_DEF_PER_Visible_2_tags_1) - /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */ - asn_DEF_PER_Visible_2_tags_1, /* Same as above */ - sizeof(asn_DEF_PER_Visible_2_tags_1) - /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */ - { 0, 0, PER_Visible_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-1] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-1] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_1_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1; -asn_struct_free_f Not_PER_Visible_1_free; -asn_struct_print_f Not_PER_Visible_1_print; -asn_constr_check_f Not_PER_Visible_1_constraint; -ber_type_decoder_f Not_PER_Visible_1_decode_ber; -der_type_encoder_f Not_PER_Visible_1_encode_der; -xer_type_decoder_f Not_PER_Visible_1_decode_xer; -xer_type_encoder_f Not_PER_Visible_1_encode_xer; - -/*** <<< CTABLES [Not-PER-Visible-1] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-1] >>> ***/ - -int -Not_PER_Visible_1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = { - "Not-PER-Visible-1", - "Not-PER-Visible-1", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_1_tags_1, - sizeof(asn_DEF_Not_PER_Visible_1_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_1_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_1_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */ - { 0, 0, Not_PER_Visible_1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-2] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-2] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_2_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2; -asn_struct_free_f Not_PER_Visible_2_free; -asn_struct_print_f Not_PER_Visible_2_print; -asn_constr_check_f Not_PER_Visible_2_constraint; -ber_type_decoder_f Not_PER_Visible_2_decode_ber; -der_type_encoder_f Not_PER_Visible_2_encode_der; -xer_type_decoder_f Not_PER_Visible_2_decode_xer; -xer_type_encoder_f Not_PER_Visible_2_encode_xer; - -/*** <<< CTABLES [Not-PER-Visible-2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 66)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-2] >>> ***/ - -int -Not_PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = { - "Not-PER-Visible-2", - "Not-PER-Visible-2", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_2_tags_1, - sizeof(asn_DEF_Not_PER_Visible_2_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_2_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_2_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */ - { 0, 0, Not_PER_Visible_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-3] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-3] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_3_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3; -asn_struct_free_f Not_PER_Visible_3_free; -asn_struct_print_f Not_PER_Visible_3_print; -asn_constr_check_f Not_PER_Visible_3_constraint; -ber_type_decoder_f Not_PER_Visible_3_decode_ber; -der_type_encoder_f Not_PER_Visible_3_encode_der; -xer_type_decoder_f Not_PER_Visible_3_decode_xer; -xer_type_encoder_f Not_PER_Visible_3_encode_xer; - -/*** <<< CTABLES [Not-PER-Visible-3] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 66)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-3] >>> ***/ - -int -Not_PER_Visible_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = { - "Not-PER-Visible-3", - "Not-PER-Visible-3", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_3_tags_1, - sizeof(asn_DEF_Not_PER_Visible_3_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_3_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_3_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */ - { 0, 0, Not_PER_Visible_3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [SIZE-but-not-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [SIZE-but-not-FROM] >>> ***/ - -typedef PER_Visible_t SIZE_but_not_FROM_t; - -/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM; -asn_struct_free_f SIZE_but_not_FROM_free; -asn_struct_print_f SIZE_but_not_FROM_print; -asn_constr_check_f SIZE_but_not_FROM_constraint; -ber_type_decoder_f SIZE_but_not_FROM_decode_ber; -der_type_encoder_f SIZE_but_not_FROM_encode_der; -xer_type_decoder_f SIZE_but_not_FROM_decode_xer; -xer_type_encoder_f SIZE_but_not_FROM_encode_xer; - -/*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 68)) return -1; - } - return 0; -} - - -/*** <<< CODE [SIZE-but-not-FROM] >>> ***/ - -int -SIZE_but_not_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 4) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = { - "SIZE-but-not-FROM", - "SIZE-but-not-FROM", - &asn_OP_IA5String, - asn_DEF_SIZE_but_not_FROM_tags_1, - sizeof(asn_DEF_SIZE_but_not_FROM_tags_1) - /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */ - asn_DEF_SIZE_but_not_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_SIZE_but_not_FROM_tags_1) - /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */ - { 0, 0, SIZE_but_not_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [SIZE-and-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [SIZE-and-FROM] >>> ***/ - -typedef PER_Visible_t SIZE_and_FROM_t; - -/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM; -asn_struct_free_f SIZE_and_FROM_free; -asn_struct_print_f SIZE_and_FROM_print; -asn_constr_check_f SIZE_and_FROM_constraint; -ber_type_decoder_f SIZE_and_FROM_decode_ber; -der_type_encoder_f SIZE_and_FROM_encode_der; -xer_type_decoder_f SIZE_and_FROM_decode_xer; -xer_type_encoder_f SIZE_and_FROM_encode_xer; - -/*** <<< CTABLES [SIZE-and-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 68)) return -1; - } - return 0; -} - - -/*** <<< CODE [SIZE-and-FROM] >>> ***/ - -int -SIZE_and_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 4) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SIZE_and_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = { - "SIZE-and-FROM", - "SIZE-and-FROM", - &asn_OP_IA5String, - asn_DEF_SIZE_and_FROM_tags_1, - sizeof(asn_DEF_SIZE_and_FROM_tags_1) - /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */ - asn_DEF_SIZE_and_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_SIZE_and_FROM_tags_1) - /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */ - { 0, 0, SIZE_and_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Neither-SIZE-nor-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Neither-SIZE-nor-FROM] >>> ***/ - -typedef PER_Visible_t Neither_SIZE_nor_FROM_t; - -/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM; -asn_struct_free_f Neither_SIZE_nor_FROM_free; -asn_struct_print_f Neither_SIZE_nor_FROM_print; -asn_constr_check_f Neither_SIZE_nor_FROM_constraint; -ber_type_decoder_f Neither_SIZE_nor_FROM_decode_ber; -der_type_encoder_f Neither_SIZE_nor_FROM_encode_der; -xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer; -xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer; - -/*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/ - -int -Neither_SIZE_nor_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = { - "Neither-SIZE-nor-FROM", - "Neither-SIZE-nor-FROM", - &asn_OP_IA5String, - asn_DEF_Neither_SIZE_nor_FROM_tags_1, - sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1) - /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */ - asn_DEF_Neither_SIZE_nor_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1) - /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */ - { 0, 0, Neither_SIZE_nor_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Utf8-4] >>> ***/ - -typedef UTF8String_t Utf8_4_t; - -/*** <<< FUNC-DECLS [Utf8-4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_4; -asn_struct_free_f Utf8_4_free; -asn_struct_print_f Utf8_4_print; -asn_constr_check_f Utf8_4_constraint; -ber_type_decoder_f Utf8_4_decode_ber; -der_type_encoder_f Utf8_4_encode_der; -xer_type_decoder_f Utf8_4_decode_xer; -xer_type_encoder_f Utf8_4_encode_xer; - -/*** <<< CTABLES [Utf8-4] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - if(UTF8String_length((const UTF8String_t *)sptr) < 0) - return -1; /* Alphabet (sic!) test failed. */ - - return 0; -} - - -/*** <<< CODE [Utf8-4] >>> ***/ - -int -Utf8_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using UTF8String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Utf8-4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_4 = { - "Utf8-4", - "Utf8-4", - &asn_OP_UTF8String, - asn_DEF_Utf8_4_tags_1, - sizeof(asn_DEF_Utf8_4_tags_1) - /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */ - asn_DEF_Utf8_4_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_4_tags_1) - /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */ - { 0, 0, Utf8_4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-3] >>> ***/ - -#include "Utf8-2.h" - -/*** <<< TYPE-DECLS [Utf8-3] >>> ***/ - -typedef Utf8_2_t Utf8_3_t; - -/*** <<< FUNC-DECLS [Utf8-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_3; -asn_struct_free_f Utf8_3_free; -asn_struct_print_f Utf8_3_print; -asn_constr_check_f Utf8_3_constraint; -ber_type_decoder_f Utf8_3_decode_ber; -der_type_encoder_f Utf8_3_encode_der; -xer_type_decoder_f Utf8_3_decode_xer; -xer_type_encoder_f Utf8_3_encode_xer; - -/*** <<< CTABLES [Utf8-3] >>> ***/ - -static const int permitted_alphabet_table_1[128] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15, /* ABCDEFGHIJKLMNO */ -16,17,18,19,20,21,22,23,24,25,26, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */ - 0,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, /* abcdefghijklmno */ -42,43,44,45,46,47,48,49,50,51,52, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is UTF8String */ - const UTF8String_t *st = (const UTF8String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(cv >= 0x80) return -1; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Utf8-3] >>> ***/ - -int -Utf8_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Utf8_2_t *st = (const Utf8_2_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size >= 1 && size <= 2) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Utf8_2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Utf8-3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_3 = { - "Utf8-3", - "Utf8-3", - &asn_OP_UTF8String, - asn_DEF_Utf8_3_tags_1, - sizeof(asn_DEF_Utf8_3_tags_1) - /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */ - asn_DEF_Utf8_3_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_3_tags_1) - /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */ - { 0, 0, Utf8_3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-2] >>> ***/ - -#include "Utf8-1.h" - -/*** <<< TYPE-DECLS [Utf8-2] >>> ***/ - -typedef Utf8_1_t Utf8_2_t; - -/*** <<< FUNC-DECLS [Utf8-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_2; -asn_struct_free_f Utf8_2_free; -asn_struct_print_f Utf8_2_print; -asn_constr_check_f Utf8_2_constraint; -ber_type_decoder_f Utf8_2_decode_ber; -der_type_encoder_f Utf8_2_encode_der; -xer_type_decoder_f Utf8_2_decode_xer; -xer_type_encoder_f Utf8_2_encode_xer; - -/*** <<< CODE [Utf8-2] >>> ***/ - -int -Utf8_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Utf8_1_t *st = (const Utf8_1_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size >= 1 && size <= 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Utf8_1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Utf8-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_2 = { - "Utf8-2", - "Utf8-2", - &asn_OP_UTF8String, - asn_DEF_Utf8_2_tags_1, - sizeof(asn_DEF_Utf8_2_tags_1) - /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */ - asn_DEF_Utf8_2_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_2_tags_1) - /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */ - { 0, 0, Utf8_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Utf8-1] >>> ***/ - -typedef UTF8String_t Utf8_1_t; - -/*** <<< FUNC-DECLS [Utf8-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_1; -asn_struct_free_f Utf8_1_free; -asn_struct_print_f Utf8_1_print; -asn_constr_check_f Utf8_1_constraint; -ber_type_decoder_f Utf8_1_decode_ber; -der_type_encoder_f Utf8_1_encode_der; -xer_type_decoder_f Utf8_1_decode_xer; -xer_type_encoder_f Utf8_1_encode_xer; - -/*** <<< CODE [Utf8-1] >>> ***/ - -/* - * This type is implemented using UTF8String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Utf8-1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_1 = { - "Utf8-1", - "Utf8-1", - &asn_OP_UTF8String, - asn_DEF_Utf8_1_tags_1, - sizeof(asn_DEF_Utf8_1_tags_1) - /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */ - asn_DEF_Utf8_1_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_1_tags_1) - /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */ - { 0, 0, UTF8String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [VisibleIdentifier] >>> ***/ - -#include "Identifier.h" - -/*** <<< TYPE-DECLS [VisibleIdentifier] >>> ***/ - -typedef Identifier_t VisibleIdentifier_t; - -/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier; -asn_struct_free_f VisibleIdentifier_free; -asn_struct_print_f VisibleIdentifier_print; -asn_constr_check_f VisibleIdentifier_constraint; -ber_type_decoder_f VisibleIdentifier_decode_ber; -der_type_encoder_f VisibleIdentifier_encode_der; -xer_type_decoder_f VisibleIdentifier_decode_xer; -xer_type_encoder_f VisibleIdentifier_encode_xer; - -/*** <<< CTABLES [VisibleIdentifier] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */ - 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */ - 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */ -27,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */ - 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */ -54,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [VisibleIdentifier] >>> ***/ - -int -VisibleIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Identifier_t *st = (const Identifier_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 32) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Identifier, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_VisibleIdentifier_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = { - "VisibleIdentifier", - "VisibleIdentifier", - &asn_OP_VisibleString, - asn_DEF_VisibleIdentifier_tags_1, - sizeof(asn_DEF_VisibleIdentifier_tags_1) - /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */ - asn_DEF_VisibleIdentifier_tags_1, /* Same as above */ - sizeof(asn_DEF_VisibleIdentifier_tags_1) - /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */ - { 0, 0, VisibleIdentifier_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include "Int1.h" -#include "Int4.h" -#include -#include -#include -#include "Int5.h" -#include - -/*** <<< DEPS [Sequence] >>> ***/ - -typedef enum enum_c { - enum_c_one = 1, - enum_c_two = 2, - /* - * Enumeration is extensible - */ - enum_c_three = 3 -} e_enum_c; - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - Int1_t *int1_c; /* DEFAULT 3 */ - Int4_t int4; - Int4_t int4_c; - BOOLEAN_t *Bool; /* DEFAULT 1 */ - ENUMERATED_t enum_c; - NULL_t *null; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - Int5_t *int5_c; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_enum_c_6; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[7]; - -/*** <<< CODE [Sequence] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ -static int -memb_int1_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int1_t *st = (const Int1_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_int4_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int4_t *st = (const Int4_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 5 && value <= 7)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_int5_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Int5_t *st = (const Int5_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value == 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -static int asn_DFL_2_cmp_3(const void *sptr) { - const Int1_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 3 */ - long value; - if(asn_INTEGER2long(st, &value)) - return -1; - return (value != 3); -} -static int asn_DFL_2_set_3(void **sptr) { - Int1_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 3 */ - return asn_long2INTEGER(st, 3); -} -static int asn_DFL_5_cmp_1(const void *sptr) { - const BOOLEAN_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 1 */ - return (*st != 1); -} -static int asn_DFL_5_set_1(void **sptr) { - BOOLEAN_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 1 */ - *st = 1; - return 0; -} -static const asn_INTEGER_enum_map_t asn_MAP_enum_c_value2enum_6[] = { - { 1, 3, "one" }, - { 2, 3, "two" }, - { 3, 5, "three" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_enum_c_enum2value_6[] = { - 0, /* one(1) */ - 2, /* three(3) */ - 1 /* two(2) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = { - asn_MAP_enum_c_value2enum_6, /* "tag" => N; sorted by tag */ - asn_MAP_enum_c_enum2value_6, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_enum_c_tags_6[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_enum_c_6 = { - "enum-c", - "enum-c", - &asn_OP_ENUMERATED, - asn_DEF_enum_c_tags_6, - sizeof(asn_DEF_enum_c_tags_6) - /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */ - asn_DEF_enum_c_tags_6, /* Same as above */ - sizeof(asn_DEF_enum_c_tags_6) - /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_enum_c_specs_6 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_POINTER, 1, offsetof(struct Sequence, int1_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_int1_c_constraint_1 }, - .default_value_cmp = &asn_DFL_2_cmp_3, /* Compare DEFAULT 3 */ - .default_value_set = &asn_DFL_2_set_3, /* Set DEFAULT 3 */ - .name = "int1-c" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Int4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int4" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_int4_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "int4-c" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, Bool), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_5_cmp_1, /* Compare DEFAULT 1 */ - .default_value_set = &asn_DFL_5_set_1, /* Set DEFAULT 1 */ - .name = "bool" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, enum_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_enum_c_6, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "enum-c" - }, - { ATF_POINTER, 2, offsetof(struct Sequence, null), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "null" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, int5_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_int5_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "int5-c" - }, -}; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* int1-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* int4-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* int5-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 5, 0, 0 }, /* null */ - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* enum-c */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* int4 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 7, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 6, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 7, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SequenceOf] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [SequenceOf] >>> ***/ - -struct Sequence; - -/*** <<< TYPE-DECLS [SequenceOf] >>> ***/ - -typedef struct SequenceOf { - A_SEQUENCE_OF(struct Sequence) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SequenceOf_t; - -/*** <<< FUNC-DECLS [SequenceOf] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; - -/*** <<< POST-INCLUDE [SequenceOf] >>> ***/ - -#include "Sequence.h" - -/*** <<< STAT-DEFS [SequenceOf] >>> ***/ - -static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = { - sizeof(struct SequenceOf), - offsetof(struct SequenceOf, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_SequenceOf = { - "SequenceOf", - "SequenceOf", - &asn_OP_SEQUENCE_OF, - asn_DEF_SequenceOf_tags_1, - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - asn_DEF_SequenceOf_tags_1, /* Same as above */ - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_SequenceOf_1, - 1, /* Single element */ - &asn_SPC_SequenceOf_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum0] >>> ***/ - -#include - -/*** <<< DEPS [Enum0] >>> ***/ - -typedef enum Enum0 { - Enum0_one = 0, - Enum0_two = 1 -} e_Enum0; - -/*** <<< TYPE-DECLS [Enum0] >>> ***/ - -typedef ENUMERATED_t Enum0_t; - -/*** <<< FUNC-DECLS [Enum0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum0; -asn_struct_free_f Enum0_free; -asn_struct_print_f Enum0_print; -asn_constr_check_f Enum0_constraint; -ber_type_decoder_f Enum0_decode_ber; -der_type_encoder_f Enum0_encode_der; -xer_type_decoder_f Enum0_decode_xer; -xer_type_encoder_f Enum0_encode_xer; - -/*** <<< CODE [Enum0] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum0] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum0_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" } -}; -static const unsigned int asn_MAP_Enum0_enum2value_1[] = { - 0, /* one(0) */ - 1 /* two(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = { - asn_MAP_Enum0_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum0_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum0 = { - "Enum0", - "Enum0", - &asn_OP_ENUMERATED, - asn_DEF_Enum0_tags_1, - sizeof(asn_DEF_Enum0_tags_1) - /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */ - asn_DEF_Enum0_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum0_tags_1) - /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum1] >>> ***/ - -#include - -/*** <<< DEPS [Enum1] >>> ***/ - -typedef enum Enum1 { - Enum1_one = 0, - Enum1_two = 1 -} e_Enum1; - -/*** <<< TYPE-DECLS [Enum1] >>> ***/ - -typedef long Enum1_t; - -/*** <<< FUNC-DECLS [Enum1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum1; -asn_struct_free_f Enum1_free; -asn_struct_print_f Enum1_print; -asn_constr_check_f Enum1_constraint; -ber_type_decoder_f Enum1_decode_ber; -der_type_encoder_f Enum1_encode_der; -xer_type_decoder_f Enum1_decode_xer; -xer_type_encoder_f Enum1_encode_xer; - -/*** <<< CODE [Enum1] >>> ***/ - -int -Enum1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Enum1] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum1_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" } -}; -static const unsigned int asn_MAP_Enum1_enum2value_1[] = { - 0, /* one(0) */ - 1 /* two(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = { - asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum1 = { - "Enum1", - "Enum1", - &asn_OP_NativeEnumerated, - asn_DEF_Enum1_tags_1, - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - asn_DEF_Enum1_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - { 0, 0, Enum1_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Identifier] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Identifier] >>> ***/ - -typedef VisibleString_t Identifier_t; - -/*** <<< FUNC-DECLS [Identifier] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Identifier; -asn_struct_free_f Identifier_free; -asn_struct_print_f Identifier_print; -asn_constr_check_f Identifier_constraint; -ber_type_decoder_f Identifier_decode_ber; -der_type_encoder_f Identifier_encode_der; -xer_type_decoder_f Identifier_decode_xer; -xer_type_encoder_f Identifier_encode_xer; - -/*** <<< CTABLES [Identifier] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */ - 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */ - 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */ -27,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */ - 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */ -54,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Identifier] >>> ***/ - -int -Identifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 32) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using VisibleString, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Identifier] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Identifier_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Identifier = { - "Identifier", - "Identifier", - &asn_OP_VisibleString, - asn_DEF_Identifier_tags_1, - sizeof(asn_DEF_Identifier_tags_1) - /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */ - asn_DEF_Identifier_tags_1, /* Same as above */ - sizeof(asn_DEF_Identifier_tags_1) - /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */ - { 0, 0, Identifier_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define maxIdentifier (32) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER deleted file mode 100644 index 0bf4501..0000000 --- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,2912 +0,0 @@ - -/*** <<< INCLUDES [Int1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Int1] >>> ***/ - -typedef long Int1_t; - -/*** <<< FUNC-DECLS [Int1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Int1; -asn_struct_free_f Int1_free; -asn_struct_print_f Int1_print; -asn_constr_check_f Int1_constraint; -ber_type_decoder_f Int1_decode_ber; -der_type_encoder_f Int1_encode_der; -xer_type_decoder_f Int1_decode_xer; -xer_type_encoder_f Int1_encode_xer; -per_type_decoder_f Int1_decode_uper; -per_type_encoder_f Int1_encode_uper; -per_type_decoder_f Int1_decode_aper; -per_type_encoder_f Int1_encode_aper; -#define Int1_ten ((Int1_t)10) - -/*** <<< CODE [Int1] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Int1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int1 = { - "Int1", - "Int1", - &asn_OP_NativeInteger, - asn_DEF_Int1_tags_1, - sizeof(asn_DEF_Int1_tags_1) - /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */ - asn_DEF_Int1_tags_1, /* Same as above */ - sizeof(asn_DEF_Int1_tags_1) - /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int2] >>> ***/ - -#include "Int1.h" - -/*** <<< TYPE-DECLS [Int2] >>> ***/ - -typedef Int1_t Int2_t; - -/*** <<< FUNC-DECLS [Int2] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Int2_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int2; -asn_struct_free_f Int2_free; -asn_struct_print_f Int2_print; -asn_constr_check_f Int2_constraint; -ber_type_decoder_f Int2_decode_ber; -der_type_encoder_f Int2_encode_der; -xer_type_decoder_f Int2_decode_xer; -xer_type_encoder_f Int2_encode_xer; -per_type_decoder_f Int2_decode_uper; -per_type_encoder_f Int2_encode_uper; -per_type_decoder_f Int2_decode_aper; -per_type_encoder_f Int2_encode_aper; - -/*** <<< CODE [Int2] >>> ***/ - -int -Int2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(1 /* No applicable constraints whatsoever */) { - (void)value; /* Unused variable */ - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using Int1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Int2] >>> ***/ - -asn_per_constraints_t asn_PER_type_Int2_constr_1 CC_NOTUSED = { - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (0..MAX) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Int2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int2 = { - "Int2", - "Int2", - &asn_OP_NativeInteger, - asn_DEF_Int2_tags_1, - sizeof(asn_DEF_Int2_tags_1) - /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */ - asn_DEF_Int2_tags_1, /* Same as above */ - sizeof(asn_DEF_Int2_tags_1) - /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Int2_constr_1, Int2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int3] >>> ***/ - -#include "Int2.h" - -/*** <<< TYPE-DECLS [Int3] >>> ***/ - -typedef Int2_t Int3_t; - -/*** <<< FUNC-DECLS [Int3] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Int3_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int3; -asn_struct_free_f Int3_free; -asn_struct_print_f Int3_print; -asn_constr_check_f Int3_constraint; -ber_type_decoder_f Int3_decode_ber; -der_type_encoder_f Int3_encode_der; -xer_type_decoder_f Int3_decode_xer; -xer_type_encoder_f Int3_encode_xer; -per_type_decoder_f Int3_decode_uper; -per_type_encoder_f Int3_encode_uper; -per_type_decoder_f Int3_decode_aper; -per_type_encoder_f Int3_encode_aper; - -/*** <<< CODE [Int3] >>> ***/ - -int -Int3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Int3] >>> ***/ - -asn_per_constraints_t asn_PER_type_Int3_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 4, 4, 0, 10 } /* (0..10) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Int3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int3 = { - "Int3", - "Int3", - &asn_OP_NativeInteger, - asn_DEF_Int3_tags_1, - sizeof(asn_DEF_Int3_tags_1) - /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */ - asn_DEF_Int3_tags_1, /* Same as above */ - sizeof(asn_DEF_Int3_tags_1) - /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Int3_constr_1, Int3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int4] >>> ***/ - -#include "Int3.h" - -/*** <<< TYPE-DECLS [Int4] >>> ***/ - -typedef Int3_t Int4_t; - -/*** <<< FUNC-DECLS [Int4] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Int4_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int4; -asn_struct_free_f Int4_free; -asn_struct_print_f Int4_print; -asn_constr_check_f Int4_constraint; -ber_type_decoder_f Int4_decode_ber; -der_type_encoder_f Int4_encode_der; -xer_type_decoder_f Int4_decode_xer; -xer_type_encoder_f Int4_encode_xer; -per_type_decoder_f Int4_decode_uper; -per_type_encoder_f Int4_encode_uper; -per_type_decoder_f Int4_decode_aper; -per_type_encoder_f Int4_encode_aper; - -/*** <<< CODE [Int4] >>> ***/ - -int -Int4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int3, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Int4] >>> ***/ - -asn_per_constraints_t asn_PER_type_Int4_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Int4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int4 = { - "Int4", - "Int4", - &asn_OP_NativeInteger, - asn_DEF_Int4_tags_1, - sizeof(asn_DEF_Int4_tags_1) - /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */ - asn_DEF_Int4_tags_1, /* Same as above */ - sizeof(asn_DEF_Int4_tags_1) - /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Int4_constr_1, Int4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Int5] >>> ***/ - -#include "Int4.h" - -/*** <<< TYPE-DECLS [Int5] >>> ***/ - -typedef Int4_t Int5_t; - -/*** <<< FUNC-DECLS [Int5] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Int5_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int5; -asn_struct_free_f Int5_free; -asn_struct_print_f Int5_print; -asn_constr_check_f Int5_constraint; -ber_type_decoder_f Int5_decode_ber; -der_type_encoder_f Int5_encode_der; -xer_type_decoder_f Int5_decode_xer; -xer_type_encoder_f Int5_encode_xer; -per_type_decoder_f Int5_decode_uper; -per_type_encoder_f Int5_encode_uper; -per_type_decoder_f Int5_decode_aper; -per_type_encoder_f Int5_encode_aper; - -/*** <<< CODE [Int5] >>> ***/ - -int -Int5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Int4, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Int5] >>> ***/ - -asn_per_constraints_t asn_PER_type_Int5_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 0, 0, 5, 5 } /* (5..5) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Int5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Int5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Int5 = { - "Int5", - "Int5", - &asn_OP_NativeInteger, - asn_DEF_Int5_tags_1, - sizeof(asn_DEF_Int5_tags_1) - /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */ - asn_DEF_Int5_tags_1, /* Same as above */ - sizeof(asn_DEF_Int5_tags_1) - /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Int5_constr_1, Int5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [ExtensibleExtensions] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [ExtensibleExtensions] >>> ***/ - -typedef long ExtensibleExtensions_t; - -/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions; -asn_struct_free_f ExtensibleExtensions_free; -asn_struct_print_f ExtensibleExtensions_print; -asn_constr_check_f ExtensibleExtensions_constraint; -ber_type_decoder_f ExtensibleExtensions_decode_ber; -der_type_encoder_f ExtensibleExtensions_encode_der; -xer_type_decoder_f ExtensibleExtensions_decode_xer; -xer_type_encoder_f ExtensibleExtensions_encode_xer; -per_type_decoder_f ExtensibleExtensions_decode_uper; -per_type_encoder_f ExtensibleExtensions_encode_uper; -per_type_decoder_f ExtensibleExtensions_decode_aper; -per_type_encoder_f ExtensibleExtensions_encode_aper; - -/*** <<< CODE [ExtensibleExtensions] >>> ***/ - -int -ExtensibleExtensions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 255)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [ExtensibleExtensions] >>> ***/ - -static asn_per_constraints_t asn_PER_type_ExtensibleExtensions_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (1..255,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_ExtensibleExtensions_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = { - "ExtensibleExtensions", - "ExtensibleExtensions", - &asn_OP_NativeInteger, - asn_DEF_ExtensibleExtensions_tags_1, - sizeof(asn_DEF_ExtensibleExtensions_tags_1) - /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */ - asn_DEF_ExtensibleExtensions_tags_1, /* Same as above */ - sizeof(asn_DEF_ExtensibleExtensions_tags_1) - /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_ExtensibleExtensions_constr_1, ExtensibleExtensions_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Str1] >>> ***/ - -typedef IA5String_t Str1_t; - -/*** <<< FUNC-DECLS [Str1] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Str1_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Str1; -asn_struct_free_f Str1_free; -asn_struct_print_f Str1_print; -asn_constr_check_f Str1_constraint; -ber_type_decoder_f Str1_decode_ber; -der_type_encoder_f Str1_encode_der; -xer_type_decoder_f Str1_decode_xer; -xer_type_encoder_f Str1_encode_xer; -per_type_decoder_f Str1_decode_uper; -per_type_encoder_f Str1_encode_uper; -per_type_decoder_f Str1_decode_aper; -per_type_encoder_f Str1_encode_aper; - -/*** <<< CODE [Str1] >>> ***/ - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Str1] >>> ***/ - -asn_per_constraints_t asn_PER_type_Str1_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Str1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str1 = { - "Str1", - "Str1", - &asn_OP_IA5String, - asn_DEF_Str1_tags_1, - sizeof(asn_DEF_Str1_tags_1) - /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */ - asn_DEF_Str1_tags_1, /* Same as above */ - sizeof(asn_DEF_Str1_tags_1) - /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Str1_constr_1, IA5String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str2] >>> ***/ - -#include "Str1.h" - -/*** <<< TYPE-DECLS [Str2] >>> ***/ - -typedef Str1_t Str2_t; - -/*** <<< FUNC-DECLS [Str2] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Str2_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Str2; -asn_struct_free_f Str2_free; -asn_struct_print_f Str2_print; -asn_constr_check_f Str2_constraint; -ber_type_decoder_f Str2_decode_ber; -der_type_encoder_f Str2_encode_der; -xer_type_decoder_f Str2_decode_xer; -xer_type_encoder_f Str2_encode_xer; -per_type_decoder_f Str2_decode_uper; -per_type_encoder_f Str2_encode_uper; -per_type_decoder_f Str2_decode_aper; -per_type_encoder_f Str2_encode_aper; - -/*** <<< CTABLES [Str2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv <= 127)) return -1; - } - return 0; -} - - -/*** <<< CODE [Str2] >>> ***/ - -int -Str2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Str1_t *st = (const Str1_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if(((size <= 20) || (size >= 25 && size <= 30)) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Str1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Str2] >>> ***/ - -asn_per_constraints_t asn_PER_type_Str2_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, - { APC_CONSTRAINED, 5, 5, 0, 30 } /* (SIZE(0..30)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Str2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str2 = { - "Str2", - "Str2", - &asn_OP_IA5String, - asn_DEF_Str2_tags_1, - sizeof(asn_DEF_Str2_tags_1) - /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */ - asn_DEF_Str2_tags_1, /* Same as above */ - sizeof(asn_DEF_Str2_tags_1) - /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Str2_constr_1, Str2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str3] >>> ***/ - -#include "Str2.h" - -/*** <<< TYPE-DECLS [Str3] >>> ***/ - -typedef Str2_t Str3_t; - -/*** <<< FUNC-DECLS [Str3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str3; -asn_struct_free_f Str3_free; -asn_struct_print_f Str3_print; -asn_constr_check_f Str3_constraint; -ber_type_decoder_f Str3_decode_ber; -der_type_encoder_f Str3_encode_der; -xer_type_decoder_f Str3_decode_xer; -xer_type_encoder_f Str3_encode_xer; -per_type_decoder_f Str3_decode_uper; -per_type_encoder_f Str3_encode_uper; -per_type_decoder_f Str3_decode_aper; -per_type_encoder_f Str3_encode_aper; - -/*** <<< CTABLES [Str3] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ABC */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* def */ -}; -static const int permitted_alphabet_code2value_1[6] = { -65,66,67,100,101,102,}; - - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Str3] >>> ***/ - -int -Str3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Str2_t *st = (const Str2_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27)) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_Str3_1_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0])) - return -1; - return permitted_alphabet_table_1[value] - 1; -} -static int asn_PER_MAP_Str3_1_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0])) - return -1; - return permitted_alphabet_code2value_1[code]; -} -/* - * This type is implemented using Str2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Str3] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Str3_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 102 } /* (65..102) */, - { APC_CONSTRAINED, 5, 5, 10, 27 } /* (SIZE(10..27)) */, - asn_PER_MAP_Str3_1_v2c, /* Value to PER code map */ - asn_PER_MAP_Str3_1_c2v /* PER code to value map */ -}; - -/*** <<< STAT-DEFS [Str3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str3 = { - "Str3", - "Str3", - &asn_OP_IA5String, - asn_DEF_Str3_tags_1, - sizeof(asn_DEF_Str3_tags_1) - /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */ - asn_DEF_Str3_tags_1, /* Same as above */ - sizeof(asn_DEF_Str3_tags_1) - /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Str3_constr_1, Str3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Str4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Str4] >>> ***/ - -typedef IA5String_t Str4_t; - -/*** <<< FUNC-DECLS [Str4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Str4; -asn_struct_free_f Str4_free; -asn_struct_print_f Str4_print; -asn_constr_check_f Str4_constraint; -ber_type_decoder_f Str4_decode_ber; -der_type_encoder_f Str4_encode_der; -xer_type_decoder_f Str4_decode_xer; -xer_type_encoder_f Str4_encode_xer; -per_type_decoder_f Str4_decode_uper; -per_type_encoder_f Str4_encode_uper; -per_type_decoder_f Str4_decode_aper; -per_type_encoder_f Str4_encode_aper; - -/*** <<< CTABLES [Str4] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv <= 127)) return -1; - } - return 0; -} - - -/*** <<< CODE [Str4] >>> ***/ - -int -Str4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Str4] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Str4_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Str4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Str4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Str4 = { - "Str4", - "Str4", - &asn_OP_IA5String, - asn_DEF_Str4_tags_1, - sizeof(asn_DEF_Str4_tags_1) - /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */ - asn_DEF_Str4_tags_1, /* Same as above */ - sizeof(asn_DEF_Str4_tags_1) - /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Str4_constr_1, Str4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [PER-Visible] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [PER-Visible] >>> ***/ - -typedef IA5String_t PER_Visible_t; - -/*** <<< FUNC-DECLS [PER-Visible] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_PER_Visible_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PER_Visible; -asn_struct_free_f PER_Visible_free; -asn_struct_print_f PER_Visible_print; -asn_constr_check_f PER_Visible_constraint; -ber_type_decoder_f PER_Visible_decode_ber; -der_type_encoder_f PER_Visible_encode_der; -xer_type_decoder_f PER_Visible_decode_xer; -xer_type_encoder_f PER_Visible_encode_xer; -per_type_decoder_f PER_Visible_decode_uper; -per_type_encoder_f PER_Visible_encode_uper; -per_type_decoder_f PER_Visible_decode_aper; -per_type_encoder_f PER_Visible_encode_aper; - -/*** <<< CTABLES [PER-Visible] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [PER-Visible] >>> ***/ - -int -PER_Visible_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using IA5String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [PER-Visible] >>> ***/ - -asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [PER-Visible] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PER_Visible_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PER_Visible = { - "PER-Visible", - "PER-Visible", - &asn_OP_IA5String, - asn_DEF_PER_Visible_tags_1, - sizeof(asn_DEF_PER_Visible_tags_1) - /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */ - asn_DEF_PER_Visible_tags_1, /* Same as above */ - sizeof(asn_DEF_PER_Visible_tags_1) - /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_PER_Visible_constr_1, PER_Visible_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [PER-Visible-2] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [PER-Visible-2] >>> ***/ - -typedef PER_Visible_t PER_Visible_2_t; - -/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PER_Visible_2; -asn_struct_free_f PER_Visible_2_free; -asn_struct_print_f PER_Visible_2_print; -asn_constr_check_f PER_Visible_2_constraint; -ber_type_decoder_f PER_Visible_2_decode_ber; -der_type_encoder_f PER_Visible_2_encode_der; -xer_type_decoder_f PER_Visible_2_decode_xer; -xer_type_encoder_f PER_Visible_2_encode_xer; -per_type_decoder_f PER_Visible_2_decode_uper; -per_type_encoder_f PER_Visible_2_encode_uper; -per_type_decoder_f PER_Visible_2_decode_aper; -per_type_encoder_f PER_Visible_2_encode_aper; - -/*** <<< CTABLES [PER-Visible-2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 69 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [PER-Visible-2] >>> ***/ - -int -PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [PER-Visible-2] >>> ***/ - -static asn_per_constraints_t asn_PER_type_PER_Visible_2_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 69, 70 } /* (69..70) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_PER_Visible_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = { - "PER-Visible-2", - "PER-Visible-2", - &asn_OP_IA5String, - asn_DEF_PER_Visible_2_tags_1, - sizeof(asn_DEF_PER_Visible_2_tags_1) - /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */ - asn_DEF_PER_Visible_2_tags_1, /* Same as above */ - sizeof(asn_DEF_PER_Visible_2_tags_1) - /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_PER_Visible_2_constr_1, PER_Visible_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-1] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-1] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_1_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1; -asn_struct_free_f Not_PER_Visible_1_free; -asn_struct_print_f Not_PER_Visible_1_print; -asn_constr_check_f Not_PER_Visible_1_constraint; -ber_type_decoder_f Not_PER_Visible_1_decode_ber; -der_type_encoder_f Not_PER_Visible_1_encode_der; -xer_type_decoder_f Not_PER_Visible_1_decode_xer; -xer_type_encoder_f Not_PER_Visible_1_encode_xer; -per_type_decoder_f Not_PER_Visible_1_decode_uper; -per_type_encoder_f Not_PER_Visible_1_encode_uper; -per_type_decoder_f Not_PER_Visible_1_decode_aper; -per_type_encoder_f Not_PER_Visible_1_encode_aper; - -/*** <<< CTABLES [Not-PER-Visible-1] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-1] >>> ***/ - -int -Not_PER_Visible_1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Not-PER-Visible-1] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Not_PER_Visible_1_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = { - "Not-PER-Visible-1", - "Not-PER-Visible-1", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_1_tags_1, - sizeof(asn_DEF_Not_PER_Visible_1_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_1_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_1_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Not_PER_Visible_1_constr_1, Not_PER_Visible_1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-2] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-2] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_2_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2; -asn_struct_free_f Not_PER_Visible_2_free; -asn_struct_print_f Not_PER_Visible_2_print; -asn_constr_check_f Not_PER_Visible_2_constraint; -ber_type_decoder_f Not_PER_Visible_2_decode_ber; -der_type_encoder_f Not_PER_Visible_2_encode_der; -xer_type_decoder_f Not_PER_Visible_2_decode_xer; -xer_type_encoder_f Not_PER_Visible_2_encode_xer; -per_type_decoder_f Not_PER_Visible_2_decode_uper; -per_type_encoder_f Not_PER_Visible_2_encode_uper; -per_type_decoder_f Not_PER_Visible_2_decode_aper; -per_type_encoder_f Not_PER_Visible_2_encode_aper; - -/*** <<< CTABLES [Not-PER-Visible-2] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 66)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-2] >>> ***/ - -int -Not_PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Not-PER-Visible-2] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Not_PER_Visible_2_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = { - "Not-PER-Visible-2", - "Not-PER-Visible-2", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_2_tags_1, - sizeof(asn_DEF_Not_PER_Visible_2_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_2_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_2_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Not_PER_Visible_2_constr_1, Not_PER_Visible_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Not-PER-Visible-3] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Not-PER-Visible-3] >>> ***/ - -typedef PER_Visible_t Not_PER_Visible_3_t; - -/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3; -asn_struct_free_f Not_PER_Visible_3_free; -asn_struct_print_f Not_PER_Visible_3_print; -asn_constr_check_f Not_PER_Visible_3_constraint; -ber_type_decoder_f Not_PER_Visible_3_decode_ber; -der_type_encoder_f Not_PER_Visible_3_encode_der; -xer_type_decoder_f Not_PER_Visible_3_decode_xer; -xer_type_encoder_f Not_PER_Visible_3_encode_xer; -per_type_decoder_f Not_PER_Visible_3_decode_uper; -per_type_encoder_f Not_PER_Visible_3_encode_uper; -per_type_decoder_f Not_PER_Visible_3_decode_aper; -per_type_encoder_f Not_PER_Visible_3_encode_aper; - -/*** <<< CTABLES [Not-PER-Visible-3] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 66)) return -1; - } - return 0; -} - - -/*** <<< CODE [Not-PER-Visible-3] >>> ***/ - -int -Not_PER_Visible_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Not-PER-Visible-3] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Not_PER_Visible_3_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = { - "Not-PER-Visible-3", - "Not-PER-Visible-3", - &asn_OP_IA5String, - asn_DEF_Not_PER_Visible_3_tags_1, - sizeof(asn_DEF_Not_PER_Visible_3_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */ - asn_DEF_Not_PER_Visible_3_tags_1, /* Same as above */ - sizeof(asn_DEF_Not_PER_Visible_3_tags_1) - /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Not_PER_Visible_3_constr_1, Not_PER_Visible_3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [SIZE-but-not-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [SIZE-but-not-FROM] >>> ***/ - -typedef PER_Visible_t SIZE_but_not_FROM_t; - -/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM; -asn_struct_free_f SIZE_but_not_FROM_free; -asn_struct_print_f SIZE_but_not_FROM_print; -asn_constr_check_f SIZE_but_not_FROM_constraint; -ber_type_decoder_f SIZE_but_not_FROM_decode_ber; -der_type_encoder_f SIZE_but_not_FROM_encode_der; -xer_type_decoder_f SIZE_but_not_FROM_decode_xer; -xer_type_encoder_f SIZE_but_not_FROM_encode_xer; -per_type_decoder_f SIZE_but_not_FROM_decode_uper; -per_type_encoder_f SIZE_but_not_FROM_encode_uper; -per_type_decoder_f SIZE_but_not_FROM_decode_aper; -per_type_encoder_f SIZE_but_not_FROM_encode_aper; - -/*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 68)) return -1; - } - return 0; -} - - -/*** <<< CODE [SIZE-but-not-FROM] >>> ***/ - -int -SIZE_but_not_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 4) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [SIZE-but-not-FROM] >>> ***/ - -static asn_per_constraints_t asn_PER_type_SIZE_but_not_FROM_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = { - "SIZE-but-not-FROM", - "SIZE-but-not-FROM", - &asn_OP_IA5String, - asn_DEF_SIZE_but_not_FROM_tags_1, - sizeof(asn_DEF_SIZE_but_not_FROM_tags_1) - /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */ - asn_DEF_SIZE_but_not_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_SIZE_but_not_FROM_tags_1) - /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_SIZE_but_not_FROM_constr_1, SIZE_but_not_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [SIZE-and-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [SIZE-and-FROM] >>> ***/ - -typedef PER_Visible_t SIZE_and_FROM_t; - -/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM; -asn_struct_free_f SIZE_and_FROM_free; -asn_struct_print_f SIZE_and_FROM_print; -asn_constr_check_f SIZE_and_FROM_constraint; -ber_type_decoder_f SIZE_and_FROM_decode_ber; -der_type_encoder_f SIZE_and_FROM_encode_der; -xer_type_decoder_f SIZE_and_FROM_decode_xer; -xer_type_encoder_f SIZE_and_FROM_encode_xer; -per_type_decoder_f SIZE_and_FROM_decode_uper; -per_type_encoder_f SIZE_and_FROM_encode_uper; -per_type_decoder_f SIZE_and_FROM_decode_aper; -per_type_encoder_f SIZE_and_FROM_encode_aper; - -/*** <<< CTABLES [SIZE-and-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 68)) return -1; - } - return 0; -} - - -/*** <<< CODE [SIZE-and-FROM] >>> ***/ - -int -SIZE_and_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 4) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [SIZE-and-FROM] >>> ***/ - -static asn_per_constraints_t asn_PER_type_SIZE_and_FROM_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 65, 68 } /* (65..68) */, - { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_SIZE_and_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = { - "SIZE-and-FROM", - "SIZE-and-FROM", - &asn_OP_IA5String, - asn_DEF_SIZE_and_FROM_tags_1, - sizeof(asn_DEF_SIZE_and_FROM_tags_1) - /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */ - asn_DEF_SIZE_and_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_SIZE_and_FROM_tags_1) - /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_SIZE_and_FROM_constr_1, SIZE_and_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Neither-SIZE-nor-FROM] >>> ***/ - -#include "PER-Visible.h" - -/*** <<< TYPE-DECLS [Neither-SIZE-nor-FROM] >>> ***/ - -typedef PER_Visible_t Neither_SIZE_nor_FROM_t; - -/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM; -asn_struct_free_f Neither_SIZE_nor_FROM_free; -asn_struct_print_f Neither_SIZE_nor_FROM_print; -asn_constr_check_f Neither_SIZE_nor_FROM_constraint; -ber_type_decoder_f Neither_SIZE_nor_FROM_decode_ber; -der_type_encoder_f Neither_SIZE_nor_FROM_encode_der; -xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer; -xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer; -per_type_decoder_f Neither_SIZE_nor_FROM_decode_uper; -per_type_encoder_f Neither_SIZE_nor_FROM_encode_uper; -per_type_decoder_f Neither_SIZE_nor_FROM_decode_aper; -per_type_encoder_f Neither_SIZE_nor_FROM_encode_aper; - -/*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 70)) return -1; - } - return 0; -} - - -/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/ - -int -Neither_SIZE_nor_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const PER_Visible_t *st = (const PER_Visible_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using PER_Visible, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Neither-SIZE-nor-FROM] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Neither_SIZE_nor_FROM_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */, - { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */, - 0, 0 /* No PER character map necessary */ -}; - -/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = { - "Neither-SIZE-nor-FROM", - "Neither-SIZE-nor-FROM", - &asn_OP_IA5String, - asn_DEF_Neither_SIZE_nor_FROM_tags_1, - sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1) - /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */ - asn_DEF_Neither_SIZE_nor_FROM_tags_1, /* Same as above */ - sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1) - /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Neither_SIZE_nor_FROM_constr_1, Neither_SIZE_nor_FROM_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Utf8-4] >>> ***/ - -typedef UTF8String_t Utf8_4_t; - -/*** <<< FUNC-DECLS [Utf8-4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_4; -asn_struct_free_f Utf8_4_free; -asn_struct_print_f Utf8_4_print; -asn_constr_check_f Utf8_4_constraint; -ber_type_decoder_f Utf8_4_decode_ber; -der_type_encoder_f Utf8_4_encode_der; -xer_type_decoder_f Utf8_4_decode_xer; -xer_type_encoder_f Utf8_4_encode_xer; -per_type_decoder_f Utf8_4_decode_uper; -per_type_encoder_f Utf8_4_encode_uper; -per_type_decoder_f Utf8_4_decode_aper; -per_type_encoder_f Utf8_4_encode_aper; - -/*** <<< CTABLES [Utf8-4] >>> ***/ - -static int check_permitted_alphabet_1(const void *sptr) { - if(UTF8String_length((const UTF8String_t *)sptr) < 0) - return -1; /* Alphabet (sic!) test failed. */ - - return 0; -} - - -/*** <<< CODE [Utf8-4] >>> ***/ - -int -Utf8_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const UTF8String_t *st = (const UTF8String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using UTF8String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Utf8-4] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Utf8_4_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Utf8-4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_4 = { - "Utf8-4", - "Utf8-4", - &asn_OP_UTF8String, - asn_DEF_Utf8_4_tags_1, - sizeof(asn_DEF_Utf8_4_tags_1) - /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */ - asn_DEF_Utf8_4_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_4_tags_1) - /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Utf8_4_constr_1, Utf8_4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-3] >>> ***/ - -#include "Utf8-2.h" - -/*** <<< TYPE-DECLS [Utf8-3] >>> ***/ - -typedef Utf8_2_t Utf8_3_t; - -/*** <<< FUNC-DECLS [Utf8-3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_3; -asn_struct_free_f Utf8_3_free; -asn_struct_print_f Utf8_3_print; -asn_constr_check_f Utf8_3_constraint; -ber_type_decoder_f Utf8_3_decode_ber; -der_type_encoder_f Utf8_3_encode_der; -xer_type_decoder_f Utf8_3_decode_xer; -xer_type_encoder_f Utf8_3_encode_xer; -per_type_decoder_f Utf8_3_decode_uper; -per_type_encoder_f Utf8_3_encode_uper; -per_type_decoder_f Utf8_3_decode_aper; -per_type_encoder_f Utf8_3_encode_aper; - -/*** <<< CTABLES [Utf8-3] >>> ***/ - -static const int permitted_alphabet_table_1[128] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15, /* ABCDEFGHIJKLMNO */ -16,17,18,19,20,21,22,23,24,25,26, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */ - 0,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, /* abcdefghijklmno */ -42,43,44,45,46,47,48,49,50,51,52, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is UTF8String */ - const UTF8String_t *st = (const UTF8String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(cv >= 0x80) return -1; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Utf8-3] >>> ***/ - -int -Utf8_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Utf8_2_t *st = (const Utf8_2_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size >= 1 && size <= 2) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Utf8_2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Utf8-3] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Utf8_3_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Utf8-3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_3 = { - "Utf8-3", - "Utf8-3", - &asn_OP_UTF8String, - asn_DEF_Utf8_3_tags_1, - sizeof(asn_DEF_Utf8_3_tags_1) - /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */ - asn_DEF_Utf8_3_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_3_tags_1) - /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Utf8_3_constr_1, Utf8_3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-2] >>> ***/ - -#include "Utf8-1.h" - -/*** <<< TYPE-DECLS [Utf8-2] >>> ***/ - -typedef Utf8_1_t Utf8_2_t; - -/*** <<< FUNC-DECLS [Utf8-2] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Utf8_2_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Utf8_2; -asn_struct_free_f Utf8_2_free; -asn_struct_print_f Utf8_2_print; -asn_constr_check_f Utf8_2_constraint; -ber_type_decoder_f Utf8_2_decode_ber; -der_type_encoder_f Utf8_2_encode_der; -xer_type_decoder_f Utf8_2_decode_xer; -xer_type_encoder_f Utf8_2_encode_xer; -per_type_decoder_f Utf8_2_decode_uper; -per_type_encoder_f Utf8_2_encode_uper; -per_type_decoder_f Utf8_2_decode_aper; -per_type_encoder_f Utf8_2_encode_aper; - -/*** <<< CODE [Utf8-2] >>> ***/ - -int -Utf8_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Utf8_1_t *st = (const Utf8_1_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = UTF8String_length(st); - if((ssize_t)size < 0) { - ASN__CTFAIL(app_key, td, sptr, - "%s: UTF-8: broken encoding (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((size >= 1 && size <= 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using Utf8_1, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Utf8-2] >>> ***/ - -asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Utf8-2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_2 = { - "Utf8-2", - "Utf8-2", - &asn_OP_UTF8String, - asn_DEF_Utf8_2_tags_1, - sizeof(asn_DEF_Utf8_2_tags_1) - /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */ - asn_DEF_Utf8_2_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_2_tags_1) - /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Utf8_2_constr_1, Utf8_2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Utf8-1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Utf8-1] >>> ***/ - -typedef UTF8String_t Utf8_1_t; - -/*** <<< FUNC-DECLS [Utf8-1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Utf8_1; -asn_struct_free_f Utf8_1_free; -asn_struct_print_f Utf8_1_print; -asn_constr_check_f Utf8_1_constraint; -ber_type_decoder_f Utf8_1_decode_ber; -der_type_encoder_f Utf8_1_encode_der; -xer_type_decoder_f Utf8_1_decode_xer; -xer_type_encoder_f Utf8_1_encode_xer; -per_type_decoder_f Utf8_1_decode_uper; -per_type_encoder_f Utf8_1_encode_uper; -per_type_decoder_f Utf8_1_decode_aper; -per_type_encoder_f Utf8_1_encode_aper; - -/*** <<< CODE [Utf8-1] >>> ***/ - -/* - * This type is implemented using UTF8String, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [Utf8-1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Utf8_1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Utf8_1 = { - "Utf8-1", - "Utf8-1", - &asn_OP_UTF8String, - asn_DEF_Utf8_1_tags_1, - sizeof(asn_DEF_Utf8_1_tags_1) - /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */ - asn_DEF_Utf8_1_tags_1, /* Same as above */ - sizeof(asn_DEF_Utf8_1_tags_1) - /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */ - { 0, 0, UTF8String_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [VisibleIdentifier] >>> ***/ - -#include "Identifier.h" - -/*** <<< TYPE-DECLS [VisibleIdentifier] >>> ***/ - -typedef Identifier_t VisibleIdentifier_t; - -/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier; -asn_struct_free_f VisibleIdentifier_free; -asn_struct_print_f VisibleIdentifier_print; -asn_constr_check_f VisibleIdentifier_constraint; -ber_type_decoder_f VisibleIdentifier_decode_ber; -der_type_encoder_f VisibleIdentifier_encode_der; -xer_type_decoder_f VisibleIdentifier_decode_xer; -xer_type_encoder_f VisibleIdentifier_encode_xer; -per_type_decoder_f VisibleIdentifier_decode_uper; -per_type_encoder_f VisibleIdentifier_encode_uper; -per_type_decoder_f VisibleIdentifier_decode_aper; -per_type_encoder_f VisibleIdentifier_encode_aper; - -/*** <<< CTABLES [VisibleIdentifier] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */ - 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */ - 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */ -27,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */ - 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */ -54,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; -static const int permitted_alphabet_code2value_1[64] = { -36,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69, -70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85, -86,87,88,89,90,95,97,98,99,100,101,102,103,104,105,106, -107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122, -}; - - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [VisibleIdentifier] >>> ***/ - -int -VisibleIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const Identifier_t *st = (const Identifier_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 32) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_VisibleIdentifier_1_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0])) - return -1; - return permitted_alphabet_table_1[value] - 1; -} -static int asn_PER_MAP_VisibleIdentifier_1_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0])) - return -1; - return permitted_alphabet_code2value_1[code]; -} -/* - * This type is implemented using Identifier, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [VisibleIdentifier] >>> ***/ - -static asn_per_constraints_t asn_PER_type_VisibleIdentifier_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */, - { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, - asn_PER_MAP_VisibleIdentifier_1_v2c, /* Value to PER code map */ - asn_PER_MAP_VisibleIdentifier_1_c2v /* PER code to value map */ -}; - -/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_VisibleIdentifier_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = { - "VisibleIdentifier", - "VisibleIdentifier", - &asn_OP_VisibleString, - asn_DEF_VisibleIdentifier_tags_1, - sizeof(asn_DEF_VisibleIdentifier_tags_1) - /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */ - asn_DEF_VisibleIdentifier_tags_1, /* Same as above */ - sizeof(asn_DEF_VisibleIdentifier_tags_1) - /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_VisibleIdentifier_constr_1, VisibleIdentifier_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include "Int1.h" -#include "Int4.h" -#include -#include -#include -#include "Int5.h" -#include - -/*** <<< DEPS [Sequence] >>> ***/ - -typedef enum enum_c { - enum_c_one = 1, - enum_c_two = 2, - /* - * Enumeration is extensible - */ - enum_c_three = 3 -} e_enum_c; - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - Int1_t *int1_c; /* DEFAULT 3 */ - Int4_t int4; - Int4_t int4_c; - BOOLEAN_t *Bool; /* DEFAULT 1 */ - long enum_c; - NULL_t *null; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - Int5_t *int5_c; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_enum_c_6; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[7]; - -/*** <<< CODE [Sequence] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static int -memb_int1_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_int4_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 5 && value <= 7)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_int5_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 5)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< CTDEFS [Sequence] >>> ***/ - -static asn_per_constraints_t asn_PER_type_enum_c_constr_6 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_int1_c_constr_2 CC_NOTUSED = { - { APC_SEMI_CONSTRAINED, -1, -1, -2, 0 } /* (-2..MAX) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_int4_c_constr_4 CC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 5, 7 } /* (5..7) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_int5_c_constr_13 CC_NOTUSED = { - { APC_CONSTRAINED, 0, 0, 5, 5 } /* (5..5) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -static int asn_DFL_2_cmp_3(const void *sptr) { - const Int1_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 3 */ - return (*st != 3); -} -static int asn_DFL_2_set_3(void **sptr) { - Int1_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 3 */ - *st = 3; - return 0; -} -static int asn_DFL_5_cmp_1(const void *sptr) { - const BOOLEAN_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 1 */ - return (*st != 1); -} -static int asn_DFL_5_set_1(void **sptr) { - BOOLEAN_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 1 */ - *st = 1; - return 0; -} -static const asn_INTEGER_enum_map_t asn_MAP_enum_c_value2enum_6[] = { - { 1, 3, "one" }, - { 2, 3, "two" }, - { 3, 5, "three" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_enum_c_enum2value_6[] = { - 0, /* one(1) */ - 2, /* three(3) */ - 1 /* two(2) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = { - asn_MAP_enum_c_value2enum_6, /* "tag" => N; sorted by tag */ - asn_MAP_enum_c_enum2value_6, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_enum_c_tags_6[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_enum_c_6 = { - "enum-c", - "enum-c", - &asn_OP_NativeEnumerated, - asn_DEF_enum_c_tags_6, - sizeof(asn_DEF_enum_c_tags_6) - /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */ - asn_DEF_enum_c_tags_6, /* Same as above */ - sizeof(asn_DEF_enum_c_tags_6) - /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */ - { 0, &asn_PER_type_enum_c_constr_6, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_enum_c_specs_6 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_POINTER, 1, offsetof(struct Sequence, int1_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int1_c_constr_2, .general_constraints = memb_int1_c_constraint_1 }, - .default_value_cmp = &asn_DFL_2_cmp_3, /* Compare DEFAULT 3 */ - .default_value_set = &asn_DFL_2_set_3, /* Set DEFAULT 3 */ - .name = "int1-c" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Int4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int4" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int4_c_constr_4, .general_constraints = memb_int4_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "int4-c" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, Bool), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_5_cmp_1, /* Compare DEFAULT 1 */ - .default_value_set = &asn_DFL_5_set_1, /* Set DEFAULT 1 */ - .name = "bool" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, enum_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_enum_c_6, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "enum-c" - }, - { ATF_POINTER, 2, offsetof(struct Sequence, null), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "null" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, int5_c), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Int5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int5_c_constr_13, .general_constraints = memb_int5_c_constraint_1 }, - 0, 0, /* No default value */ - .name = "int5-c" - }, -}; -static const int asn_MAP_Sequence_oms_1[] = { 0, 3, 5, 6 }; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* int1-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* int4-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* int5-c */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 5, 0, 0 }, /* null */ - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* enum-c */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* int4 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 7, /* Count of tags in the map */ - asn_MAP_Sequence_oms_1, /* Optional members */ - 3, 1, /* Root/Additions */ - 6, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 7, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SequenceOf] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [SequenceOf] >>> ***/ - -struct Sequence; - -/*** <<< TYPE-DECLS [SequenceOf] >>> ***/ - -typedef struct SequenceOf { - A_SEQUENCE_OF(struct Sequence) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SequenceOf_t; - -/*** <<< FUNC-DECLS [SequenceOf] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; - -/*** <<< POST-INCLUDE [SequenceOf] >>> ***/ - -#include "Sequence.h" - -/*** <<< CTDEFS [SequenceOf] >>> ***/ - -static asn_per_constraints_t asn_PER_type_SequenceOf_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [SequenceOf] >>> ***/ - -static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = { - sizeof(struct SequenceOf), - offsetof(struct SequenceOf, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_SequenceOf = { - "SequenceOf", - "SequenceOf", - &asn_OP_SEQUENCE_OF, - asn_DEF_SequenceOf_tags_1, - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - asn_DEF_SequenceOf_tags_1, /* Same as above */ - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_SequenceOf_constr_1, SEQUENCE_OF_constraint }, - asn_MBR_SequenceOf_1, - 1, /* Single element */ - &asn_SPC_SequenceOf_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum0] >>> ***/ - -#include - -/*** <<< DEPS [Enum0] >>> ***/ - -typedef enum Enum0 { - Enum0_one = 0, - Enum0_two = 1 -} e_Enum0; - -/*** <<< TYPE-DECLS [Enum0] >>> ***/ - -typedef long Enum0_t; - -/*** <<< FUNC-DECLS [Enum0] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum0; -asn_struct_free_f Enum0_free; -asn_struct_print_f Enum0_print; -asn_constr_check_f Enum0_constraint; -ber_type_decoder_f Enum0_decode_ber; -der_type_encoder_f Enum0_encode_der; -xer_type_decoder_f Enum0_decode_xer; -xer_type_encoder_f Enum0_encode_xer; -per_type_decoder_f Enum0_decode_uper; -per_type_encoder_f Enum0_encode_uper; -per_type_decoder_f Enum0_decode_aper; -per_type_encoder_f Enum0_encode_aper; - -/*** <<< CODE [Enum0] >>> ***/ - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Enum0] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Enum0_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Enum0] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum0_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" } -}; -static const unsigned int asn_MAP_Enum0_enum2value_1[] = { - 0, /* one(0) */ - 1 /* two(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = { - asn_MAP_Enum0_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum0_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum0 = { - "Enum0", - "Enum0", - &asn_OP_NativeEnumerated, - asn_DEF_Enum0_tags_1, - sizeof(asn_DEF_Enum0_tags_1) - /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */ - asn_DEF_Enum0_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum0_tags_1) - /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Enum0_constr_1, NativeEnumerated_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum0_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Enum1] >>> ***/ - -#include - -/*** <<< DEPS [Enum1] >>> ***/ - -typedef enum Enum1 { - Enum1_one = 0, - Enum1_two = 1 -} e_Enum1; - -/*** <<< TYPE-DECLS [Enum1] >>> ***/ - -typedef long Enum1_t; - -/*** <<< FUNC-DECLS [Enum1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Enum1; -asn_struct_free_f Enum1_free; -asn_struct_print_f Enum1_print; -asn_constr_check_f Enum1_constraint; -ber_type_decoder_f Enum1_decode_ber; -der_type_encoder_f Enum1_encode_der; -xer_type_decoder_f Enum1_decode_xer; -xer_type_encoder_f Enum1_encode_xer; -per_type_decoder_f Enum1_decode_uper; -per_type_encoder_f Enum1_encode_uper; -per_type_decoder_f Enum1_decode_aper; -per_type_encoder_f Enum1_encode_aper; - -/*** <<< CODE [Enum1] >>> ***/ - -int -Enum1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Enum1] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Enum1_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Enum1] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Enum1_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" } -}; -static const unsigned int asn_MAP_Enum1_enum2value_1[] = { - 0, /* one(0) */ - 1 /* two(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = { - asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Enum1 = { - "Enum1", - "Enum1", - &asn_OP_NativeEnumerated, - asn_DEF_Enum1_tags_1, - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - asn_DEF_Enum1_tags_1, /* Same as above */ - sizeof(asn_DEF_Enum1_tags_1) - /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Enum1_constr_1, Enum1_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Enum1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Identifier] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [Identifier] >>> ***/ - -typedef VisibleString_t Identifier_t; - -/*** <<< FUNC-DECLS [Identifier] >>> ***/ - -extern asn_per_constraints_t asn_PER_type_Identifier_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Identifier; -asn_struct_free_f Identifier_free; -asn_struct_print_f Identifier_print; -asn_constr_check_f Identifier_constraint; -ber_type_decoder_f Identifier_decode_ber; -der_type_encoder_f Identifier_encode_der; -xer_type_decoder_f Identifier_decode_xer; -xer_type_encoder_f Identifier_encode_xer; -per_type_decoder_f Identifier_decode_uper; -per_type_encoder_f Identifier_encode_uper; -per_type_decoder_f Identifier_decode_aper; -per_type_encoder_f Identifier_encode_aper; - -/*** <<< CTABLES [Identifier] >>> ***/ - -static const int permitted_alphabet_table_1[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */ - 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */ - 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */ -27,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */ - 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */ -54,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */ -}; -static const int permitted_alphabet_code2value_1[64] = { -36,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69, -70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85, -86,87,88,89,90,95,97,98,99,100,101,102,103,104,105,106, -107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122, -}; - - -static int check_permitted_alphabet_1(const void *sptr) { - const int *table = permitted_alphabet_table_1; - /* The underlying type is VisibleString */ - const VisibleString_t *st = (const VisibleString_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!table[cv]) return -1; - } - return 0; -} - - -/*** <<< CODE [Identifier] >>> ***/ - -int -Identifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const VisibleString_t *st = (const VisibleString_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1 && size <= 32) - && !check_permitted_alphabet_1(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int asn_PER_MAP_Identifier_1_v2c(unsigned int value) { - if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0])) - return -1; - return permitted_alphabet_table_1[value] - 1; -} -static int asn_PER_MAP_Identifier_1_c2v(unsigned int code) { - if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0])) - return -1; - return permitted_alphabet_code2value_1[code]; -} -/* - * This type is implemented using VisibleString, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [Identifier] >>> ***/ - -asn_per_constraints_t asn_PER_type_Identifier_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */, - { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, - asn_PER_MAP_Identifier_1_v2c, /* Value to PER code map */ - asn_PER_MAP_Identifier_1_c2v /* PER code to value map */ -}; - -/*** <<< STAT-DEFS [Identifier] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_Identifier_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Identifier = { - "Identifier", - "Identifier", - &asn_OP_VisibleString, - asn_DEF_Identifier_tags_1, - sizeof(asn_DEF_Identifier_tags_1) - /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */ - asn_DEF_Identifier_tags_1, /* Same as above */ - sizeof(asn_DEF_Identifier_tags_1) - /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_Identifier_constr_1, Identifier_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< asn_constant.h >>> ***/ - -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define maxIdentifier (32) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/tests/tests-asn1c-compiler/51-constraint-SE.asn1 b/tests/tests-asn1c-compiler/51-constraint-SE.asn1 deleted file mode 100644 index 05df97b..0000000 --- a/tests/tests-asn1c-compiler/51-constraint-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .51 - -ModuleInvalidConstraintApplicability1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 51 } - DEFINITIONS ::= -BEGIN - - Int ::= INTEGER (FROM("abc")) - -END diff --git a/tests/tests-asn1c-compiler/52-constraint-SE.asn1 b/tests/tests-asn1c-compiler/52-constraint-SE.asn1 deleted file mode 100644 index 0345271..0000000 --- a/tests/tests-asn1c-compiler/52-constraint-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .52 - -ModuleInvalidConstraintApplicability1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 52 } - DEFINITIONS ::= -BEGIN - - Int ::= INTEGER (SIZE(0..4)) - -END diff --git a/tests/tests-asn1c-compiler/53-constraint-SE.asn1 b/tests/tests-asn1c-compiler/53-constraint-SE.asn1 deleted file mode 100644 index f043938..0000000 --- a/tests/tests-asn1c-compiler/53-constraint-SE.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .53 - -ModuleInvalidConstraintApplicability1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 53 } - DEFINITIONS ::= -BEGIN - - Int ::= INTEGER (1..32) (MIN..63) - -END diff --git a/tests/tests-asn1c-compiler/54-constraint-SE.asn1 b/tests/tests-asn1c-compiler/54-constraint-SE.asn1 deleted file mode 100644 index e481fb0..0000000 --- a/tests/tests-asn1c-compiler/54-constraint-SE.asn1 +++ /dev/null @@ -1,17 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .54 - -ModuleInvalidConstraintApplicability1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 54 } - DEFINITIONS ::= -BEGIN - - StrFine ::= NumericString (FROM(" ".."9")) -- That's fine - StrBad ::= NumericString (FROM("0".."9" | "#")) -- That's bad - -END diff --git a/tests/tests-asn1c-compiler/55-components-of-OK.asn1 b/tests/tests-asn1c-compiler/55-components-of-OK.asn1 deleted file mode 100644 index 54ecc1f..0000000 --- a/tests/tests-asn1c-compiler/55-components-of-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .55 - -ModuleTestComponentsOf - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 55 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - OneType ::= SEQUENCE { - one-1 INTEGER, - one-2 [1] BOOLEAN, - one-3 SEQUENCE { - alpha INTEGER, - beta INTEGER, - ... - }, - ..., - ignored-in-SecondType INTEGER, - ..., - one-4 INTEGER - } - - SecondType ::= SEQUENCE { - a IA5String, - COMPONENTS OF OneType, - b UniversalString - } - -END diff --git a/tests/tests-asn1c-compiler/55-components-of-OK.asn1.-EF b/tests/tests-asn1c-compiler/55-components-of-OK.asn1.-EF deleted file mode 100644 index fb2f76d..0000000 --- a/tests/tests-asn1c-compiler/55-components-of-OK.asn1.-EF +++ /dev/null @@ -1,31 +0,0 @@ -ModuleTestComponentsOf { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 55 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -OneType ::= SEQUENCE { - one-1 INTEGER, - one-2 [1] IMPLICIT BOOLEAN, - one-3 SEQUENCE { - alpha [0] IMPLICIT INTEGER, - beta [1] IMPLICIT INTEGER, - ... - }, - one-4 INTEGER, - ..., - ignored-in-SecondType INTEGER -} - -SecondType ::= SEQUENCE { - a [0] IMPLICIT IA5String, - one-1 [1] IMPLICIT INTEGER, - one-2 [2] IMPLICIT BOOLEAN, - one-3 [3] IMPLICIT SEQUENCE { - alpha [0] IMPLICIT INTEGER, - beta [1] IMPLICIT INTEGER - }, - one-4 [4] IMPLICIT INTEGER, - b [5] IMPLICIT UniversalString -} - -END diff --git a/tests/tests-asn1c-compiler/56-components-of-SE.asn1 b/tests/tests-asn1c-compiler/56-components-of-SE.asn1 deleted file mode 100644 index 26e0757..0000000 --- a/tests/tests-asn1c-compiler/56-components-of-SE.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .56 - -ModuleTestComponentsOfInvalidReference - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 56 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - OneType ::= SEQUENCE { - a IA5String, - COMPONENTS OF INTEGER, -- Error is here - b UniversalString - } - -END diff --git a/tests/tests-asn1c-compiler/57-components-of-OK.asn1 b/tests/tests-asn1c-compiler/57-components-of-OK.asn1 deleted file mode 100644 index bb2c8bf..0000000 --- a/tests/tests-asn1c-compiler/57-components-of-OK.asn1 +++ /dev/null @@ -1,38 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .57 - -ModuleTestComponentsOfCrossModule1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 57 1 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - SecondType ::= SEQUENCE { - a IA5String, - COMPONENTS OF ModuleTestComponentsOfCrossModule2.OneType, - b UniversalString - } - -END - -ModuleTestComponentsOfCrossModule2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 57 2 } - DEFINITIONS EXPLICIT TAGS ::= -BEGIN - - OneType ::= SEQUENCE { - x T1, - y T2, - z T3 - } - - T1 ::= INTEGER - T2 ::= INTEGER - T3 ::= INTEGER - -END diff --git a/tests/tests-asn1c-compiler/58-param-OK.asn1 b/tests/tests-asn1c-compiler/58-param-OK.asn1 deleted file mode 100644 index 477cabe..0000000 --- a/tests/tests-asn1c-compiler/58-param-OK.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .58 - -ModuleTestParam - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 58 } - DEFINITIONS ::= -BEGIN - - DirectoryString { INTEGER:maxSize } ::= CHOICE { - teletexString TeletexString (SIZE(1..maxSize)), - utf8String UTF8String (SIZE(1..maxSize)) - } - - DS1 ::= DirectoryString { ub-name } - - ub-name INTEGER ::= 128 - -END diff --git a/tests/tests-asn1c-compiler/58-param-OK.asn1.-EF b/tests/tests-asn1c-compiler/58-param-OK.asn1.-EF deleted file mode 100644 index 9258e5b..0000000 --- a/tests/tests-asn1c-compiler/58-param-OK.asn1.-EF +++ /dev/null @@ -1,15 +0,0 @@ -ModuleTestParam { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 58 } -DEFINITIONS ::= -BEGIN - -DirectoryString{INTEGER:maxSize} ::= CHOICE { - teletexString TeletexString (SIZE(1..maxSize)), - utf8String UTF8String (SIZE(1..maxSize)) -} - -DS1 ::= DirectoryString{ub-name} - -ub-name INTEGER ::= 128 - -END diff --git a/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1 b/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1 deleted file mode 100644 index 0e49221..0000000 --- a/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .59 - -ModuleTestExtensibleChoice - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 59 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Choice ::= [123] CHOICE { - a INTEGER, - ..., - b INTEGER, - c Choice -- A reference to itself - } - -END diff --git a/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1.-Pfwide-types deleted file mode 100644 index 16122b8..0000000 --- a/tests/tests-asn1c-compiler/59-choice-extended-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,113 +0,0 @@ - -/*** <<< INCLUDES [Choice] >>> ***/ - -#include -#include - -/*** <<< DEPS [Choice] >>> ***/ - -typedef enum Choice_PR { - Choice_PR_NOTHING, /* No components present */ - Choice_PR_a, - /* Extensions may appear below */ - Choice_PR_b, - Choice_PR_c -} Choice_PR; - -/*** <<< FWD-DECLS [Choice] >>> ***/ - -struct Choice; - -/*** <<< TYPE-DECLS [Choice] >>> ***/ - -typedef struct Choice { - Choice_PR present; - union Choice_u { - INTEGER_t a; - /* - * This type is extensible, - * possible extensions are below. - */ - INTEGER_t b; - struct Choice *c; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice_t; - -/*** <<< FUNC-DECLS [Choice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice; -extern asn_CHOICE_specifics_t asn_SPC_Choice_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice_1[3]; - -/*** <<< POST-INCLUDE [Choice] >>> ***/ - -#include "Choice.h" - -/*** <<< STAT-DEFS [Choice] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 0, offsetof(struct Choice, choice.c), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Choice, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c" - }, -}; -static const ber_tlv_tag_t asn_DEF_Choice_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (123 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = { - sizeof(struct Choice), - offsetof(struct Choice, _asn_ctx), - offsetof(struct Choice, present), - sizeof(((struct Choice *)0)->present), - .tag2el = asn_MAP_Choice_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice = { - "Choice", - "Choice", - &asn_OP_CHOICE, - asn_DEF_Choice_tags_1, - sizeof(asn_DEF_Choice_tags_1) - /sizeof(asn_DEF_Choice_tags_1[0]), /* 1 */ - asn_DEF_Choice_tags_1, /* Same as above */ - sizeof(asn_DEF_Choice_tags_1) - /sizeof(asn_DEF_Choice_tags_1[0]), /* 1 */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice_1, - 3, /* Elements count */ - &asn_SPC_Choice_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/60-any-OK.asn1 b/tests/tests-asn1c-compiler/60-any-OK.asn1 deleted file mode 100644 index e10c421..0000000 --- a/tests/tests-asn1c-compiler/60-any-OK.asn1 +++ /dev/null @@ -1,29 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .60 - -ModuleTestANY - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 60 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T1 ::= SEQUENCE { - i INTEGER, - any ANY - } - - T2 ::= SEQUENCE { - i INTEGER, - any [0] ANY OPTIONAL - } - - T3 ::= SEQUENCE { - any1 ANY, - any2 ANY - } - -END diff --git a/tests/tests-asn1c-compiler/60-any-OK.asn1.-EF b/tests/tests-asn1c-compiler/60-any-OK.asn1.-EF deleted file mode 100644 index 89fa31d..0000000 --- a/tests/tests-asn1c-compiler/60-any-OK.asn1.-EF +++ /dev/null @@ -1,21 +0,0 @@ -ModuleTestANY { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 60 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -T1 ::= SEQUENCE { - i INTEGER, - any ANY -} - -T2 ::= SEQUENCE { - i INTEGER, - any [0] EXPLICIT ANY OPTIONAL -} - -T3 ::= SEQUENCE { - any1 ANY, - any2 ANY -} - -END diff --git a/tests/tests-asn1c-compiler/60-any-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/60-any-OK.asn1.-Pfwide-types deleted file mode 100644 index ee7edab..0000000 --- a/tests/tests-asn1c-compiler/60-any-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,216 +0,0 @@ - -/*** <<< INCLUDES [T1] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [T1] >>> ***/ - -typedef struct T1 { - INTEGER_t i; - ANY_t any; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T1_t; - -/*** <<< FUNC-DECLS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; - -/*** <<< STAT-DEFS [T1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T1, i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, - { ATF_ANY_TYPE | ATF_NOFLAGS, 0, offsetof(struct T1, any), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_ANY, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "any" - }, -}; -static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T1_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* i */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T1_specs_1 = { - sizeof(struct T1), - offsetof(struct T1, _asn_ctx), - .tag2el = asn_MAP_T1_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T1 = { - "T1", - "T1", - &asn_OP_SEQUENCE, - asn_DEF_T1_tags_1, - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - asn_DEF_T1_tags_1, /* Same as above */ - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T1_1, - 2, /* Elements count */ - &asn_SPC_T1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T2] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [T2] >>> ***/ - -typedef struct T2 { - INTEGER_t i; - ANY_t *any; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T2_t; - -/*** <<< FUNC-DECLS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; - -/*** <<< STAT-DEFS [T2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T2, i), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "i" - }, - { ATF_POINTER, 1, offsetof(struct T2, any), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_ANY, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "any" - }, -}; -static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* i */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* any */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T2_specs_1 = { - sizeof(struct T2), - offsetof(struct T2, _asn_ctx), - .tag2el = asn_MAP_T2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T2 = { - "T2", - "T2", - &asn_OP_SEQUENCE, - asn_DEF_T2_tags_1, - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - asn_DEF_T2_tags_1, /* Same as above */ - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T2_1, - 2, /* Elements count */ - &asn_SPC_T2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [T3] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [T3] >>> ***/ - -typedef struct T3 { - ANY_t any1; - ANY_t any2; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T3_t; - -/*** <<< FUNC-DECLS [T3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T3; - -/*** <<< STAT-DEFS [T3] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T3_1[] = { - { ATF_ANY_TYPE | ATF_NOFLAGS, 0, offsetof(struct T3, any1), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_ANY, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "any1" - }, - { ATF_ANY_TYPE | ATF_NOFLAGS, 0, offsetof(struct T3, any2), - .tag = -1 /* Ambiguous tag (ANY?) */, - .tag_mode = 0, - .type = &asn_DEF_ANY, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "any2" - }, -}; -static const ber_tlv_tag_t asn_DEF_T3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SEQUENCE_specifics_t asn_SPC_T3_specs_1 = { - sizeof(struct T3), - offsetof(struct T3, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T3 = { - "T3", - "T3", - &asn_OP_SEQUENCE, - asn_DEF_T3_tags_1, - sizeof(asn_DEF_T3_tags_1) - /sizeof(asn_DEF_T3_tags_1[0]), /* 1 */ - asn_DEF_T3_tags_1, /* Same as above */ - sizeof(asn_DEF_T3_tags_1) - /sizeof(asn_DEF_T3_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T3_1, - 2, /* Elements count */ - &asn_SPC_T3_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/61-any-1-SE.asn1 b/tests/tests-asn1c-compiler/61-any-1-SE.asn1 deleted file mode 100644 index aa3cec3..0000000 --- a/tests/tests-asn1c-compiler/61-any-1-SE.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .61 - -ModuleTestBadANY1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 61 } - DEFINITIONS ::= -BEGIN - - T ::= SEQUENCE { - i1 INTEGER OPTIONAL, - any ANY - } - -END diff --git a/tests/tests-asn1c-compiler/62-any-OK.asn1 b/tests/tests-asn1c-compiler/62-any-OK.asn1 deleted file mode 100644 index 0e69e01..0000000 --- a/tests/tests-asn1c-compiler/62-any-OK.asn1 +++ /dev/null @@ -1,45 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .62 - -ModuleTestANYSyntax - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 62 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= CHOICE { - s1 T1-ext, - s2 T2, - s3 T3, - s4 T4 - } - - T1-ext ::= SEQUENCE { - i INTEGER OPTIONAL, - any [1] ANY, -- Converted into [1] EXPLICIT ANY - ... - } - - T2 ::= [16] SEQUENCE { - m1 [0] NumericString, - m2 [1] BOOLEAN, - m3 [3] SEQUENCE OF NumericString, - o4 [4] BOOLEAN OPTIONAL, - o5 [5] BOOLEAN OPTIONAL, - o6 [6] BOOLEAN OPTIONAL - } - - T3 ::= SET { - m1 [0] NumericString, - m2 [1] BOOLEAN - } - - T4 ::= [53] CHOICE { - m1 [1] IMPLICIT OCTET STRING - } - -END diff --git a/tests/tests-asn1c-compiler/62-any-OK.asn1.-EF b/tests/tests-asn1c-compiler/62-any-OK.asn1.-EF deleted file mode 100644 index 0316412..0000000 --- a/tests/tests-asn1c-compiler/62-any-OK.asn1.-EF +++ /dev/null @@ -1,37 +0,0 @@ -ModuleTestANYSyntax { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 62 } -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - -T ::= CHOICE { - s1 T1-ext, - s2 T2, - s3 T3, - s4 T4 -} - -T1-ext ::= SEQUENCE { - i INTEGER OPTIONAL, - any [1] EXPLICIT ANY, - ... -} - -T2 ::= [16] IMPLICIT SEQUENCE { - m1 [0] IMPLICIT NumericString, - m2 [1] IMPLICIT BOOLEAN, - m3 [3] IMPLICIT SEQUENCE OF NumericString, - o4 [4] IMPLICIT BOOLEAN OPTIONAL, - o5 [5] IMPLICIT BOOLEAN OPTIONAL, - o6 [6] IMPLICIT BOOLEAN OPTIONAL -} - -T3 ::= SET { - m1 [0] IMPLICIT NumericString, - m2 [1] IMPLICIT BOOLEAN -} - -T4 ::= [53] EXPLICIT CHOICE { - m1 [1] IMPLICIT OCTET STRING -} - -END diff --git a/tests/tests-asn1c-compiler/63-any-2-SE.asn1 b/tests/tests-asn1c-compiler/63-any-2-SE.asn1 deleted file mode 100644 index ca747cf..0000000 --- a/tests/tests-asn1c-compiler/63-any-2-SE.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .63 - -ModuleTestBadANY2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 62 } - DEFINITIONS ::= -BEGIN - - T ::= SEQUENCE { - any [1] IMPLICIT ANY - } - -END diff --git a/tests/tests-asn1c-compiler/64-oid-constr-OK.asn1 b/tests/tests-asn1c-compiler/64-oid-constr-OK.asn1 deleted file mode 100644 index f6cb41d..0000000 --- a/tests/tests-asn1c-compiler/64-oid-constr-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .64 - -ModuleTestOIDConstraint - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 64 } - DEFINITIONS ::= -BEGIN - - void OBJECT IDENTIFIER ::= { v 1 3 6 1 4 1 9363 1 5 1 64 1 1 } - - Id ::= OBJECT IDENTIFIER (void) - -END diff --git a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 b/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 deleted file mode 100644 index a6f85bb..0000000 --- a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 +++ /dev/null @@ -1,29 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .65 - -ModuleTestMultipleTags - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 65 } - DEFINITIONS ::= -BEGIN - - T1 ::= [2] EXPLICIT T2 - T2 ::= [3] EXPLICIT T3 - T3 ::= [4] IMPLICIT T4 - T4 ::= [5] EXPLICIT T5 - T5 ::= [6] IMPLICIT T6 - T6 ::= REAL - - T ::= [0] IMPLICIT Ts - - Ts ::= [123] IMPLICIT SEQUENCE { - m1 [1] IMPLICIT T2, -- [1][4][6] - m2 [2] EXPLICIT T3 OPTIONAL, -- [2][4][6] - m3 [3] IMPLICIT T3 -- [3][6] - } - -END diff --git a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfnative-types b/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfnative-types deleted file mode 100644 index d0e5ae3..0000000 --- a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfnative-types +++ /dev/null @@ -1,450 +0,0 @@ - -/*** <<< INCLUDES [T1] >>> ***/ - -#include "T2.h" - -/*** <<< TYPE-DECLS [T1] >>> ***/ - -typedef T2_t T1_t; - -/*** <<< FUNC-DECLS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; -asn_struct_free_f T1_free; -asn_struct_print_f T1_print; -asn_constr_check_f T1_constraint; -ber_type_decoder_f T1_decode_ber; -der_type_encoder_f T1_encode_der; -xer_type_decoder_f T1_decode_xer; -xer_type_encoder_f T1_encode_xer; - -/*** <<< CODE [T1] >>> ***/ - -/* - * This type is implemented using T2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T1_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T1 = { - "T1", - "T1", - &asn_OP_NativeReal, - asn_DEF_T1_tags_1, - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 4 */ - asn_DEF_T1_all_tags_1, - sizeof(asn_DEF_T1_all_tags_1) - /sizeof(asn_DEF_T1_all_tags_1[0]), /* 6 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T2] >>> ***/ - -#include "T3.h" - -/*** <<< TYPE-DECLS [T2] >>> ***/ - -typedef T3_t T2_t; - -/*** <<< FUNC-DECLS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; -asn_struct_free_f T2_free; -asn_struct_print_f T2_print; -asn_constr_check_f T2_constraint; -ber_type_decoder_f T2_decode_ber; -der_type_encoder_f T2_encode_der; -xer_type_decoder_f T2_decode_xer; -xer_type_encoder_f T2_encode_xer; - -/*** <<< CODE [T2] >>> ***/ - -/* - * This type is implemented using T3, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T2_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T2 = { - "T2", - "T2", - &asn_OP_NativeReal, - asn_DEF_T2_tags_1, - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 3 */ - asn_DEF_T2_all_tags_1, - sizeof(asn_DEF_T2_all_tags_1) - /sizeof(asn_DEF_T2_all_tags_1[0]), /* 5 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T3] >>> ***/ - -#include "T4.h" - -/*** <<< TYPE-DECLS [T3] >>> ***/ - -typedef T4_t T3_t; - -/*** <<< FUNC-DECLS [T3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T3; -asn_struct_free_f T3_free; -asn_struct_print_f T3_print; -asn_constr_check_f T3_constraint; -ber_type_decoder_f T3_decode_ber; -der_type_encoder_f T3_encode_der; -xer_type_decoder_f T3_decode_xer; -xer_type_encoder_f T3_encode_xer; - -/*** <<< CODE [T3] >>> ***/ - -/* - * This type is implemented using T4, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T3_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T3_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T3 = { - "T3", - "T3", - &asn_OP_NativeReal, - asn_DEF_T3_tags_1, - sizeof(asn_DEF_T3_tags_1) - /sizeof(asn_DEF_T3_tags_1[0]), /* 2 */ - asn_DEF_T3_all_tags_1, - sizeof(asn_DEF_T3_all_tags_1) - /sizeof(asn_DEF_T3_all_tags_1[0]), /* 4 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T4] >>> ***/ - -#include "T5.h" - -/*** <<< TYPE-DECLS [T4] >>> ***/ - -typedef T5_t T4_t; - -/*** <<< FUNC-DECLS [T4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T4; -asn_struct_free_f T4_free; -asn_struct_print_f T4_print; -asn_constr_check_f T4_constraint; -ber_type_decoder_f T4_decode_ber; -der_type_encoder_f T4_encode_der; -xer_type_decoder_f T4_decode_xer; -xer_type_encoder_f T4_encode_xer; - -/*** <<< CODE [T4] >>> ***/ - -/* - * This type is implemented using T5, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T4_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T4 = { - "T4", - "T4", - &asn_OP_NativeReal, - asn_DEF_T4_tags_1, - sizeof(asn_DEF_T4_tags_1) - /sizeof(asn_DEF_T4_tags_1[0]) - 1, /* 2 */ - asn_DEF_T4_tags_1, /* Same as above */ - sizeof(asn_DEF_T4_tags_1) - /sizeof(asn_DEF_T4_tags_1[0]), /* 3 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T5] >>> ***/ - -#include "T6.h" - -/*** <<< TYPE-DECLS [T5] >>> ***/ - -typedef T6_t T5_t; - -/*** <<< FUNC-DECLS [T5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T5; -asn_struct_free_f T5_free; -asn_struct_print_f T5_print; -asn_constr_check_f T5_constraint; -ber_type_decoder_f T5_decode_ber; -der_type_encoder_f T5_encode_der; -xer_type_decoder_f T5_decode_xer; -xer_type_encoder_f T5_encode_xer; - -/*** <<< CODE [T5] >>> ***/ - -/* - * This type is implemented using T6, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T5_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T5 = { - "T5", - "T5", - &asn_OP_NativeReal, - asn_DEF_T5_tags_1, - sizeof(asn_DEF_T5_tags_1) - /sizeof(asn_DEF_T5_tags_1[0]) - 1, /* 1 */ - asn_DEF_T5_tags_1, /* Same as above */ - sizeof(asn_DEF_T5_tags_1) - /sizeof(asn_DEF_T5_tags_1[0]), /* 2 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T6] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [T6] >>> ***/ - -typedef double T6_t; - -/*** <<< FUNC-DECLS [T6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T6; -asn_struct_free_f T6_free; -asn_struct_print_f T6_print; -asn_constr_check_f T6_constraint; -ber_type_decoder_f T6_decode_ber; -der_type_encoder_f T6_encode_der; -xer_type_decoder_f T6_decode_xer; -xer_type_encoder_f T6_encode_xer; - -/*** <<< CODE [T6] >>> ***/ - -/* - * This type is implemented using NativeReal, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T6] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T6_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T6 = { - "T6", - "T6", - &asn_OP_NativeReal, - asn_DEF_T6_tags_1, - sizeof(asn_DEF_T6_tags_1) - /sizeof(asn_DEF_T6_tags_1[0]), /* 1 */ - asn_DEF_T6_tags_1, /* Same as above */ - sizeof(asn_DEF_T6_tags_1) - /sizeof(asn_DEF_T6_tags_1[0]), /* 1 */ - { 0, 0, NativeReal_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T] >>> ***/ - -#include "Ts.h" - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef Ts_t T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; -asn_struct_free_f T_free; -asn_struct_print_f T_print; -asn_constr_check_f T_constraint; -ber_type_decoder_f T_decode_ber; -der_type_encoder_f T_encode_der; -xer_type_decoder_f T_decode_xer; -xer_type_encoder_f T_encode_xer; - -/*** <<< CODE [T] >>> ***/ - -/* - * This type is implemented using Ts, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_CONTEXT | (123 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]) - 2, /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 3 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Ts_1, - 3, /* Elements count */ - &asn_SPC_Ts_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Ts] >>> ***/ - -#include "T2.h" -#include "T3.h" -#include - -/*** <<< TYPE-DECLS [Ts] >>> ***/ - -typedef struct Ts { - T2_t m1; - T3_t *m2; /* OPTIONAL */ - T3_t m3; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Ts_t; - -/*** <<< FUNC-DECLS [Ts] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Ts; -extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1; -extern asn_TYPE_member_t asn_MBR_Ts_1[3]; - -/*** <<< STAT-DEFS [Ts] >>> ***/ - -asn_TYPE_member_t asn_MBR_Ts_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Ts, m1), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_T2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m1" - }, - { ATF_POINTER, 1, offsetof(struct Ts, m2), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_T3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m2" - }, - { ATF_NOFLAGS, 0, offsetof(struct Ts, m3), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_T3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m3" - }, -}; -static const ber_tlv_tag_t asn_DEF_Ts_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (123 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Ts_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = { - sizeof(struct Ts), - offsetof(struct Ts, _asn_ctx), - .tag2el = asn_MAP_Ts_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Ts = { - "Ts", - "Ts", - &asn_OP_SEQUENCE, - asn_DEF_Ts_tags_1, - sizeof(asn_DEF_Ts_tags_1) - /sizeof(asn_DEF_Ts_tags_1[0]) - 1, /* 1 */ - asn_DEF_Ts_tags_1, /* Same as above */ - sizeof(asn_DEF_Ts_tags_1) - /sizeof(asn_DEF_Ts_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Ts_1, - 3, /* Elements count */ - &asn_SPC_Ts_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfwide-types deleted file mode 100644 index 31570c0..0000000 --- a/tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,450 +0,0 @@ - -/*** <<< INCLUDES [T1] >>> ***/ - -#include "T2.h" - -/*** <<< TYPE-DECLS [T1] >>> ***/ - -typedef T2_t T1_t; - -/*** <<< FUNC-DECLS [T1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T1; -asn_struct_free_f T1_free; -asn_struct_print_f T1_print; -asn_constr_check_f T1_constraint; -ber_type_decoder_f T1_decode_ber; -der_type_encoder_f T1_encode_der; -xer_type_decoder_f T1_decode_xer; -xer_type_encoder_f T1_encode_xer; - -/*** <<< CODE [T1] >>> ***/ - -/* - * This type is implemented using T2, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T1_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T1_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T1 = { - "T1", - "T1", - &asn_OP_REAL, - asn_DEF_T1_tags_1, - sizeof(asn_DEF_T1_tags_1) - /sizeof(asn_DEF_T1_tags_1[0]), /* 4 */ - asn_DEF_T1_all_tags_1, - sizeof(asn_DEF_T1_all_tags_1) - /sizeof(asn_DEF_T1_all_tags_1[0]), /* 6 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T2] >>> ***/ - -#include "T3.h" - -/*** <<< TYPE-DECLS [T2] >>> ***/ - -typedef T3_t T2_t; - -/*** <<< FUNC-DECLS [T2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T2; -asn_struct_free_f T2_free; -asn_struct_print_f T2_print; -asn_constr_check_f T2_constraint; -ber_type_decoder_f T2_decode_ber; -der_type_encoder_f T2_encode_der; -xer_type_decoder_f T2_decode_xer; -xer_type_encoder_f T2_encode_xer; - -/*** <<< CODE [T2] >>> ***/ - -/* - * This type is implemented using T3, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T2_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T2_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T2 = { - "T2", - "T2", - &asn_OP_REAL, - asn_DEF_T2_tags_1, - sizeof(asn_DEF_T2_tags_1) - /sizeof(asn_DEF_T2_tags_1[0]), /* 3 */ - asn_DEF_T2_all_tags_1, - sizeof(asn_DEF_T2_all_tags_1) - /sizeof(asn_DEF_T2_all_tags_1[0]), /* 5 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T3] >>> ***/ - -#include "T4.h" - -/*** <<< TYPE-DECLS [T3] >>> ***/ - -typedef T4_t T3_t; - -/*** <<< FUNC-DECLS [T3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T3; -asn_struct_free_f T3_free; -asn_struct_print_f T3_print; -asn_constr_check_f T3_constraint; -ber_type_decoder_f T3_decode_ber; -der_type_encoder_f T3_encode_der; -xer_type_decoder_f T3_decode_xer; -xer_type_encoder_f T3_encode_xer; - -/*** <<< CODE [T3] >>> ***/ - -/* - * This type is implemented using T4, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T3_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)) -}; -static const ber_tlv_tag_t asn_DEF_T3_all_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T3 = { - "T3", - "T3", - &asn_OP_REAL, - asn_DEF_T3_tags_1, - sizeof(asn_DEF_T3_tags_1) - /sizeof(asn_DEF_T3_tags_1[0]), /* 2 */ - asn_DEF_T3_all_tags_1, - sizeof(asn_DEF_T3_all_tags_1) - /sizeof(asn_DEF_T3_all_tags_1[0]), /* 4 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T4] >>> ***/ - -#include "T5.h" - -/*** <<< TYPE-DECLS [T4] >>> ***/ - -typedef T5_t T4_t; - -/*** <<< FUNC-DECLS [T4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T4; -asn_struct_free_f T4_free; -asn_struct_print_f T4_print; -asn_constr_check_f T4_constraint; -ber_type_decoder_f T4_decode_ber; -der_type_encoder_f T4_encode_der; -xer_type_decoder_f T4_decode_xer; -xer_type_encoder_f T4_encode_xer; - -/*** <<< CODE [T4] >>> ***/ - -/* - * This type is implemented using T5, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T4_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T4 = { - "T4", - "T4", - &asn_OP_REAL, - asn_DEF_T4_tags_1, - sizeof(asn_DEF_T4_tags_1) - /sizeof(asn_DEF_T4_tags_1[0]) - 1, /* 2 */ - asn_DEF_T4_tags_1, /* Same as above */ - sizeof(asn_DEF_T4_tags_1) - /sizeof(asn_DEF_T4_tags_1[0]), /* 3 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T5] >>> ***/ - -#include "T6.h" - -/*** <<< TYPE-DECLS [T5] >>> ***/ - -typedef T6_t T5_t; - -/*** <<< FUNC-DECLS [T5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T5; -asn_struct_free_f T5_free; -asn_struct_print_f T5_print; -asn_constr_check_f T5_constraint; -ber_type_decoder_f T5_decode_ber; -der_type_encoder_f T5_encode_der; -xer_type_decoder_f T5_decode_xer; -xer_type_encoder_f T5_encode_xer; - -/*** <<< CODE [T5] >>> ***/ - -/* - * This type is implemented using T6, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T5_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T5 = { - "T5", - "T5", - &asn_OP_REAL, - asn_DEF_T5_tags_1, - sizeof(asn_DEF_T5_tags_1) - /sizeof(asn_DEF_T5_tags_1[0]) - 1, /* 1 */ - asn_DEF_T5_tags_1, /* Same as above */ - sizeof(asn_DEF_T5_tags_1) - /sizeof(asn_DEF_T5_tags_1[0]), /* 2 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T6] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [T6] >>> ***/ - -typedef REAL_t T6_t; - -/*** <<< FUNC-DECLS [T6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T6; -asn_struct_free_f T6_free; -asn_struct_print_f T6_print; -asn_constr_check_f T6_constraint; -ber_type_decoder_f T6_decode_ber; -der_type_encoder_f T6_encode_der; -xer_type_decoder_f T6_decode_xer; -xer_type_encoder_f T6_encode_xer; - -/*** <<< CODE [T6] >>> ***/ - -/* - * This type is implemented using REAL, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T6] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T6_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T6 = { - "T6", - "T6", - &asn_OP_REAL, - asn_DEF_T6_tags_1, - sizeof(asn_DEF_T6_tags_1) - /sizeof(asn_DEF_T6_tags_1[0]), /* 1 */ - asn_DEF_T6_tags_1, /* Same as above */ - sizeof(asn_DEF_T6_tags_1) - /sizeof(asn_DEF_T6_tags_1[0]), /* 1 */ - { 0, 0, REAL_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [T] >>> ***/ - -#include "Ts.h" - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef Ts_t T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; -asn_struct_free_f T_free; -asn_struct_print_f T_print; -asn_constr_check_f T_constraint; -ber_type_decoder_f T_decode_ber; -der_type_encoder_f T_encode_der; -xer_type_decoder_f T_decode_xer; -xer_type_encoder_f T_encode_xer; - -/*** <<< CODE [T] >>> ***/ - -/* - * This type is implemented using Ts, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_CONTEXT | (123 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]) - 2, /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 3 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Ts_1, - 3, /* Elements count */ - &asn_SPC_Ts_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Ts] >>> ***/ - -#include "T2.h" -#include "T3.h" -#include - -/*** <<< TYPE-DECLS [Ts] >>> ***/ - -typedef struct Ts { - T2_t m1; - T3_t *m2; /* OPTIONAL */ - T3_t m3; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Ts_t; - -/*** <<< FUNC-DECLS [Ts] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Ts; -extern asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1; -extern asn_TYPE_member_t asn_MBR_Ts_1[3]; - -/*** <<< STAT-DEFS [Ts] >>> ***/ - -asn_TYPE_member_t asn_MBR_Ts_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Ts, m1), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_T2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m1" - }, - { ATF_POINTER, 1, offsetof(struct Ts, m2), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_T3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m2" - }, - { ATF_NOFLAGS, 0, offsetof(struct Ts, m3), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_T3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m3" - }, -}; -static const ber_tlv_tag_t asn_DEF_Ts_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (123 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Ts_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* m1 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* m2 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 } /* m3 */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Ts_specs_1 = { - sizeof(struct Ts), - offsetof(struct Ts, _asn_ctx), - .tag2el = asn_MAP_Ts_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Ts = { - "Ts", - "Ts", - &asn_OP_SEQUENCE, - asn_DEF_Ts_tags_1, - sizeof(asn_DEF_Ts_tags_1) - /sizeof(asn_DEF_Ts_tags_1[0]) - 1, /* 1 */ - asn_DEF_Ts_tags_1, /* Same as above */ - sizeof(asn_DEF_Ts_tags_1) - /sizeof(asn_DEF_Ts_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Ts_1, - 3, /* Elements count */ - &asn_SPC_Ts_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 b/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 deleted file mode 100644 index 38254a9..0000000 --- a/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .66 - -ModuleTestReferenceToNamedSimpleType - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 66 } - DEFINITIONS IMPLICIT TAGS ::= -BEGIN - - T ::= SET OF named SimpleType - - SimpleType ::= ENUMERATED { one, two, three } - -END diff --git a/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1.-Pfwide-types deleted file mode 100644 index 99f414a..0000000 --- a/tests/tests-asn1c-compiler/66-ref-simple-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,132 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include "SimpleType.h" -#include -#include - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - A_SET_OF(SimpleType_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_SimpleType, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "named" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SET_OF, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_T_1, - 1, /* Single element */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SimpleType] >>> ***/ - -#include - -/*** <<< DEPS [SimpleType] >>> ***/ - -typedef enum SimpleType { - SimpleType_one = 0, - SimpleType_two = 1, - SimpleType_three = 2 -} e_SimpleType; - -/*** <<< TYPE-DECLS [SimpleType] >>> ***/ - -typedef ENUMERATED_t SimpleType_t; - -/*** <<< FUNC-DECLS [SimpleType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SimpleType; -extern const asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1; -asn_struct_free_f SimpleType_free; -asn_struct_print_f SimpleType_print; -asn_constr_check_f SimpleType_constraint; -ber_type_decoder_f SimpleType_decode_ber; -der_type_encoder_f SimpleType_encode_der; -xer_type_decoder_f SimpleType_decode_xer; -xer_type_encoder_f SimpleType_encode_xer; - -/*** <<< CODE [SimpleType] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SimpleType] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_SimpleType_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" }, - { 2, 5, "three" } -}; -static const unsigned int asn_MAP_SimpleType_enum2value_1[] = { - 0, /* one(0) */ - 2, /* three(2) */ - 1 /* two(1) */ -}; -const asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = { - asn_MAP_SimpleType_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_SimpleType_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_SimpleType_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SimpleType = { - "SimpleType", - "SimpleType", - &asn_OP_ENUMERATED, - asn_DEF_SimpleType_tags_1, - sizeof(asn_DEF_SimpleType_tags_1) - /sizeof(asn_DEF_SimpleType_tags_1[0]), /* 1 */ - asn_DEF_SimpleType_tags_1, /* Same as above */ - sizeof(asn_DEF_SimpleType_tags_1) - /sizeof(asn_DEF_SimpleType_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_SimpleType_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/67-embedded-choice-OK.asn1 b/tests/tests-asn1c-compiler/67-embedded-choice-OK.asn1 deleted file mode 100644 index d3a1954..0000000 --- a/tests/tests-asn1c-compiler/67-embedded-choice-OK.asn1 +++ /dev/null @@ -1,35 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .67 - -ModuleTestEmbeddedChoice - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 67 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - A ::= CHOICE { - a NULL, - b NULL, - ... - } - - B ::= CHOICE { - a NULL, - b NULL, - ..., - other A -- Only AUTOMATIC TAGS make it right - } - - C ::= SET { - a NULL, - b NULL, - ..., - other1 A, - other2 B - } - -END diff --git a/tests/tests-asn1c-compiler/68-enum-default-OK.asn1 b/tests/tests-asn1c-compiler/68-enum-default-OK.asn1 deleted file mode 100644 index 0b26cf7..0000000 --- a/tests/tests-asn1c-compiler/68-enum-default-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .68 - -ModuleTestEnumeratedDefault - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 68 } - DEFINITIONS ::= -BEGIN - - Type ::= SEQUENCE { - reportAmount ReportAmount DEFAULT ra-default, - reportInterval INTEGER - } - - ReportAmount ::= ENUMERATED { a, b, c, ra-default } - -END diff --git a/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1 b/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1 deleted file mode 100644 index 29014ee..0000000 --- a/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .69 - -ModuleTestReservedWords - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 69 } - DEFINITIONS ::= -BEGIN - - T ::= SEQUENCE { - int INTEGER, - char OCTET STRING (SIZE(1)), - class SET { ... }, - double REAL - } - -END diff --git a/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1.-Pfwide-types deleted file mode 100644 index b732292..0000000 --- a/tests/tests-asn1c-compiler/69-reserved-words-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,182 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include -#include -#include -#include - -/*** <<< DEPS [T] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum class_PR { -} class_PR; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - INTEGER_t Int; - OCTET_STRING_t Char; - struct Class { - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pclass, class_PR_x) */ - unsigned int _presence_map - [((0+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } Class; - REAL_t Double; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< CODE [T] >>> ***/ - -static int -memb_char_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_class_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const uint8_t asn_MAP_class_mmap_4[(0 + (8 * sizeof(unsigned int)) - 1) / 8] = { - 0 -}; -static -asn_SET_specifics_t asn_SPC_class_specs_4 = { - sizeof(struct Class), - offsetof(struct Class, _asn_ctx), - offsetof(struct Class, _presence_map), - 0, /* No top level tags */ - 0, /* No tags in the map */ - asn_MAP_class_tag2el_4, /* Same as above */ - 0, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_class_mmap_4 /* Mandatory elements map */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_class_4 = { - "class", - "class", - &asn_OP_SET, - asn_DEF_class_tags_4, - sizeof(asn_DEF_class_tags_4) - /sizeof(asn_DEF_class_tags_4[0]), /* 1 */ - asn_DEF_class_tags_4, /* Same as above */ - sizeof(asn_DEF_class_tags_4) - /sizeof(asn_DEF_class_tags_4[0]), /* 1 */ - { 0, 0, SET_constraint }, - 0, 0, /* No members */ - &asn_SPC_class_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, Int), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, Char), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), - .tag_mode = 0, - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_char_constraint_1 }, - 0, 0, /* No default value */ - .name = "char" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, Class), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_class_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "class" - }, - { ATF_NOFLAGS, 0, offsetof(struct T, Double), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_REAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "double" - }, -}; -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* char */ - { (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), 3, 0, 0 }, /* double */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 } /* class */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_SEQUENCE, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_T_1, - 4, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1 b/tests/tests-asn1c-compiler/70-xer-test-OK.asn1 deleted file mode 100644 index 2c23f52..0000000 --- a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1 +++ /dev/null @@ -1,81 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .70 - -ModuleTestXERDecoding - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 70 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - /* - * This module defines several types for the XER decoder testing - * environment (defined elsewhere). - */ - - PDU ::= CHOICE { - sequence Sequence, - set Set, - sequenceOf SequenceOf, - extensibleSet ExtensibleSet, - extensibleSequence ExtensibleSequence, - extensibleSequence2 ExtensibleSequence2, - setOfNULL SetOfNULL, - setOfREAL SetOfREAL, - setOfEnums SetOfEnums, - namedSetOfNULL NamedSetOfNULL, - namedSetOfREAL NamedSetOfREAL, - namedSetOfEnums NamedSetOfEnums, - seqOfZuka SeqOfZuka, - setOfChoice SetOfChoice, - namedSetOfChoice NamedSetOfChoice, - ... - } - - Sequence ::= SEQUENCE { - integer INTEGER, - sequence Sequence OPTIONAL, -- backreference - bits BIT STRING OPTIONAL, - string UTF8String - } - - Set ::= SET { - roid RELATIVE-OID, - opaque OCTET STRING OPTIONAL - } - - ExtensibleSet ::= SET { - string UTF8String OPTIONAL, - ..., - enum ENUMERATED { b, a } - } - - ExtensibleSequence ::= SEQUENCE { - string UTF8String OPTIONAL, - ..., - integer INTEGER OPTIONAL, - gtime GeneralizedTime - } - - ExtensibleSequence2 ::= SEQUENCE { - string UTF8String OPTIONAL, - ..., - integer INTEGER OPTIONAL - } - - SetOfNULL ::= SET OF NULL - SetOfREAL ::= SET OF REAL - SetOfEnums ::= SET OF ENUMERATED { one, oneMore } - NamedSetOfNULL ::= SET OF y NULL - NamedSetOfREAL ::= SET OF name REAL - NamedSetOfEnums ::= SET OF name ENUMERATED { one, oneMore } - SequenceOf ::= SEQUENCE OF id INTEGER { one(1), two(2) } - SeqOfZuka ::= SEQUENCE OF zuka NULL - SetOfChoice ::= SET OF SimpleChoice - NamedSetOfChoice ::= SET OF whatever SimpleChoice - - SimpleChoice ::= CHOICE { a NULL, b INTEGER } - -END diff --git a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-EF b/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-EF deleted file mode 100644 index 983f40a..0000000 --- a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-EF +++ /dev/null @@ -1,93 +0,0 @@ -ModuleTestXERDecoding { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 70 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -PDU ::= CHOICE { - sequence [0] IMPLICIT Sequence, - set [1] IMPLICIT Set, - sequenceOf [2] IMPLICIT SequenceOf, - extensibleSet [3] IMPLICIT ExtensibleSet, - extensibleSequence [4] IMPLICIT ExtensibleSequence, - extensibleSequence2 [5] IMPLICIT ExtensibleSequence2, - setOfNULL [6] IMPLICIT SetOfNULL, - setOfREAL [7] IMPLICIT SetOfREAL, - setOfEnums [8] IMPLICIT SetOfEnums, - namedSetOfNULL [9] IMPLICIT NamedSetOfNULL, - namedSetOfREAL [10] IMPLICIT NamedSetOfREAL, - namedSetOfEnums [11] IMPLICIT NamedSetOfEnums, - seqOfZuka [12] IMPLICIT SeqOfZuka, - setOfChoice [13] IMPLICIT SetOfChoice, - namedSetOfChoice [14] IMPLICIT NamedSetOfChoice, - ... -} - -Sequence ::= SEQUENCE { - integer [0] IMPLICIT INTEGER, - sequence [1] IMPLICIT Sequence OPTIONAL, - bits [2] IMPLICIT BIT STRING OPTIONAL, - string [3] IMPLICIT UTF8String -} - -Set ::= SET { - roid [0] IMPLICIT RELATIVE-OID, - opaque [1] IMPLICIT OCTET STRING OPTIONAL -} - -ExtensibleSet ::= SET { - string [0] IMPLICIT UTF8String OPTIONAL, - ..., - enum [1] IMPLICIT ENUMERATED { - b(0), - a(1) - } -} - -ExtensibleSequence ::= SEQUENCE { - string [0] IMPLICIT UTF8String OPTIONAL, - ..., - integer [1] IMPLICIT INTEGER OPTIONAL, - gtime [2] IMPLICIT GeneralizedTime -} - -ExtensibleSequence2 ::= SEQUENCE { - string [0] IMPLICIT UTF8String OPTIONAL, - ..., - integer [1] IMPLICIT INTEGER OPTIONAL -} - -SetOfNULL ::= SET OF NULL - -SetOfREAL ::= SET OF REAL - -SetOfEnums ::= SET OF ENUMERATED { - one(0), - oneMore(1) - } - -NamedSetOfNULL ::= SET OF y NULL - -NamedSetOfREAL ::= SET OF name REAL - -NamedSetOfEnums ::= SET OF name ENUMERATED { - one(0), - oneMore(1) - } - -SequenceOf ::= SEQUENCE OF id INTEGER { - one(1), - two(2) - } - -SeqOfZuka ::= SEQUENCE OF zuka NULL - -SetOfChoice ::= SET OF SimpleChoice - -NamedSetOfChoice ::= SET OF whatever SimpleChoice - -SimpleChoice ::= CHOICE { - a [0] IMPLICIT NULL, - b [1] IMPLICIT INTEGER -} - -END diff --git a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-Pfwide-types deleted file mode 100644 index 8dc449a..0000000 --- a/tests/tests-asn1c-compiler/70-xer-test-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,1573 +0,0 @@ - -/*** <<< INCLUDES [PDU] >>> ***/ - -#include "Sequence.h" -#include "Set.h" -#include "SequenceOf.h" -#include "ExtensibleSet.h" -#include "ExtensibleSequence.h" -#include "ExtensibleSequence2.h" -#include "SetOfNULL.h" -#include "SetOfREAL.h" -#include "SetOfEnums.h" -#include "NamedSetOfNULL.h" -#include "NamedSetOfREAL.h" -#include "NamedSetOfEnums.h" -#include "SeqOfZuka.h" -#include "SetOfChoice.h" -#include "NamedSetOfChoice.h" -#include - -/*** <<< DEPS [PDU] >>> ***/ - -typedef enum PDU_PR { - PDU_PR_NOTHING, /* No components present */ - PDU_PR_sequence, - PDU_PR_set, - PDU_PR_sequenceOf, - PDU_PR_extensibleSet, - PDU_PR_extensibleSequence, - PDU_PR_extensibleSequence2, - PDU_PR_setOfNULL, - PDU_PR_setOfREAL, - PDU_PR_setOfEnums, - PDU_PR_namedSetOfNULL, - PDU_PR_namedSetOfREAL, - PDU_PR_namedSetOfEnums, - PDU_PR_seqOfZuka, - PDU_PR_setOfChoice, - PDU_PR_namedSetOfChoice - /* Extensions may appear below */ - -} PDU_PR; - -/*** <<< TYPE-DECLS [PDU] >>> ***/ - -typedef struct PDU { - PDU_PR present; - union PDU_u { - Sequence_t sequence; - Set_t set; - SequenceOf_t sequenceOf; - ExtensibleSet_t extensibleSet; - ExtensibleSequence_t extensibleSequence; - ExtensibleSequence2_t extensibleSequence2; - SetOfNULL_t setOfNULL; - SetOfREAL_t setOfREAL; - SetOfEnums_t setOfEnums; - NamedSetOfNULL_t namedSetOfNULL; - NamedSetOfREAL_t namedSetOfREAL; - NamedSetOfEnums_t namedSetOfEnums; - SeqOfZuka_t seqOfZuka; - SetOfChoice_t setOfChoice; - NamedSetOfChoice_t namedSetOfChoice; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PDU_t; - -/*** <<< FUNC-DECLS [PDU] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_PDU; - -/*** <<< STAT-DEFS [PDU] >>> ***/ - -static asn_TYPE_member_t asn_MBR_PDU_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequence), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "sequence" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.set), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.sequenceOf), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SequenceOf, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "sequenceOf" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSet), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ExtensibleSet, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "extensibleSet" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ExtensibleSequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "extensibleSequence" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.extensibleSequence2), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ExtensibleSequence2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "extensibleSequence2" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfNULL), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SetOfNULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "setOfNULL" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfREAL), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SetOfREAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "setOfREAL" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfEnums), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SetOfEnums, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "setOfEnums" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfNULL), - .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NamedSetOfNULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "namedSetOfNULL" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfREAL), - .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NamedSetOfREAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "namedSetOfREAL" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfEnums), - .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NamedSetOfEnums, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "namedSetOfEnums" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.seqOfZuka), - .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SeqOfZuka, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seqOfZuka" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.setOfChoice), - .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_SetOfChoice, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "setOfChoice" - }, - { ATF_NOFLAGS, 0, offsetof(struct PDU, choice.namedSetOfChoice), - .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NamedSetOfChoice, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "namedSetOfChoice" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequence */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceOf */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* extensibleSet */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extensibleSequence */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensibleSequence2 */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* setOfNULL */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* setOfREAL */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* setOfEnums */ - { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* namedSetOfNULL */ - { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* namedSetOfREAL */ - { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* namedSetOfEnums */ - { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* seqOfZuka */ - { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* setOfChoice */ - { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* namedSetOfChoice */ -}; -static asn_CHOICE_specifics_t asn_SPC_PDU_specs_1 = { - sizeof(struct PDU), - offsetof(struct PDU, _asn_ctx), - offsetof(struct PDU, present), - sizeof(((struct PDU *)0)->present), - .tag2el = asn_MAP_PDU_tag2el_1, - .tag2el_count = 15, /* Count of tags in the map */ - 0, 0, - .first_extension = 15 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_PDU = { - "PDU", - "PDU", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_PDU_1, - 15, /* Elements count */ - &asn_SPC_PDU_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [Sequence] >>> ***/ - -struct Sequence; - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - INTEGER_t integer; - struct Sequence *sequence; /* OPTIONAL */ - BIT_STRING_t *bits; /* OPTIONAL */ - UTF8String_t string; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[4]; - -/*** <<< POST-INCLUDE [Sequence] >>> ***/ - -#include "Sequence.h" - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Sequence, integer), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "integer" - }, - { ATF_POINTER, 2, offsetof(struct Sequence, sequence), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "sequence" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, bits), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bits" - }, - { ATF_NOFLAGS, 0, offsetof(struct Sequence, string), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "string" - }, -}; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* integer */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sequence */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bits */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* string */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 4, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Set] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Set] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Set_PR { - Set_PR_roid, /* Member roid is present */ - Set_PR_opaque, /* Member opaque is present */ -} Set_PR; - -/*** <<< TYPE-DECLS [Set] >>> ***/ - -typedef struct Set { - RELATIVE_OID_t roid; - OCTET_STRING_t *opaque; /* OPTIONAL */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */ - unsigned int _presence_map - [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Set_t; - -/*** <<< FUNC-DECLS [Set] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Set; -extern asn_SET_specifics_t asn_SPC_Set_specs_1; -extern asn_TYPE_member_t asn_MBR_Set_1[2]; - -/*** <<< STAT-DEFS [Set] >>> ***/ - -asn_TYPE_member_t asn_MBR_Set_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Set, roid), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "roid" - }, - { ATF_POINTER, 1, offsetof(struct Set, opaque), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OCTET_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "opaque" - }, -}; -static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roid */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* opaque */ -}; -static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (0 << 6) -}; -asn_SET_specifics_t asn_SPC_Set_specs_1 = { - sizeof(struct Set), - offsetof(struct Set, _asn_ctx), - offsetof(struct Set, _presence_map), - .tag2el = asn_MAP_Set_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - asn_MAP_Set_tag2el_1, /* Same as above */ - 2, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Set = { - "Set", - "Set", - &asn_OP_SET, - asn_DEF_Set_tags_1, - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - asn_DEF_Set_tags_1, /* Same as above */ - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Set_1, - 2, /* Elements count */ - &asn_SPC_Set_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ExtensibleSet] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [ExtensibleSet] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum ExtensibleSet_PR { - ExtensibleSet_PR_string, /* Member string is present */ - ExtensibleSet_PR_enum, /* Member enum is present */ -} ExtensibleSet_PR; -typedef enum Enum { - enum_b = 0, - enum_a = 1 -} e_enum; - -/*** <<< TYPE-DECLS [ExtensibleSet] >>> ***/ - -typedef struct ExtensibleSet { - UTF8String_t *string; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - ENUMERATED_t *Enum; - - /* Presence bitmask: ASN_SET_ISPRESENT(pExtensibleSet, ExtensibleSet_PR_x) */ - unsigned int _presence_map - [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExtensibleSet_t; - -/*** <<< FUNC-DECLS [ExtensibleSet] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_enum_4; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSet; -extern asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1; -extern asn_TYPE_member_t asn_MBR_ExtensibleSet_1[2]; - -/*** <<< CODE [ExtensibleSet] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [ExtensibleSet] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_enum_value2enum_4[] = { - { 0, 1, "b" }, - { 1, 1, "a" } -}; -static const unsigned int asn_MAP_enum_enum2value_4[] = { - 1, /* a(1) */ - 0 /* b(0) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_enum_specs_4 = { - asn_MAP_enum_value2enum_4, /* "tag" => N; sorted by tag */ - asn_MAP_enum_enum2value_4, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_enum_tags_4[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_enum_4 = { - "enum", - "enum", - &asn_OP_ENUMERATED, - asn_DEF_enum_tags_4, - sizeof(asn_DEF_enum_tags_4) - /sizeof(asn_DEF_enum_tags_4[0]) - 1, /* 1 */ - asn_DEF_enum_tags_4, /* Same as above */ - sizeof(asn_DEF_enum_tags_4) - /sizeof(asn_DEF_enum_tags_4[0]), /* 2 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_enum_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_ExtensibleSet_1[] = { - { ATF_POINTER, 2, offsetof(struct ExtensibleSet, string), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "string" - }, - { ATF_POINTER, 1, offsetof(struct ExtensibleSet, Enum), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_enum_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "enum" - }, -}; -static const ber_tlv_tag_t asn_DEF_ExtensibleSet_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSet_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enum */ -}; -static const uint8_t asn_MAP_ExtensibleSet_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (0 << 7) | (0 << 6) -}; -asn_SET_specifics_t asn_SPC_ExtensibleSet_specs_1 = { - sizeof(struct ExtensibleSet), - offsetof(struct ExtensibleSet, _asn_ctx), - offsetof(struct ExtensibleSet, _presence_map), - .tag2el = asn_MAP_ExtensibleSet_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - asn_MAP_ExtensibleSet_tag2el_1, /* Same as above */ - 2, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_ExtensibleSet_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = { - "ExtensibleSet", - "ExtensibleSet", - &asn_OP_SET, - asn_DEF_ExtensibleSet_tags_1, - sizeof(asn_DEF_ExtensibleSet_tags_1) - /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */ - asn_DEF_ExtensibleSet_tags_1, /* Same as above */ - sizeof(asn_DEF_ExtensibleSet_tags_1) - /sizeof(asn_DEF_ExtensibleSet_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_ExtensibleSet_1, - 2, /* Elements count */ - &asn_SPC_ExtensibleSet_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ExtensibleSequence] >>> ***/ - -#include -#include -#include -#include - -/*** <<< TYPE-DECLS [ExtensibleSequence] >>> ***/ - -typedef struct ExtensibleSequence { - UTF8String_t *string; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - INTEGER_t *integer; /* OPTIONAL */ - GeneralizedTime_t *gtime; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExtensibleSequence_t; - -/*** <<< FUNC-DECLS [ExtensibleSequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence; -extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1; -extern asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[3]; - -/*** <<< STAT-DEFS [ExtensibleSequence] >>> ***/ - -asn_TYPE_member_t asn_MBR_ExtensibleSequence_1[] = { - { ATF_POINTER, 3, offsetof(struct ExtensibleSequence, string), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "string" - }, - { ATF_POINTER, 2, offsetof(struct ExtensibleSequence, integer), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "integer" - }, - { ATF_POINTER, 1, offsetof(struct ExtensibleSequence, gtime), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_GeneralizedTime, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "gtime" - }, -}; -static const ber_tlv_tag_t asn_DEF_ExtensibleSequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* integer */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gtime */ -}; -asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence_specs_1 = { - sizeof(struct ExtensibleSequence), - offsetof(struct ExtensibleSequence, _asn_ctx), - .tag2el = asn_MAP_ExtensibleSequence_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence = { - "ExtensibleSequence", - "ExtensibleSequence", - &asn_OP_SEQUENCE, - asn_DEF_ExtensibleSequence_tags_1, - sizeof(asn_DEF_ExtensibleSequence_tags_1) - /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */ - asn_DEF_ExtensibleSequence_tags_1, /* Same as above */ - sizeof(asn_DEF_ExtensibleSequence_tags_1) - /sizeof(asn_DEF_ExtensibleSequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ExtensibleSequence_1, - 3, /* Elements count */ - &asn_SPC_ExtensibleSequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ExtensibleSequence2] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [ExtensibleSequence2] >>> ***/ - -typedef struct ExtensibleSequence2 { - UTF8String_t *string; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - INTEGER_t *integer; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExtensibleSequence2_t; - -/*** <<< FUNC-DECLS [ExtensibleSequence2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2; -extern asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1; -extern asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[2]; - -/*** <<< STAT-DEFS [ExtensibleSequence2] >>> ***/ - -asn_TYPE_member_t asn_MBR_ExtensibleSequence2_1[] = { - { ATF_POINTER, 2, offsetof(struct ExtensibleSequence2, string), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_UTF8String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "string" - }, - { ATF_POINTER, 1, offsetof(struct ExtensibleSequence2, integer), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "integer" - }, -}; -static const ber_tlv_tag_t asn_DEF_ExtensibleSequence2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ExtensibleSequence2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* string */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* integer */ -}; -asn_SEQUENCE_specifics_t asn_SPC_ExtensibleSequence2_specs_1 = { - sizeof(struct ExtensibleSequence2), - offsetof(struct ExtensibleSequence2, _asn_ctx), - .tag2el = asn_MAP_ExtensibleSequence2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ExtensibleSequence2 = { - "ExtensibleSequence2", - "ExtensibleSequence2", - &asn_OP_SEQUENCE, - asn_DEF_ExtensibleSequence2_tags_1, - sizeof(asn_DEF_ExtensibleSequence2_tags_1) - /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */ - asn_DEF_ExtensibleSequence2_tags_1, /* Same as above */ - sizeof(asn_DEF_ExtensibleSequence2_tags_1) - /sizeof(asn_DEF_ExtensibleSequence2_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ExtensibleSequence2_1, - 2, /* Elements count */ - &asn_SPC_ExtensibleSequence2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SetOfNULL] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [SetOfNULL] >>> ***/ - -typedef struct SetOfNULL { - A_SET_OF(NULL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SetOfNULL_t; - -/*** <<< FUNC-DECLS [SetOfNULL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SetOfNULL; -extern asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1; -extern asn_TYPE_member_t asn_MBR_SetOfNULL_1[1]; - -/*** <<< STAT-DEFS [SetOfNULL] >>> ***/ - -asn_TYPE_member_t asn_MBR_SetOfNULL_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SetOfNULL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SetOfNULL_specs_1 = { - sizeof(struct SetOfNULL), - offsetof(struct SetOfNULL, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_SetOfNULL = { - "SetOfNULL", - "SetOfNULL", - &asn_OP_SET_OF, - asn_DEF_SetOfNULL_tags_1, - sizeof(asn_DEF_SetOfNULL_tags_1) - /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */ - asn_DEF_SetOfNULL_tags_1, /* Same as above */ - sizeof(asn_DEF_SetOfNULL_tags_1) - /sizeof(asn_DEF_SetOfNULL_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_SetOfNULL_1, - 1, /* Single element */ - &asn_SPC_SetOfNULL_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SetOfREAL] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [SetOfREAL] >>> ***/ - -typedef struct SetOfREAL { - A_SET_OF(REAL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SetOfREAL_t; - -/*** <<< FUNC-DECLS [SetOfREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SetOfREAL; -extern asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1; -extern asn_TYPE_member_t asn_MBR_SetOfREAL_1[1]; - -/*** <<< STAT-DEFS [SetOfREAL] >>> ***/ - -asn_TYPE_member_t asn_MBR_SetOfREAL_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_REAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SetOfREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SetOfREAL_specs_1 = { - sizeof(struct SetOfREAL), - offsetof(struct SetOfREAL, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_SetOfREAL = { - "SetOfREAL", - "SetOfREAL", - &asn_OP_SET_OF, - asn_DEF_SetOfREAL_tags_1, - sizeof(asn_DEF_SetOfREAL_tags_1) - /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */ - asn_DEF_SetOfREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_SetOfREAL_tags_1) - /sizeof(asn_DEF_SetOfREAL_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_SetOfREAL_1, - 1, /* Single element */ - &asn_SPC_SetOfREAL_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SetOfEnums] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [SetOfEnums] >>> ***/ - -typedef enum Member { - Member_one = 0, - Member_oneMore = 1 -} e_Member; - -/*** <<< TYPE-DECLS [SetOfEnums] >>> ***/ - -typedef struct SetOfEnums { - A_SET_OF(ENUMERATED_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SetOfEnums_t; - -/*** <<< FUNC-DECLS [SetOfEnums] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_Member_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_SetOfEnums; -extern asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1; -extern asn_TYPE_member_t asn_MBR_SetOfEnums_1[1]; - -/*** <<< CODE [SetOfEnums] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [SetOfEnums] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_Member_value2enum_2[] = { - { 0, 3, "one" }, - { 1, 7, "oneMore" } -}; -static const unsigned int asn_MAP_Member_enum2value_2[] = { - 0, /* one(0) */ - 1 /* oneMore(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Member_specs_2 = { - asn_MAP_Member_value2enum_2, /* "tag" => N; sorted by tag */ - asn_MAP_Member_enum2value_2, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_2 = { - "ENUMERATED", - "ENUMERATED", - &asn_OP_ENUMERATED, - asn_DEF_Member_tags_2, - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - asn_DEF_Member_tags_2, /* Same as above */ - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Member_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_SetOfEnums_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SetOfEnums_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SetOfEnums_specs_1 = { - sizeof(struct SetOfEnums), - offsetof(struct SetOfEnums, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_SetOfEnums = { - "SetOfEnums", - "SetOfEnums", - &asn_OP_SET_OF, - asn_DEF_SetOfEnums_tags_1, - sizeof(asn_DEF_SetOfEnums_tags_1) - /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */ - asn_DEF_SetOfEnums_tags_1, /* Same as above */ - sizeof(asn_DEF_SetOfEnums_tags_1) - /sizeof(asn_DEF_SetOfEnums_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_SetOfEnums_1, - 1, /* Single element */ - &asn_SPC_SetOfEnums_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NamedSetOfNULL] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [NamedSetOfNULL] >>> ***/ - -typedef struct NamedSetOfNULL { - A_SET_OF(NULL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NamedSetOfNULL_t; - -/*** <<< FUNC-DECLS [NamedSetOfNULL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL; -extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1; -extern asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[1]; - -/*** <<< STAT-DEFS [NamedSetOfNULL] >>> ***/ - -asn_TYPE_member_t asn_MBR_NamedSetOfNULL_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "y" - }, -}; -static const ber_tlv_tag_t asn_DEF_NamedSetOfNULL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_NamedSetOfNULL_specs_1 = { - sizeof(struct NamedSetOfNULL), - offsetof(struct NamedSetOfNULL, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_NamedSetOfNULL = { - "NamedSetOfNULL", - "NamedSetOfNULL", - &asn_OP_SET_OF, - asn_DEF_NamedSetOfNULL_tags_1, - sizeof(asn_DEF_NamedSetOfNULL_tags_1) - /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */ - asn_DEF_NamedSetOfNULL_tags_1, /* Same as above */ - sizeof(asn_DEF_NamedSetOfNULL_tags_1) - /sizeof(asn_DEF_NamedSetOfNULL_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_NamedSetOfNULL_1, - 1, /* Single element */ - &asn_SPC_NamedSetOfNULL_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NamedSetOfREAL] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [NamedSetOfREAL] >>> ***/ - -typedef struct NamedSetOfREAL { - A_SET_OF(REAL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NamedSetOfREAL_t; - -/*** <<< FUNC-DECLS [NamedSetOfREAL] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL; -extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1; -extern asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[1]; - -/*** <<< STAT-DEFS [NamedSetOfREAL] >>> ***/ - -asn_TYPE_member_t asn_MBR_NamedSetOfREAL_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (9 << 2)), - .tag_mode = 0, - .type = &asn_DEF_REAL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "name" - }, -}; -static const ber_tlv_tag_t asn_DEF_NamedSetOfREAL_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_NamedSetOfREAL_specs_1 = { - sizeof(struct NamedSetOfREAL), - offsetof(struct NamedSetOfREAL, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_NamedSetOfREAL = { - "NamedSetOfREAL", - "NamedSetOfREAL", - &asn_OP_SET_OF, - asn_DEF_NamedSetOfREAL_tags_1, - sizeof(asn_DEF_NamedSetOfREAL_tags_1) - /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */ - asn_DEF_NamedSetOfREAL_tags_1, /* Same as above */ - sizeof(asn_DEF_NamedSetOfREAL_tags_1) - /sizeof(asn_DEF_NamedSetOfREAL_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_NamedSetOfREAL_1, - 1, /* Single element */ - &asn_SPC_NamedSetOfREAL_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NamedSetOfEnums] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [NamedSetOfEnums] >>> ***/ - -typedef enum name { - name_one = 0, - name_oneMore = 1 -} e_name; - -/*** <<< TYPE-DECLS [NamedSetOfEnums] >>> ***/ - -typedef struct NamedSetOfEnums { - A_SET_OF(ENUMERATED_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NamedSetOfEnums_t; - -/*** <<< FUNC-DECLS [NamedSetOfEnums] >>> ***/ - -/* extern asn_TYPE_descriptor_t asn_DEF_name_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums; -extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1; -extern asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[1]; - -/*** <<< CODE [NamedSetOfEnums] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NamedSetOfEnums] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_name_value2enum_2[] = { - { 0, 3, "one" }, - { 1, 7, "oneMore" } -}; -static const unsigned int asn_MAP_name_enum2value_2[] = { - 0, /* one(0) */ - 1 /* oneMore(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_name_specs_2 = { - asn_MAP_name_value2enum_2, /* "tag" => N; sorted by tag */ - asn_MAP_name_enum2value_2, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_name_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_name_2 = { - "ENUMERATED", - "ENUMERATED", - &asn_OP_ENUMERATED, - asn_DEF_name_tags_2, - sizeof(asn_DEF_name_tags_2) - /sizeof(asn_DEF_name_tags_2[0]), /* 1 */ - asn_DEF_name_tags_2, /* Same as above */ - sizeof(asn_DEF_name_tags_2) - /sizeof(asn_DEF_name_tags_2[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_name_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_NamedSetOfEnums_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_name_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "name" - }, -}; -static const ber_tlv_tag_t asn_DEF_NamedSetOfEnums_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_NamedSetOfEnums_specs_1 = { - sizeof(struct NamedSetOfEnums), - offsetof(struct NamedSetOfEnums, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_NamedSetOfEnums = { - "NamedSetOfEnums", - "NamedSetOfEnums", - &asn_OP_SET_OF, - asn_DEF_NamedSetOfEnums_tags_1, - sizeof(asn_DEF_NamedSetOfEnums_tags_1) - /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */ - asn_DEF_NamedSetOfEnums_tags_1, /* Same as above */ - sizeof(asn_DEF_NamedSetOfEnums_tags_1) - /sizeof(asn_DEF_NamedSetOfEnums_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_NamedSetOfEnums_1, - 1, /* Single element */ - &asn_SPC_NamedSetOfEnums_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SequenceOf] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [SequenceOf] >>> ***/ - -typedef struct SequenceOf { - A_SEQUENCE_OF(INTEGER_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SequenceOf_t; - -/*** <<< FUNC-DECLS [SequenceOf] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SequenceOf; -extern asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1; -extern asn_TYPE_member_t asn_MBR_SequenceOf_1[1]; - -/*** <<< STAT-DEFS [SequenceOf] >>> ***/ - -asn_TYPE_member_t asn_MBR_SequenceOf_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "id" - }, -}; -static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = { - sizeof(struct SequenceOf), - offsetof(struct SequenceOf, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_SequenceOf = { - "SequenceOf", - "SequenceOf", - &asn_OP_SEQUENCE_OF, - asn_DEF_SequenceOf_tags_1, - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - asn_DEF_SequenceOf_tags_1, /* Same as above */ - sizeof(asn_DEF_SequenceOf_tags_1) - /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_SequenceOf_1, - 1, /* Single element */ - &asn_SPC_SequenceOf_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SeqOfZuka] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [SeqOfZuka] >>> ***/ - -typedef struct SeqOfZuka { - A_SEQUENCE_OF(NULL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SeqOfZuka_t; - -/*** <<< FUNC-DECLS [SeqOfZuka] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SeqOfZuka; -extern asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1; -extern asn_TYPE_member_t asn_MBR_SeqOfZuka_1[1]; - -/*** <<< STAT-DEFS [SeqOfZuka] >>> ***/ - -asn_TYPE_member_t asn_MBR_SeqOfZuka_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "zuka" - }, -}; -static const ber_tlv_tag_t asn_DEF_SeqOfZuka_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SeqOfZuka_specs_1 = { - sizeof(struct SeqOfZuka), - offsetof(struct SeqOfZuka, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_SeqOfZuka = { - "SeqOfZuka", - "SeqOfZuka", - &asn_OP_SEQUENCE_OF, - asn_DEF_SeqOfZuka_tags_1, - sizeof(asn_DEF_SeqOfZuka_tags_1) - /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */ - asn_DEF_SeqOfZuka_tags_1, /* Same as above */ - sizeof(asn_DEF_SeqOfZuka_tags_1) - /sizeof(asn_DEF_SeqOfZuka_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_SeqOfZuka_1, - 1, /* Single element */ - &asn_SPC_SeqOfZuka_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SetOfChoice] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [SetOfChoice] >>> ***/ - -struct SimpleChoice; - -/*** <<< TYPE-DECLS [SetOfChoice] >>> ***/ - -typedef struct SetOfChoice { - A_SET_OF(struct SimpleChoice) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SetOfChoice_t; - -/*** <<< FUNC-DECLS [SetOfChoice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SetOfChoice; -extern asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1; -extern asn_TYPE_member_t asn_MBR_SetOfChoice_1[1]; - -/*** <<< POST-INCLUDE [SetOfChoice] >>> ***/ - -#include "SimpleChoice.h" - -/*** <<< STAT-DEFS [SetOfChoice] >>> ***/ - -asn_TYPE_member_t asn_MBR_SetOfChoice_1[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_SimpleChoice, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_SetOfChoice_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_SetOfChoice_specs_1 = { - sizeof(struct SetOfChoice), - offsetof(struct SetOfChoice, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_SetOfChoice = { - "SetOfChoice", - "SetOfChoice", - &asn_OP_SET_OF, - asn_DEF_SetOfChoice_tags_1, - sizeof(asn_DEF_SetOfChoice_tags_1) - /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */ - asn_DEF_SetOfChoice_tags_1, /* Same as above */ - sizeof(asn_DEF_SetOfChoice_tags_1) - /sizeof(asn_DEF_SetOfChoice_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_SetOfChoice_1, - 1, /* Single element */ - &asn_SPC_SetOfChoice_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NamedSetOfChoice] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [NamedSetOfChoice] >>> ***/ - -struct SimpleChoice; - -/*** <<< TYPE-DECLS [NamedSetOfChoice] >>> ***/ - -typedef struct NamedSetOfChoice { - A_SET_OF(struct SimpleChoice) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NamedSetOfChoice_t; - -/*** <<< FUNC-DECLS [NamedSetOfChoice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice; -extern asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1; -extern asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[1]; - -/*** <<< POST-INCLUDE [NamedSetOfChoice] >>> ***/ - -#include "SimpleChoice.h" - -/*** <<< STAT-DEFS [NamedSetOfChoice] >>> ***/ - -asn_TYPE_member_t asn_MBR_NamedSetOfChoice_1[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_SimpleChoice, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "whatever" - }, -}; -static const ber_tlv_tag_t asn_DEF_NamedSetOfChoice_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_NamedSetOfChoice_specs_1 = { - sizeof(struct NamedSetOfChoice), - offsetof(struct NamedSetOfChoice, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_NamedSetOfChoice = { - "NamedSetOfChoice", - "NamedSetOfChoice", - &asn_OP_SET_OF, - asn_DEF_NamedSetOfChoice_tags_1, - sizeof(asn_DEF_NamedSetOfChoice_tags_1) - /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */ - asn_DEF_NamedSetOfChoice_tags_1, /* Same as above */ - sizeof(asn_DEF_NamedSetOfChoice_tags_1) - /sizeof(asn_DEF_NamedSetOfChoice_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_NamedSetOfChoice_1, - 1, /* Single element */ - &asn_SPC_NamedSetOfChoice_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [SimpleChoice] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [SimpleChoice] >>> ***/ - -typedef enum SimpleChoice_PR { - SimpleChoice_PR_NOTHING, /* No components present */ - SimpleChoice_PR_a, - SimpleChoice_PR_b -} SimpleChoice_PR; - -/*** <<< TYPE-DECLS [SimpleChoice] >>> ***/ - -typedef struct SimpleChoice { - SimpleChoice_PR present; - union SimpleChoice_u { - NULL_t a; - INTEGER_t b; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SimpleChoice_t; - -/*** <<< FUNC-DECLS [SimpleChoice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_SimpleChoice; -extern asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1; -extern asn_TYPE_member_t asn_MBR_SimpleChoice_1[2]; - -/*** <<< STAT-DEFS [SimpleChoice] >>> ***/ - -asn_TYPE_member_t asn_MBR_SimpleChoice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct SimpleChoice, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_SimpleChoice_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */ -}; -asn_CHOICE_specifics_t asn_SPC_SimpleChoice_specs_1 = { - sizeof(struct SimpleChoice), - offsetof(struct SimpleChoice, _asn_ctx), - offsetof(struct SimpleChoice, present), - sizeof(((struct SimpleChoice *)0)->present), - .tag2el = asn_MAP_SimpleChoice_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_SimpleChoice = { - "SimpleChoice", - "SimpleChoice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_SimpleChoice_1, - 2, /* Elements count */ - &asn_SPC_SimpleChoice_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/71-duplicate-types-SE.asn1 b/tests/tests-asn1c-compiler/71-duplicate-types-SE.asn1 deleted file mode 100644 index 64d340e..0000000 --- a/tests/tests-asn1c-compiler/71-duplicate-types-SE.asn1 +++ /dev/null @@ -1,27 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .71 1 --- .71 2 - -ModuleDuplicateTypes1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 71 1 } - DEFINITIONS ::= -BEGIN - - Type ::= INTEGER -- Original type. - -END - -ModuleDuplicateTypes2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 71 2 } - DEFINITIONS ::= -BEGIN - - Type ::= INTEGER -- A duplicate type. - -END diff --git a/tests/tests-asn1c-compiler/72-same-names-OK.asn1 b/tests/tests-asn1c-compiler/72-same-names-OK.asn1 deleted file mode 100644 index 2ab4748..0000000 --- a/tests/tests-asn1c-compiler/72-same-names-OK.asn1 +++ /dev/null @@ -1,46 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .72 - -ModuleTestSameNames - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 72 } - DEFINITIONS ::= -BEGIN - - /* - * This test checks whether different top-level types containing - * similarly named inner types may be compiled by the target language - * compiler successfully. This was not the case before asn1c-0.9.11. - */ - - Type ::= SET OF SEQUENCE { - t1 Type1, - t2 Type2 - } - - Type1 ::= SEQUENCE { - one-name CHOICE { - another-name SEQUENCE { a INTEGER, b INTEGER } - } - } - - Type2 ::= CHOICE { - one-name SEQUENCE { - another-name SEQUENCE { - a BIT STRING { one(0) } (SIZE(2)), - b INTEGER - } - }, - two-name SET { - another-name SEQUENCE { - a BIT STRING { one(0) } (SIZE(2)), - b INTEGER - } - } - } - -END diff --git a/tests/tests-asn1c-compiler/72-same-names-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/72-same-names-OK.asn1.-Pfwide-types deleted file mode 100644 index 7f53a51..0000000 --- a/tests/tests-asn1c-compiler/72-same-names-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,684 +0,0 @@ - -/*** <<< INCLUDES [Type] >>> ***/ - -#include -#include "Type1.h" -#include "Type2.h" -#include -#include - -/*** <<< FWD-DEFS [Type] >>> ***/ - -typedef struct Member { - Type1_t t1; - Type2_t t2; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Member; - -/*** <<< TYPE-DECLS [Type] >>> ***/ - -typedef struct Type { - A_SET_OF(Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type_t; - -/*** <<< FUNC-DECLS [Type] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type; - -/*** <<< STAT-DEFS [Type] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Member_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Member, t1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Type1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t1" - }, - { ATF_NOFLAGS, 0, offsetof(struct Member, t2), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_Type2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "t2" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* t1 */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* one-name */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { - sizeof(struct Member), - offsetof(struct Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_2, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_2 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_2, - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - asn_DEF_Member_tags_2, /* Same as above */ - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_2, - 2, /* Elements count */ - &asn_SPC_Member_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Type_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_Type_specs_1 = { - sizeof(struct Type), - offsetof(struct Type, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Type = { - "Type", - "Type", - &asn_OP_SET_OF, - asn_DEF_Type_tags_1, - sizeof(asn_DEF_Type_tags_1) - /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */ - asn_DEF_Type_tags_1, /* Same as above */ - sizeof(asn_DEF_Type_tags_1) - /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Type_1, - 1, /* Single element */ - &asn_SPC_Type_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Type1] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Type1] >>> ***/ - -typedef enum one_name_PR { - one_name_PR_NOTHING, /* No components present */ - one_name_PR_another_name -} one_name_PR; - -/*** <<< TYPE-DECLS [Type1] >>> ***/ - -typedef struct Type1 { - struct one_name { - one_name_PR present; - union Type1__one_name_u { - struct another_name { - INTEGER_t a; - INTEGER_t b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } another_name; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } one_name; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type1_t; - -/*** <<< FUNC-DECLS [Type1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type1; -extern asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1; -extern asn_TYPE_member_t asn_MBR_Type1_1[1]; - -/*** <<< STAT-DEFS [Type1] >>> ***/ - -static asn_TYPE_member_t asn_MBR_another_name_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct another_name, a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct another_name, b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* a */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* b */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = { - sizeof(struct another_name), - offsetof(struct another_name, _asn_ctx), - .tag2el = asn_MAP_another_name_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_another_name_3 = { - "another-name", - "another-name", - &asn_OP_SEQUENCE, - asn_DEF_another_name_tags_3, - sizeof(asn_DEF_another_name_tags_3) - /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */ - asn_DEF_another_name_tags_3, /* Same as above */ - sizeof(asn_DEF_another_name_tags_3) - /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_another_name_3, - 2, /* Elements count */ - &asn_SPC_another_name_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_one_name_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct one_name, choice.another_name), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_another_name_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "another-name" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */ -}; -static asn_CHOICE_specifics_t asn_SPC_one_name_specs_2 = { - sizeof(struct one_name), - offsetof(struct one_name, _asn_ctx), - offsetof(struct one_name, present), - sizeof(((struct one_name *)0)->present), - .tag2el = asn_MAP_one_name_tag2el_2, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_one_name_2 = { - "one-name", - "one-name", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_one_name_2, - 1, /* Elements count */ - &asn_SPC_one_name_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Type1_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type1, one_name), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_one_name_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "one-name" - }, -}; -static const ber_tlv_tag_t asn_DEF_Type1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Type1_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Type1_specs_1 = { - sizeof(struct Type1), - offsetof(struct Type1, _asn_ctx), - .tag2el = asn_MAP_Type1_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Type1 = { - "Type1", - "Type1", - &asn_OP_SEQUENCE, - asn_DEF_Type1_tags_1, - sizeof(asn_DEF_Type1_tags_1) - /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */ - asn_DEF_Type1_tags_1, /* Same as above */ - sizeof(asn_DEF_Type1_tags_1) - /sizeof(asn_DEF_Type1_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Type1_1, - 1, /* Elements count */ - &asn_SPC_Type1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Type2] >>> ***/ - -#include -#include -#include -#include -#include - -/*** <<< DEPS [Type2] >>> ***/ - -typedef enum Type2_PR { - Type2_PR_NOTHING, /* No components present */ - Type2_PR_one_name, - Type2_PR_two_name -} Type2_PR; -typedef enum a { - a_one = 0 -} e_a; - -/* - * Method of determining the components presence - */ -typedef enum two_name_PR { - two_name_PR_another_name, /* Member another_name is present */ -} two_name_PR; -typedef enum a { - a_one = 0 -} e_a; - -/*** <<< TYPE-DECLS [Type2] >>> ***/ - -typedef struct Type2 { - Type2_PR present; - union Type2_u { - struct one_name { - struct another_name { - BIT_STRING_t a; - INTEGER_t b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } another_name; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } one_name; - struct two_name { - struct another_name { - BIT_STRING_t a; - INTEGER_t b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } another_name; - - /* Presence bitmask: ASN_SET_ISPRESENT(ptwo_name, two_name_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } two_name; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type2_t; - -/*** <<< FUNC-DECLS [Type2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type2; -extern asn_CHOICE_specifics_t asn_SPC_Type2_specs_1; -extern asn_TYPE_member_t asn_MBR_Type2_1[2]; - -/*** <<< CODE [Type2] >>> ***/ - -static int -memb_a_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_a_constraint_8(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 2)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Type2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_another_name_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct another_name, a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_3 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct another_name, b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_another_name_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_3 = { - sizeof(struct another_name), - offsetof(struct another_name, _asn_ctx), - .tag2el = asn_MAP_another_name_tag2el_3, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_another_name_3 = { - "another-name", - "another-name", - &asn_OP_SEQUENCE, - asn_DEF_another_name_tags_3, - sizeof(asn_DEF_another_name_tags_3) - /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */ - asn_DEF_another_name_tags_3, /* Same as above */ - sizeof(asn_DEF_another_name_tags_3) - /sizeof(asn_DEF_another_name_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_another_name_3, - 2, /* Elements count */ - &asn_SPC_another_name_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_one_name_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct one_name, another_name), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_another_name_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "another-name" - }, -}; -static const ber_tlv_tag_t asn_DEF_one_name_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_one_name_tag2el_2[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_one_name_specs_2 = { - sizeof(struct one_name), - offsetof(struct one_name, _asn_ctx), - .tag2el = asn_MAP_one_name_tag2el_2, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_one_name_2 = { - "one-name", - "one-name", - &asn_OP_SEQUENCE, - asn_DEF_one_name_tags_2, - sizeof(asn_DEF_one_name_tags_2) - /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */ - asn_DEF_one_name_tags_2, /* Same as above */ - sizeof(asn_DEF_one_name_tags_2) - /sizeof(asn_DEF_one_name_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_one_name_2, - 1, /* Elements count */ - &asn_SPC_one_name_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_another_name_8[] = { - { ATF_NOFLAGS, 0, offsetof(struct another_name, a), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_a_constraint_8 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct another_name, b), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_another_name_tags_8[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_another_name_tag2el_8[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* a */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_another_name_specs_8 = { - sizeof(struct another_name), - offsetof(struct another_name, _asn_ctx), - .tag2el = asn_MAP_another_name_tag2el_8, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_another_name_8 = { - "another-name", - "another-name", - &asn_OP_SEQUENCE, - asn_DEF_another_name_tags_8, - sizeof(asn_DEF_another_name_tags_8) - /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */ - asn_DEF_another_name_tags_8, /* Same as above */ - sizeof(asn_DEF_another_name_tags_8) - /sizeof(asn_DEF_another_name_tags_8[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_another_name_8, - 2, /* Elements count */ - &asn_SPC_another_name_specs_8 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_two_name_7[] = { - { ATF_NOFLAGS, 0, offsetof(struct two_name, another_name), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_another_name_8, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "another-name" - }, -}; -static const ber_tlv_tag_t asn_DEF_two_name_tags_7[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_two_name_tag2el_7[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* another-name */ -}; -static const uint8_t asn_MAP_two_name_mmap_7[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -static -asn_SET_specifics_t asn_SPC_two_name_specs_7 = { - sizeof(struct two_name), - offsetof(struct two_name, _asn_ctx), - offsetof(struct two_name, _presence_map), - .tag2el = asn_MAP_two_name_tag2el_7, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_two_name_tag2el_7, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_two_name_mmap_7 /* Mandatory elements map */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_two_name_7 = { - "two-name", - "two-name", - &asn_OP_SET, - asn_DEF_two_name_tags_7, - sizeof(asn_DEF_two_name_tags_7) - /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */ - asn_DEF_two_name_tags_7, /* Same as above */ - sizeof(asn_DEF_two_name_tags_7) - /sizeof(asn_DEF_two_name_tags_7[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_two_name_7, - 1, /* Elements count */ - &asn_SPC_two_name_specs_7 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Type2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.one_name), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_one_name_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "one-name" - }, - { ATF_NOFLAGS, 0, offsetof(struct Type2, choice.two_name), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_two_name_7, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "two-name" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Type2_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* one-name */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* two-name */ -}; -asn_CHOICE_specifics_t asn_SPC_Type2_specs_1 = { - sizeof(struct Type2), - offsetof(struct Type2, _asn_ctx), - offsetof(struct Type2, present), - sizeof(((struct Type2 *)0)->present), - .tag2el = asn_MAP_Type2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Type2 = { - "Type2", - "Type2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Type2_1, - 2, /* Elements count */ - &asn_SPC_Type2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/73-circular-OK.asn1 b/tests/tests-asn1c-compiler/73-circular-OK.asn1 deleted file mode 100644 index c4d1ea5..0000000 --- a/tests/tests-asn1c-compiler/73-circular-OK.asn1 +++ /dev/null @@ -1,36 +0,0 @@ - --- OK: Everything is Fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .73 - -ModuleTestCircularReferences - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 73 } - DEFINITIONS ::= -BEGIN - - Type ::= SEQUENCE { - data SEQUENCE OF EpytRef - } - - EpytRef ::= Epyt - - Epyt ::= SEQUENCE { - stype SET OF Type, - type Type OPTIONAL, - ypet Ypet OPTIONAL - } - - Ypet ::= SET { - epyt Epyt, - plain INTEGER DEFAULT 7, - senums SET OF EnumType, - patest1 [1] IA5String (FROM("A".."Z")), - patest2 [2] IA5String (FROM("a".."z")) - } - - EnumType ::= ENUMERATED { one, two } - -END diff --git a/tests/tests-asn1c-compiler/73-circular-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/73-circular-OK.asn1.-Pfwide-types deleted file mode 100644 index c29bdff..0000000 --- a/tests/tests-asn1c-compiler/73-circular-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,662 +0,0 @@ - -/*** <<< INCLUDES [Type] >>> ***/ - -#include -#include -#include - -/*** <<< FWD-DECLS [Type] >>> ***/ - -struct EpytRef; - -/*** <<< TYPE-DECLS [Type] >>> ***/ - -typedef struct Type { - struct data { - A_SEQUENCE_OF(struct EpytRef) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } data; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Type_t; - -/*** <<< FUNC-DECLS [Type] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Type; -extern asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1; -extern asn_TYPE_member_t asn_MBR_Type_1[1]; - -/*** <<< POST-INCLUDE [Type] >>> ***/ - -#include "EpytRef.h" - -/*** <<< STAT-DEFS [Type] >>> ***/ - -static asn_TYPE_member_t asn_MBR_data_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_EpytRef, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_data_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_data_specs_2 = { - sizeof(struct data), - offsetof(struct data, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_data_2 = { - "data", - "data", - &asn_OP_SEQUENCE_OF, - asn_DEF_data_tags_2, - sizeof(asn_DEF_data_tags_2) - /sizeof(asn_DEF_data_tags_2[0]), /* 1 */ - asn_DEF_data_tags_2, /* Same as above */ - sizeof(asn_DEF_data_tags_2) - /sizeof(asn_DEF_data_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_data_2, - 1, /* Single element */ - &asn_SPC_data_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Type_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Type, data), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_data_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "data" - }, -}; -static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Type_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = { - sizeof(struct Type), - offsetof(struct Type, _asn_ctx), - .tag2el = asn_MAP_Type_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Type = { - "Type", - "Type", - &asn_OP_SEQUENCE, - asn_DEF_Type_tags_1, - sizeof(asn_DEF_Type_tags_1) - /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */ - asn_DEF_Type_tags_1, /* Same as above */ - sizeof(asn_DEF_Type_tags_1) - /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Type_1, - 1, /* Elements count */ - &asn_SPC_Type_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [EpytRef] >>> ***/ - -#include "Epyt.h" - -/*** <<< TYPE-DECLS [EpytRef] >>> ***/ - -typedef Epyt_t EpytRef_t; - -/*** <<< FUNC-DECLS [EpytRef] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_EpytRef; -asn_struct_free_f EpytRef_free; -asn_struct_print_f EpytRef_print; -asn_constr_check_f EpytRef_constraint; -ber_type_decoder_f EpytRef_decode_ber; -der_type_encoder_f EpytRef_encode_der; -xer_type_decoder_f EpytRef_decode_xer; -xer_type_encoder_f EpytRef_encode_xer; - -/*** <<< CODE [EpytRef] >>> ***/ - -/* - * This type is implemented using Epyt, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [EpytRef] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_EpytRef_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_EpytRef = { - "EpytRef", - "EpytRef", - &asn_OP_SEQUENCE, - asn_DEF_EpytRef_tags_1, - sizeof(asn_DEF_EpytRef_tags_1) - /sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */ - asn_DEF_EpytRef_tags_1, /* Same as above */ - sizeof(asn_DEF_EpytRef_tags_1) - /sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Epyt_1, - 3, /* Elements count */ - &asn_SPC_Epyt_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Epyt] >>> ***/ - -#include -#include -#include - -/*** <<< FWD-DECLS [Epyt] >>> ***/ - -struct Type; -struct Ypet; - -/*** <<< TYPE-DECLS [Epyt] >>> ***/ - -typedef struct Epyt { - struct stype { - A_SET_OF(struct Type) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } stype; - struct Type *type; /* OPTIONAL */ - struct Ypet *ypet; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Epyt_t; - -/*** <<< FUNC-DECLS [Epyt] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Epyt; -extern asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1; -extern asn_TYPE_member_t asn_MBR_Epyt_1[3]; - -/*** <<< POST-INCLUDE [Epyt] >>> ***/ - -#include "Type.h" -#include "Ypet.h" - -/*** <<< STAT-DEFS [Epyt] >>> ***/ - -static asn_TYPE_member_t asn_MBR_stype_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Type, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_stype_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_stype_specs_2 = { - sizeof(struct stype), - offsetof(struct stype, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_stype_2 = { - "stype", - "stype", - &asn_OP_SET_OF, - asn_DEF_stype_tags_2, - sizeof(asn_DEF_stype_tags_2) - /sizeof(asn_DEF_stype_tags_2[0]), /* 1 */ - asn_DEF_stype_tags_2, /* Same as above */ - sizeof(asn_DEF_stype_tags_2) - /sizeof(asn_DEF_stype_tags_2[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_stype_2, - 1, /* Single element */ - &asn_SPC_stype_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Epyt_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Epyt, stype), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_stype_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "stype" - }, - { ATF_POINTER, 2, offsetof(struct Epyt, type), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Type, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "type" - }, - { ATF_POINTER, 1, offsetof(struct Epyt, ypet), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Ypet, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ypet" - }, -}; -static const ber_tlv_tag_t asn_DEF_Epyt_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Epyt_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* type */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = { - sizeof(struct Epyt), - offsetof(struct Epyt, _asn_ctx), - .tag2el = asn_MAP_Epyt_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Epyt = { - "Epyt", - "Epyt", - &asn_OP_SEQUENCE, - asn_DEF_Epyt_tags_1, - sizeof(asn_DEF_Epyt_tags_1) - /sizeof(asn_DEF_Epyt_tags_1[0]), /* 1 */ - asn_DEF_Epyt_tags_1, /* Same as above */ - sizeof(asn_DEF_Epyt_tags_1) - /sizeof(asn_DEF_Epyt_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Epyt_1, - 3, /* Elements count */ - &asn_SPC_Epyt_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Ypet] >>> ***/ - -#include -#include -#include "EnumType.h" -#include -#include -#include - -/*** <<< DEPS [Ypet] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Ypet_PR { - Ypet_PR_epyt, /* Member epyt is present */ - Ypet_PR_plain, /* Member plain is present */ - Ypet_PR_senums, /* Member senums is present */ - Ypet_PR_patest1, /* Member patest1 is present */ - Ypet_PR_patest2, /* Member patest2 is present */ -} Ypet_PR; - -/*** <<< FWD-DECLS [Ypet] >>> ***/ - -struct Epyt; - -/*** <<< TYPE-DECLS [Ypet] >>> ***/ - -typedef struct Ypet { - struct Epyt *epyt; - INTEGER_t *plain; /* DEFAULT 7 */ - struct senums { - A_SET_OF(EnumType_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } senums; - IA5String_t patest1; - IA5String_t patest2; - - /* Presence bitmask: ASN_SET_ISPRESENT(pYpet, Ypet_PR_x) */ - unsigned int _presence_map - [((5+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Ypet_t; - -/*** <<< FUNC-DECLS [Ypet] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Ypet; -extern asn_SET_specifics_t asn_SPC_Ypet_specs_1; -extern asn_TYPE_member_t asn_MBR_Ypet_1[5]; - -/*** <<< POST-INCLUDE [Ypet] >>> ***/ - -#include "Epyt.h" - -/*** <<< CTABLES [Ypet] >>> ***/ - -static int check_permitted_alphabet_6(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 65 && cv <= 90)) return -1; - } - return 0; -} - -static int check_permitted_alphabet_7(const void *sptr) { - /* The underlying type is IA5String */ - const IA5String_t *st = (const IA5String_t *)sptr; - const uint8_t *ch = st->buf; - const uint8_t *end = ch + st->size; - - for(; ch < end; ch++) { - uint8_t cv = *ch; - if(!(cv >= 97 && cv <= 122)) return -1; - } - return 0; -} - - -/*** <<< CODE [Ypet] >>> ***/ - -static int -memb_patest1_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_6(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_patest2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const IA5String_t *st = (const IA5String_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(!check_permitted_alphabet_7(st)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [Ypet] >>> ***/ - -static int asn_DFL_3_cmp_7(const void *sptr) { - const INTEGER_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 7 */ - long value; - if(asn_INTEGER2long(st, &value)) - return -1; - return (value != 7); -} -static int asn_DFL_3_set_7(void **sptr) { - INTEGER_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 7 */ - return asn_long2INTEGER(st, 7); -} -static asn_TYPE_member_t asn_MBR_senums_4[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), - .tag_mode = 0, - .type = &asn_DEF_EnumType, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_senums_tags_4[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_senums_specs_4 = { - sizeof(struct senums), - offsetof(struct senums, _asn_ctx), - 1, /* XER encoding is XMLValueList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_senums_4 = { - "senums", - "senums", - &asn_OP_SET_OF, - asn_DEF_senums_tags_4, - sizeof(asn_DEF_senums_tags_4) - /sizeof(asn_DEF_senums_tags_4[0]), /* 1 */ - asn_DEF_senums_tags_4, /* Same as above */ - sizeof(asn_DEF_senums_tags_4) - /sizeof(asn_DEF_senums_tags_4[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_senums_4, - 1, /* Single element */ - &asn_SPC_senums_specs_4 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Ypet_1[] = { - { ATF_POINTER, 0, offsetof(struct Ypet, epyt), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Epyt, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "epyt" - }, - { ATF_POINTER, 1, offsetof(struct Ypet, plain), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_3_cmp_7, /* Compare DEFAULT 7 */ - .default_value_set = &asn_DFL_3_set_7, /* Set DEFAULT 7 */ - .name = "plain" - }, - { ATF_NOFLAGS, 0, offsetof(struct Ypet, senums), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), - .tag_mode = 0, - .type = &asn_DEF_senums_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "senums" - }, - { ATF_NOFLAGS, 0, offsetof(struct Ypet, patest1), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_patest1_constraint_1 }, - 0, 0, /* No default value */ - .name = "patest1" - }, - { ATF_NOFLAGS, 0, offsetof(struct Ypet, patest2), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_patest2_constraint_1 }, - 0, 0, /* No default value */ - .name = "patest2" - }, -}; -static const ber_tlv_tag_t asn_DEF_Ypet_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Ypet_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* plain */ - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* epyt */ - { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 }, /* senums */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* patest1 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 4, 0, 0 } /* patest2 */ -}; -static const uint8_t asn_MAP_Ypet_mmap_1[(5 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (1 << 3) -}; -asn_SET_specifics_t asn_SPC_Ypet_specs_1 = { - sizeof(struct Ypet), - offsetof(struct Ypet, _asn_ctx), - offsetof(struct Ypet, _presence_map), - .tag2el = asn_MAP_Ypet_tag2el_1, - .tag2el_count = 5, /* Count of tags in the map */ - asn_MAP_Ypet_tag2el_1, /* Same as above */ - 5, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_Ypet_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Ypet = { - "Ypet", - "Ypet", - &asn_OP_SET, - asn_DEF_Ypet_tags_1, - sizeof(asn_DEF_Ypet_tags_1) - /sizeof(asn_DEF_Ypet_tags_1[0]), /* 1 */ - asn_DEF_Ypet_tags_1, /* Same as above */ - sizeof(asn_DEF_Ypet_tags_1) - /sizeof(asn_DEF_Ypet_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Ypet_1, - 5, /* Elements count */ - &asn_SPC_Ypet_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [EnumType] >>> ***/ - -#include - -/*** <<< DEPS [EnumType] >>> ***/ - -typedef enum EnumType { - EnumType_one = 0, - EnumType_two = 1 -} e_EnumType; - -/*** <<< TYPE-DECLS [EnumType] >>> ***/ - -typedef ENUMERATED_t EnumType_t; - -/*** <<< FUNC-DECLS [EnumType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_EnumType; -extern const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1; -asn_struct_free_f EnumType_free; -asn_struct_print_f EnumType_print; -asn_constr_check_f EnumType_constraint; -ber_type_decoder_f EnumType_decode_ber; -der_type_encoder_f EnumType_encode_der; -xer_type_decoder_f EnumType_decode_xer; -xer_type_encoder_f EnumType_encode_xer; - -/*** <<< CODE [EnumType] >>> ***/ - -/* - * This type is implemented using ENUMERATED, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [EnumType] >>> ***/ - -static const asn_INTEGER_enum_map_t asn_MAP_EnumType_value2enum_1[] = { - { 0, 3, "one" }, - { 1, 3, "two" } -}; -static const unsigned int asn_MAP_EnumType_enum2value_1[] = { - 0, /* one(0) */ - 1 /* two(1) */ -}; -const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = { - asn_MAP_EnumType_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_EnumType_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_EnumType_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_EnumType = { - "EnumType", - "EnumType", - &asn_OP_ENUMERATED, - asn_DEF_EnumType_tags_1, - sizeof(asn_DEF_EnumType_tags_1) - /sizeof(asn_DEF_EnumType_tags_1[0]), /* 1 */ - asn_DEF_EnumType_tags_1, /* Same as above */ - sizeof(asn_DEF_EnumType_tags_1) - /sizeof(asn_DEF_EnumType_tags_1[0]), /* 1 */ - { 0, 0, ENUMERATED_constraint }, - 0, 0, /* Defined elsewhere */ - &asn_SPC_EnumType_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1 b/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1 deleted file mode 100644 index 9697788..0000000 --- a/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .74 - -ModuleTestIntegerAndEnumeratedConstraints - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 74 } - DEFINITIONS ::= -BEGIN - - -- Enumeration constrained by the second choice. - Enum ::= ENUMERATED { one, two } (two|one) - - -- Integer constrained by the only choice. - Int ::= INTEGER { v1-0(123) } (v1-0) - - EnumRef ::= Enum (two) - -END diff --git a/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1.-EFprint-constraints deleted file mode 100644 index 23d44de..0000000 --- a/tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1.-EFprint-constraints +++ /dev/null @@ -1,42 +0,0 @@ -ModuleTestIntegerAndEnumeratedConstraints { iso org(3) dod(6) internet(1) - private(4) enterprise(1) spelio(9363) software(1) asn1c(5) test(1) - 74 } -DEFINITIONS ::= -BEGIN - -Enum ::= ENUMERATED { - one(0) --- Practical constraints (one): --- OER-visible constraints (one): --- PER-visible constraints (one): -, - two(1) --- Practical constraints (two): --- OER-visible constraints (two): --- PER-visible constraints (two): - -} (1 | 0) --- Combined constraints: (1 | 0) --- Practical constraints (Enum): (0..1) --- OER-visible constraints (Enum): (0..1) --- PER-visible constraints (Enum): (0..1) - -Int ::= INTEGER { - v1-0(123) --- Practical constraints (v1-0): --- OER-visible constraints (v1-0): --- PER-visible constraints (v1-0): - -} (123) --- Combined constraints: (123) --- Practical constraints (Int): (123) --- OER-visible constraints (Int): (123) --- PER-visible constraints (Int): (123) - -EnumRef ::= Enum (1) --- Combined constraints: (1 | 0) (1) --- Practical constraints (Enum): (1) --- OER-visible constraints (Enum): (1) --- PER-visible constraints (Enum): (1) - -END diff --git a/tests/tests-asn1c-compiler/75-duplicate-modules-SE.asn1 b/tests/tests-asn1c-compiler/75-duplicate-modules-SE.asn1 deleted file mode 100644 index a17189f..0000000 --- a/tests/tests-asn1c-compiler/75-duplicate-modules-SE.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .75 1 --- .75 1 - -ModuleDuplicateModuleName - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 75 1 } - DEFINITIONS ::= -BEGIN - -END - -ModuleDuplicateModuleName - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 75 1 } - DEFINITIONS ::= -BEGIN - -END diff --git a/tests/tests-asn1c-compiler/76-duplicate-modules-SW.asn1 b/tests/tests-asn1c-compiler/76-duplicate-modules-SW.asn1 deleted file mode 100644 index d7d254b..0000000 --- a/tests/tests-asn1c-compiler/76-duplicate-modules-SW.asn1 +++ /dev/null @@ -1,23 +0,0 @@ - --- SW: Semantically suspicious - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .76 1 --- .76 2 - -ModuleDuplicateModuleName - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 76 1 } - DEFINITIONS ::= -BEGIN - -END - -ModuleDuplicateModuleName - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 76 2 } - DEFINITIONS ::= -BEGIN - -END diff --git a/tests/tests-asn1c-compiler/77-str-default-OK.asn1 b/tests/tests-asn1c-compiler/77-str-default-OK.asn1 deleted file mode 100644 index 64c9137..0000000 --- a/tests/tests-asn1c-compiler/77-str-default-OK.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .77 - -ModuleTestStringDefault1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 77 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Type ::= SEQUENCE { - cntry PRString DEFAULT country1, - cntry1 PrintableString DEFAULT country1, - cntry2 UniversalString DEFAULT country2, - ... - } - - country1 PrintableString ::= "Rwanda" - country2 PRString ::= "United Kingdom" - - PRString ::= PrintableString - -END diff --git a/tests/tests-asn1c-compiler/78-str-default-SE.asn1 b/tests/tests-asn1c-compiler/78-str-default-SE.asn1 deleted file mode 100644 index 787d61f..0000000 --- a/tests/tests-asn1c-compiler/78-str-default-SE.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- SE: Semantic error - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .78 - -ModuleTestStringDefault2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 78 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Type ::= SEQUENCE { - country UTF8String DEFAULT country1, - ... - } - - country1 GeneralString ::= "Cyprus" - -END diff --git a/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1 b/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1 deleted file mode 100644 index abbcae5..0000000 --- a/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1 +++ /dev/null @@ -1,19 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .79 - -ModuleTestConstrainedBy - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 79 } - DEFINITIONS ::= -BEGIN - - Type ::= SEQUENCE { - int INTEGER, - ... - } (CONSTRAINED BY { -- nothing -- }) - -END diff --git a/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1.-EF b/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1.-EF deleted file mode 100644 index f462be0..0000000 --- a/tests/tests-asn1c-compiler/79-constrained-by-OK.asn1.-EF +++ /dev/null @@ -1,11 +0,0 @@ -ModuleTestConstrainedBy { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 79 } -DEFINITIONS ::= -BEGIN - -Type ::= SEQUENCE { - int INTEGER, - ... -} (CONSTRAINED BY { -- nothing -- }) - -END diff --git a/tests/tests-asn1c-compiler/80-chardefs-OK.asn1 b/tests/tests-asn1c-compiler/80-chardefs-OK.asn1 deleted file mode 100644 index 52b0eda..0000000 --- a/tests/tests-asn1c-compiler/80-chardefs-OK.asn1 +++ /dev/null @@ -1,25 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .80 - -ModuleCharacterDefinitions - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 80 } - DEFINITIONS ::= -BEGIN - -- Elements taken from ASN1-CHARACTER-MODULE (X.680:07/2002) - -- { joint-iso-itu-t asn1(1) specification(0) modules(0) iso10646(0) } - nul IA5String ::= {0, 0} - null BMPString ::= {0, 0, 0, 0} - space BMPString ::= {0, 0, 0, 32} - tilde BMPString ::= {0, 0, 0, 126} - - BasicLatin ::= BMPString(FROM (space..tilde)) - BasicGreek ::= BMPString(FROM ({0, 0, 3, 112}..{0, 0, 3, 207})) - - NotSpace ::= BMPString (FROM(ALL EXCEPT space)) - -END diff --git a/tests/tests-asn1c-compiler/81-type-default-OK.asn1 b/tests/tests-asn1c-compiler/81-type-default-OK.asn1 deleted file mode 100644 index e1fe6a1..0000000 --- a/tests/tests-asn1c-compiler/81-type-default-OK.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .81 - -ModuleTestTypeDefault1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 81 } - DEFINITIONS ::= -BEGIN - - Type ::= SEQUENCE { - other SEQUENCE { - member-1 INTEGER - } DEFAULT { member-1 5 } - } - -END diff --git a/tests/tests-asn1c-compiler/82-with-comps-OK.asn1 b/tests/tests-asn1c-compiler/82-with-comps-OK.asn1 deleted file mode 100644 index adb44e0..0000000 --- a/tests/tests-asn1c-compiler/82-with-comps-OK.asn1 +++ /dev/null @@ -1,21 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .82 - -ModuleTestWithComponents - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 82 } - DEFINITIONS ::= -BEGIN - - BunchOfStrings ::= SEQUENCE OF VisibleString - Address ::= BunchOfStrings (SIZE (1..6)) (WITH COMPONENT (SIZE (1..32))) - - Type ::= SEQUENCE { - one INTEGER DEFAULT 1 - } (WITH COMPONENTS { ..., one (1) PRESENT }) - -END diff --git a/tests/tests-asn1c-compiler/82-with-comps-OK.asn1.-EF b/tests/tests-asn1c-compiler/82-with-comps-OK.asn1.-EF deleted file mode 100644 index 4d353b8..0000000 --- a/tests/tests-asn1c-compiler/82-with-comps-OK.asn1.-EF +++ /dev/null @@ -1,14 +0,0 @@ -ModuleTestWithComponents { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 82 } -DEFINITIONS ::= -BEGIN - -BunchOfStrings ::= SEQUENCE OF VisibleString - -Address ::= BunchOfStrings (SIZE(1..6)) (WITH COMPONENT (SIZE(1..32))) - -Type ::= SEQUENCE { - one INTEGER DEFAULT 1 -} (WITH COMPONENTS { ..., one (1) PRESENT }) - -END diff --git a/tests/tests-asn1c-compiler/83-with-comps-OK.asn1 b/tests/tests-asn1c-compiler/83-with-comps-OK.asn1 deleted file mode 100644 index 9837255..0000000 --- a/tests/tests-asn1c-compiler/83-with-comps-OK.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .83 - -ModuleTestWithComponents2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 83 } - DEFINITIONS ::= -BEGIN - - Type1 ::= SET { foo INTEGER OPTIONAL } - - Type2 ::= SET { - COMPONENTS OF Type1 (WITH COMPONENTS { ..., foo ABSENT }) - } - -END diff --git a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1 b/tests/tests-asn1c-compiler/84-param-tags-OK.asn1 deleted file mode 100644 index cddf846..0000000 --- a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1 +++ /dev/null @@ -1,41 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .84 1 --- .84 2 - -ModuleTestParameterizationTags1 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 84 1 } - DEFINITIONS ::= -BEGIN - - TestType {Parameter} ::= SEQUENCE { - common Parameter DEFAULT 0 - } - - TestChoice ::= CHOICE { - type1 TestType {INTEGER (1..10)}, - type2 [0] IMPLICIT TestType {BOOLEAN} - } - -END - -ModuleTestParameterizationTagsAuto2 - { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 84 2 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - AutoType {Parameter} ::= SEQUENCE { - common Parameter (0) - } - - AutoChoice ::= CHOICE { - type1 AutoType {INTEGER (0..1)}, - type2 AutoType {BOOLEAN} - } - -END diff --git a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-EF b/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-EF deleted file mode 100644 index a307434..0000000 --- a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-EF +++ /dev/null @@ -1,31 +0,0 @@ -ModuleTestParameterizationTags1 { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 1 } -DEFINITIONS ::= -BEGIN - -TestType{Parameter} ::= SEQUENCE { - common Parameter DEFAULT 0 -} - -TestChoice ::= CHOICE { - type1 TestType{ INTEGER (1..10)}, - type2 [0] IMPLICIT TestType{ BOOLEAN} -} - -END - -ModuleTestParameterizationTagsAuto2 { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 84 2 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -AutoType{Parameter} ::= SEQUENCE { - common Parameter (0) -} - -AutoChoice ::= CHOICE { - type1 [0] IMPLICIT AutoType{ INTEGER (0..1)}, - type2 [1] IMPLICIT AutoType{ BOOLEAN} -} - -END diff --git a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-Pfwide-types deleted file mode 100644 index e1d5721..0000000 --- a/tests/tests-asn1c-compiler/84-param-tags-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,519 +0,0 @@ - -/*** <<< INCLUDES [TestType] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [TestType] >>> ***/ - -typedef struct TestType_16P0 { - long common; /* DEFAULT 0 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestType_16P0_t; -typedef struct TestType_16P1 { - BOOLEAN_t common; /* DEFAULT 0 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestType_16P1_t; - -/*** <<< FUNC-DECLS [TestType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TestType_16P0; -extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1; -extern asn_TYPE_member_t asn_MBR_TestType_16P0_1[1]; -extern asn_TYPE_descriptor_t asn_DEF_TestType_16P1; -extern asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3; -extern asn_TYPE_member_t asn_MBR_TestType_16P1_3[1]; - -/*** <<< CODE [TestType] >>> ***/ - -static int -memb_common_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1 && value <= 10)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [TestType] >>> ***/ - -static int asn_DFL_2_cmp_0(const void *sptr) { - const long *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 0 */ - return (*st != 0); -} -static int asn_DFL_2_set_0(void **sptr) { - long *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 0 */ - *st = 0; - return 0; -} -asn_TYPE_member_t asn_MBR_TestType_16P0_1[] = { - { ATF_NOFLAGS, 1, offsetof(struct TestType_16P0, common), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_common_constraint_1 }, - .default_value_cmp = &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ - .default_value_set = &asn_DFL_2_set_0, /* Set DEFAULT 0 */ - .name = "common" - }, -}; -static const ber_tlv_tag_t asn_DEF_TestType_16P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TestType_16P0_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* common */ -}; -asn_SEQUENCE_specifics_t asn_SPC_TestType_16P0_specs_1 = { - sizeof(struct TestType_16P0), - offsetof(struct TestType_16P0, _asn_ctx), - .tag2el = asn_MAP_TestType_16P0_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_TestType_16P0 = { - "TestType", - "TestType", - &asn_OP_SEQUENCE, - asn_DEF_TestType_16P0_tags_1, - sizeof(asn_DEF_TestType_16P0_tags_1) - /sizeof(asn_DEF_TestType_16P0_tags_1[0]), /* 1 */ - asn_DEF_TestType_16P0_tags_1, /* Same as above */ - sizeof(asn_DEF_TestType_16P0_tags_1) - /sizeof(asn_DEF_TestType_16P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_TestType_16P0_1, - 1, /* Elements count */ - &asn_SPC_TestType_16P0_specs_1 /* Additional specs */ -}; - -static int asn_DFL_4_cmp_0(const void *sptr) { - const BOOLEAN_t *st = sptr; - - if(!st) { - return -1; /* No value is not a default value */ - } - - /* Test default value 0 */ - return (*st != 0); -} -static int asn_DFL_4_set_0(void **sptr) { - BOOLEAN_t *st = *sptr; - - if(!st) { - st = (*sptr = CALLOC(1, sizeof(*st))); - if(!st) return -1; - } - - /* Install default value 0 */ - *st = 0; - return 0; -} -asn_TYPE_member_t asn_MBR_TestType_16P1_3[] = { - { ATF_NOFLAGS, 1, offsetof(struct TestType_16P1, common), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - .default_value_cmp = &asn_DFL_4_cmp_0, /* Compare DEFAULT 0 */ - .default_value_set = &asn_DFL_4_set_0, /* Set DEFAULT 0 */ - .name = "common" - }, -}; -static const ber_tlv_tag_t asn_DEF_TestType_16P1_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TestType_16P1_tag2el_3[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 } /* common */ -}; -asn_SEQUENCE_specifics_t asn_SPC_TestType_16P1_specs_3 = { - sizeof(struct TestType_16P1), - offsetof(struct TestType_16P1, _asn_ctx), - .tag2el = asn_MAP_TestType_16P1_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_TestType_16P1 = { - "TestType", - "TestType", - &asn_OP_SEQUENCE, - asn_DEF_TestType_16P1_tags_3, - sizeof(asn_DEF_TestType_16P1_tags_3) - /sizeof(asn_DEF_TestType_16P1_tags_3[0]), /* 1 */ - asn_DEF_TestType_16P1_tags_3, /* Same as above */ - sizeof(asn_DEF_TestType_16P1_tags_3) - /sizeof(asn_DEF_TestType_16P1_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_TestType_16P1_3, - 1, /* Elements count */ - &asn_SPC_TestType_16P1_specs_3 /* Additional specs */ -}; - - -/*** <<< INCLUDES [TestChoice] >>> ***/ - -#include "TestType.h" -#include - -/*** <<< DEPS [TestChoice] >>> ***/ - -typedef enum TestChoice_PR { - TestChoice_PR_NOTHING, /* No components present */ - TestChoice_PR_type1, - TestChoice_PR_type2 -} TestChoice_PR; - -/*** <<< TYPE-DECLS [TestChoice] >>> ***/ - -typedef struct TestChoice { - TestChoice_PR present; - union TestChoice_u { - TestType_16P0_t type1; - TestType_16P1_t type2; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestChoice_t; - -/*** <<< FUNC-DECLS [TestChoice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TestChoice; - -/*** <<< STAT-DEFS [TestChoice] >>> ***/ - -static asn_TYPE_member_t asn_MBR_TestChoice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TestChoice, choice.type1), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_TestType_16P0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "type1" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestChoice, choice.type2), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TestType_16P1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "type2" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_TestChoice_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* type1 */ - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 } /* type2 */ -}; -static asn_CHOICE_specifics_t asn_SPC_TestChoice_specs_1 = { - sizeof(struct TestChoice), - offsetof(struct TestChoice, _asn_ctx), - offsetof(struct TestChoice, present), - sizeof(((struct TestChoice *)0)->present), - .tag2el = asn_MAP_TestChoice_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_TestChoice = { - "TestChoice", - "TestChoice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_TestChoice_1, - 2, /* Elements count */ - &asn_SPC_TestChoice_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [AutoType] >>> ***/ - -#include -#include -#include - -/*** <<< TYPE-DECLS [AutoType] >>> ***/ - -typedef struct AutoType_34P0 { - long common; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AutoType_34P0_t; -typedef struct AutoType_34P1 { - BOOLEAN_t common; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AutoType_34P1_t; - -/*** <<< FUNC-DECLS [AutoType] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P0; -extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1; -extern asn_TYPE_member_t asn_MBR_AutoType_34P0_1[1]; -extern asn_TYPE_descriptor_t asn_DEF_AutoType_34P1; -extern asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3; -extern asn_TYPE_member_t asn_MBR_AutoType_34P1_3[1]; - -/*** <<< CODE [AutoType] >>> ***/ - -static int -memb_common_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value == 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_common_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - BOOLEAN_t value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = (*(const long *)sptr) ? 1 : 0; - - if((value <= 0)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - - -/*** <<< STAT-DEFS [AutoType] >>> ***/ - -asn_TYPE_member_t asn_MBR_AutoType_34P0_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct AutoType_34P0, common), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_common_constraint_1 }, - 0, 0, /* No default value */ - .name = "common" - }, -}; -static const ber_tlv_tag_t asn_DEF_AutoType_34P0_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P0_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */ -}; -asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P0_specs_1 = { - sizeof(struct AutoType_34P0), - offsetof(struct AutoType_34P0, _asn_ctx), - .tag2el = asn_MAP_AutoType_34P0_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_AutoType_34P0 = { - "AutoType", - "AutoType", - &asn_OP_SEQUENCE, - asn_DEF_AutoType_34P0_tags_1, - sizeof(asn_DEF_AutoType_34P0_tags_1) - /sizeof(asn_DEF_AutoType_34P0_tags_1[0]), /* 1 */ - asn_DEF_AutoType_34P0_tags_1, /* Same as above */ - sizeof(asn_DEF_AutoType_34P0_tags_1) - /sizeof(asn_DEF_AutoType_34P0_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_AutoType_34P0_1, - 1, /* Elements count */ - &asn_SPC_AutoType_34P0_specs_1 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_AutoType_34P1_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct AutoType_34P1, common), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_common_constraint_3 }, - 0, 0, /* No default value */ - .name = "common" - }, -}; -static const ber_tlv_tag_t asn_DEF_AutoType_34P1_tags_3[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_AutoType_34P1_tag2el_3[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* common */ -}; -asn_SEQUENCE_specifics_t asn_SPC_AutoType_34P1_specs_3 = { - sizeof(struct AutoType_34P1), - offsetof(struct AutoType_34P1, _asn_ctx), - .tag2el = asn_MAP_AutoType_34P1_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_AutoType_34P1 = { - "AutoType", - "AutoType", - &asn_OP_SEQUENCE, - asn_DEF_AutoType_34P1_tags_3, - sizeof(asn_DEF_AutoType_34P1_tags_3) - /sizeof(asn_DEF_AutoType_34P1_tags_3[0]), /* 1 */ - asn_DEF_AutoType_34P1_tags_3, /* Same as above */ - sizeof(asn_DEF_AutoType_34P1_tags_3) - /sizeof(asn_DEF_AutoType_34P1_tags_3[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_AutoType_34P1_3, - 1, /* Elements count */ - &asn_SPC_AutoType_34P1_specs_3 /* Additional specs */ -}; - - -/*** <<< INCLUDES [AutoChoice] >>> ***/ - -#include "AutoType.h" -#include - -/*** <<< DEPS [AutoChoice] >>> ***/ - -typedef enum AutoChoice_PR { - AutoChoice_PR_NOTHING, /* No components present */ - AutoChoice_PR_type1, - AutoChoice_PR_type2 -} AutoChoice_PR; - -/*** <<< TYPE-DECLS [AutoChoice] >>> ***/ - -typedef struct AutoChoice { - AutoChoice_PR present; - union AutoChoice_u { - AutoType_34P0_t type1; - AutoType_34P1_t type2; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AutoChoice_t; - -/*** <<< FUNC-DECLS [AutoChoice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_AutoChoice; - -/*** <<< STAT-DEFS [AutoChoice] >>> ***/ - -static asn_TYPE_member_t asn_MBR_AutoChoice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct AutoChoice, choice.type1), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_AutoType_34P0, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "type1" - }, - { ATF_NOFLAGS, 0, offsetof(struct AutoChoice, choice.type2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_AutoType_34P1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "type2" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_AutoChoice_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type1 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* type2 */ -}; -static asn_CHOICE_specifics_t asn_SPC_AutoChoice_specs_1 = { - sizeof(struct AutoChoice), - offsetof(struct AutoChoice, _asn_ctx), - offsetof(struct AutoChoice, present), - sizeof(((struct AutoChoice *)0)->present), - .tag2el = asn_MAP_AutoChoice_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_AutoChoice = { - "AutoChoice", - "AutoChoice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_AutoChoice_1, - 2, /* Elements count */ - &asn_SPC_AutoChoice_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/85-comments-OK.asn1 b/tests/tests-asn1c-compiler/85-comments-OK.asn1 deleted file mode 100644 index f1f4a8c..0000000 --- a/tests/tests-asn1c-compiler/85-comments-OK.asn1 +++ /dev/null @@ -1,26 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .85 - -ModuleTestComments - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 85 } - DEFINITIONS ::= -BEGIN - - T1 ::= SEQUENCE--comment-- { ... } - T2 ::= SEQUENCE-- comment-- { ... } - T3 ::= SEQUENCE--- comment --- { ... } - T4 ::= SEQUENCE----comment---- { ... } - T5 ::= SEQUENCE---- comment ---- { ... } - - ----- Another ambiguous comment --- - - -- Immediately terminating ambiguous comment ---- - ------------- - -- cmt1 ---- cmt2 ---- - -END diff --git a/tests/tests-asn1c-compiler/86-atags-OK.asn1 b/tests/tests-asn1c-compiler/86-atags-OK.asn1 deleted file mode 100644 index afd0585..0000000 --- a/tests/tests-asn1c-compiler/86-atags-OK.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .86 - -ModuleAutoTags - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 86 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - A ::= SEQUENCE { a INTEGER } - B ::= SEQUENCE { a [0] INTEGER } - C ::= SEQUENCE { a [0] IMPLICIT INTEGER } - D ::= SEQUENCE { a [0] EXPLICIT INTEGER } - E ::= SEQUENCE { a [0] CHOICE { b INTEGER } } - -END diff --git a/tests/tests-asn1c-compiler/86-atags-OK.asn1.-EF b/tests/tests-asn1c-compiler/86-atags-OK.asn1.-EF deleted file mode 100644 index ebadd3a..0000000 --- a/tests/tests-asn1c-compiler/86-atags-OK.asn1.-EF +++ /dev/null @@ -1,28 +0,0 @@ -ModuleAutoTags { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 86 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -A ::= SEQUENCE { - a [0] IMPLICIT INTEGER -} - -B ::= SEQUENCE { - a [0] IMPLICIT INTEGER -} - -C ::= SEQUENCE { - a [0] IMPLICIT INTEGER -} - -D ::= SEQUENCE { - a [0] EXPLICIT INTEGER -} - -E ::= SEQUENCE { - a [0] EXPLICIT CHOICE { - b [0] IMPLICIT INTEGER - } -} - -END diff --git a/tests/tests-asn1c-compiler/87-old-syntax-OK.asn1 b/tests/tests-asn1c-compiler/87-old-syntax-OK.asn1 deleted file mode 100644 index 58e1a0c..0000000 --- a/tests/tests-asn1c-compiler/87-old-syntax-OK.asn1 +++ /dev/null @@ -1,29 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .87 - -ModuleObsoleteSyntax - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 87 } -DEFINITIONS ::= -BEGIN - - Tc ::= CHOICE { - INTEGER, - BOOLEAN - } - - Ts ::= SET { - INTEGER, - BOOLEAN, - SEQUENCE { - OBJECT IDENTIFIER, - RELATIVE-OID, - Tc - } - } - -END diff --git a/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 b/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 deleted file mode 100644 index 3753fa0..0000000 --- a/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 +++ /dev/null @@ -1,16 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .88 - -ModuleIntegerEnumeration - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 88 } -DEFINITIONS ::= -BEGIN - - T ::= INTEGER { a(1), b(2) } - -END diff --git a/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1.-Pfwide-types deleted file mode 100644 index 805be08..0000000 --- a/tests/tests-asn1c-compiler/88-integer-enum-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,54 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T { - T_a = 1, - T_b = 2 -} e_T; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef INTEGER_t T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; -asn_struct_free_f T_free; -asn_struct_print_f T_print; -asn_constr_check_f T_constraint; -ber_type_decoder_f T_decode_ber; -der_type_encoder_f T_encode_der; -xer_type_decoder_f T_decode_xer; -xer_type_encoder_f T_encode_xer; - -/*** <<< CODE [T] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [T] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_T_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_INTEGER, - asn_DEF_T_tags_1, - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - asn_DEF_T_tags_1, /* Same as above */ - sizeof(asn_DEF_T_tags_1) - /sizeof(asn_DEF_T_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 b/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 deleted file mode 100644 index 615525c..0000000 --- a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 +++ /dev/null @@ -1,18 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .89 - -ModuleBitStringEnumeration - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 89 } -DEFINITIONS ::= -BEGIN - - T ::= CHOICE { - bs BIT STRING { a(1), b(2) } - } - -END diff --git a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfcompound-names deleted file mode 100644 index bce1e67..0000000 --- a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfcompound-names +++ /dev/null @@ -1,73 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T_PR { - T_PR_NOTHING, /* No components present */ - T_PR_bs -} T_PR; -typedef enum T__bs { - T__bs_a = 1, - T__bs_b = 2 -} e_T__bs; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - T_PR present; - union T_u { - BIT_STRING_t bs; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, choice.bs), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bs" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* bs */ -}; -static asn_CHOICE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - offsetof(struct T, present), - sizeof(((struct T *)0)->present), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_T_1, - 1, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfwide-types deleted file mode 100644 index b239e7f..0000000 --- a/tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,73 +0,0 @@ - -/*** <<< INCLUDES [T] >>> ***/ - -#include -#include - -/*** <<< DEPS [T] >>> ***/ - -typedef enum T_PR { - T_PR_NOTHING, /* No components present */ - T_PR_bs -} T_PR; -typedef enum bs { - bs_a = 1, - bs_b = 2 -} e_bs; - -/*** <<< TYPE-DECLS [T] >>> ***/ - -typedef struct T { - T_PR present; - union T_u { - BIT_STRING_t bs; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} T_t; - -/*** <<< FUNC-DECLS [T] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_T; - -/*** <<< STAT-DEFS [T] >>> ***/ - -static asn_TYPE_member_t asn_MBR_T_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct T, choice.bs), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bs" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_T_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 0, 0, 0 } /* bs */ -}; -static asn_CHOICE_specifics_t asn_SPC_T_specs_1 = { - sizeof(struct T), - offsetof(struct T, _asn_ctx), - offsetof(struct T, present), - sizeof(((struct T *)0)->present), - .tag2el = asn_MAP_T_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_T = { - "T", - "T", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_T_1, - 1, /* Elements count */ - &asn_SPC_T_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 deleted file mode 100644 index 46d9dbd..0000000 --- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 +++ /dev/null @@ -1,33 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .90 - -ModuleConditionalIntegerType - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 90 } -DEFINITIONS ::= -BEGIN - - CN-IntegerUnlimited ::= INTEGER - CN-IntegerMinMax ::= INTEGER (MIN..MAX) - CN-IntegerMinLow ::= INTEGER (MIN..1) - NO-IntegerMinHigh ::= INTEGER (MIN..3000000000) - NO-IntegerLowHigh ::= INTEGER (1..3000000000) - CN-IntegerLowMax ::= INTEGER (1..MAX) - NO-IntegerHighMax ::= INTEGER (3000000000..MAX) - NO-IntegerLowestMax ::= INTEGER (-3000000000..MAX) - NO-IntegerOutRange ::= INTEGER (3000000000..3000000001) - NO-IntegerOutValue ::= INTEGER (3000000000) - OK-IntegerInRange1 ::= INTEGER (-100..100) - OK-IntegerInRange2 ::= INTEGER (-100|100) - OK-IntegerInRange3 ::= INTEGER (-2147483648..2147483647) - OK-IntegerInRange4 ::= INTEGER (-2147483648|2147483647) - OK-IntegerInRange5 ::= INTEGER (-2147483648|2147483647,...) - NO-IntegerInRange6 ::= INTEGER (0..4294967295) - CN-IntegerEnumerated1 ::= INTEGER { a(1), b(2) } - NO-IntegerEnumerated2 ::= INTEGER { a(1), b(3000000000) } - -END diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-EFprint-constraints deleted file mode 100644 index 7ebee1d..0000000 --- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-EFprint-constraints +++ /dev/null @@ -1,133 +0,0 @@ -ModuleConditionalIntegerType { iso org(3) dod(6) internet(1) private(4) - enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 90 } -DEFINITIONS ::= -BEGIN - -CN-IntegerUnlimited ::= INTEGER --- Practical constraints (CN-IntegerUnlimited): (MIN..MAX) --- OER-visible constraints (CN-IntegerUnlimited): (MIN..MAX) --- PER-visible constraints (CN-IntegerUnlimited): (MIN..MAX) - -CN-IntegerMinMax ::= INTEGER (MIN..MAX) --- Combined constraints: (MIN..MAX) --- Practical constraints (CN-IntegerMinMax): (MIN..MAX) --- OER-visible constraints (CN-IntegerMinMax): (MIN..MAX) --- PER-visible constraints (CN-IntegerMinMax): (MIN..MAX) - -CN-IntegerMinLow ::= INTEGER (MIN..1) --- Combined constraints: (MIN..1) --- Practical constraints (CN-IntegerMinLow): (MIN..1) --- OER-visible constraints (CN-IntegerMinLow): (MIN..1) --- PER-visible constraints (CN-IntegerMinLow): (MIN..1) - -NO-IntegerMinHigh ::= INTEGER (MIN..3000000000) --- Combined constraints: (MIN..3000000000) --- Practical constraints (NO-IntegerMinHigh): (MIN..3000000000) --- OER-visible constraints (NO-IntegerMinHigh): (MIN..3000000000) --- PER-visible constraints (NO-IntegerMinHigh): (MIN..3000000000) - -NO-IntegerLowHigh ::= INTEGER (1..3000000000) --- Combined constraints: (1..3000000000) --- Practical constraints (NO-IntegerLowHigh): (1..3000000000) --- OER-visible constraints (NO-IntegerLowHigh): (1..3000000000) --- PER-visible constraints (NO-IntegerLowHigh): (1..3000000000) - -CN-IntegerLowMax ::= INTEGER (1..MAX) --- Combined constraints: (1..MAX) --- Practical constraints (CN-IntegerLowMax): (1..MAX) --- OER-visible constraints (CN-IntegerLowMax): (1..MAX) --- PER-visible constraints (CN-IntegerLowMax): (1..MAX) - -NO-IntegerHighMax ::= INTEGER (3000000000..MAX) --- Combined constraints: (3000000000..MAX) --- Practical constraints (NO-IntegerHighMax): (3000000000..MAX) --- OER-visible constraints (NO-IntegerHighMax): (3000000000..MAX) --- PER-visible constraints (NO-IntegerHighMax): (3000000000..MAX) - -NO-IntegerLowestMax ::= INTEGER (-3000000000..MAX) --- Combined constraints: (-3000000000..MAX) --- Practical constraints (NO-IntegerLowestMax): (-3000000000..MAX) --- OER-visible constraints (NO-IntegerLowestMax): (-3000000000..MAX) --- PER-visible constraints (NO-IntegerLowestMax): (-3000000000..MAX) - -NO-IntegerOutRange ::= INTEGER (3000000000..3000000001) --- Combined constraints: (3000000000..3000000001) --- Practical constraints (NO-IntegerOutRange): (3000000000..3000000001) --- OER-visible constraints (NO-IntegerOutRange): (3000000000..3000000001) --- PER-visible constraints (NO-IntegerOutRange): (3000000000..3000000001) - -NO-IntegerOutValue ::= INTEGER (3000000000) --- Combined constraints: (3000000000) --- Practical constraints (NO-IntegerOutValue): (3000000000) --- OER-visible constraints (NO-IntegerOutValue): (3000000000) --- PER-visible constraints (NO-IntegerOutValue): (3000000000) - -OK-IntegerInRange1 ::= INTEGER (-100..100) --- Combined constraints: (-100..100) --- Practical constraints (OK-IntegerInRange1): (-100..100) --- OER-visible constraints (OK-IntegerInRange1): (-100..100) --- PER-visible constraints (OK-IntegerInRange1): (-100..100) - -OK-IntegerInRange2 ::= INTEGER (-100 | 100) --- Combined constraints: (-100 | 100) --- Practical constraints (OK-IntegerInRange2): (-100 | 100) --- OER-visible constraints (OK-IntegerInRange2): (-100 | 100) --- PER-visible constraints (OK-IntegerInRange2): (-100 | 100) - -OK-IntegerInRange3 ::= INTEGER (-2147483648..2147483647) --- Combined constraints: (-2147483648..2147483647) --- Practical constraints (OK-IntegerInRange3): (-2147483648..2147483647) --- OER-visible constraints (OK-IntegerInRange3): (-2147483648..2147483647) --- PER-visible constraints (OK-IntegerInRange3): (-2147483648..2147483647) - -OK-IntegerInRange4 ::= INTEGER (-2147483648 | 2147483647) --- Combined constraints: (-2147483648 | 2147483647) --- Practical constraints (OK-IntegerInRange4): (-2147483648 | 2147483647) --- OER-visible constraints (OK-IntegerInRange4): (-2147483648 | 2147483647) --- PER-visible constraints (OK-IntegerInRange4): (-2147483648 | 2147483647) - -OK-IntegerInRange5 ::= INTEGER (-2147483648 | 2147483647,...) --- Combined constraints: (-2147483648 | 2147483647,...) --- Practical constraints (OK-IntegerInRange5): (-2147483648 | 2147483647,...) --- OER-visible constraints (OK-IntegerInRange5): (MIN..MAX) --- PER-visible constraints (OK-IntegerInRange5): (-2147483648 | 2147483647,...) - -NO-IntegerInRange6 ::= INTEGER (0..4294967295) --- Combined constraints: (0..4294967295) --- Practical constraints (NO-IntegerInRange6): (0..4294967295) --- OER-visible constraints (NO-IntegerInRange6): (0..4294967295) --- PER-visible constraints (NO-IntegerInRange6): (0..4294967295) - -CN-IntegerEnumerated1 ::= INTEGER { - a(1) --- Practical constraints (a): --- OER-visible constraints (a): --- PER-visible constraints (a): -, - b(2) --- Practical constraints (b): --- OER-visible constraints (b): --- PER-visible constraints (b): - -} --- Practical constraints (CN-IntegerEnumerated1): (MIN..MAX) --- OER-visible constraints (CN-IntegerEnumerated1): (MIN..MAX) --- PER-visible constraints (CN-IntegerEnumerated1): (MIN..MAX) - -NO-IntegerEnumerated2 ::= INTEGER { - a(1) --- Practical constraints (a): --- OER-visible constraints (a): --- PER-visible constraints (a): -, - b(3000000000) --- Practical constraints (b): --- OER-visible constraints (b): --- PER-visible constraints (b): - -} --- Practical constraints (NO-IntegerEnumerated2): (MIN..MAX) --- OER-visible constraints (NO-IntegerEnumerated2): (MIN..MAX) --- PER-visible constraints (NO-IntegerEnumerated2): (MIN..MAX) - -END diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-P b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-P deleted file mode 100644 index 61b7d4c..0000000 --- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-P +++ /dev/null @@ -1,1263 +0,0 @@ - -/*** <<< INCLUDES [CN-IntegerUnlimited] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerUnlimited] >>> ***/ - -typedef long CN_IntegerUnlimited_t; - -/*** <<< FUNC-DECLS [CN-IntegerUnlimited] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited; -asn_struct_free_f CN_IntegerUnlimited_free; -asn_struct_print_f CN_IntegerUnlimited_print; -asn_constr_check_f CN_IntegerUnlimited_constraint; -ber_type_decoder_f CN_IntegerUnlimited_decode_ber; -der_type_encoder_f CN_IntegerUnlimited_encode_der; -xer_type_decoder_f CN_IntegerUnlimited_decode_xer; -xer_type_encoder_f CN_IntegerUnlimited_encode_xer; - -/*** <<< CODE [CN-IntegerUnlimited] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerUnlimited_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { - "CN-IntegerUnlimited", - "CN-IntegerUnlimited", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerUnlimited_tags_1, - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerUnlimited_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinMax] >>> ***/ - -typedef long CN_IntegerMinMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax; -asn_struct_free_f CN_IntegerMinMax_free; -asn_struct_print_f CN_IntegerMinMax_print; -asn_constr_check_f CN_IntegerMinMax_constraint; -ber_type_decoder_f CN_IntegerMinMax_decode_ber; -der_type_encoder_f CN_IntegerMinMax_encode_der; -xer_type_decoder_f CN_IntegerMinMax_decode_xer; -xer_type_encoder_f CN_IntegerMinMax_encode_xer; - -/*** <<< CODE [CN-IntegerMinMax] >>> ***/ - -int -CN_IntegerMinMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { - "CN-IntegerMinMax", - "CN-IntegerMinMax", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerMinMax_tags_1, - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerMinMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinLow] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinLow] >>> ***/ - -typedef long CN_IntegerMinLow_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinLow] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow; -asn_struct_free_f CN_IntegerMinLow_free; -asn_struct_print_f CN_IntegerMinLow_print; -asn_constr_check_f CN_IntegerMinLow_constraint; -ber_type_decoder_f CN_IntegerMinLow_decode_ber; -der_type_encoder_f CN_IntegerMinLow_encode_der; -xer_type_decoder_f CN_IntegerMinLow_decode_xer; -xer_type_encoder_f CN_IntegerMinLow_encode_xer; - -/*** <<< CODE [CN-IntegerMinLow] >>> ***/ - -int -CN_IntegerMinLow_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value <= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinLow_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { - "CN-IntegerMinLow", - "CN-IntegerMinLow", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerMinLow_tags_1, - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinLow_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerMinLow_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerMinHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerMinHigh] >>> ***/ - -typedef INTEGER_t NO_IntegerMinHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerMinHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh; -asn_struct_free_f NO_IntegerMinHigh_free; -asn_struct_print_f NO_IntegerMinHigh_print; -asn_constr_check_f NO_IntegerMinHigh_constraint; -ber_type_decoder_f NO_IntegerMinHigh_decode_ber; -der_type_encoder_f NO_IntegerMinHigh_encode_der; -xer_type_decoder_f NO_IntegerMinHigh_decode_xer; -xer_type_encoder_f NO_IntegerMinHigh_encode_xer; - -/*** <<< CODE [NO-IntegerMinHigh] >>> ***/ - -int -NO_IntegerMinHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerMinHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { - "NO-IntegerMinHigh", - "NO-IntegerMinHigh", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerMinHigh_tags_1, - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerMinHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerMinHigh_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowHigh] >>> ***/ - -typedef unsigned long NO_IntegerLowHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh; -asn_struct_free_f NO_IntegerLowHigh_free; -asn_struct_print_f NO_IntegerLowHigh_print; -asn_constr_check_f NO_IntegerLowHigh_constraint; -ber_type_decoder_f NO_IntegerLowHigh_decode_ber; -der_type_encoder_f NO_IntegerLowHigh_encode_der; -xer_type_decoder_f NO_IntegerLowHigh_decode_xer; -xer_type_encoder_f NO_IntegerLowHigh_encode_xer; - -/*** <<< CODE [NO-IntegerLowHigh] >>> ***/ - -int -NO_IntegerLowHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 1 && value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { - "NO-IntegerLowHigh", - "NO-IntegerLowHigh", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerLowHigh_tags_1, - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerLowHigh_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerLowHigh_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerLowMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerLowMax] >>> ***/ - -typedef unsigned long CN_IntegerLowMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerLowMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax; -asn_struct_free_f CN_IntegerLowMax_free; -asn_struct_print_f CN_IntegerLowMax_print; -asn_constr_check_f CN_IntegerLowMax_constraint; -ber_type_decoder_f CN_IntegerLowMax_decode_ber; -der_type_encoder_f CN_IntegerLowMax_encode_der; -xer_type_decoder_f CN_IntegerLowMax_decode_xer; -xer_type_encoder_f CN_IntegerLowMax_encode_xer; - -/*** <<< CODE [CN-IntegerLowMax] >>> ***/ - -int -CN_IntegerLowMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_CN_IntegerLowMax_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_CN_IntegerLowMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { - "CN-IntegerLowMax", - "CN-IntegerLowMax", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerLowMax_tags_1, - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerLowMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerLowMax_constraint }, - 0, 0, /* No members */ - &asn_SPC_CN_IntegerLowMax_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NO-IntegerHighMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerHighMax] >>> ***/ - -typedef INTEGER_t NO_IntegerHighMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerHighMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax; -asn_struct_free_f NO_IntegerHighMax_free; -asn_struct_print_f NO_IntegerHighMax_print; -asn_constr_check_f NO_IntegerHighMax_constraint; -ber_type_decoder_f NO_IntegerHighMax_decode_ber; -der_type_encoder_f NO_IntegerHighMax_encode_der; -xer_type_decoder_f NO_IntegerHighMax_decode_xer; -xer_type_encoder_f NO_IntegerHighMax_encode_xer; - -/*** <<< CODE [NO-IntegerHighMax] >>> ***/ - -int -NO_IntegerHighMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerHighMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { - "NO-IntegerHighMax", - "NO-IntegerHighMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerHighMax_tags_1, - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerHighMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerHighMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowestMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowestMax] >>> ***/ - -typedef INTEGER_t NO_IntegerLowestMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowestMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax; -asn_struct_free_f NO_IntegerLowestMax_free; -asn_struct_print_f NO_IntegerLowestMax_print; -asn_constr_check_f NO_IntegerLowestMax_constraint; -ber_type_decoder_f NO_IntegerLowestMax_decode_ber; -der_type_encoder_f NO_IntegerLowestMax_encode_der; -xer_type_decoder_f NO_IntegerLowestMax_decode_xer; -xer_type_encoder_f NO_IntegerLowestMax_encode_xer; - -/*** <<< CODE [NO-IntegerLowestMax] >>> ***/ - -int -NO_IntegerLowestMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowestMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { - "NO-IntegerLowestMax", - "NO-IntegerLowestMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerLowestMax_tags_1, - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowestMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerLowestMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutRange] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutRange] >>> ***/ - -typedef unsigned long NO_IntegerOutRange_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutRange] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange; -asn_struct_free_f NO_IntegerOutRange_free; -asn_struct_print_f NO_IntegerOutRange_print; -asn_constr_check_f NO_IntegerOutRange_constraint; -ber_type_decoder_f NO_IntegerOutRange_decode_ber; -der_type_encoder_f NO_IntegerOutRange_encode_der; -xer_type_decoder_f NO_IntegerOutRange_decode_xer; -xer_type_encoder_f NO_IntegerOutRange_encode_xer; - -/*** <<< CODE [NO-IntegerOutRange] >>> ***/ - -int -NO_IntegerOutRange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 3000000000 && value <= 3000000001)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutRange_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { - "NO-IntegerOutRange", - "NO-IntegerOutRange", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutRange_tags_1, - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutRange_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerOutRange_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutRange_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutValue] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutValue] >>> ***/ - -typedef unsigned long NO_IntegerOutValue_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutValue] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue; -asn_struct_free_f NO_IntegerOutValue_free; -asn_struct_print_f NO_IntegerOutValue_print; -asn_constr_check_f NO_IntegerOutValue_constraint; -ber_type_decoder_f NO_IntegerOutValue_decode_ber; -der_type_encoder_f NO_IntegerOutValue_encode_der; -xer_type_decoder_f NO_IntegerOutValue_decode_xer; -xer_type_encoder_f NO_IntegerOutValue_encode_xer; - -/*** <<< CODE [NO-IntegerOutValue] >>> ***/ - -int -NO_IntegerOutValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value == 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutValue_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { - "NO-IntegerOutValue", - "NO-IntegerOutValue", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutValue_tags_1, - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutValue_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerOutValue_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutValue_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange1] >>> ***/ - -typedef long OK_IntegerInRange1_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1; -asn_struct_free_f OK_IntegerInRange1_free; -asn_struct_print_f OK_IntegerInRange1_print; -asn_constr_check_f OK_IntegerInRange1_constraint; -ber_type_decoder_f OK_IntegerInRange1_decode_ber; -der_type_encoder_f OK_IntegerInRange1_encode_der; -xer_type_decoder_f OK_IntegerInRange1_decode_xer; -xer_type_encoder_f OK_IntegerInRange1_encode_xer; - -/*** <<< CODE [OK-IntegerInRange1] >>> ***/ - -int -OK_IntegerInRange1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -100 && value <= 100)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { - "OK-IntegerInRange1", - "OK-IntegerInRange1", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange1_tags_1, - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange1_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange2] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange2] >>> ***/ - -typedef long OK_IntegerInRange2_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2; -asn_struct_free_f OK_IntegerInRange2_free; -asn_struct_print_f OK_IntegerInRange2_print; -asn_constr_check_f OK_IntegerInRange2_constraint; -ber_type_decoder_f OK_IntegerInRange2_decode_ber; -der_type_encoder_f OK_IntegerInRange2_encode_der; -xer_type_decoder_f OK_IntegerInRange2_decode_xer; -xer_type_encoder_f OK_IntegerInRange2_encode_xer; - -/*** <<< CODE [OK-IntegerInRange2] >>> ***/ - -int -OK_IntegerInRange2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == -100) || (value == 100))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { - "OK-IntegerInRange2", - "OK-IntegerInRange2", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange2_tags_1, - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange2_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange3] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange3] >>> ***/ - -typedef long OK_IntegerInRange3_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3; -asn_struct_free_f OK_IntegerInRange3_free; -asn_struct_print_f OK_IntegerInRange3_print; -asn_constr_check_f OK_IntegerInRange3_constraint; -ber_type_decoder_f OK_IntegerInRange3_decode_ber; -der_type_encoder_f OK_IntegerInRange3_encode_der; -xer_type_decoder_f OK_IntegerInRange3_decode_xer; -xer_type_encoder_f OK_IntegerInRange3_encode_xer; - -/*** <<< CODE [OK-IntegerInRange3] >>> ***/ - -int -OK_IntegerInRange3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= (-2147483647L - 1) && value <= 2147483647)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { - "OK-IntegerInRange3", - "OK-IntegerInRange3", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange3_tags_1, - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange3_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange4] >>> ***/ - -typedef long OK_IntegerInRange4_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4; -asn_struct_free_f OK_IntegerInRange4_free; -asn_struct_print_f OK_IntegerInRange4_print; -asn_constr_check_f OK_IntegerInRange4_constraint; -ber_type_decoder_f OK_IntegerInRange4_decode_ber; -der_type_encoder_f OK_IntegerInRange4_encode_der; -xer_type_decoder_f OK_IntegerInRange4_decode_xer; -xer_type_encoder_f OK_IntegerInRange4_encode_xer; - -/*** <<< CODE [OK-IntegerInRange4] >>> ***/ - -int -OK_IntegerInRange4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { - "OK-IntegerInRange4", - "OK-IntegerInRange4", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange4_tags_1, - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange4_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange5] >>> ***/ - -typedef long OK_IntegerInRange5_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5; -asn_struct_free_f OK_IntegerInRange5_free; -asn_struct_print_f OK_IntegerInRange5_print; -asn_constr_check_f OK_IntegerInRange5_constraint; -ber_type_decoder_f OK_IntegerInRange5_decode_ber; -der_type_encoder_f OK_IntegerInRange5_encode_der; -xer_type_decoder_f OK_IntegerInRange5_decode_xer; -xer_type_encoder_f OK_IntegerInRange5_encode_xer; - -/*** <<< CODE [OK-IntegerInRange5] >>> ***/ - -int -OK_IntegerInRange5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { - "OK-IntegerInRange5", - "OK-IntegerInRange5", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange5_tags_1, - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange5_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerInRange6] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerInRange6] >>> ***/ - -typedef unsigned long NO_IntegerInRange6_t; - -/*** <<< FUNC-DECLS [NO-IntegerInRange6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6; -asn_struct_free_f NO_IntegerInRange6_free; -asn_struct_print_f NO_IntegerInRange6_print; -asn_constr_check_f NO_IntegerInRange6_constraint; -ber_type_decoder_f NO_IntegerInRange6_decode_ber; -der_type_encoder_f NO_IntegerInRange6_encode_der; -xer_type_decoder_f NO_IntegerInRange6_decode_xer; -xer_type_encoder_f NO_IntegerInRange6_encode_xer; - -/*** <<< CODE [NO-IntegerInRange6] >>> ***/ - -int -NO_IntegerInRange6_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - /* Constraint check succeeded */ - return 0; -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerInRange6_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { - "NO-IntegerInRange6", - "NO-IntegerInRange6", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerInRange6_tags_1, - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerInRange6_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerInRange6_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerInRange6_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerEnumerated1] >>> ***/ - -#include - -/*** <<< DEPS [CN-IntegerEnumerated1] >>> ***/ - -typedef enum CN_IntegerEnumerated1 { - CN_IntegerEnumerated1_a = 1, - CN_IntegerEnumerated1_b = 2 -} e_CN_IntegerEnumerated1; - -/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/ - -typedef long CN_IntegerEnumerated1_t; - -/*** <<< FUNC-DECLS [CN-IntegerEnumerated1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1; -asn_struct_free_f CN_IntegerEnumerated1_free; -asn_struct_print_f CN_IntegerEnumerated1_print; -asn_constr_check_f CN_IntegerEnumerated1_constraint; -ber_type_decoder_f CN_IntegerEnumerated1_decode_ber; -der_type_encoder_f CN_IntegerEnumerated1_encode_der; -xer_type_decoder_f CN_IntegerEnumerated1_decode_xer; -xer_type_encoder_f CN_IntegerEnumerated1_encode_xer; - -/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerEnumerated1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { - "CN-IntegerEnumerated1", - "CN-IntegerEnumerated1", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerEnumerated1_tags_1, - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerEnumerated1_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerEnumerated2] >>> ***/ - -#include - -/*** <<< DEPS [NO-IntegerEnumerated2] >>> ***/ - -typedef enum NO_IntegerEnumerated2 { - NO_IntegerEnumerated2_a = 1, - NO_IntegerEnumerated2_b = 3000000000 -} e_NO_IntegerEnumerated2; - -/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/ - -typedef INTEGER_t NO_IntegerEnumerated2_t; - -/*** <<< FUNC-DECLS [NO-IntegerEnumerated2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2; -asn_struct_free_f NO_IntegerEnumerated2_free; -asn_struct_print_f NO_IntegerEnumerated2_print; -asn_constr_check_f NO_IntegerEnumerated2_constraint; -ber_type_decoder_f NO_IntegerEnumerated2_decode_ber; -der_type_encoder_f NO_IntegerEnumerated2_encode_der; -xer_type_decoder_f NO_IntegerEnumerated2_decode_xer; -xer_type_encoder_f NO_IntegerEnumerated2_encode_xer; - -/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerEnumerated2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { - "NO-IntegerEnumerated2", - "NO-IntegerEnumerated2", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerEnumerated2_tags_1, - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerEnumerated2_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pfwide-types deleted file mode 100644 index f3facef..0000000 --- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,1278 +0,0 @@ - -/*** <<< INCLUDES [CN-IntegerUnlimited] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerUnlimited] >>> ***/ - -typedef INTEGER_t CN_IntegerUnlimited_t; - -/*** <<< FUNC-DECLS [CN-IntegerUnlimited] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited; -asn_struct_free_f CN_IntegerUnlimited_free; -asn_struct_print_f CN_IntegerUnlimited_print; -asn_constr_check_f CN_IntegerUnlimited_constraint; -ber_type_decoder_f CN_IntegerUnlimited_decode_ber; -der_type_encoder_f CN_IntegerUnlimited_encode_der; -xer_type_decoder_f CN_IntegerUnlimited_decode_xer; -xer_type_encoder_f CN_IntegerUnlimited_encode_xer; - -/*** <<< CODE [CN-IntegerUnlimited] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerUnlimited_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { - "CN-IntegerUnlimited", - "CN-IntegerUnlimited", - &asn_OP_INTEGER, - asn_DEF_CN_IntegerUnlimited_tags_1, - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerUnlimited_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinMax] >>> ***/ - -typedef INTEGER_t CN_IntegerMinMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax; -asn_struct_free_f CN_IntegerMinMax_free; -asn_struct_print_f CN_IntegerMinMax_print; -asn_constr_check_f CN_IntegerMinMax_constraint; -ber_type_decoder_f CN_IntegerMinMax_decode_ber; -der_type_encoder_f CN_IntegerMinMax_encode_der; -xer_type_decoder_f CN_IntegerMinMax_decode_xer; -xer_type_encoder_f CN_IntegerMinMax_encode_xer; - -/*** <<< CODE [CN-IntegerMinMax] >>> ***/ - -int -CN_IntegerMinMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - (void)st; /* Unused variable */ - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { - "CN-IntegerMinMax", - "CN-IntegerMinMax", - &asn_OP_INTEGER, - asn_DEF_CN_IntegerMinMax_tags_1, - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerMinMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinLow] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinLow] >>> ***/ - -typedef INTEGER_t CN_IntegerMinLow_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinLow] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow; -asn_struct_free_f CN_IntegerMinLow_free; -asn_struct_print_f CN_IntegerMinLow_print; -asn_constr_check_f CN_IntegerMinLow_constraint; -ber_type_decoder_f CN_IntegerMinLow_decode_ber; -der_type_encoder_f CN_IntegerMinLow_encode_der; -xer_type_decoder_f CN_IntegerMinLow_decode_xer; -xer_type_encoder_f CN_IntegerMinLow_encode_xer; - -/*** <<< CODE [CN-IntegerMinLow] >>> ***/ - -int -CN_IntegerMinLow_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value <= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinLow_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { - "CN-IntegerMinLow", - "CN-IntegerMinLow", - &asn_OP_INTEGER, - asn_DEF_CN_IntegerMinLow_tags_1, - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinLow_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerMinLow_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerMinHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerMinHigh] >>> ***/ - -typedef INTEGER_t NO_IntegerMinHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerMinHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh; -asn_struct_free_f NO_IntegerMinHigh_free; -asn_struct_print_f NO_IntegerMinHigh_print; -asn_constr_check_f NO_IntegerMinHigh_constraint; -ber_type_decoder_f NO_IntegerMinHigh_decode_ber; -der_type_encoder_f NO_IntegerMinHigh_encode_der; -xer_type_decoder_f NO_IntegerMinHigh_decode_xer; -xer_type_encoder_f NO_IntegerMinHigh_encode_xer; - -/*** <<< CODE [NO-IntegerMinHigh] >>> ***/ - -int -NO_IntegerMinHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerMinHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { - "NO-IntegerMinHigh", - "NO-IntegerMinHigh", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerMinHigh_tags_1, - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerMinHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerMinHigh_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowHigh] >>> ***/ - -typedef unsigned long NO_IntegerLowHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh; -asn_struct_free_f NO_IntegerLowHigh_free; -asn_struct_print_f NO_IntegerLowHigh_print; -asn_constr_check_f NO_IntegerLowHigh_constraint; -ber_type_decoder_f NO_IntegerLowHigh_decode_ber; -der_type_encoder_f NO_IntegerLowHigh_encode_der; -xer_type_decoder_f NO_IntegerLowHigh_decode_xer; -xer_type_encoder_f NO_IntegerLowHigh_encode_xer; - -/*** <<< CODE [NO-IntegerLowHigh] >>> ***/ - -int -NO_IntegerLowHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 1 && value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { - "NO-IntegerLowHigh", - "NO-IntegerLowHigh", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerLowHigh_tags_1, - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerLowHigh_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerLowHigh_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerLowMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerLowMax] >>> ***/ - -typedef INTEGER_t CN_IntegerLowMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerLowMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax; -asn_struct_free_f CN_IntegerLowMax_free; -asn_struct_print_f CN_IntegerLowMax_print; -asn_constr_check_f CN_IntegerLowMax_constraint; -ber_type_decoder_f CN_IntegerLowMax_decode_ber; -der_type_encoder_f CN_IntegerLowMax_encode_der; -xer_type_decoder_f CN_IntegerLowMax_decode_xer; -xer_type_encoder_f CN_IntegerLowMax_encode_xer; - -/*** <<< CODE [CN-IntegerLowMax] >>> ***/ - -int -CN_IntegerLowMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerLowMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { - "CN-IntegerLowMax", - "CN-IntegerLowMax", - &asn_OP_INTEGER, - asn_DEF_CN_IntegerLowMax_tags_1, - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerLowMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - { 0, 0, CN_IntegerLowMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerHighMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerHighMax] >>> ***/ - -typedef INTEGER_t NO_IntegerHighMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerHighMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax; -asn_struct_free_f NO_IntegerHighMax_free; -asn_struct_print_f NO_IntegerHighMax_print; -asn_constr_check_f NO_IntegerHighMax_constraint; -ber_type_decoder_f NO_IntegerHighMax_decode_ber; -der_type_encoder_f NO_IntegerHighMax_encode_der; -xer_type_decoder_f NO_IntegerHighMax_decode_xer; -xer_type_encoder_f NO_IntegerHighMax_encode_xer; - -/*** <<< CODE [NO-IntegerHighMax] >>> ***/ - -int -NO_IntegerHighMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerHighMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { - "NO-IntegerHighMax", - "NO-IntegerHighMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerHighMax_tags_1, - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerHighMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerHighMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowestMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowestMax] >>> ***/ - -typedef INTEGER_t NO_IntegerLowestMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowestMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax; -asn_struct_free_f NO_IntegerLowestMax_free; -asn_struct_print_f NO_IntegerLowestMax_print; -asn_constr_check_f NO_IntegerLowestMax_constraint; -ber_type_decoder_f NO_IntegerLowestMax_decode_ber; -der_type_encoder_f NO_IntegerLowestMax_encode_der; -xer_type_decoder_f NO_IntegerLowestMax_decode_xer; -xer_type_encoder_f NO_IntegerLowestMax_encode_xer; - -/*** <<< CODE [NO-IntegerLowestMax] >>> ***/ - -int -NO_IntegerLowestMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowestMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { - "NO-IntegerLowestMax", - "NO-IntegerLowestMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerLowestMax_tags_1, - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowestMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerLowestMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutRange] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutRange] >>> ***/ - -typedef unsigned long NO_IntegerOutRange_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutRange] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange; -asn_struct_free_f NO_IntegerOutRange_free; -asn_struct_print_f NO_IntegerOutRange_print; -asn_constr_check_f NO_IntegerOutRange_constraint; -ber_type_decoder_f NO_IntegerOutRange_decode_ber; -der_type_encoder_f NO_IntegerOutRange_encode_der; -xer_type_decoder_f NO_IntegerOutRange_decode_xer; -xer_type_encoder_f NO_IntegerOutRange_encode_xer; - -/*** <<< CODE [NO-IntegerOutRange] >>> ***/ - -int -NO_IntegerOutRange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 3000000000 && value <= 3000000001)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutRange_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { - "NO-IntegerOutRange", - "NO-IntegerOutRange", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutRange_tags_1, - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutRange_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerOutRange_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutRange_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutValue] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutValue] >>> ***/ - -typedef unsigned long NO_IntegerOutValue_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutValue] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue; -asn_struct_free_f NO_IntegerOutValue_free; -asn_struct_print_f NO_IntegerOutValue_print; -asn_constr_check_f NO_IntegerOutValue_constraint; -ber_type_decoder_f NO_IntegerOutValue_decode_ber; -der_type_encoder_f NO_IntegerOutValue_encode_der; -xer_type_decoder_f NO_IntegerOutValue_decode_xer; -xer_type_encoder_f NO_IntegerOutValue_encode_xer; - -/*** <<< CODE [NO-IntegerOutValue] >>> ***/ - -int -NO_IntegerOutValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value == 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutValue_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { - "NO-IntegerOutValue", - "NO-IntegerOutValue", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutValue_tags_1, - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutValue_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerOutValue_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutValue_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange1] >>> ***/ - -typedef long OK_IntegerInRange1_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1; -asn_struct_free_f OK_IntegerInRange1_free; -asn_struct_print_f OK_IntegerInRange1_print; -asn_constr_check_f OK_IntegerInRange1_constraint; -ber_type_decoder_f OK_IntegerInRange1_decode_ber; -der_type_encoder_f OK_IntegerInRange1_encode_der; -xer_type_decoder_f OK_IntegerInRange1_decode_xer; -xer_type_encoder_f OK_IntegerInRange1_encode_xer; - -/*** <<< CODE [OK-IntegerInRange1] >>> ***/ - -int -OK_IntegerInRange1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -100 && value <= 100)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { - "OK-IntegerInRange1", - "OK-IntegerInRange1", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange1_tags_1, - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange1_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange2] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange2] >>> ***/ - -typedef long OK_IntegerInRange2_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2; -asn_struct_free_f OK_IntegerInRange2_free; -asn_struct_print_f OK_IntegerInRange2_print; -asn_constr_check_f OK_IntegerInRange2_constraint; -ber_type_decoder_f OK_IntegerInRange2_decode_ber; -der_type_encoder_f OK_IntegerInRange2_encode_der; -xer_type_decoder_f OK_IntegerInRange2_decode_xer; -xer_type_encoder_f OK_IntegerInRange2_encode_xer; - -/*** <<< CODE [OK-IntegerInRange2] >>> ***/ - -int -OK_IntegerInRange2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == -100) || (value == 100))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { - "OK-IntegerInRange2", - "OK-IntegerInRange2", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange2_tags_1, - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange2_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange3] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange3] >>> ***/ - -typedef long OK_IntegerInRange3_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3; -asn_struct_free_f OK_IntegerInRange3_free; -asn_struct_print_f OK_IntegerInRange3_print; -asn_constr_check_f OK_IntegerInRange3_constraint; -ber_type_decoder_f OK_IntegerInRange3_decode_ber; -der_type_encoder_f OK_IntegerInRange3_encode_der; -xer_type_decoder_f OK_IntegerInRange3_decode_xer; -xer_type_encoder_f OK_IntegerInRange3_encode_xer; - -/*** <<< CODE [OK-IntegerInRange3] >>> ***/ - -int -OK_IntegerInRange3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= (-2147483647L - 1) && value <= 2147483647)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { - "OK-IntegerInRange3", - "OK-IntegerInRange3", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange3_tags_1, - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange3_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange4] >>> ***/ - -typedef long OK_IntegerInRange4_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4; -asn_struct_free_f OK_IntegerInRange4_free; -asn_struct_print_f OK_IntegerInRange4_print; -asn_constr_check_f OK_IntegerInRange4_constraint; -ber_type_decoder_f OK_IntegerInRange4_decode_ber; -der_type_encoder_f OK_IntegerInRange4_encode_der; -xer_type_decoder_f OK_IntegerInRange4_decode_xer; -xer_type_encoder_f OK_IntegerInRange4_encode_xer; - -/*** <<< CODE [OK-IntegerInRange4] >>> ***/ - -int -OK_IntegerInRange4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { - "OK-IntegerInRange4", - "OK-IntegerInRange4", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange4_tags_1, - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange4_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange5] >>> ***/ - -typedef INTEGER_t OK_IntegerInRange5_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5; -asn_struct_free_f OK_IntegerInRange5_free; -asn_struct_print_f OK_IntegerInRange5_print; -asn_constr_check_f OK_IntegerInRange5_constraint; -ber_type_decoder_f OK_IntegerInRange5_decode_ber; -der_type_encoder_f OK_IntegerInRange5_encode_der; -xer_type_decoder_f OK_IntegerInRange5_decode_xer; -xer_type_encoder_f OK_IntegerInRange5_encode_xer; - -/*** <<< CODE [OK-IntegerInRange5] >>> ***/ - -int -OK_IntegerInRange5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { - "OK-IntegerInRange5", - "OK-IntegerInRange5", - &asn_OP_INTEGER, - asn_DEF_OK_IntegerInRange5_tags_1, - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange5_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - { 0, 0, OK_IntegerInRange5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerInRange6] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerInRange6] >>> ***/ - -typedef unsigned long NO_IntegerInRange6_t; - -/*** <<< FUNC-DECLS [NO-IntegerInRange6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6; -asn_struct_free_f NO_IntegerInRange6_free; -asn_struct_print_f NO_IntegerInRange6_print; -asn_constr_check_f NO_IntegerInRange6_constraint; -ber_type_decoder_f NO_IntegerInRange6_decode_ber; -der_type_encoder_f NO_IntegerInRange6_encode_der; -xer_type_decoder_f NO_IntegerInRange6_decode_xer; -xer_type_encoder_f NO_IntegerInRange6_encode_xer; - -/*** <<< CODE [NO-IntegerInRange6] >>> ***/ - -int -NO_IntegerInRange6_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - /* Constraint check succeeded */ - return 0; -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerInRange6_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { - "NO-IntegerInRange6", - "NO-IntegerInRange6", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerInRange6_tags_1, - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerInRange6_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - { 0, 0, NO_IntegerInRange6_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerInRange6_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerEnumerated1] >>> ***/ - -#include - -/*** <<< DEPS [CN-IntegerEnumerated1] >>> ***/ - -typedef enum CN_IntegerEnumerated1 { - CN_IntegerEnumerated1_a = 1, - CN_IntegerEnumerated1_b = 2 -} e_CN_IntegerEnumerated1; - -/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/ - -typedef INTEGER_t CN_IntegerEnumerated1_t; - -/*** <<< FUNC-DECLS [CN-IntegerEnumerated1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1; -asn_struct_free_f CN_IntegerEnumerated1_free; -asn_struct_print_f CN_IntegerEnumerated1_print; -asn_constr_check_f CN_IntegerEnumerated1_constraint; -ber_type_decoder_f CN_IntegerEnumerated1_decode_ber; -der_type_encoder_f CN_IntegerEnumerated1_encode_der; -xer_type_decoder_f CN_IntegerEnumerated1_decode_xer; -xer_type_encoder_f CN_IntegerEnumerated1_encode_xer; - -/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerEnumerated1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { - "CN-IntegerEnumerated1", - "CN-IntegerEnumerated1", - &asn_OP_INTEGER, - asn_DEF_CN_IntegerEnumerated1_tags_1, - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerEnumerated1_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerEnumerated2] >>> ***/ - -#include - -/*** <<< DEPS [NO-IntegerEnumerated2] >>> ***/ - -typedef enum NO_IntegerEnumerated2 { - NO_IntegerEnumerated2_a = 1, - NO_IntegerEnumerated2_b = 3000000000 -} e_NO_IntegerEnumerated2; - -/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/ - -typedef INTEGER_t NO_IntegerEnumerated2_t; - -/*** <<< FUNC-DECLS [NO-IntegerEnumerated2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2; -asn_struct_free_f NO_IntegerEnumerated2_free; -asn_struct_print_f NO_IntegerEnumerated2_print; -asn_constr_check_f NO_IntegerEnumerated2_constraint; -ber_type_decoder_f NO_IntegerEnumerated2_decode_ber; -der_type_encoder_f NO_IntegerEnumerated2_encode_der; -xer_type_decoder_f NO_IntegerEnumerated2_decode_xer; -xer_type_encoder_f NO_IntegerEnumerated2_encode_xer; - -/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerEnumerated2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { - "NO-IntegerEnumerated2", - "NO-IntegerEnumerated2", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerEnumerated2_tags_1, - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerEnumerated2_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER deleted file mode 100644 index 2a5fb36..0000000 --- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,1455 +0,0 @@ - -/*** <<< INCLUDES [CN-IntegerUnlimited] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerUnlimited] >>> ***/ - -typedef long CN_IntegerUnlimited_t; - -/*** <<< FUNC-DECLS [CN-IntegerUnlimited] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited; -asn_struct_free_f CN_IntegerUnlimited_free; -asn_struct_print_f CN_IntegerUnlimited_print; -asn_constr_check_f CN_IntegerUnlimited_constraint; -ber_type_decoder_f CN_IntegerUnlimited_decode_ber; -der_type_encoder_f CN_IntegerUnlimited_encode_der; -xer_type_decoder_f CN_IntegerUnlimited_decode_xer; -xer_type_encoder_f CN_IntegerUnlimited_encode_xer; -per_type_decoder_f CN_IntegerUnlimited_decode_uper; -per_type_encoder_f CN_IntegerUnlimited_encode_uper; -per_type_decoder_f CN_IntegerUnlimited_decode_aper; -per_type_encoder_f CN_IntegerUnlimited_encode_aper; - -/*** <<< CODE [CN-IntegerUnlimited] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerUnlimited] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerUnlimited_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerUnlimited = { - "CN-IntegerUnlimited", - "CN-IntegerUnlimited", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerUnlimited_tags_1, - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerUnlimited_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerUnlimited_tags_1) - /sizeof(asn_DEF_CN_IntegerUnlimited_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinMax] >>> ***/ - -typedef long CN_IntegerMinMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax; -asn_struct_free_f CN_IntegerMinMax_free; -asn_struct_print_f CN_IntegerMinMax_print; -asn_constr_check_f CN_IntegerMinMax_constraint; -ber_type_decoder_f CN_IntegerMinMax_decode_ber; -der_type_encoder_f CN_IntegerMinMax_encode_der; -xer_type_decoder_f CN_IntegerMinMax_decode_xer; -xer_type_encoder_f CN_IntegerMinMax_encode_xer; -per_type_decoder_f CN_IntegerMinMax_decode_uper; -per_type_encoder_f CN_IntegerMinMax_encode_uper; -per_type_decoder_f CN_IntegerMinMax_decode_aper; -per_type_encoder_f CN_IntegerMinMax_encode_aper; - -/*** <<< CODE [CN-IntegerMinMax] >>> ***/ - -int -CN_IntegerMinMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [CN-IntegerMinMax] >>> ***/ - -static asn_per_constraints_t asn_PER_type_CN_IntegerMinMax_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [CN-IntegerMinMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinMax = { - "CN-IntegerMinMax", - "CN-IntegerMinMax", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerMinMax_tags_1, - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinMax_tags_1) - /sizeof(asn_DEF_CN_IntegerMinMax_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_CN_IntegerMinMax_constr_1, CN_IntegerMinMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [CN-IntegerMinLow] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerMinLow] >>> ***/ - -typedef long CN_IntegerMinLow_t; - -/*** <<< FUNC-DECLS [CN-IntegerMinLow] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow; -asn_struct_free_f CN_IntegerMinLow_free; -asn_struct_print_f CN_IntegerMinLow_print; -asn_constr_check_f CN_IntegerMinLow_constraint; -ber_type_decoder_f CN_IntegerMinLow_decode_ber; -der_type_encoder_f CN_IntegerMinLow_encode_der; -xer_type_decoder_f CN_IntegerMinLow_decode_xer; -xer_type_encoder_f CN_IntegerMinLow_encode_xer; -per_type_decoder_f CN_IntegerMinLow_decode_uper; -per_type_encoder_f CN_IntegerMinLow_encode_uper; -per_type_decoder_f CN_IntegerMinLow_decode_aper; -per_type_encoder_f CN_IntegerMinLow_encode_aper; - -/*** <<< CODE [CN-IntegerMinLow] >>> ***/ - -int -CN_IntegerMinLow_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value <= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [CN-IntegerMinLow] >>> ***/ - -static asn_per_constraints_t asn_PER_type_CN_IntegerMinLow_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 } /* (MIN..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [CN-IntegerMinLow] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerMinLow_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerMinLow = { - "CN-IntegerMinLow", - "CN-IntegerMinLow", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerMinLow_tags_1, - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerMinLow_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerMinLow_tags_1) - /sizeof(asn_DEF_CN_IntegerMinLow_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_CN_IntegerMinLow_constr_1, CN_IntegerMinLow_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerMinHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerMinHigh] >>> ***/ - -typedef INTEGER_t NO_IntegerMinHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerMinHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh; -asn_struct_free_f NO_IntegerMinHigh_free; -asn_struct_print_f NO_IntegerMinHigh_print; -asn_constr_check_f NO_IntegerMinHigh_constraint; -ber_type_decoder_f NO_IntegerMinHigh_decode_ber; -der_type_encoder_f NO_IntegerMinHigh_encode_der; -xer_type_decoder_f NO_IntegerMinHigh_decode_xer; -xer_type_encoder_f NO_IntegerMinHigh_encode_xer; -per_type_decoder_f NO_IntegerMinHigh_decode_uper; -per_type_encoder_f NO_IntegerMinHigh_encode_uper; -per_type_decoder_f NO_IntegerMinHigh_decode_aper; -per_type_encoder_f NO_IntegerMinHigh_encode_aper; - -/*** <<< CODE [NO-IntegerMinHigh] >>> ***/ - -int -NO_IntegerMinHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerMinHigh] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerMinHigh_constr_1 CC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 } /* (MIN..3000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerMinHigh] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerMinHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerMinHigh = { - "NO-IntegerMinHigh", - "NO-IntegerMinHigh", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerMinHigh_tags_1, - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerMinHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerMinHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerMinHigh_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerMinHigh_constr_1, NO_IntegerMinHigh_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowHigh] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowHigh] >>> ***/ - -typedef unsigned long NO_IntegerLowHigh_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowHigh] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh; -asn_struct_free_f NO_IntegerLowHigh_free; -asn_struct_print_f NO_IntegerLowHigh_print; -asn_constr_check_f NO_IntegerLowHigh_constraint; -ber_type_decoder_f NO_IntegerLowHigh_decode_ber; -der_type_encoder_f NO_IntegerLowHigh_encode_der; -xer_type_decoder_f NO_IntegerLowHigh_decode_xer; -xer_type_encoder_f NO_IntegerLowHigh_encode_xer; -per_type_decoder_f NO_IntegerLowHigh_decode_uper; -per_type_encoder_f NO_IntegerLowHigh_encode_uper; -per_type_decoder_f NO_IntegerLowHigh_decode_aper; -per_type_encoder_f NO_IntegerLowHigh_encode_aper; - -/*** <<< CODE [NO-IntegerLowHigh] >>> ***/ - -int -NO_IntegerLowHigh_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 1 && value <= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerLowHigh] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerLowHigh_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 1, 3000000000 } /* (1..3000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerLowHigh] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerLowHigh_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowHigh_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowHigh = { - "NO-IntegerLowHigh", - "NO-IntegerLowHigh", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerLowHigh_tags_1, - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowHigh_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowHigh_tags_1) - /sizeof(asn_DEF_NO_IntegerLowHigh_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerLowHigh_constr_1, NO_IntegerLowHigh_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerLowHigh_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerLowMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [CN-IntegerLowMax] >>> ***/ - -typedef unsigned long CN_IntegerLowMax_t; - -/*** <<< FUNC-DECLS [CN-IntegerLowMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax; -asn_struct_free_f CN_IntegerLowMax_free; -asn_struct_print_f CN_IntegerLowMax_print; -asn_constr_check_f CN_IntegerLowMax_constraint; -ber_type_decoder_f CN_IntegerLowMax_decode_ber; -der_type_encoder_f CN_IntegerLowMax_encode_der; -xer_type_decoder_f CN_IntegerLowMax_decode_xer; -xer_type_encoder_f CN_IntegerLowMax_encode_xer; -per_type_decoder_f CN_IntegerLowMax_decode_uper; -per_type_encoder_f CN_IntegerLowMax_encode_uper; -per_type_decoder_f CN_IntegerLowMax_decode_aper; -per_type_encoder_f CN_IntegerLowMax_encode_aper; - -/*** <<< CODE [CN-IntegerLowMax] >>> ***/ - -int -CN_IntegerLowMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 1)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [CN-IntegerLowMax] >>> ***/ - -static asn_per_constraints_t asn_PER_type_CN_IntegerLowMax_constr_1 CC_NOTUSED = { - { APC_SEMI_CONSTRAINED, -1, -1, 1, 0 } /* (1..MAX) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [CN-IntegerLowMax] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_CN_IntegerLowMax_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_CN_IntegerLowMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerLowMax = { - "CN-IntegerLowMax", - "CN-IntegerLowMax", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerLowMax_tags_1, - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerLowMax_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerLowMax_tags_1) - /sizeof(asn_DEF_CN_IntegerLowMax_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_CN_IntegerLowMax_constr_1, CN_IntegerLowMax_constraint }, - 0, 0, /* No members */ - &asn_SPC_CN_IntegerLowMax_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NO-IntegerHighMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerHighMax] >>> ***/ - -typedef INTEGER_t NO_IntegerHighMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerHighMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax; -asn_struct_free_f NO_IntegerHighMax_free; -asn_struct_print_f NO_IntegerHighMax_print; -asn_constr_check_f NO_IntegerHighMax_constraint; -ber_type_decoder_f NO_IntegerHighMax_decode_ber; -der_type_encoder_f NO_IntegerHighMax_encode_der; -xer_type_decoder_f NO_IntegerHighMax_decode_xer; -xer_type_encoder_f NO_IntegerHighMax_encode_xer; -per_type_decoder_f NO_IntegerHighMax_decode_uper; -per_type_encoder_f NO_IntegerHighMax_encode_uper; -per_type_decoder_f NO_IntegerHighMax_decode_aper; -per_type_encoder_f NO_IntegerHighMax_encode_aper; - -/*** <<< CODE [NO-IntegerHighMax] >>> ***/ - -int -NO_IntegerHighMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerHighMax] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerHighMax_constr_1 CC_NOTUSED = { - { APC_SEMI_CONSTRAINED, -1, -1, 3000000000, 0 } /* (3000000000..MAX) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerHighMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerHighMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerHighMax = { - "NO-IntegerHighMax", - "NO-IntegerHighMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerHighMax_tags_1, - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerHighMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerHighMax_tags_1) - /sizeof(asn_DEF_NO_IntegerHighMax_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerHighMax_constr_1, NO_IntegerHighMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerLowestMax] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerLowestMax] >>> ***/ - -typedef INTEGER_t NO_IntegerLowestMax_t; - -/*** <<< FUNC-DECLS [NO-IntegerLowestMax] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax; -asn_struct_free_f NO_IntegerLowestMax_free; -asn_struct_print_f NO_IntegerLowestMax_print; -asn_constr_check_f NO_IntegerLowestMax_constraint; -ber_type_decoder_f NO_IntegerLowestMax_decode_ber; -der_type_encoder_f NO_IntegerLowestMax_encode_der; -xer_type_decoder_f NO_IntegerLowestMax_decode_xer; -xer_type_encoder_f NO_IntegerLowestMax_encode_xer; -per_type_decoder_f NO_IntegerLowestMax_decode_uper; -per_type_encoder_f NO_IntegerLowestMax_encode_uper; -per_type_decoder_f NO_IntegerLowestMax_decode_aper; -per_type_encoder_f NO_IntegerLowestMax_encode_aper; - -/*** <<< CODE [NO-IntegerLowestMax] >>> ***/ - -int -NO_IntegerLowestMax_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const INTEGER_t *st = (const INTEGER_t *)sptr; - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(asn_INTEGER2long(st, &value)) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value too large (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if((value >= -3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerLowestMax] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerLowestMax_constr_1 CC_NOTUSED = { - { APC_SEMI_CONSTRAINED, -1, -1, -3000000000, 0 } /* (-3000000000..MAX) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerLowestMax] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerLowestMax_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerLowestMax = { - "NO-IntegerLowestMax", - "NO-IntegerLowestMax", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerLowestMax_tags_1, - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerLowestMax_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerLowestMax_tags_1) - /sizeof(asn_DEF_NO_IntegerLowestMax_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerLowestMax_constr_1, NO_IntegerLowestMax_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutRange] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutRange] >>> ***/ - -typedef unsigned long NO_IntegerOutRange_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutRange] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange; -asn_struct_free_f NO_IntegerOutRange_free; -asn_struct_print_f NO_IntegerOutRange_print; -asn_constr_check_f NO_IntegerOutRange_constraint; -ber_type_decoder_f NO_IntegerOutRange_decode_ber; -der_type_encoder_f NO_IntegerOutRange_encode_der; -xer_type_decoder_f NO_IntegerOutRange_decode_xer; -xer_type_encoder_f NO_IntegerOutRange_encode_xer; -per_type_decoder_f NO_IntegerOutRange_decode_uper; -per_type_encoder_f NO_IntegerOutRange_encode_uper; -per_type_decoder_f NO_IntegerOutRange_decode_aper; -per_type_encoder_f NO_IntegerOutRange_encode_aper; - -/*** <<< CODE [NO-IntegerOutRange] >>> ***/ - -int -NO_IntegerOutRange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value >= 3000000000 && value <= 3000000001)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerOutRange] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerOutRange_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, -1, 3000000000, 3000000001 } /* (3000000000..3000000001) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerOutRange] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutRange_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutRange_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutRange = { - "NO-IntegerOutRange", - "NO-IntegerOutRange", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutRange_tags_1, - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutRange_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutRange_tags_1) - /sizeof(asn_DEF_NO_IntegerOutRange_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerOutRange_constr_1, NO_IntegerOutRange_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutRange_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [NO-IntegerOutValue] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerOutValue] >>> ***/ - -typedef unsigned long NO_IntegerOutValue_t; - -/*** <<< FUNC-DECLS [NO-IntegerOutValue] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue; -asn_struct_free_f NO_IntegerOutValue_free; -asn_struct_print_f NO_IntegerOutValue_print; -asn_constr_check_f NO_IntegerOutValue_constraint; -ber_type_decoder_f NO_IntegerOutValue_decode_ber; -der_type_encoder_f NO_IntegerOutValue_encode_der; -xer_type_decoder_f NO_IntegerOutValue_decode_xer; -xer_type_encoder_f NO_IntegerOutValue_encode_xer; -per_type_decoder_f NO_IntegerOutValue_decode_uper; -per_type_encoder_f NO_IntegerOutValue_encode_uper; -per_type_decoder_f NO_IntegerOutValue_decode_aper; -per_type_encoder_f NO_IntegerOutValue_encode_aper; - -/*** <<< CODE [NO-IntegerOutValue] >>> ***/ - -int -NO_IntegerOutValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - unsigned long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const unsigned long *)sptr; - - if((value == 3000000000)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerOutValue] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerOutValue_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 0, -1, 3000000000, 3000000000 } /* (3000000000..3000000000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerOutValue] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerOutValue_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerOutValue_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerOutValue = { - "NO-IntegerOutValue", - "NO-IntegerOutValue", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerOutValue_tags_1, - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerOutValue_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerOutValue_tags_1) - /sizeof(asn_DEF_NO_IntegerOutValue_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerOutValue_constr_1, NO_IntegerOutValue_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerOutValue_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange1] >>> ***/ - -typedef long OK_IntegerInRange1_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1; -asn_struct_free_f OK_IntegerInRange1_free; -asn_struct_print_f OK_IntegerInRange1_print; -asn_constr_check_f OK_IntegerInRange1_constraint; -ber_type_decoder_f OK_IntegerInRange1_decode_ber; -der_type_encoder_f OK_IntegerInRange1_encode_der; -xer_type_decoder_f OK_IntegerInRange1_decode_xer; -xer_type_encoder_f OK_IntegerInRange1_encode_xer; -per_type_decoder_f OK_IntegerInRange1_decode_uper; -per_type_encoder_f OK_IntegerInRange1_encode_uper; -per_type_decoder_f OK_IntegerInRange1_decode_aper; -per_type_encoder_f OK_IntegerInRange1_encode_aper; - -/*** <<< CODE [OK-IntegerInRange1] >>> ***/ - -int -OK_IntegerInRange1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -100 && value <= 100)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [OK-IntegerInRange1] >>> ***/ - -static asn_per_constraints_t asn_PER_type_OK_IntegerInRange1_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 8, 8, -100, 100 } /* (-100..100) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [OK-IntegerInRange1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange1 = { - "OK-IntegerInRange1", - "OK-IntegerInRange1", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange1_tags_1, - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange1_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange1_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange1_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_OK_IntegerInRange1_constr_1, OK_IntegerInRange1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange2] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange2] >>> ***/ - -typedef long OK_IntegerInRange2_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2; -asn_struct_free_f OK_IntegerInRange2_free; -asn_struct_print_f OK_IntegerInRange2_print; -asn_constr_check_f OK_IntegerInRange2_constraint; -ber_type_decoder_f OK_IntegerInRange2_decode_ber; -der_type_encoder_f OK_IntegerInRange2_encode_der; -xer_type_decoder_f OK_IntegerInRange2_decode_xer; -xer_type_encoder_f OK_IntegerInRange2_encode_xer; -per_type_decoder_f OK_IntegerInRange2_decode_uper; -per_type_encoder_f OK_IntegerInRange2_encode_uper; -per_type_decoder_f OK_IntegerInRange2_decode_aper; -per_type_encoder_f OK_IntegerInRange2_encode_aper; - -/*** <<< CODE [OK-IntegerInRange2] >>> ***/ - -int -OK_IntegerInRange2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == -100) || (value == 100))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [OK-IntegerInRange2] >>> ***/ - -static asn_per_constraints_t asn_PER_type_OK_IntegerInRange2_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 8, 8, -100, 100 } /* (-100..100) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [OK-IntegerInRange2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange2 = { - "OK-IntegerInRange2", - "OK-IntegerInRange2", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange2_tags_1, - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange2_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange2_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange2_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_OK_IntegerInRange2_constr_1, OK_IntegerInRange2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange3] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange3] >>> ***/ - -typedef long OK_IntegerInRange3_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3; -asn_struct_free_f OK_IntegerInRange3_free; -asn_struct_print_f OK_IntegerInRange3_print; -asn_constr_check_f OK_IntegerInRange3_constraint; -ber_type_decoder_f OK_IntegerInRange3_decode_ber; -der_type_encoder_f OK_IntegerInRange3_encode_der; -xer_type_decoder_f OK_IntegerInRange3_decode_xer; -xer_type_encoder_f OK_IntegerInRange3_encode_xer; -per_type_decoder_f OK_IntegerInRange3_decode_uper; -per_type_encoder_f OK_IntegerInRange3_encode_uper; -per_type_decoder_f OK_IntegerInRange3_decode_aper; -per_type_encoder_f OK_IntegerInRange3_encode_aper; - -/*** <<< CODE [OK-IntegerInRange3] >>> ***/ - -int -OK_IntegerInRange3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= (-2147483647L - 1) && value <= 2147483647)) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [OK-IntegerInRange3] >>> ***/ - -static asn_per_constraints_t asn_PER_type_OK_IntegerInRange3_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [OK-IntegerInRange3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange3 = { - "OK-IntegerInRange3", - "OK-IntegerInRange3", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange3_tags_1, - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange3_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange3_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange3_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_OK_IntegerInRange3_constr_1, OK_IntegerInRange3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange4] >>> ***/ - -typedef long OK_IntegerInRange4_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4; -asn_struct_free_f OK_IntegerInRange4_free; -asn_struct_print_f OK_IntegerInRange4_print; -asn_constr_check_f OK_IntegerInRange4_constraint; -ber_type_decoder_f OK_IntegerInRange4_decode_ber; -der_type_encoder_f OK_IntegerInRange4_encode_der; -xer_type_decoder_f OK_IntegerInRange4_decode_xer; -xer_type_encoder_f OK_IntegerInRange4_encode_xer; -per_type_decoder_f OK_IntegerInRange4_decode_uper; -per_type_encoder_f OK_IntegerInRange4_encode_uper; -per_type_decoder_f OK_IntegerInRange4_decode_aper; -per_type_encoder_f OK_IntegerInRange4_encode_aper; - -/*** <<< CODE [OK-IntegerInRange4] >>> ***/ - -int -OK_IntegerInRange4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [OK-IntegerInRange4] >>> ***/ - -static asn_per_constraints_t asn_PER_type_OK_IntegerInRange4_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [OK-IntegerInRange4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange4 = { - "OK-IntegerInRange4", - "OK-IntegerInRange4", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange4_tags_1, - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange4_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange4_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange4_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_OK_IntegerInRange4_constr_1, OK_IntegerInRange4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-IntegerInRange5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-IntegerInRange5] >>> ***/ - -typedef long OK_IntegerInRange5_t; - -/*** <<< FUNC-DECLS [OK-IntegerInRange5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5; -asn_struct_free_f OK_IntegerInRange5_free; -asn_struct_print_f OK_IntegerInRange5_print; -asn_constr_check_f OK_IntegerInRange5_constraint; -ber_type_decoder_f OK_IntegerInRange5_decode_ber; -der_type_encoder_f OK_IntegerInRange5_encode_der; -xer_type_decoder_f OK_IntegerInRange5_decode_xer; -xer_type_encoder_f OK_IntegerInRange5_encode_xer; -per_type_decoder_f OK_IntegerInRange5_decode_uper; -per_type_encoder_f OK_IntegerInRange5_encode_uper; -per_type_decoder_f OK_IntegerInRange5_decode_aper; -per_type_encoder_f OK_IntegerInRange5_encode_aper; - -/*** <<< CODE [OK-IntegerInRange5] >>> ***/ - -int -OK_IntegerInRange5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if(((value == (-2147483647L - 1)) || (value == 2147483647))) { - /* Constraint check succeeded */ - return 0; - } else { - ASN__CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [OK-IntegerInRange5] >>> ***/ - -static asn_per_constraints_t asn_PER_type_OK_IntegerInRange5_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [OK-IntegerInRange5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_IntegerInRange5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_IntegerInRange5 = { - "OK-IntegerInRange5", - "OK-IntegerInRange5", - &asn_OP_NativeInteger, - asn_DEF_OK_IntegerInRange5_tags_1, - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - asn_DEF_OK_IntegerInRange5_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_IntegerInRange5_tags_1) - /sizeof(asn_DEF_OK_IntegerInRange5_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_OK_IntegerInRange5_constr_1, OK_IntegerInRange5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerInRange6] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-IntegerInRange6] >>> ***/ - -typedef unsigned long NO_IntegerInRange6_t; - -/*** <<< FUNC-DECLS [NO-IntegerInRange6] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6; -asn_struct_free_f NO_IntegerInRange6_free; -asn_struct_print_f NO_IntegerInRange6_print; -asn_constr_check_f NO_IntegerInRange6_constraint; -ber_type_decoder_f NO_IntegerInRange6_decode_ber; -der_type_encoder_f NO_IntegerInRange6_encode_der; -xer_type_decoder_f NO_IntegerInRange6_decode_xer; -xer_type_encoder_f NO_IntegerInRange6_encode_xer; -per_type_decoder_f NO_IntegerInRange6_decode_uper; -per_type_encoder_f NO_IntegerInRange6_encode_uper; -per_type_decoder_f NO_IntegerInRange6_decode_aper; -per_type_encoder_f NO_IntegerInRange6_encode_aper; - -/*** <<< CODE [NO-IntegerInRange6] >>> ***/ - -int -NO_IntegerInRange6_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - /* Constraint check succeeded */ - return 0; -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< CTDEFS [NO-IntegerInRange6] >>> ***/ - -static asn_per_constraints_t asn_PER_type_NO_IntegerInRange6_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [NO-IntegerInRange6] >>> ***/ - -static const asn_INTEGER_specifics_t asn_SPC_NO_IntegerInRange6_specs_1 = { - 0, 0, 0, 0, 0, - 0, /* Native long size */ - 1 /* Unsigned representation */ -}; -static const ber_tlv_tag_t asn_DEF_NO_IntegerInRange6_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerInRange6 = { - "NO-IntegerInRange6", - "NO-IntegerInRange6", - &asn_OP_NativeInteger, - asn_DEF_NO_IntegerInRange6_tags_1, - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerInRange6_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerInRange6_tags_1) - /sizeof(asn_DEF_NO_IntegerInRange6_tags_1[0]), /* 1 */ - { 0, &asn_PER_type_NO_IntegerInRange6_constr_1, NO_IntegerInRange6_constraint }, - 0, 0, /* No members */ - &asn_SPC_NO_IntegerInRange6_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [CN-IntegerEnumerated1] >>> ***/ - -#include - -/*** <<< DEPS [CN-IntegerEnumerated1] >>> ***/ - -typedef enum CN_IntegerEnumerated1 { - CN_IntegerEnumerated1_a = 1, - CN_IntegerEnumerated1_b = 2 -} e_CN_IntegerEnumerated1; - -/*** <<< TYPE-DECLS [CN-IntegerEnumerated1] >>> ***/ - -typedef long CN_IntegerEnumerated1_t; - -/*** <<< FUNC-DECLS [CN-IntegerEnumerated1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1; -asn_struct_free_f CN_IntegerEnumerated1_free; -asn_struct_print_f CN_IntegerEnumerated1_print; -asn_constr_check_f CN_IntegerEnumerated1_constraint; -ber_type_decoder_f CN_IntegerEnumerated1_decode_ber; -der_type_encoder_f CN_IntegerEnumerated1_encode_der; -xer_type_decoder_f CN_IntegerEnumerated1_decode_xer; -xer_type_encoder_f CN_IntegerEnumerated1_encode_xer; -per_type_decoder_f CN_IntegerEnumerated1_decode_uper; -per_type_encoder_f CN_IntegerEnumerated1_encode_uper; -per_type_decoder_f CN_IntegerEnumerated1_decode_aper; -per_type_encoder_f CN_IntegerEnumerated1_encode_aper; - -/*** <<< CODE [CN-IntegerEnumerated1] >>> ***/ - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [CN-IntegerEnumerated1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_CN_IntegerEnumerated1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_IntegerEnumerated1 = { - "CN-IntegerEnumerated1", - "CN-IntegerEnumerated1", - &asn_OP_NativeInteger, - asn_DEF_CN_IntegerEnumerated1_tags_1, - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - asn_DEF_CN_IntegerEnumerated1_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1) - /sizeof(asn_DEF_CN_IntegerEnumerated1_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-IntegerEnumerated2] >>> ***/ - -#include - -/*** <<< DEPS [NO-IntegerEnumerated2] >>> ***/ - -typedef enum NO_IntegerEnumerated2 { - NO_IntegerEnumerated2_a = 1, - NO_IntegerEnumerated2_b = 3000000000 -} e_NO_IntegerEnumerated2; - -/*** <<< TYPE-DECLS [NO-IntegerEnumerated2] >>> ***/ - -typedef INTEGER_t NO_IntegerEnumerated2_t; - -/*** <<< FUNC-DECLS [NO-IntegerEnumerated2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2; -asn_struct_free_f NO_IntegerEnumerated2_free; -asn_struct_print_f NO_IntegerEnumerated2_print; -asn_constr_check_f NO_IntegerEnumerated2_constraint; -ber_type_decoder_f NO_IntegerEnumerated2_decode_ber; -der_type_encoder_f NO_IntegerEnumerated2_encode_der; -xer_type_decoder_f NO_IntegerEnumerated2_decode_xer; -xer_type_encoder_f NO_IntegerEnumerated2_encode_xer; -per_type_decoder_f NO_IntegerEnumerated2_decode_uper; -per_type_encoder_f NO_IntegerEnumerated2_encode_uper; -per_type_decoder_f NO_IntegerEnumerated2_decode_aper; -per_type_encoder_f NO_IntegerEnumerated2_encode_aper; - -/*** <<< CODE [NO-IntegerEnumerated2] >>> ***/ - -/* - * This type is implemented using INTEGER, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-IntegerEnumerated2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_IntegerEnumerated2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_IntegerEnumerated2 = { - "NO-IntegerEnumerated2", - "NO-IntegerEnumerated2", - &asn_OP_INTEGER, - asn_DEF_NO_IntegerEnumerated2_tags_1, - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - asn_DEF_NO_IntegerEnumerated2_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1) - /sizeof(asn_DEF_NO_IntegerEnumerated2_tags_1[0]), /* 1 */ - { 0, 0, INTEGER_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1 b/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1 deleted file mode 100644 index 0a8e543..0000000 --- a/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1 +++ /dev/null @@ -1,20 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .91 - -ModuleConditionalIntegerType-with-fblessSIZE - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 91 } -DEFINITIONS ::= -BEGIN - - OK-Integer1 ::= INTEGER (SIZE(1)) - OK-Integer2 ::= INTEGER (SIZE(2)) - OK-Integer3 ::= INTEGER (SIZE(3)) - OK-Integer4 ::= INTEGER (SIZE(4)) - NO-Integer5 ::= INTEGER (SIZE(5)) - -END diff --git a/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE b/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE deleted file mode 100644 index 8205746..0000000 --- a/tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1.-Pfbless-SIZE +++ /dev/null @@ -1,330 +0,0 @@ - -/*** <<< INCLUDES [OK-Integer1] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-Integer1] >>> ***/ - -typedef long OK_Integer1_t; - -/*** <<< FUNC-DECLS [OK-Integer1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_Integer1; -asn_struct_free_f OK_Integer1_free; -asn_struct_print_f OK_Integer1_print; -asn_constr_check_f OK_Integer1_constraint; -ber_type_decoder_f OK_Integer1_decode_ber; -der_type_encoder_f OK_Integer1_encode_der; -xer_type_decoder_f OK_Integer1_decode_xer; -xer_type_encoder_f OK_Integer1_encode_xer; - -/*** <<< CODE [OK-Integer1] >>> ***/ - -int -OK_Integer1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-Integer1] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_Integer1_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_Integer1 = { - "OK-Integer1", - "OK-Integer1", - &asn_OP_NativeInteger, - asn_DEF_OK_Integer1_tags_1, - sizeof(asn_DEF_OK_Integer1_tags_1) - /sizeof(asn_DEF_OK_Integer1_tags_1[0]), /* 1 */ - asn_DEF_OK_Integer1_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_Integer1_tags_1) - /sizeof(asn_DEF_OK_Integer1_tags_1[0]), /* 1 */ - { 0, 0, OK_Integer1_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-Integer2] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-Integer2] >>> ***/ - -typedef long OK_Integer2_t; - -/*** <<< FUNC-DECLS [OK-Integer2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_Integer2; -asn_struct_free_f OK_Integer2_free; -asn_struct_print_f OK_Integer2_print; -asn_constr_check_f OK_Integer2_constraint; -ber_type_decoder_f OK_Integer2_decode_ber; -der_type_encoder_f OK_Integer2_encode_der; -xer_type_decoder_f OK_Integer2_decode_xer; -xer_type_encoder_f OK_Integer2_encode_xer; - -/*** <<< CODE [OK-Integer2] >>> ***/ - -int -OK_Integer2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-Integer2] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_Integer2_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_Integer2 = { - "OK-Integer2", - "OK-Integer2", - &asn_OP_NativeInteger, - asn_DEF_OK_Integer2_tags_1, - sizeof(asn_DEF_OK_Integer2_tags_1) - /sizeof(asn_DEF_OK_Integer2_tags_1[0]), /* 1 */ - asn_DEF_OK_Integer2_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_Integer2_tags_1) - /sizeof(asn_DEF_OK_Integer2_tags_1[0]), /* 1 */ - { 0, 0, OK_Integer2_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-Integer3] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-Integer3] >>> ***/ - -typedef long OK_Integer3_t; - -/*** <<< FUNC-DECLS [OK-Integer3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_Integer3; -asn_struct_free_f OK_Integer3_free; -asn_struct_print_f OK_Integer3_print; -asn_constr_check_f OK_Integer3_constraint; -ber_type_decoder_f OK_Integer3_decode_ber; -der_type_encoder_f OK_Integer3_encode_der; -xer_type_decoder_f OK_Integer3_decode_xer; -xer_type_encoder_f OK_Integer3_encode_xer; - -/*** <<< CODE [OK-Integer3] >>> ***/ - -int -OK_Integer3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-Integer3] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_Integer3_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_Integer3 = { - "OK-Integer3", - "OK-Integer3", - &asn_OP_NativeInteger, - asn_DEF_OK_Integer3_tags_1, - sizeof(asn_DEF_OK_Integer3_tags_1) - /sizeof(asn_DEF_OK_Integer3_tags_1[0]), /* 1 */ - asn_DEF_OK_Integer3_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_Integer3_tags_1) - /sizeof(asn_DEF_OK_Integer3_tags_1[0]), /* 1 */ - { 0, 0, OK_Integer3_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [OK-Integer4] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [OK-Integer4] >>> ***/ - -typedef long OK_Integer4_t; - -/*** <<< FUNC-DECLS [OK-Integer4] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OK_Integer4; -asn_struct_free_f OK_Integer4_free; -asn_struct_print_f OK_Integer4_print; -asn_constr_check_f OK_Integer4_constraint; -ber_type_decoder_f OK_Integer4_decode_ber; -der_type_encoder_f OK_Integer4_encode_der; -xer_type_decoder_f OK_Integer4_decode_xer; -xer_type_encoder_f OK_Integer4_encode_xer; - -/*** <<< CODE [OK-Integer4] >>> ***/ - -int -OK_Integer4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [OK-Integer4] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_OK_Integer4_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_OK_Integer4 = { - "OK-Integer4", - "OK-Integer4", - &asn_OP_NativeInteger, - asn_DEF_OK_Integer4_tags_1, - sizeof(asn_DEF_OK_Integer4_tags_1) - /sizeof(asn_DEF_OK_Integer4_tags_1[0]), /* 1 */ - asn_DEF_OK_Integer4_tags_1, /* Same as above */ - sizeof(asn_DEF_OK_Integer4_tags_1) - /sizeof(asn_DEF_OK_Integer4_tags_1[0]), /* 1 */ - { 0, 0, OK_Integer4_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - - -/*** <<< INCLUDES [NO-Integer5] >>> ***/ - -#include - -/*** <<< TYPE-DECLS [NO-Integer5] >>> ***/ - -typedef long NO_Integer5_t; - -/*** <<< FUNC-DECLS [NO-Integer5] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_NO_Integer5; -asn_struct_free_f NO_Integer5_free; -asn_struct_print_f NO_Integer5_print; -asn_constr_check_f NO_Integer5_constraint; -ber_type_decoder_f NO_Integer5_decode_ber; -der_type_encoder_f NO_Integer5_encode_der; -xer_type_decoder_f NO_Integer5_decode_xer; -xer_type_encoder_f NO_Integer5_encode_xer; - -/*** <<< CODE [NO-Integer5] >>> ***/ - -int -NO_Integer5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [NO-Integer5] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_NO_Integer5_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_NO_Integer5 = { - "NO-Integer5", - "NO-Integer5", - &asn_OP_NativeInteger, - asn_DEF_NO_Integer5_tags_1, - sizeof(asn_DEF_NO_Integer5_tags_1) - /sizeof(asn_DEF_NO_Integer5_tags_1[0]), /* 1 */ - asn_DEF_NO_Integer5_tags_1, /* Same as above */ - sizeof(asn_DEF_NO_Integer5_tags_1) - /sizeof(asn_DEF_NO_Integer5_tags_1[0]), /* 1 */ - { 0, 0, NO_Integer5_constraint }, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 b/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 deleted file mode 100644 index e57312d..0000000 --- a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 +++ /dev/null @@ -1,90 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .92 - -ModuleCircularReferences - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 92 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Everything ::= SEQUENCE { - ch1 Choice1, - ch2 Choice2, - ch3 Choice3, - set Set, - a Alpha, - b Beta, - g Gamma, - ot OneTwo, - tt TwoThree, - to ThreeOne - } - - -- This type refers to the type directly containing itself. - Choice1 ::= CHOICE { - something Everything, - ..., - some2 Everything - } - - Choice2 ::= CHOICE { - typeref TypeRef, - ..., - some3 Everything - } - - Choice3 ::= CHOICE { - a SEQUENCE { - aa Everything - }, - b Everything, - c SEQUENCE OF Choice3 - } - - Set ::= SET OF SEQUENCE { - int INTEGER, - set Set, - seq Sequence, - set2 Set OPTIONAL, - ..., - set3 Set - } - - Sequence ::= SEQUENCE { - a INTEGER, - seq Sequence OPTIONAL, - ..., - b INTEGER, - set Set OPTIONAL - } - - TypeRef ::= Sequence - - Alpha ::= SEQUENCE { - a Beta, - b SEQUENCE { - b Beta OPTIONAL - } - } - - Beta ::= SEQUENCE { - b Alpha OPTIONAL, - g Gamma OPTIONAL - } - - Gamma ::= SEQUENCE { - o TwoThree, - a Alpha, -- expected inline - b Beta -- expected inline - } - - -- This is a true superdependency. - OneTwo ::= SET { m12 TwoThree } - TwoThree ::= SET { m23 ThreeOne } - ThreeOne ::= SET { m31 OneTwo, g Gamma } - -END diff --git a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfindirect-choice b/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfindirect-choice deleted file mode 100644 index bd88d83..0000000 --- a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfindirect-choice +++ /dev/null @@ -1,1496 +0,0 @@ - -/*** <<< INCLUDES [Everything] >>> ***/ - -#include "Set.h" -#include "Alpha.h" -#include "Beta.h" -#include "Gamma.h" -#include "OneTwo.h" -#include "TwoThree.h" -#include "ThreeOne.h" -#include - -/*** <<< FWD-DECLS [Everything] >>> ***/ - -struct Choice1; -struct Choice2; -struct Choice3; - -/*** <<< TYPE-DECLS [Everything] >>> ***/ - -typedef struct Everything { - struct Choice1 *ch1; - struct Choice2 *ch2; - struct Choice3 *ch3; - Set_t set; - Alpha_t a; - Beta_t b; - Gamma_t g; - OneTwo_t ot; - TwoThree_t tt; - ThreeOne_t to; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Everything_t; - -/*** <<< FUNC-DECLS [Everything] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Everything; -extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1; -extern asn_TYPE_member_t asn_MBR_Everything_1[10]; - -/*** <<< POST-INCLUDE [Everything] >>> ***/ - -#include "Choice1.h" -#include "Choice2.h" -#include "Choice3.h" - -/*** <<< STAT-DEFS [Everything] >>> ***/ - -asn_TYPE_member_t asn_MBR_Everything_1[] = { - { ATF_POINTER, 0, offsetof(struct Everything, ch1), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch1" - }, - { ATF_POINTER, 0, offsetof(struct Everything, ch2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch2" - }, - { ATF_POINTER, 0, offsetof(struct Everything, ch3), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch3" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, ot), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OneTwo, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ot" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, tt), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "tt" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, to), - .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ThreeOne, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "to" - }, -}; -static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */ - { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = { - sizeof(struct Everything), - offsetof(struct Everything, _asn_ctx), - .tag2el = asn_MAP_Everything_tag2el_1, - .tag2el_count = 10, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Everything = { - "Everything", - "Everything", - &asn_OP_SEQUENCE, - asn_DEF_Everything_tags_1, - sizeof(asn_DEF_Everything_tags_1) - /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */ - asn_DEF_Everything_tags_1, /* Same as above */ - sizeof(asn_DEF_Everything_tags_1) - /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Everything_1, - 10, /* Elements count */ - &asn_SPC_Everything_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice1] >>> ***/ - -#include - -/*** <<< DEPS [Choice1] >>> ***/ - -typedef enum Choice1_PR { - Choice1_PR_NOTHING, /* No components present */ - Choice1_PR_something, - /* Extensions may appear below */ - Choice1_PR_some2 -} Choice1_PR; - -/*** <<< FWD-DECLS [Choice1] >>> ***/ - -struct Everything; - -/*** <<< TYPE-DECLS [Choice1] >>> ***/ - -typedef struct Choice1 { - Choice1_PR present; - union Choice1_u { - struct Everything *something; - /* - * This type is extensible, - * possible extensions are below. - */ - struct Everything *some2; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice1_t; - -/*** <<< FUNC-DECLS [Choice1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice1; -extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice1_1[2]; - -/*** <<< POST-INCLUDE [Choice1] >>> ***/ - -#include "Everything.h" - -/*** <<< STAT-DEFS [Choice1] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice1_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice1, choice.something), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "something" - }, - { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "some2" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = { - sizeof(struct Choice1), - offsetof(struct Choice1, _asn_ctx), - offsetof(struct Choice1, present), - sizeof(((struct Choice1 *)0)->present), - .tag2el = asn_MAP_Choice1_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice1 = { - "Choice1", - "Choice1", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice1_1, - 2, /* Elements count */ - &asn_SPC_Choice1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice2] >>> ***/ - -#include - -/*** <<< DEPS [Choice2] >>> ***/ - -typedef enum Choice2_PR { - Choice2_PR_NOTHING, /* No components present */ - Choice2_PR_typeref, - /* Extensions may appear below */ - Choice2_PR_some3 -} Choice2_PR; - -/*** <<< FWD-DECLS [Choice2] >>> ***/ - -struct TypeRef; -struct Everything; - -/*** <<< TYPE-DECLS [Choice2] >>> ***/ - -typedef struct Choice2 { - Choice2_PR present; - union Choice2_u { - struct TypeRef *typeref; - /* - * This type is extensible, - * possible extensions are below. - */ - struct Everything *some3; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice2_t; - -/*** <<< FUNC-DECLS [Choice2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice2; -extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice2_1[2]; - -/*** <<< POST-INCLUDE [Choice2] >>> ***/ - -#include "TypeRef.h" -#include "Everything.h" - -/*** <<< STAT-DEFS [Choice2] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice2_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice2, choice.typeref), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TypeRef, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "typeref" - }, - { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "some3" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = { - sizeof(struct Choice2), - offsetof(struct Choice2, _asn_ctx), - offsetof(struct Choice2, present), - sizeof(((struct Choice2 *)0)->present), - .tag2el = asn_MAP_Choice2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice2 = { - "Choice2", - "Choice2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 2, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice3] >>> ***/ - -#include -#include -#include -#include - -/*** <<< DEPS [Choice3] >>> ***/ - -typedef enum Choice3_PR { - Choice3_PR_NOTHING, /* No components present */ - Choice3_PR_a, - Choice3_PR_b, - Choice3_PR_c -} Choice3_PR; - -/*** <<< FWD-DECLS [Choice3] >>> ***/ - -struct Everything; -struct Choice3; - -/*** <<< TYPE-DECLS [Choice3] >>> ***/ - -typedef struct Choice3 { - Choice3_PR present; - union Choice3_u { - struct a { - struct Everything *aa; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *a; - struct Everything *b; - struct c { - A_SEQUENCE_OF(struct Choice3) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *c; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice3_t; - -/*** <<< FUNC-DECLS [Choice3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice3; -extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice3_1[3]; - -/*** <<< POST-INCLUDE [Choice3] >>> ***/ - -#include "Everything.h" -#include "Choice3.h" - -/*** <<< STAT-DEFS [Choice3] >>> ***/ - -static asn_TYPE_member_t asn_MBR_a_2[] = { - { ATF_POINTER, 0, offsetof(struct a, aa), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "aa" - }, -}; -static const ber_tlv_tag_t asn_DEF_a_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = { - sizeof(struct a), - offsetof(struct a, _asn_ctx), - .tag2el = asn_MAP_a_tag2el_2, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_a_2 = { - "a", - "a", - &asn_OP_SEQUENCE, - asn_DEF_a_tags_2, - sizeof(asn_DEF_a_tags_2) - /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */ - asn_DEF_a_tags_2, /* Same as above */ - sizeof(asn_DEF_a_tags_2) - /sizeof(asn_DEF_a_tags_2[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_a_2, - 1, /* Elements count */ - &asn_SPC_a_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_c_5[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_Choice3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_c_tags_5[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = { - sizeof(struct c), - offsetof(struct c, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_c_5 = { - "c", - "c", - &asn_OP_SEQUENCE_OF, - asn_DEF_c_tags_5, - sizeof(asn_DEF_c_tags_5) - /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */ - asn_DEF_c_tags_5, /* Same as above */ - sizeof(asn_DEF_c_tags_5) - /sizeof(asn_DEF_c_tags_5[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_c_5, - 1, /* Single element */ - &asn_SPC_c_specs_5 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Choice3_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice3, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_a_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 0, offsetof(struct Choice3, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 0, offsetof(struct Choice3, choice.c), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_c_5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = { - sizeof(struct Choice3), - offsetof(struct Choice3, _asn_ctx), - offsetof(struct Choice3, present), - sizeof(((struct Choice3 *)0)->present), - .tag2el = asn_MAP_Choice3_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice3 = { - "Choice3", - "Choice3", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice3_1, - 3, /* Elements count */ - &asn_SPC_Choice3_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Set] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [Set] >>> ***/ - -struct Set; -struct Sequence; - -/*** <<< FWD-DEFS [Set] >>> ***/ - -typedef struct Member { - long Int; - struct Set *set; - struct Sequence *seq; - struct Set *set2; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - struct Set *set3; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Member; - -/*** <<< TYPE-DECLS [Set] >>> ***/ - -typedef struct Set { - A_SET_OF(Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Set_t; - -/*** <<< FUNC-DECLS [Set] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Set; -extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1; -extern asn_TYPE_member_t asn_MBR_Set_1[1]; - -/*** <<< POST-INCLUDE [Set] >>> ***/ - -#include "Set.h" -#include "Sequence.h" - -/*** <<< STAT-DEFS [Set] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Member_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Member, Int), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, - { ATF_POINTER, 0, offsetof(struct Member, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, - { ATF_POINTER, 0, offsetof(struct Member, seq), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seq" - }, - { ATF_POINTER, 2, offsetof(struct Member, set2), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set2" - }, - { ATF_POINTER, 1, offsetof(struct Member, set3), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set3" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { - sizeof(struct Member), - offsetof(struct Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_2, - .tag2el_count = 5, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 4, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_2 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_2, - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - asn_DEF_Member_tags_2, /* Same as above */ - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_2, - 5, /* Elements count */ - &asn_SPC_Member_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Set_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = { - sizeof(struct Set), - offsetof(struct Set, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Set = { - "Set", - "Set", - &asn_OP_SET_OF, - asn_DEF_Set_tags_1, - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - asn_DEF_Set_tags_1, /* Same as above */ - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Set_1, - 1, /* Single element */ - &asn_SPC_Set_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Sequence] >>> ***/ - -struct Sequence; -struct Set; - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - long a; - struct Sequence *seq; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - long *b; - struct Set *set; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[4]; - -/*** <<< POST-INCLUDE [Sequence] >>> ***/ - -#include "Sequence.h" -#include "Set.h" - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Sequence, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 3, offsetof(struct Sequence, seq), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seq" - }, - { ATF_POINTER, 2, offsetof(struct Sequence, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, -}; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 4, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [TypeRef] >>> ***/ - -#include "Sequence.h" - -/*** <<< TYPE-DECLS [TypeRef] >>> ***/ - -typedef Sequence_t TypeRef_t; - -/*** <<< FUNC-DECLS [TypeRef] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TypeRef; -asn_struct_free_f TypeRef_free; -asn_struct_print_f TypeRef_print; -asn_constr_check_f TypeRef_constraint; -ber_type_decoder_f TypeRef_decode_ber; -der_type_encoder_f TypeRef_encode_der; -xer_type_decoder_f TypeRef_decode_xer; -xer_type_encoder_f TypeRef_encode_xer; - -/*** <<< CODE [TypeRef] >>> ***/ - -/* - * This type is implemented using Sequence, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [TypeRef] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TypeRef = { - "TypeRef", - "TypeRef", - &asn_OP_SEQUENCE, - asn_DEF_TypeRef_tags_1, - sizeof(asn_DEF_TypeRef_tags_1) - /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */ - asn_DEF_TypeRef_tags_1, /* Same as above */ - sizeof(asn_DEF_TypeRef_tags_1) - /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 4, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Alpha] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Alpha] >>> ***/ - -struct Beta; - -/*** <<< TYPE-DECLS [Alpha] >>> ***/ - -typedef struct Alpha { - struct Beta *a; - struct b { - struct Beta *b; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Alpha_t; - -/*** <<< FUNC-DECLS [Alpha] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Alpha; -extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1; -extern asn_TYPE_member_t asn_MBR_Alpha_1[2]; - -/*** <<< POST-INCLUDE [Alpha] >>> ***/ - -#include "Beta.h" - -/*** <<< STAT-DEFS [Alpha] >>> ***/ - -static asn_TYPE_member_t asn_MBR_b_3[] = { - { ATF_POINTER, 1, offsetof(struct b, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_b_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = { - sizeof(struct b), - offsetof(struct b, _asn_ctx), - .tag2el = asn_MAP_b_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_b_3 = { - "b", - "b", - &asn_OP_SEQUENCE, - asn_DEF_b_tags_3, - sizeof(asn_DEF_b_tags_3) - /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */ - asn_DEF_b_tags_3, /* Same as above */ - sizeof(asn_DEF_b_tags_3) - /sizeof(asn_DEF_b_tags_3[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_b_3, - 1, /* Elements count */ - &asn_SPC_b_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Alpha_1[] = { - { ATF_POINTER, 0, offsetof(struct Alpha, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Alpha, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_b_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = { - sizeof(struct Alpha), - offsetof(struct Alpha, _asn_ctx), - .tag2el = asn_MAP_Alpha_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Alpha = { - "Alpha", - "Alpha", - &asn_OP_SEQUENCE, - asn_DEF_Alpha_tags_1, - sizeof(asn_DEF_Alpha_tags_1) - /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */ - asn_DEF_Alpha_tags_1, /* Same as above */ - sizeof(asn_DEF_Alpha_tags_1) - /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Alpha_1, - 2, /* Elements count */ - &asn_SPC_Alpha_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Beta] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Beta] >>> ***/ - -struct Alpha; -struct Gamma; - -/*** <<< TYPE-DECLS [Beta] >>> ***/ - -typedef struct Beta { - struct Alpha *b; /* OPTIONAL */ - struct Gamma *g; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Beta_t; - -/*** <<< FUNC-DECLS [Beta] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Beta; -extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1; -extern asn_TYPE_member_t asn_MBR_Beta_1[2]; - -/*** <<< POST-INCLUDE [Beta] >>> ***/ - -#include "Alpha.h" -#include "Gamma.h" - -/*** <<< STAT-DEFS [Beta] >>> ***/ - -asn_TYPE_member_t asn_MBR_Beta_1[] = { - { ATF_POINTER, 2, offsetof(struct Beta, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 1, offsetof(struct Beta, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, -}; -static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = { - sizeof(struct Beta), - offsetof(struct Beta, _asn_ctx), - .tag2el = asn_MAP_Beta_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Beta = { - "Beta", - "Beta", - &asn_OP_SEQUENCE, - asn_DEF_Beta_tags_1, - sizeof(asn_DEF_Beta_tags_1) - /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */ - asn_DEF_Beta_tags_1, /* Same as above */ - sizeof(asn_DEF_Beta_tags_1) - /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Beta_1, - 2, /* Elements count */ - &asn_SPC_Beta_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Gamma] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Gamma] >>> ***/ - -struct TwoThree; -struct Alpha; -struct Beta; - -/*** <<< TYPE-DECLS [Gamma] >>> ***/ - -typedef struct Gamma { - struct TwoThree *o; - struct Alpha *a; - struct Beta *b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Gamma_t; - -/*** <<< FUNC-DECLS [Gamma] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Gamma; -extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1; -extern asn_TYPE_member_t asn_MBR_Gamma_1[3]; - -/*** <<< POST-INCLUDE [Gamma] >>> ***/ - -#include "TwoThree.h" -#include "Alpha.h" -#include "Beta.h" - -/*** <<< STAT-DEFS [Gamma] >>> ***/ - -asn_TYPE_member_t asn_MBR_Gamma_1[] = { - { ATF_POINTER, 0, offsetof(struct Gamma, o), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "o" - }, - { ATF_POINTER, 0, offsetof(struct Gamma, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 0, offsetof(struct Gamma, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = { - sizeof(struct Gamma), - offsetof(struct Gamma, _asn_ctx), - .tag2el = asn_MAP_Gamma_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Gamma = { - "Gamma", - "Gamma", - &asn_OP_SEQUENCE, - asn_DEF_Gamma_tags_1, - sizeof(asn_DEF_Gamma_tags_1) - /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */ - asn_DEF_Gamma_tags_1, /* Same as above */ - sizeof(asn_DEF_Gamma_tags_1) - /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Gamma_1, - 3, /* Elements count */ - &asn_SPC_Gamma_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [OneTwo] >>> ***/ - -#include - -/*** <<< DEPS [OneTwo] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum OneTwo_PR { - OneTwo_PR_m12, /* Member m12 is present */ -} OneTwo_PR; - -/*** <<< FWD-DECLS [OneTwo] >>> ***/ - -struct TwoThree; - -/*** <<< TYPE-DECLS [OneTwo] >>> ***/ - -typedef struct OneTwo { - struct TwoThree *m12; - - /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} OneTwo_t; - -/*** <<< FUNC-DECLS [OneTwo] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OneTwo; -extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1; -extern asn_TYPE_member_t asn_MBR_OneTwo_1[1]; - -/*** <<< POST-INCLUDE [OneTwo] >>> ***/ - -#include "TwoThree.h" - -/*** <<< STAT-DEFS [OneTwo] >>> ***/ - -asn_TYPE_member_t asn_MBR_OneTwo_1[] = { - { ATF_POINTER, 0, offsetof(struct OneTwo, m12), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m12" - }, -}; -static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */ -}; -static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = { - sizeof(struct OneTwo), - offsetof(struct OneTwo, _asn_ctx), - offsetof(struct OneTwo, _presence_map), - .tag2el = asn_MAP_OneTwo_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_OneTwo_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_OneTwo = { - "OneTwo", - "OneTwo", - &asn_OP_SET, - asn_DEF_OneTwo_tags_1, - sizeof(asn_DEF_OneTwo_tags_1) - /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */ - asn_DEF_OneTwo_tags_1, /* Same as above */ - sizeof(asn_DEF_OneTwo_tags_1) - /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_OneTwo_1, - 1, /* Elements count */ - &asn_SPC_OneTwo_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [TwoThree] >>> ***/ - -#include - -/*** <<< DEPS [TwoThree] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum TwoThree_PR { - TwoThree_PR_m23, /* Member m23 is present */ -} TwoThree_PR; - -/*** <<< FWD-DECLS [TwoThree] >>> ***/ - -struct ThreeOne; - -/*** <<< TYPE-DECLS [TwoThree] >>> ***/ - -typedef struct TwoThree { - struct ThreeOne *m23; - - /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TwoThree_t; - -/*** <<< FUNC-DECLS [TwoThree] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TwoThree; -extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1; -extern asn_TYPE_member_t asn_MBR_TwoThree_1[1]; - -/*** <<< POST-INCLUDE [TwoThree] >>> ***/ - -#include "ThreeOne.h" - -/*** <<< STAT-DEFS [TwoThree] >>> ***/ - -asn_TYPE_member_t asn_MBR_TwoThree_1[] = { - { ATF_POINTER, 0, offsetof(struct TwoThree, m23), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ThreeOne, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m23" - }, -}; -static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */ -}; -static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = { - sizeof(struct TwoThree), - offsetof(struct TwoThree, _asn_ctx), - offsetof(struct TwoThree, _presence_map), - .tag2el = asn_MAP_TwoThree_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_TwoThree_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_TwoThree = { - "TwoThree", - "TwoThree", - &asn_OP_SET, - asn_DEF_TwoThree_tags_1, - sizeof(asn_DEF_TwoThree_tags_1) - /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */ - asn_DEF_TwoThree_tags_1, /* Same as above */ - sizeof(asn_DEF_TwoThree_tags_1) - /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_TwoThree_1, - 1, /* Elements count */ - &asn_SPC_TwoThree_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ThreeOne] >>> ***/ - -#include - -/*** <<< DEPS [ThreeOne] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum ThreeOne_PR { - ThreeOne_PR_m31, /* Member m31 is present */ - ThreeOne_PR_g, /* Member g is present */ -} ThreeOne_PR; - -/*** <<< FWD-DECLS [ThreeOne] >>> ***/ - -struct OneTwo; -struct Gamma; - -/*** <<< TYPE-DECLS [ThreeOne] >>> ***/ - -typedef struct ThreeOne { - struct OneTwo *m31; - struct Gamma *g; - - /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */ - unsigned int _presence_map - [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ThreeOne_t; - -/*** <<< FUNC-DECLS [ThreeOne] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ThreeOne; -extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1; -extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2]; - -/*** <<< POST-INCLUDE [ThreeOne] >>> ***/ - -#include "OneTwo.h" -#include "Gamma.h" - -/*** <<< STAT-DEFS [ThreeOne] >>> ***/ - -asn_TYPE_member_t asn_MBR_ThreeOne_1[] = { - { ATF_POINTER, 0, offsetof(struct ThreeOne, m31), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OneTwo, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m31" - }, - { ATF_POINTER, 0, offsetof(struct ThreeOne, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, -}; -static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */ -}; -static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (1 << 6) -}; -asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = { - sizeof(struct ThreeOne), - offsetof(struct ThreeOne, _asn_ctx), - offsetof(struct ThreeOne, _presence_map), - .tag2el = asn_MAP_ThreeOne_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - asn_MAP_ThreeOne_tag2el_1, /* Same as above */ - 2, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_ThreeOne = { - "ThreeOne", - "ThreeOne", - &asn_OP_SET, - asn_DEF_ThreeOne_tags_1, - sizeof(asn_DEF_ThreeOne_tags_1) - /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */ - asn_DEF_ThreeOne_tags_1, /* Same as above */ - sizeof(asn_DEF_ThreeOne_tags_1) - /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_ThreeOne_1, - 2, /* Elements count */ - &asn_SPC_ThreeOne_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfwide-types deleted file mode 100644 index 86eafc7..0000000 --- a/tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,1495 +0,0 @@ - -/*** <<< INCLUDES [Everything] >>> ***/ - -#include "Set.h" -#include "Alpha.h" -#include "Beta.h" -#include "Gamma.h" -#include "OneTwo.h" -#include "TwoThree.h" -#include "ThreeOne.h" -#include - -/*** <<< FWD-DECLS [Everything] >>> ***/ - -struct Choice1; -struct Choice2; -struct Choice3; - -/*** <<< TYPE-DECLS [Everything] >>> ***/ - -typedef struct Everything { - struct Choice1 *ch1; - struct Choice2 *ch2; - struct Choice3 *ch3; - Set_t set; - Alpha_t a; - Beta_t b; - Gamma_t g; - OneTwo_t ot; - TwoThree_t tt; - ThreeOne_t to; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Everything_t; - -/*** <<< FUNC-DECLS [Everything] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Everything; -extern asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1; -extern asn_TYPE_member_t asn_MBR_Everything_1[10]; - -/*** <<< POST-INCLUDE [Everything] >>> ***/ - -#include "Choice1.h" -#include "Choice2.h" -#include "Choice3.h" - -/*** <<< STAT-DEFS [Everything] >>> ***/ - -asn_TYPE_member_t asn_MBR_Everything_1[] = { - { ATF_POINTER, 0, offsetof(struct Everything, ch1), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice1, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch1" - }, - { ATF_POINTER, 0, offsetof(struct Everything, ch2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch2" - }, - { ATF_POINTER, 0, offsetof(struct Everything, ch3), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_Choice3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch3" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, ot), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OneTwo, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ot" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, tt), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "tt" - }, - { ATF_NOFLAGS, 0, offsetof(struct Everything, to), - .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ThreeOne, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "to" - }, -}; -static const ber_tlv_tag_t asn_DEF_Everything_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Everything_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ch1 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ch2 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ch3 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* g */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ot */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* tt */ - { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* to */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Everything_specs_1 = { - sizeof(struct Everything), - offsetof(struct Everything, _asn_ctx), - .tag2el = asn_MAP_Everything_tag2el_1, - .tag2el_count = 10, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Everything = { - "Everything", - "Everything", - &asn_OP_SEQUENCE, - asn_DEF_Everything_tags_1, - sizeof(asn_DEF_Everything_tags_1) - /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */ - asn_DEF_Everything_tags_1, /* Same as above */ - sizeof(asn_DEF_Everything_tags_1) - /sizeof(asn_DEF_Everything_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Everything_1, - 10, /* Elements count */ - &asn_SPC_Everything_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice1] >>> ***/ - -#include - -/*** <<< DEPS [Choice1] >>> ***/ - -typedef enum Choice1_PR { - Choice1_PR_NOTHING, /* No components present */ - Choice1_PR_something, - /* Extensions may appear below */ - Choice1_PR_some2 -} Choice1_PR; - -/*** <<< FWD-DECLS [Choice1] >>> ***/ - -struct Everything; - -/*** <<< TYPE-DECLS [Choice1] >>> ***/ - -typedef struct Choice1 { - Choice1_PR present; - union Choice1_u { - struct Everything *something; - /* - * This type is extensible, - * possible extensions are below. - */ - struct Everything *some2; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice1_t; - -/*** <<< FUNC-DECLS [Choice1] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice1; -extern asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice1_1[2]; - -/*** <<< POST-INCLUDE [Choice1] >>> ***/ - -#include "Everything.h" - -/*** <<< STAT-DEFS [Choice1] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice1_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice1, choice.something), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "something" - }, - { ATF_POINTER, 0, offsetof(struct Choice1, choice.some2), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "some2" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice1_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* something */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some2 */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice1_specs_1 = { - sizeof(struct Choice1), - offsetof(struct Choice1, _asn_ctx), - offsetof(struct Choice1, present), - sizeof(((struct Choice1 *)0)->present), - .tag2el = asn_MAP_Choice1_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice1 = { - "Choice1", - "Choice1", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice1_1, - 2, /* Elements count */ - &asn_SPC_Choice1_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice2] >>> ***/ - -#include "TypeRef.h" -#include - -/*** <<< DEPS [Choice2] >>> ***/ - -typedef enum Choice2_PR { - Choice2_PR_NOTHING, /* No components present */ - Choice2_PR_typeref, - /* Extensions may appear below */ - Choice2_PR_some3 -} Choice2_PR; - -/*** <<< FWD-DECLS [Choice2] >>> ***/ - -struct Everything; - -/*** <<< TYPE-DECLS [Choice2] >>> ***/ - -typedef struct Choice2 { - Choice2_PR present; - union Choice2_u { - TypeRef_t typeref; - /* - * This type is extensible, - * possible extensions are below. - */ - struct Everything *some3; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice2_t; - -/*** <<< FUNC-DECLS [Choice2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice2; -extern asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice2_1[2]; - -/*** <<< POST-INCLUDE [Choice2] >>> ***/ - -#include "Everything.h" - -/*** <<< STAT-DEFS [Choice2] >>> ***/ - -asn_TYPE_member_t asn_MBR_Choice2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.typeref), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TypeRef, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "typeref" - }, - { ATF_POINTER, 0, offsetof(struct Choice2, choice.some3), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "some3" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeref */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* some3 */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = { - sizeof(struct Choice2), - offsetof(struct Choice2, _asn_ctx), - offsetof(struct Choice2, present), - sizeof(((struct Choice2 *)0)->present), - .tag2el = asn_MAP_Choice2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice2 = { - "Choice2", - "Choice2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 2, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice3] >>> ***/ - -#include -#include -#include -#include - -/*** <<< DEPS [Choice3] >>> ***/ - -typedef enum Choice3_PR { - Choice3_PR_NOTHING, /* No components present */ - Choice3_PR_a, - Choice3_PR_b, - Choice3_PR_c -} Choice3_PR; - -/*** <<< FWD-DECLS [Choice3] >>> ***/ - -struct Everything; -struct Choice3; - -/*** <<< TYPE-DECLS [Choice3] >>> ***/ - -typedef struct Choice3 { - Choice3_PR present; - union Choice3_u { - struct a { - struct Everything *aa; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } a; - struct Everything *b; - struct c { - A_SEQUENCE_OF(struct Choice3) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } c; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice3_t; - -/*** <<< FUNC-DECLS [Choice3] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice3; -extern asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1; -extern asn_TYPE_member_t asn_MBR_Choice3_1[3]; - -/*** <<< POST-INCLUDE [Choice3] >>> ***/ - -#include "Everything.h" -#include "Choice3.h" - -/*** <<< STAT-DEFS [Choice3] >>> ***/ - -static asn_TYPE_member_t asn_MBR_a_2[] = { - { ATF_POINTER, 0, offsetof(struct a, aa), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "aa" - }, -}; -static const ber_tlv_tag_t asn_DEF_a_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_a_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aa */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_a_specs_2 = { - sizeof(struct a), - offsetof(struct a, _asn_ctx), - .tag2el = asn_MAP_a_tag2el_2, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_a_2 = { - "a", - "a", - &asn_OP_SEQUENCE, - asn_DEF_a_tags_2, - sizeof(asn_DEF_a_tags_2) - /sizeof(asn_DEF_a_tags_2[0]) - 1, /* 1 */ - asn_DEF_a_tags_2, /* Same as above */ - sizeof(asn_DEF_a_tags_2) - /sizeof(asn_DEF_a_tags_2[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_a_2, - 1, /* Elements count */ - &asn_SPC_a_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_c_5[] = { - { ATF_POINTER, 0, 0, - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_Choice3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_c_tags_5[] = { - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_c_specs_5 = { - sizeof(struct c), - offsetof(struct c, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_c_5 = { - "c", - "c", - &asn_OP_SEQUENCE_OF, - asn_DEF_c_tags_5, - sizeof(asn_DEF_c_tags_5) - /sizeof(asn_DEF_c_tags_5[0]) - 1, /* 1 */ - asn_DEF_c_tags_5, /* Same as above */ - sizeof(asn_DEF_c_tags_5) - /sizeof(asn_DEF_c_tags_5[0]), /* 2 */ - { 0, 0, SEQUENCE_OF_constraint }, - asn_MBR_c_5, - 1, /* Single element */ - &asn_SPC_c_specs_5 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Choice3_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_a_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 0, offsetof(struct Choice3, choice.b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Everything, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice3, choice.c), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_c_5, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "c" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice3_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* c */ -}; -asn_CHOICE_specifics_t asn_SPC_Choice3_specs_1 = { - sizeof(struct Choice3), - offsetof(struct Choice3, _asn_ctx), - offsetof(struct Choice3, present), - sizeof(((struct Choice3 *)0)->present), - .tag2el = asn_MAP_Choice3_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice3 = { - "Choice3", - "Choice3", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice3_1, - 3, /* Elements count */ - &asn_SPC_Choice3_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Set] >>> ***/ - -#include -#include -#include -#include - -/*** <<< FWD-DECLS [Set] >>> ***/ - -struct Set; -struct Sequence; - -/*** <<< FWD-DEFS [Set] >>> ***/ - -typedef struct Member { - INTEGER_t Int; - struct Set *set; - struct Sequence *seq; - struct Set *set2; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - struct Set *set3; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Member; - -/*** <<< TYPE-DECLS [Set] >>> ***/ - -typedef struct Set { - A_SET_OF(Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Set_t; - -/*** <<< FUNC-DECLS [Set] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Set; -extern asn_SET_OF_specifics_t asn_SPC_Set_specs_1; -extern asn_TYPE_member_t asn_MBR_Set_1[1]; - -/*** <<< POST-INCLUDE [Set] >>> ***/ - -#include "Set.h" -#include "Sequence.h" - -/*** <<< STAT-DEFS [Set] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Member_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Member, Int), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, - { ATF_POINTER, 0, offsetof(struct Member, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, - { ATF_POINTER, 0, offsetof(struct Member, seq), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seq" - }, - { ATF_POINTER, 2, offsetof(struct Member, set2), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set2" - }, - { ATF_POINTER, 1, offsetof(struct Member, set3), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set3" - }, -}; -static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* set */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* seq */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* set2 */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* set3 */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { - sizeof(struct Member), - offsetof(struct Member, _asn_ctx), - .tag2el = asn_MAP_Member_tag2el_2, - .tag2el_count = 5, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 4, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_2 = { - "SEQUENCE", - "SEQUENCE", - &asn_OP_SEQUENCE, - asn_DEF_Member_tags_2, - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - asn_DEF_Member_tags_2, /* Same as above */ - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Member_2, - 5, /* Elements count */ - &asn_SPC_Member_specs_2 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Set_1[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - .tag_mode = 0, - .type = &asn_DEF_Member_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -asn_SET_OF_specifics_t asn_SPC_Set_specs_1 = { - sizeof(struct Set), - offsetof(struct Set, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Set = { - "Set", - "Set", - &asn_OP_SET_OF, - asn_DEF_Set_tags_1, - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - asn_DEF_Set_tags_1, /* Same as above */ - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_Set_1, - 1, /* Single element */ - &asn_SPC_Set_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include -#include - -/*** <<< FWD-DECLS [Sequence] >>> ***/ - -struct Sequence; -struct Set; - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - INTEGER_t a; - struct Sequence *seq; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - INTEGER_t *b; - struct Set *set; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[4]; - -/*** <<< POST-INCLUDE [Sequence] >>> ***/ - -#include "Sequence.h" -#include "Set.h" - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Sequence, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 3, offsetof(struct Sequence, seq), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "seq" - }, - { ATF_POINTER, 2, offsetof(struct Sequence, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 1, offsetof(struct Sequence, set), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Set, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "set" - }, -}; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* seq */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* set */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 4, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 2, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 4, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [TypeRef] >>> ***/ - -#include "Sequence.h" - -/*** <<< TYPE-DECLS [TypeRef] >>> ***/ - -typedef Sequence_t TypeRef_t; - -/*** <<< FUNC-DECLS [TypeRef] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TypeRef; -asn_struct_free_f TypeRef_free; -asn_struct_print_f TypeRef_print; -asn_constr_check_f TypeRef_constraint; -ber_type_decoder_f TypeRef_decode_ber; -der_type_encoder_f TypeRef_encode_der; -xer_type_decoder_f TypeRef_decode_xer; -xer_type_encoder_f TypeRef_encode_xer; - -/*** <<< CODE [TypeRef] >>> ***/ - -/* - * This type is implemented using Sequence, - * so here we adjust the DEF accordingly. - */ - -/*** <<< STAT-DEFS [TypeRef] >>> ***/ - -static const ber_tlv_tag_t asn_DEF_TypeRef_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TypeRef = { - "TypeRef", - "TypeRef", - &asn_OP_SEQUENCE, - asn_DEF_TypeRef_tags_1, - sizeof(asn_DEF_TypeRef_tags_1) - /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */ - asn_DEF_TypeRef_tags_1, /* Same as above */ - sizeof(asn_DEF_TypeRef_tags_1) - /sizeof(asn_DEF_TypeRef_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 4, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Alpha] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Alpha] >>> ***/ - -struct Beta; - -/*** <<< TYPE-DECLS [Alpha] >>> ***/ - -typedef struct Alpha { - struct Beta *a; - struct b { - struct Beta *b; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Alpha_t; - -/*** <<< FUNC-DECLS [Alpha] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Alpha; -extern asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1; -extern asn_TYPE_member_t asn_MBR_Alpha_1[2]; - -/*** <<< POST-INCLUDE [Alpha] >>> ***/ - -#include "Beta.h" - -/*** <<< STAT-DEFS [Alpha] >>> ***/ - -static asn_TYPE_member_t asn_MBR_b_3[] = { - { ATF_POINTER, 1, offsetof(struct b, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_b_tags_3[] = { - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_b_tag2el_3[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* b */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_b_specs_3 = { - sizeof(struct b), - offsetof(struct b, _asn_ctx), - .tag2el = asn_MAP_b_tag2el_3, - .tag2el_count = 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_b_3 = { - "b", - "b", - &asn_OP_SEQUENCE, - asn_DEF_b_tags_3, - sizeof(asn_DEF_b_tags_3) - /sizeof(asn_DEF_b_tags_3[0]) - 1, /* 1 */ - asn_DEF_b_tags_3, /* Same as above */ - sizeof(asn_DEF_b_tags_3) - /sizeof(asn_DEF_b_tags_3[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_b_3, - 1, /* Elements count */ - &asn_SPC_b_specs_3 /* Additional specs */ -}; - -asn_TYPE_member_t asn_MBR_Alpha_1[] = { - { ATF_POINTER, 0, offsetof(struct Alpha, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_NOFLAGS, 0, offsetof(struct Alpha, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_b_3, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_Alpha_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Alpha_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* b */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Alpha_specs_1 = { - sizeof(struct Alpha), - offsetof(struct Alpha, _asn_ctx), - .tag2el = asn_MAP_Alpha_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Alpha = { - "Alpha", - "Alpha", - &asn_OP_SEQUENCE, - asn_DEF_Alpha_tags_1, - sizeof(asn_DEF_Alpha_tags_1) - /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */ - asn_DEF_Alpha_tags_1, /* Same as above */ - sizeof(asn_DEF_Alpha_tags_1) - /sizeof(asn_DEF_Alpha_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Alpha_1, - 2, /* Elements count */ - &asn_SPC_Alpha_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Beta] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Beta] >>> ***/ - -struct Alpha; -struct Gamma; - -/*** <<< TYPE-DECLS [Beta] >>> ***/ - -typedef struct Beta { - struct Alpha *b; /* OPTIONAL */ - struct Gamma *g; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Beta_t; - -/*** <<< FUNC-DECLS [Beta] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Beta; -extern asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1; -extern asn_TYPE_member_t asn_MBR_Beta_1[2]; - -/*** <<< POST-INCLUDE [Beta] >>> ***/ - -#include "Alpha.h" -#include "Gamma.h" - -/*** <<< STAT-DEFS [Beta] >>> ***/ - -asn_TYPE_member_t asn_MBR_Beta_1[] = { - { ATF_POINTER, 2, offsetof(struct Beta, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, - { ATF_POINTER, 1, offsetof(struct Beta, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, -}; -static const ber_tlv_tag_t asn_DEF_Beta_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Beta_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* b */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Beta_specs_1 = { - sizeof(struct Beta), - offsetof(struct Beta, _asn_ctx), - .tag2el = asn_MAP_Beta_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Beta = { - "Beta", - "Beta", - &asn_OP_SEQUENCE, - asn_DEF_Beta_tags_1, - sizeof(asn_DEF_Beta_tags_1) - /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */ - asn_DEF_Beta_tags_1, /* Same as above */ - sizeof(asn_DEF_Beta_tags_1) - /sizeof(asn_DEF_Beta_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Beta_1, - 2, /* Elements count */ - &asn_SPC_Beta_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Gamma] >>> ***/ - -#include - -/*** <<< FWD-DECLS [Gamma] >>> ***/ - -struct TwoThree; -struct Alpha; -struct Beta; - -/*** <<< TYPE-DECLS [Gamma] >>> ***/ - -typedef struct Gamma { - struct TwoThree *o; - struct Alpha *a; - struct Beta *b; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Gamma_t; - -/*** <<< FUNC-DECLS [Gamma] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Gamma; -extern asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1; -extern asn_TYPE_member_t asn_MBR_Gamma_1[3]; - -/*** <<< POST-INCLUDE [Gamma] >>> ***/ - -#include "TwoThree.h" -#include "Alpha.h" -#include "Beta.h" - -/*** <<< STAT-DEFS [Gamma] >>> ***/ - -asn_TYPE_member_t asn_MBR_Gamma_1[] = { - { ATF_POINTER, 0, offsetof(struct Gamma, o), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "o" - }, - { ATF_POINTER, 0, offsetof(struct Gamma, a), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Alpha, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "a" - }, - { ATF_POINTER, 0, offsetof(struct Gamma, b), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Beta, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "b" - }, -}; -static const ber_tlv_tag_t asn_DEF_Gamma_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Gamma_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* o */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* a */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Gamma_specs_1 = { - sizeof(struct Gamma), - offsetof(struct Gamma, _asn_ctx), - .tag2el = asn_MAP_Gamma_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Gamma = { - "Gamma", - "Gamma", - &asn_OP_SEQUENCE, - asn_DEF_Gamma_tags_1, - sizeof(asn_DEF_Gamma_tags_1) - /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */ - asn_DEF_Gamma_tags_1, /* Same as above */ - sizeof(asn_DEF_Gamma_tags_1) - /sizeof(asn_DEF_Gamma_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Gamma_1, - 3, /* Elements count */ - &asn_SPC_Gamma_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [OneTwo] >>> ***/ - -#include - -/*** <<< DEPS [OneTwo] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum OneTwo_PR { - OneTwo_PR_m12, /* Member m12 is present */ -} OneTwo_PR; - -/*** <<< FWD-DECLS [OneTwo] >>> ***/ - -struct TwoThree; - -/*** <<< TYPE-DECLS [OneTwo] >>> ***/ - -typedef struct OneTwo { - struct TwoThree *m12; - - /* Presence bitmask: ASN_SET_ISPRESENT(pOneTwo, OneTwo_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} OneTwo_t; - -/*** <<< FUNC-DECLS [OneTwo] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_OneTwo; -extern asn_SET_specifics_t asn_SPC_OneTwo_specs_1; -extern asn_TYPE_member_t asn_MBR_OneTwo_1[1]; - -/*** <<< POST-INCLUDE [OneTwo] >>> ***/ - -#include "TwoThree.h" - -/*** <<< STAT-DEFS [OneTwo] >>> ***/ - -asn_TYPE_member_t asn_MBR_OneTwo_1[] = { - { ATF_POINTER, 0, offsetof(struct OneTwo, m12), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_TwoThree, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m12" - }, -}; -static const ber_tlv_tag_t asn_DEF_OneTwo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_OneTwo_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m12 */ -}; -static const uint8_t asn_MAP_OneTwo_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -asn_SET_specifics_t asn_SPC_OneTwo_specs_1 = { - sizeof(struct OneTwo), - offsetof(struct OneTwo, _asn_ctx), - offsetof(struct OneTwo, _presence_map), - .tag2el = asn_MAP_OneTwo_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_OneTwo_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_OneTwo_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_OneTwo = { - "OneTwo", - "OneTwo", - &asn_OP_SET, - asn_DEF_OneTwo_tags_1, - sizeof(asn_DEF_OneTwo_tags_1) - /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */ - asn_DEF_OneTwo_tags_1, /* Same as above */ - sizeof(asn_DEF_OneTwo_tags_1) - /sizeof(asn_DEF_OneTwo_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_OneTwo_1, - 1, /* Elements count */ - &asn_SPC_OneTwo_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [TwoThree] >>> ***/ - -#include - -/*** <<< DEPS [TwoThree] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum TwoThree_PR { - TwoThree_PR_m23, /* Member m23 is present */ -} TwoThree_PR; - -/*** <<< FWD-DECLS [TwoThree] >>> ***/ - -struct ThreeOne; - -/*** <<< TYPE-DECLS [TwoThree] >>> ***/ - -typedef struct TwoThree { - struct ThreeOne *m23; - - /* Presence bitmask: ASN_SET_ISPRESENT(pTwoThree, TwoThree_PR_x) */ - unsigned int _presence_map - [((1+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TwoThree_t; - -/*** <<< FUNC-DECLS [TwoThree] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TwoThree; -extern asn_SET_specifics_t asn_SPC_TwoThree_specs_1; -extern asn_TYPE_member_t asn_MBR_TwoThree_1[1]; - -/*** <<< POST-INCLUDE [TwoThree] >>> ***/ - -#include "ThreeOne.h" - -/*** <<< STAT-DEFS [TwoThree] >>> ***/ - -asn_TYPE_member_t asn_MBR_TwoThree_1[] = { - { ATF_POINTER, 0, offsetof(struct TwoThree, m23), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_ThreeOne, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m23" - }, -}; -static const ber_tlv_tag_t asn_DEF_TwoThree_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TwoThree_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* m23 */ -}; -static const uint8_t asn_MAP_TwoThree_mmap_1[(1 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) -}; -asn_SET_specifics_t asn_SPC_TwoThree_specs_1 = { - sizeof(struct TwoThree), - offsetof(struct TwoThree, _asn_ctx), - offsetof(struct TwoThree, _presence_map), - .tag2el = asn_MAP_TwoThree_tag2el_1, - .tag2el_count = 1, /* Count of tags in the map */ - asn_MAP_TwoThree_tag2el_1, /* Same as above */ - 1, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_TwoThree_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_TwoThree = { - "TwoThree", - "TwoThree", - &asn_OP_SET, - asn_DEF_TwoThree_tags_1, - sizeof(asn_DEF_TwoThree_tags_1) - /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */ - asn_DEF_TwoThree_tags_1, /* Same as above */ - sizeof(asn_DEF_TwoThree_tags_1) - /sizeof(asn_DEF_TwoThree_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_TwoThree_1, - 1, /* Elements count */ - &asn_SPC_TwoThree_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [ThreeOne] >>> ***/ - -#include - -/*** <<< DEPS [ThreeOne] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum ThreeOne_PR { - ThreeOne_PR_m31, /* Member m31 is present */ - ThreeOne_PR_g, /* Member g is present */ -} ThreeOne_PR; - -/*** <<< FWD-DECLS [ThreeOne] >>> ***/ - -struct OneTwo; -struct Gamma; - -/*** <<< TYPE-DECLS [ThreeOne] >>> ***/ - -typedef struct ThreeOne { - struct OneTwo *m31; - struct Gamma *g; - - /* Presence bitmask: ASN_SET_ISPRESENT(pThreeOne, ThreeOne_PR_x) */ - unsigned int _presence_map - [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ThreeOne_t; - -/*** <<< FUNC-DECLS [ThreeOne] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_ThreeOne; -extern asn_SET_specifics_t asn_SPC_ThreeOne_specs_1; -extern asn_TYPE_member_t asn_MBR_ThreeOne_1[2]; - -/*** <<< POST-INCLUDE [ThreeOne] >>> ***/ - -#include "OneTwo.h" -#include "Gamma.h" - -/*** <<< STAT-DEFS [ThreeOne] >>> ***/ - -asn_TYPE_member_t asn_MBR_ThreeOne_1[] = { - { ATF_POINTER, 0, offsetof(struct ThreeOne, m31), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_OneTwo, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m31" - }, - { ATF_POINTER, 0, offsetof(struct ThreeOne, g), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Gamma, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "g" - }, -}; -static const ber_tlv_tag_t asn_DEF_ThreeOne_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ThreeOne_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m31 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* g */ -}; -static const uint8_t asn_MAP_ThreeOne_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (1 << 6) -}; -asn_SET_specifics_t asn_SPC_ThreeOne_specs_1 = { - sizeof(struct ThreeOne), - offsetof(struct ThreeOne, _asn_ctx), - offsetof(struct ThreeOne, _presence_map), - .tag2el = asn_MAP_ThreeOne_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - asn_MAP_ThreeOne_tag2el_1, /* Same as above */ - 2, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_ThreeOne_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_ThreeOne = { - "ThreeOne", - "ThreeOne", - &asn_OP_SET, - asn_DEF_ThreeOne_tags_1, - sizeof(asn_DEF_ThreeOne_tags_1) - /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */ - asn_DEF_ThreeOne_tags_1, /* Same as above */ - sizeof(asn_DEF_ThreeOne_tags_1) - /sizeof(asn_DEF_ThreeOne_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_ThreeOne_1, - 2, /* Elements count */ - &asn_SPC_ThreeOne_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 b/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 deleted file mode 100644 index b1fb585..0000000 --- a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 +++ /dev/null @@ -1,34 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .93 - -Module-asn1c-controls - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 93 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - Sequence ::= SEQUENCE { - ainl INTEGER, - ---- - aptr INTEGER - } - - Set ::= SET { - ainl Sequence, - ---- - aptr Sequence - } - - Choice ::= CHOICE { - ---- - setof SET OF INTEGER, - ---- - aptr Sequence, - ainl Sequence - } - -END diff --git a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-EF b/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-EF deleted file mode 100644 index 5288379..0000000 --- a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-EF +++ /dev/null @@ -1,26 +0,0 @@ -Module-asn1c-controls { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 93 } -DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - -Sequence ::= SEQUENCE { - ainl [0] IMPLICIT INTEGER, - ---- - aptr [1] IMPLICIT INTEGER -} - -Set ::= SET { - ainl [0] IMPLICIT Sequence, - ---- - aptr [1] IMPLICIT Sequence -} - -Choice ::= CHOICE { - ---- - setof [0] IMPLICIT SET OF INTEGER, - ---- - aptr [1] IMPLICIT Sequence, - ainl [2] IMPLICIT Sequence -} - -END diff --git a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-Pfwide-types deleted file mode 100644 index f02a3aa..0000000 --- a/tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,324 +0,0 @@ - -/*** <<< INCLUDES [Sequence] >>> ***/ - -#include -#include - -/*** <<< TYPE-DECLS [Sequence] >>> ***/ - -typedef struct Sequence { - INTEGER_t ainl; - INTEGER_t *aptr; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sequence_t; - -/*** <<< FUNC-DECLS [Sequence] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Sequence; -extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1; -extern asn_TYPE_member_t asn_MBR_Sequence_1[2]; - -/*** <<< STAT-DEFS [Sequence] >>> ***/ - -asn_TYPE_member_t asn_MBR_Sequence_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Sequence, ainl), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ainl" - }, - { ATF_POINTER, 0, offsetof(struct Sequence, aptr), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "aptr" - }, -}; -static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */ -}; -asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = { - sizeof(struct Sequence), - offsetof(struct Sequence, _asn_ctx), - .tag2el = asn_MAP_Sequence_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Sequence = { - "Sequence", - "Sequence", - &asn_OP_SEQUENCE, - asn_DEF_Sequence_tags_1, - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - asn_DEF_Sequence_tags_1, /* Same as above */ - sizeof(asn_DEF_Sequence_tags_1) - /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Sequence_1, - 2, /* Elements count */ - &asn_SPC_Sequence_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Set] >>> ***/ - -#include "Sequence.h" -#include - -/*** <<< DEPS [Set] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum Set_PR { - Set_PR_ainl, /* Member ainl is present */ - Set_PR_aptr, /* Member aptr is present */ -} Set_PR; - -/*** <<< FWD-DECLS [Set] >>> ***/ - -struct Sequence; - -/*** <<< TYPE-DECLS [Set] >>> ***/ - -typedef struct Set { - Sequence_t ainl; - struct Sequence *aptr; - - /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */ - unsigned int _presence_map - [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Set_t; - -/*** <<< FUNC-DECLS [Set] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Set; - -/*** <<< POST-INCLUDE [Set] >>> ***/ - -#include "Sequence.h" - -/*** <<< STAT-DEFS [Set] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Set_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Set, ainl), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ainl" - }, - { ATF_POINTER, 0, offsetof(struct Set, aptr), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "aptr" - }, -}; -static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */ -}; -static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (1 << 6) -}; -static -asn_SET_specifics_t asn_SPC_Set_specs_1 = { - sizeof(struct Set), - offsetof(struct Set, _asn_ctx), - offsetof(struct Set, _presence_map), - .tag2el = asn_MAP_Set_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - asn_MAP_Set_tag2el_1, /* Same as above */ - 2, /* Count of tags in the CXER map */ - 0, /* Whether extensible */ - (const unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_Set = { - "Set", - "Set", - &asn_OP_SET, - asn_DEF_Set_tags_1, - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - asn_DEF_Set_tags_1, /* Same as above */ - sizeof(asn_DEF_Set_tags_1) - /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_Set_1, - 2, /* Elements count */ - &asn_SPC_Set_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice] >>> ***/ - -#include "Sequence.h" -#include -#include -#include -#include - -/*** <<< DEPS [Choice] >>> ***/ - -typedef enum Choice_PR { - Choice_PR_NOTHING, /* No components present */ - Choice_PR_setof, - Choice_PR_aptr, - Choice_PR_ainl -} Choice_PR; - -/*** <<< FWD-DECLS [Choice] >>> ***/ - -struct Sequence; - -/*** <<< TYPE-DECLS [Choice] >>> ***/ - -typedef struct Choice { - Choice_PR present; - union Choice_u { - struct setof { - A_SET_OF(INTEGER_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *setof; - struct Sequence *aptr; - Sequence_t ainl; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice_t; - -/*** <<< FUNC-DECLS [Choice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice; - -/*** <<< POST-INCLUDE [Choice] >>> ***/ - -#include "Sequence.h" - -/*** <<< STAT-DEFS [Choice] >>> ***/ - -static asn_TYPE_member_t asn_MBR_setof_2[] = { - { ATF_POINTER, 0, 0, - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "" - }, -}; -static const ber_tlv_tag_t asn_DEF_setof_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_setof_specs_2 = { - sizeof(struct setof), - offsetof(struct setof, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_setof_2 = { - "setof", - "setof", - &asn_OP_SET_OF, - asn_DEF_setof_tags_2, - sizeof(asn_DEF_setof_tags_2) - /sizeof(asn_DEF_setof_tags_2[0]) - 1, /* 1 */ - asn_DEF_setof_tags_2, /* Same as above */ - sizeof(asn_DEF_setof_tags_2) - /sizeof(asn_DEF_setof_tags_2[0]), /* 2 */ - { 0, 0, SET_OF_constraint }, - asn_MBR_setof_2, - 1, /* Single element */ - &asn_SPC_setof_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Choice_1[] = { - { ATF_POINTER, 0, offsetof(struct Choice, choice.setof), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = 0, - .type = &asn_DEF_setof_2, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "setof" - }, - { ATF_POINTER, 0, offsetof(struct Choice, choice.aptr), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "aptr" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.ainl), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_Sequence, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ainl" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* setof */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aptr */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ainl */ -}; -static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = { - sizeof(struct Choice), - offsetof(struct Choice, _asn_ctx), - offsetof(struct Choice, present), - sizeof(((struct Choice *)0)->present), - .tag2el = asn_MAP_Choice_tag2el_1, - .tag2el_count = 3, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice = { - "Choice", - "Choice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice_1, - 3, /* Elements count */ - &asn_SPC_Choice_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1 b/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1 deleted file mode 100644 index 665f5e6..0000000 --- a/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1 +++ /dev/null @@ -1,28 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .94 - -ModuleSetOptionals - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 94 } - DEFINITIONS AUTOMATIC TAGS ::= -BEGIN - - TestSet ::= SET { - m0 [0] IMPLICIT VisibleString, - m1 [1] IMPLICIT VisibleString OPTIONAL, - m2 [2] IMPLICIT VisibleString, - m3 [3] IMPLICIT VisibleString, - m4 [4] IMPLICIT VisibleString OPTIONAL, - m5 [5] IMPLICIT VisibleString, - m6 [6] IMPLICIT VisibleString, - m7 [7] IMPLICIT VisibleString, - m8 [8] IMPLICIT VisibleString OPTIONAL, - m9 [9] IMPLICIT VisibleString, - ... - } - -END diff --git a/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1.-P b/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1.-P deleted file mode 100644 index 2ee17ef..0000000 --- a/tests/tests-asn1c-compiler/94-set-optionals-OK.asn1.-P +++ /dev/null @@ -1,196 +0,0 @@ - -/*** <<< INCLUDES [TestSet] >>> ***/ - -#include -#include - -/*** <<< DEPS [TestSet] >>> ***/ - - -/* - * Method of determining the components presence - */ -typedef enum TestSet_PR { - TestSet_PR_m0, /* Member m0 is present */ - TestSet_PR_m1, /* Member m1 is present */ - TestSet_PR_m2, /* Member m2 is present */ - TestSet_PR_m3, /* Member m3 is present */ - TestSet_PR_m4, /* Member m4 is present */ - TestSet_PR_m5, /* Member m5 is present */ - TestSet_PR_m6, /* Member m6 is present */ - TestSet_PR_m7, /* Member m7 is present */ - TestSet_PR_m8, /* Member m8 is present */ - TestSet_PR_m9, /* Member m9 is present */ -} TestSet_PR; - -/*** <<< TYPE-DECLS [TestSet] >>> ***/ - -typedef struct TestSet { - VisibleString_t m0; - VisibleString_t *m1; /* OPTIONAL */ - VisibleString_t m2; - VisibleString_t m3; - VisibleString_t *m4; /* OPTIONAL */ - VisibleString_t m5; - VisibleString_t m6; - VisibleString_t m7; - VisibleString_t *m8; /* OPTIONAL */ - VisibleString_t m9; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Presence bitmask: ASN_SET_ISPRESENT(pTestSet, TestSet_PR_x) */ - unsigned int _presence_map - [((10+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))]; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestSet_t; - -/*** <<< FUNC-DECLS [TestSet] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_TestSet; - -/*** <<< STAT-DEFS [TestSet] >>> ***/ - -static asn_TYPE_member_t asn_MBR_TestSet_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m0), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m0" - }, - { ATF_POINTER, 1, offsetof(struct TestSet, m1), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m1" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m2), - .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m2" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m3), - .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m3" - }, - { ATF_POINTER, 1, offsetof(struct TestSet, m4), - .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m4" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m5), - .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m5" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m6), - .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m6" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m7), - .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m7" - }, - { ATF_POINTER, 1, offsetof(struct TestSet, m8), - .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m8" - }, - { ATF_NOFLAGS, 0, offsetof(struct TestSet, m9), - .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)), - .tag_mode = -1, /* IMPLICIT tag at current level */ - .type = &asn_DEF_VisibleString, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "m9" - }, -}; -static const ber_tlv_tag_t asn_DEF_TestSet_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TestSet_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m0 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m1 */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* m2 */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* m3 */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* m4 */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* m5 */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* m6 */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* m7 */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* m8 */ - { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* m9 */ -}; -static const uint8_t asn_MAP_TestSet_mmap_1[(10 + (8 * sizeof(unsigned int)) - 1) / 8] = { - (1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (0 << 3) | (1 << 2) | (1 << 1) | (1 << 0), - (0 << 7) | (1 << 6) -}; -static -asn_SET_specifics_t asn_SPC_TestSet_specs_1 = { - sizeof(struct TestSet), - offsetof(struct TestSet, _asn_ctx), - offsetof(struct TestSet, _presence_map), - .tag2el = asn_MAP_TestSet_tag2el_1, - .tag2el_count = 10, /* Count of tags in the map */ - asn_MAP_TestSet_tag2el_1, /* Same as above */ - 10, /* Count of tags in the CXER map */ - 1, /* Whether extensible */ - (const unsigned int *)asn_MAP_TestSet_mmap_1 /* Mandatory elements map */ -}; -asn_TYPE_descriptor_t asn_DEF_TestSet = { - "TestSet", - "TestSet", - &asn_OP_SET, - asn_DEF_TestSet_tags_1, - sizeof(asn_DEF_TestSet_tags_1) - /sizeof(asn_DEF_TestSet_tags_1[0]), /* 1 */ - asn_DEF_TestSet_tags_1, /* Same as above */ - sizeof(asn_DEF_TestSet_tags_1) - /sizeof(asn_DEF_TestSet_tags_1[0]), /* 1 */ - { 0, 0, SET_constraint }, - asn_MBR_TestSet_1, - 10, /* Elements count */ - &asn_SPC_TestSet_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1 b/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1 deleted file mode 100644 index 2aeb4f7..0000000 --- a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1 +++ /dev/null @@ -1,30 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .95 - -ModuleCHOICE-PER-Ordering - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 95 } - DEFINITIONS ::= -BEGIN - - Choice ::= CHOICE { - roid RELATIVE-OID, - bitstr BIT STRING, - ch CHOICE { - null NULL, - int INTEGER - }, - ..., - bool BOOLEAN - } - - Choice2 ::= CHOICE { - bitstr [0] BIT STRING, - roid [1] RELATIVE-OID - } - -END diff --git a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pfwide-types deleted file mode 100644 index c5682cd..0000000 --- a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pfwide-types +++ /dev/null @@ -1,260 +0,0 @@ - -/*** <<< INCLUDES [Choice] >>> ***/ - -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [Choice] >>> ***/ - -typedef enum Choice_PR { - Choice_PR_NOTHING, /* No components present */ - Choice_PR_roid, - Choice_PR_bitstr, - Choice_PR_ch, - /* Extensions may appear below */ - Choice_PR_bool -} Choice_PR; -typedef enum ch_PR { - ch_PR_NOTHING, /* No components present */ - ch_PR_null, - ch_PR_int -} ch_PR; - -/*** <<< TYPE-DECLS [Choice] >>> ***/ - -typedef struct Choice { - Choice_PR present; - union Choice_u { - RELATIVE_OID_t roid; - BIT_STRING_t bitstr; - struct ch { - ch_PR present; - union Choice__ch_u { - NULL_t null; - INTEGER_t Int; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ch; - /* - * This type is extensible, - * possible extensions are below. - */ - BOOLEAN_t Bool; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice_t; - -/*** <<< FUNC-DECLS [Choice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice; - -/*** <<< STAT-DEFS [Choice] >>> ***/ - -static asn_TYPE_member_t asn_MBR_ch_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct ch, choice.null), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "null" - }, - { ATF_NOFLAGS, 0, offsetof(struct ch, choice.Int), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_INTEGER, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_ch_tag2el_4[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 0, 0, 0 } /* null */ -}; -static asn_CHOICE_specifics_t asn_SPC_ch_specs_4 = { - sizeof(struct ch), - offsetof(struct ch, _asn_ctx), - offsetof(struct ch, present), - sizeof(((struct ch *)0)->present), - .tag2el = asn_MAP_ch_tag2el_4, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ch_4 = { - "ch", - "ch", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_ch_4, - 2, /* Elements count */ - &asn_SPC_ch_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Choice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.roid), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "roid" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.bitstr), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bitstr" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.ch), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_ch_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.Bool), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bool" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 1, 0, 0 }, /* bitstr */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 2, 0, 0 }, /* null */ - { (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), 0, 0, 0 } /* roid */ -}; -static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = { - sizeof(struct Choice), - offsetof(struct Choice, _asn_ctx), - offsetof(struct Choice, present), - sizeof(((struct Choice *)0)->present), - .tag2el = asn_MAP_Choice_tag2el_1, - .tag2el_count = 5, /* Count of tags in the map */ - 0, 0, - .first_extension = 3 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice = { - "Choice", - "Choice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice_1, - 4, /* Elements count */ - &asn_SPC_Choice_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice2] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Choice2] >>> ***/ - -typedef enum Choice2_PR { - Choice2_PR_NOTHING, /* No components present */ - Choice2_PR_bitstr, - Choice2_PR_roid -} Choice2_PR; - -/*** <<< TYPE-DECLS [Choice2] >>> ***/ - -typedef struct Choice2 { - Choice2_PR present; - union Choice2_u { - BIT_STRING_t bitstr; - RELATIVE_OID_t roid; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice2_t; - -/*** <<< FUNC-DECLS [Choice2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice2; - -/*** <<< STAT-DEFS [Choice2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Choice2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.bitstr), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bitstr" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.roid), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "roid" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bitstr */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* roid */ -}; -static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = { - sizeof(struct Choice2), - offsetof(struct Choice2, _asn_ctx), - offsetof(struct Choice2, present), - sizeof(((struct Choice2 *)0)->present), - .tag2el = asn_MAP_Choice2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice2 = { - "Choice2", - "Choice2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, 0, CHOICE_constraint }, - asn_MBR_Choice2_1, - 2, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER deleted file mode 100644 index ae45367..0000000 --- a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER +++ /dev/null @@ -1,287 +0,0 @@ - -/*** <<< INCLUDES [Choice] >>> ***/ - -#include -#include -#include -#include -#include -#include - -/*** <<< DEPS [Choice] >>> ***/ - -typedef enum Choice_PR { - Choice_PR_NOTHING, /* No components present */ - Choice_PR_roid, - Choice_PR_bitstr, - Choice_PR_ch, - /* Extensions may appear below */ - Choice_PR_bool -} Choice_PR; -typedef enum ch_PR { - ch_PR_NOTHING, /* No components present */ - ch_PR_null, - ch_PR_int -} ch_PR; - -/*** <<< TYPE-DECLS [Choice] >>> ***/ - -typedef struct Choice { - Choice_PR present; - union Choice_u { - RELATIVE_OID_t roid; - BIT_STRING_t bitstr; - struct ch { - ch_PR present; - union Choice__ch_u { - NULL_t null; - long Int; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ch; - /* - * This type is extensible, - * possible extensions are below. - */ - BOOLEAN_t Bool; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice_t; - -/*** <<< FUNC-DECLS [Choice] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice; - -/*** <<< CTDEFS [Choice] >>> ***/ - -static asn_per_constraints_t asn_PER_type_ch_constr_4 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_Choice_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Choice] >>> ***/ - -static asn_TYPE_member_t asn_MBR_ch_4[] = { - { ATF_NOFLAGS, 0, offsetof(struct ch, choice.null), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NULL, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "null" - }, - { ATF_NOFLAGS, 0, offsetof(struct ch, choice.Int), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - .tag_mode = 0, - .type = &asn_DEF_NativeInteger, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "int" - }, -}; -static const unsigned asn_MAP_ch_to_canonical_4[] = { 1, 0 }; -static const unsigned asn_MAP_ch_from_canonical_4[] = { 1, 0 }; -static const asn_TYPE_tag2member_t asn_MAP_ch_tag2el_4[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 0, 0, 0 } /* null */ -}; -static asn_CHOICE_specifics_t asn_SPC_ch_specs_4 = { - sizeof(struct ch), - offsetof(struct ch, _asn_ctx), - offsetof(struct ch, present), - sizeof(((struct ch *)0)->present), - .tag2el = asn_MAP_ch_tag2el_4, - .tag2el_count = 2, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_ch_to_canonical_4, - .from_canonical_order = asn_MAP_ch_from_canonical_4, - .first_extension = -1 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ch_4 = { - "ch", - "ch", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, &asn_PER_type_ch_constr_4, CHOICE_constraint }, - asn_MBR_ch_4, - 2, /* Elements count */ - &asn_SPC_ch_specs_4 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_Choice_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.roid), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "roid" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.bitstr), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bitstr" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.ch), - .tag = -1 /* Ambiguous tag (CHOICE?) */, - .tag_mode = 0, - .type = &asn_DEF_ch_4, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "ch" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.Bool), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), - .tag_mode = 0, - .type = &asn_DEF_BOOLEAN, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bool" - }, -}; -static const unsigned asn_MAP_Choice_to_canonical_1[] = { 2, 1, 0, 3 }; -static const unsigned asn_MAP_Choice_from_canonical_1[] = { 2, 1, 0, 3 }; -static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, 0, 0 }, /* int */ - { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 1, 0, 0 }, /* bitstr */ - { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 2, 0, 0 }, /* null */ - { (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), 0, 0, 0 } /* roid */ -}; -static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = { - sizeof(struct Choice), - offsetof(struct Choice, _asn_ctx), - offsetof(struct Choice, present), - sizeof(((struct Choice *)0)->present), - .tag2el = asn_MAP_Choice_tag2el_1, - .tag2el_count = 5, /* Count of tags in the map */ - .to_canonical_order = asn_MAP_Choice_to_canonical_1, - .from_canonical_order = asn_MAP_Choice_from_canonical_1, - .first_extension = 3 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice = { - "Choice", - "Choice", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, &asn_PER_type_Choice_constr_1, CHOICE_constraint }, - asn_MBR_Choice_1, - 4, /* Elements count */ - &asn_SPC_Choice_specs_1 /* Additional specs */ -}; - - -/*** <<< INCLUDES [Choice2] >>> ***/ - -#include -#include -#include - -/*** <<< DEPS [Choice2] >>> ***/ - -typedef enum Choice2_PR { - Choice2_PR_NOTHING, /* No components present */ - Choice2_PR_bitstr, - Choice2_PR_roid -} Choice2_PR; - -/*** <<< TYPE-DECLS [Choice2] >>> ***/ - -typedef struct Choice2 { - Choice2_PR present; - union Choice2_u { - BIT_STRING_t bitstr; - RELATIVE_OID_t roid; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Choice2_t; - -/*** <<< FUNC-DECLS [Choice2] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Choice2; - -/*** <<< CTDEFS [Choice2] >>> ***/ - -static asn_per_constraints_t asn_PER_type_Choice2_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; - -/*** <<< STAT-DEFS [Choice2] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Choice2_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.bitstr), - .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_BIT_STRING, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "bitstr" - }, - { ATF_NOFLAGS, 0, offsetof(struct Choice2, choice.roid), - .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - .tag_mode = +1, /* EXPLICIT tag at current level */ - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "roid" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Choice2_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bitstr */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* roid */ -}; -static asn_CHOICE_specifics_t asn_SPC_Choice2_specs_1 = { - sizeof(struct Choice2), - offsetof(struct Choice2, _asn_ctx), - offsetof(struct Choice2, present), - sizeof(((struct Choice2 *)0)->present), - .tag2el = asn_MAP_Choice2_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, - .first_extension = -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Choice2 = { - "Choice2", - "Choice2", - &asn_OP_CHOICE, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - { 0, &asn_PER_type_Choice2_constr_1, CHOICE_constraint }, - asn_MBR_Choice2_1, - 2, /* Elements count */ - &asn_SPC_Choice2_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/96-type-identifier-OK.asn1 b/tests/tests-asn1c-compiler/96-type-identifier-OK.asn1 deleted file mode 100644 index 17ce5d3..0000000 --- a/tests/tests-asn1c-compiler/96-type-identifier-OK.asn1 +++ /dev/null @@ -1,22 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .96 - -ModuleTypeIdentifier - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 96 } - DEFINITIONS ::= -BEGIN - - /* - * TYPE-IDENTIFIER shall be automatically available. - */ - T ::= SEQUENCE { - id TYPE-IDENTIFIER.&id, - type TYPE-IDENTIFIER.&Type - } - -END diff --git a/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1 b/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1 deleted file mode 100644 index a956e01..0000000 --- a/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1 +++ /dev/null @@ -1,43 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .97 - -ModuleTypeIdentifier1 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 97 1 } - DEFINITIONS ::= -BEGIN - - /* - * TYPE-IDENTIFIER is resolved to a clause below. - */ - T1 ::= SEQUENCE { - id TYPE-IDENTIFIER.&id2, - type TYPE-IDENTIFIER.&Type - } - - TYPE-IDENTIFIER ::= CLASS { - &id2 OBJECT IDENTIFIER UNIQUE, - &Type - } WITH SYNTAX { [ &Type -- comment --] IDENTIFIED BY &id2 } - -END - -ModuleTypeIdentifier2 - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 97 2 } - DEFINITIONS ::= -BEGIN - - /* - * TYPE-IDENTIFIER is resolved to a default TYPE-IDENTIFIER class. - */ - T2 ::= SEQUENCE { - id TYPE-IDENTIFIER.&id, - type TYPE-IDENTIFIER.&Type - } - -END diff --git a/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1.-EF b/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1.-EF deleted file mode 100644 index 71743b7..0000000 --- a/tests/tests-asn1c-compiler/97-type-identifier-SW.asn1.-EF +++ /dev/null @@ -1,29 +0,0 @@ -ModuleTypeIdentifier1 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 97 1 } -DEFINITIONS ::= -BEGIN - -T1 ::= SEQUENCE { - id TYPE-IDENTIFIER.&id2, - type TYPE-IDENTIFIER.&Type -} - -TYPE-IDENTIFIER ::= CLASS { - &id2 OBJECT IDENTIFIER UNIQUE, - &Type ANY -} WITH SYNTAX { [ &Type ] IDENTIFIED BY &id2 } - - -END - -ModuleTypeIdentifier2 { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 97 2 } -DEFINITIONS ::= -BEGIN - -T2 ::= SEQUENCE { - id TYPE-IDENTIFIER.&id, - type TYPE-IDENTIFIER.&Type -} - -END diff --git a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 deleted file mode 100644 index 211401a..0000000 --- a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 +++ /dev/null @@ -1,31 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .98 - -ModuleAttributeClass - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 98 } - DEFINITIONS ::= -BEGIN - - ATTRIBUTE ::= CLASS { - &id RELATIVE-OID UNIQUE - } WITH SYNTAX { ID &id } - - Attribute ::= SEQUENCE { - identifier ATTRIBUTE.&id ({Attributes}), - siAttributeValue IA5String - } - - Attributes ATTRIBUTE ::= { rafService | rcfService } - - rafService ATTRIBUTE ::= { ID raf } - rcfService ATTRIBUTE ::= { ID rcf } - - raf RELATIVE-OID ::= {3 2 1} - rcf RELATIVE-OID ::= {3 2 2} - -END diff --git a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EF b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EF deleted file mode 100644 index e810e48..0000000 --- a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EF +++ /dev/null @@ -1,26 +0,0 @@ -ModuleAttributeClass { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 98 } -DEFINITIONS ::= -BEGIN - -ATTRIBUTE ::= CLASS { - &id RELATIVE-OID UNIQUE -} WITH SYNTAX { ID &id } - - -Attribute ::= SEQUENCE { - identifier ATTRIBUTE.&id ({Attributes}), - siAttributeValue IA5String -} - -Attributes ATTRIBUTE ::= {{ ID raf } | { ID rcf }} - -rafService ATTRIBUTE ::= { ID raf } - -rcfService ATTRIBUTE ::= { ID rcf } - -raf RELATIVE-OID ::= {3 2 1} - -rcf RELATIVE-OID ::= {3 2 2} - -END diff --git a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index 718a946..0000000 --- a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,44 +0,0 @@ -ModuleAttributeClass { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 98 } -DEFINITIONS ::= -BEGIN - -ATTRIBUTE ::= CLASS { - &id RELATIVE-OID UNIQUE -} WITH SYNTAX { ID &id } - --- Information Object Set has 2 entries: --- [&id] --- [1] raf --- [2] rcf - - -Attribute ::= SEQUENCE { - identifier ATTRIBUTE.&id ({Attributes}), - siAttributeValue IA5String -} - -Attributes ATTRIBUTE ::= {{ ID raf } | { ID rcf }} --- Information Object Set has 2 entries: --- [&id] --- [1] raf --- [2] rcf - - -rafService ATTRIBUTE ::= { ID raf } --- Information Object Set has 1 entry: --- [&id] --- [1] raf - - -rcfService ATTRIBUTE ::= { ID rcf } --- Information Object Set has 1 entry: --- [&id] --- [1] rcf - - -raf RELATIVE-OID ::= {3 2 1} - -rcf RELATIVE-OID ::= {3 2 2} - -END diff --git a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P deleted file mode 100644 index edd341d..0000000 --- a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P +++ /dev/null @@ -1,109 +0,0 @@ - -/*** <<< INCLUDES [Attribute] >>> ***/ - -#include -#include -#include -#include - -/*** <<< TYPE-DECLS [Attribute] >>> ***/ - -typedef struct Attribute { - RELATIVE_OID_t identifier; - IA5String_t siAttributeValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Attribute_t; - -/*** <<< FUNC-DECLS [Attribute] >>> ***/ - -extern asn_TYPE_descriptor_t asn_DEF_Attribute; - -/*** <<< IOC-TABLES [Attribute] >>> ***/ - -static const RELATIVE_OID_t asn_VAL_1_raf = { "not supported", 0 }; -static const RELATIVE_OID_t asn_VAL_2_rcf = { "not supported", 0 }; -static const asn_ioc_cell_t asn_IOS_Attributes_1_rows[] = { - { "&id", aioc__value, &asn_DEF_RELATIVE_OID, &asn_VAL_1_raf }, - { "&id", aioc__value, &asn_DEF_RELATIVE_OID, &asn_VAL_2_rcf } -}; -static const asn_ioc_set_t asn_IOS_Attributes_1[] = { - { 2, 1, asn_IOS_Attributes_1_rows } -}; - -/*** <<< CODE [Attribute] >>> ***/ - -static int -memb_identifier_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - - if(!sptr) { - ASN__CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - - if(1 /* No applicable constraints whatsoever */) { - /* Nothing is here. See below */ - } - - return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); -} - - -/*** <<< STAT-DEFS [Attribute] >>> ***/ - -static asn_TYPE_member_t asn_MBR_Attribute_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Attribute, identifier), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), - .tag_mode = 0, - .type = &asn_DEF_RELATIVE_OID, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = memb_identifier_constraint_1 }, - 0, 0, /* No default value */ - .name = "identifier" - }, - { ATF_NOFLAGS, 0, offsetof(struct Attribute, siAttributeValue), - .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), - .tag_mode = 0, - .type = &asn_DEF_IA5String, - .type_selector = 0, - { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 }, - 0, 0, /* No default value */ - .name = "siAttributeValue" - }, -}; -static const ber_tlv_tag_t asn_DEF_Attribute_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Attribute_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)), 0, 0, 0 }, /* identifier */ - { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 1, 0, 0 } /* siAttributeValue */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Attribute_specs_1 = { - sizeof(struct Attribute), - offsetof(struct Attribute, _asn_ctx), - .tag2el = asn_MAP_Attribute_tag2el_1, - .tag2el_count = 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_Attribute = { - "Attribute", - "Attribute", - &asn_OP_SEQUENCE, - asn_DEF_Attribute_tags_1, - sizeof(asn_DEF_Attribute_tags_1) - /sizeof(asn_DEF_Attribute_tags_1[0]), /* 1 */ - asn_DEF_Attribute_tags_1, /* Same as above */ - sizeof(asn_DEF_Attribute_tags_1) - /sizeof(asn_DEF_Attribute_tags_1[0]), /* 1 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_Attribute_1, - 2, /* Elements count */ - &asn_SPC_Attribute_specs_1 /* Additional specs */ -}; - diff --git a/tests/tests-asn1c-compiler/99-class-sample-OK.asn1 b/tests/tests-asn1c-compiler/99-class-sample-OK.asn1 deleted file mode 100644 index 28e222f..0000000 --- a/tests/tests-asn1c-compiler/99-class-sample-OK.asn1 +++ /dev/null @@ -1,45 +0,0 @@ - --- OK: Everything is fine - --- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) --- .spelio.software.asn1c.test (9363.1.5.1) --- .99 - -ModuleClassSample - { iso org(3) dod(6) internet (1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 99 } - DEFINITIONS ::= -BEGIN - - SAMPLE-CLASS ::= CLASS { - &id RELATIVE-OID UNIQUE, - &code ENUMERATED { request, response, status } - DEFAULT request, - &Type OPTIONAL - } WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id } - - SampleClassObjectSet SAMPLE-CLASS ::= { - request-Whatever | respond-Stuff | request-Status | request-Salt - } - - request-Whatever SAMPLE-CLASS - ::= { IDENTIFIED BY request-whatever } - - respond-Stuff SAMPLE-CLASS - ::= { WITH CODE 1 IDENTIFIED BY response-stuff } - - request-Status SAMPLE-CLASS - ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } - - request-Salt SAMPLE-CLASS - ::= { TYPE Salt IDENTIFIED BY request-salt } - - request-id RELATIVE-OID ::= { 1 1 1 } - request-salt RELATIVE-OID ::= { 1 1 1 } - request-whatever RELATIVE-OID ::= { 1 1 5 } - response-stuff RELATIVE-OID ::= { 2 0 1 } - - SampleType ::= SEQUENCE { ... } - Salt ::= SET { ... } - -END diff --git a/tests/tests-asn1c-compiler/99-class-sample-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/99-class-sample-OK.asn1.-EFprint-class-matrix deleted file mode 100644 index c806916..0000000 --- a/tests/tests-asn1c-compiler/99-class-sample-OK.asn1.-EFprint-class-matrix +++ /dev/null @@ -1,73 +0,0 @@ -ModuleClassSample { iso org(3) dod(6) internet(1) private(4) enterprise(1) - spelio(9363) software(1) asn1c(5) test(1) 99 } -DEFINITIONS ::= -BEGIN - -SAMPLE-CLASS ::= CLASS { - &id RELATIVE-OID UNIQUE, - &code ENUMERATED { - request(0), - response(1), - status(2) - } DEFAULT 0, - &Type OPTIONAL -} WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id } - --- Information Object Set has 4 entries: --- [ &id][ &code][ &Type] --- [1] request-whatever --- [2] response-stuff 1 --- [3] request-id 2 SampleType --- [4] request-salt Salt - - -SampleClassObjectSet SAMPLE-CLASS ::= {{ IDENTIFIED BY request-whatever } | { WITH CODE 1 IDENTIFIED BY response-stuff } | { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } | { TYPE Salt IDENTIFIED BY request-salt }} --- Information Object Set has 4 entries: --- [ &id][ &code][ &Type] --- [1] request-whatever --- [2] response-stuff 1 --- [3] request-id 2 SampleType --- [4] request-salt Salt - - -request-Whatever SAMPLE-CLASS ::= { IDENTIFIED BY request-whatever } --- Information Object Set has 1 entry: --- [ &id][ &code][ &Type] --- [1] request-whatever - - -respond-Stuff SAMPLE-CLASS ::= { WITH CODE 1 IDENTIFIED BY response-stuff } --- Information Object Set has 1 entry: --- [ &id][ &code][ &Type] --- [1] response-stuff 1 - - -request-Status SAMPLE-CLASS ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } --- Information Object Set has 1 entry: --- [ &id][ &code][ &Type] --- [1] request-id 2 SampleType - - -request-Salt SAMPLE-CLASS ::= { TYPE Salt IDENTIFIED BY request-salt } --- Information Object Set has 1 entry: --- [ &id][ &code][ &Type] --- [1] request-salt Salt - - -request-id RELATIVE-OID ::= { 1 1 1 } - -request-salt RELATIVE-OID ::= { 1 1 1 } - -request-whatever RELATIVE-OID ::= { 1 1 5 } - -response-stuff RELATIVE-OID ::= { 2 0 1 } - -SampleType ::= SEQUENCE { - ... -} - -Salt ::= SET { - ... -} - -END diff --git a/tests/tests-asn1c-compiler/Makefile b/tests/tests-asn1c-compiler/Makefile deleted file mode 100644 index c13e246..0000000 --- a/tests/tests-asn1c-compiler/Makefile +++ /dev/null @@ -1,847 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-asn1c-compiler/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = tests/tests-asn1c-compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-asn1c-compiler -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-asn1c-compiler -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -dist_check_SCRIPTS = check-parsing.sh -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} top_builddir=${top_builddir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-parsing.*.tmp -EXTRA_DIST = README $(srcdir)/*asn1* -all: all-am - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-asn1c-compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-asn1c-compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-parsing.sh.log: check-parsing.sh - @p='check-parsing.sh'; \ - b='check-parsing.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ - uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-asn1c-compiler/Makefile.am b/tests/tests-asn1c-compiler/Makefile.am deleted file mode 100644 index 7f549fc..0000000 --- a/tests/tests-asn1c-compiler/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ - -dist_check_SCRIPTS = check-parsing.sh -TESTS_ENVIRONMENT= top_srcdir=${top_srcdir} top_builddir=${top_builddir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-parsing.*.tmp - -EXTRA_DIST = README $(srcdir)/*asn1* diff --git a/tests/tests-asn1c-compiler/Makefile.in b/tests/tests-asn1c-compiler/Makefile.in deleted file mode 100644 index 9d77e28..0000000 --- a/tests/tests-asn1c-compiler/Makefile.in +++ /dev/null @@ -1,847 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = tests/tests-asn1c-compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_check_SCRIPTS = check-parsing.sh -TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} top_builddir=${top_builddir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = .check-parsing.*.tmp -EXTRA_DIST = README $(srcdir)/*asn1* -all: all-am - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-asn1c-compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-asn1c-compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-parsing.sh.log: check-parsing.sh - @p='check-parsing.sh'; \ - b='check-parsing.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ - uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-asn1c-compiler/README b/tests/tests-asn1c-compiler/README deleted file mode 100644 index 5d1212e..0000000 --- a/tests/tests-asn1c-compiler/README +++ /dev/null @@ -1,25 +0,0 @@ - -This is a collection of various little ASN.1 modules, used independently -by several different testing engines below the main tree (i.e. libasn1fix) -for stressing various aspects of compiler operation. - -The files follow certain naming conventions: - -Source file: - --{OK|SE|NP}.asn1 - -Regenerator test file: - --{OK|SE|NP}.asn1.[] - -Where - is arbitrary number (digits) - is arbitrary string, without dots - OK file syntax and semantics are absolutely correct - SE file semantics is wrong - SW file semantics is suspicious (warning) - NP file syntax is incorrect, file not parseable - command-line flags for compiler - -Example: - 07-int-OK.asn1 # Correct ASN.1 file - 07-int-OK.asn1.-EF # Test of file regeneration with -E -F flags. diff --git a/tests/tests-asn1c-compiler/check-parsing-log2diff.pl b/tests/tests-asn1c-compiler/check-parsing-log2diff.pl deleted file mode 100755 index fca9626..0000000 --- a/tests/tests-asn1c-compiler/check-parsing-log2diff.pl +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env perl -# -# Convert check-parsing.sh's log to diff format. -# - -if(-t STDIN && $#ARGV == -1) { - print STDERR "Usage: check-parsing-log2diff.pl < check-parsing.sh.log > diff.patch\n"; - exit(1); -} - -$state = 0; -while(<>) { - if ($state == 0) { - if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) { - $source = $1; - $target = $2; - } elsif (/^\-\-\-\s(.+?)\s.*/) { - print "--- a/dev/null " . "\n"; - } elsif (/^\+\+\+\s(.+?)\s.*/) { - print "+++ b" . $target . "\n"; - $state = 1; - } - } else { - if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) { - $source = $1; - $target = $2; - $state = 0; - } else { - print $_; - } - } -} diff --git a/tests/tests-asn1c-compiler/check-parsing.sh b/tests/tests-asn1c-compiler/check-parsing.sh deleted file mode 100755 index 8526235..0000000 --- a/tests/tests-asn1c-compiler/check-parsing.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -# Test diff(1) capabilities -diff -a . . 2>/dev/null && diffArgs="-a" # Assume text files -diff -u . . 2>/dev/null && diffArgs="$diffArgs -u" # Unified diff output - -ec=0 - -if [ "$1" != "regenerate" ]; then - set -e -fi - -PROCESSING="" -print_status() { - echo "Error while processing $PROCESSING" -} - -trap print_status EXIT - -top_srcdir="${top_srcdir:-../..}" -top_builddir="${top_builddir:-../..}" - -for ref in ${top_srcdir}/tests/tests-asn1c-compiler/*.asn1.-*; do - # Figure out the initial source file used to generate this output. - src=$(echo "$ref" | sed -e 's/\.-[-a-zA-Z0-9=]*$//') - # Figure out compiler flags used to create the file. - flags=$(echo "$ref" | sed -e 's/.*\.-//') - echo "Checking $src against $ref" - template=.tmp.check-parsing.$$ - oldversion=${template}.old - newversion=${template}.new - PROCESSING="$ref (from $src)" - LANG=C sed -e 's/^found in .*/found in .../' < "$ref" > "$oldversion" - (${top_builddir}/asn1c/asn1c -S ${top_srcdir}/skeletons -no-gen-OER -no-gen-PER "-$flags" "$src" | LANG=C sed -e 's/^found in .*/found in .../' > "$newversion") || ec=$? - if [ $? = 0 ]; then - diff $diffArgs "$oldversion" "$newversion" || ec=$? - fi - rm -f $oldversion $newversion - if [ "$1" = "regenerate" ]; then - ${top_builddir}/asn1c/asn1c -S ${top_srcdir}/skeletons -no-gen-OER -no-gen-PER "-$flags" "$src" > "$ref" - fi -done - -if [ $ec = 0 ]; then - trap '' EXIT -fi - -exit $ec diff --git a/tests/tests-asn1c-smoke/Makefile b/tests/tests-asn1c-smoke/Makefile deleted file mode 100644 index 5d5122f..0000000 --- a/tests/tests-asn1c-smoke/Makefile +++ /dev/null @@ -1,850 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-asn1c-smoke/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = tests/tests-asn1c-smoke -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-asn1c-smoke -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-asn1c-smoke -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -dist_check_SCRIPTS = check-asn1c-smoke.sh -TESTS_ENVIRONMENT = MAKE=${MAKE} \ - top_builddir=${top_builddir} \ - top_srcdir=${top_srcdir} - -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = Makefile.am.* test* *.[acho] -EXTRA_DIST = README -all: all-am - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-asn1c-smoke/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-asn1c-smoke/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-asn1c-smoke.sh.log: check-asn1c-smoke.sh - @p='check-asn1c-smoke.sh'; \ - b='check-asn1c-smoke.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ - uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-asn1c-smoke/Makefile.am b/tests/tests-asn1c-smoke/Makefile.am deleted file mode 100644 index eae3322..0000000 --- a/tests/tests-asn1c-smoke/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ - -dist_check_SCRIPTS = check-asn1c-smoke.sh -TESTS_ENVIRONMENT= MAKE=${MAKE} \ - top_builddir=${top_builddir} \ - top_srcdir=${top_srcdir} -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = Makefile.am.* test* *.[acho] - -EXTRA_DIST = README diff --git a/tests/tests-asn1c-smoke/Makefile.in b/tests/tests-asn1c-smoke/Makefile.in deleted file mode 100644 index 7c6f3ca..0000000 --- a/tests/tests-asn1c-smoke/Makefile.in +++ /dev/null @@ -1,850 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = tests/tests-asn1c-smoke -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_check_SCRIPTS = check-asn1c-smoke.sh -TESTS_ENVIRONMENT = MAKE=${MAKE} \ - top_builddir=${top_builddir} \ - top_srcdir=${top_srcdir} - -TESTS = $(dist_check_SCRIPTS) -CLEANFILES = Makefile.am.* test* *.[acho] -EXTRA_DIST = README -all: all-am - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-asn1c-smoke/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-asn1c-smoke/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-asn1c-smoke.sh.log: check-asn1c-smoke.sh - @p='check-asn1c-smoke.sh'; \ - b='check-asn1c-smoke.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - clean-libtool cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ - uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-asn1c-smoke/README b/tests/tests-asn1c-smoke/README deleted file mode 100644 index 57467e3..0000000 --- a/tests/tests-asn1c-smoke/README +++ /dev/null @@ -1,2 +0,0 @@ -Test that asn1c compiler produces compilable code for basic ASN.1 types, -while trying to disable different codecs and vary other compiler flags. diff --git a/tests/tests-asn1c-smoke/check-asn1c-smoke.sh b/tests/tests-asn1c-smoke/check-asn1c-smoke.sh deleted file mode 100755 index 831be1a..0000000 --- a/tests/tests-asn1c-smoke/check-asn1c-smoke.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env bash - -set -x -set -e -set -o pipefail - -top_builddir=${top_builddir:-../..} -top_srcdir=${top_srcdir:-../..} - -cleanup() { - rm -rf *.[acho] Makefile.am.* *.mk *.txt *.asn - rm -f converter-example -} - -print_state() { - local err=$? - set +x - set +e - trap "" EXIT ERR - echo "Error $err while processing:" - cat test.asn - cat status.txt - echo "FAILED" - exit $err -} - -verify() { - local type="$1" - local flags="$2" - - cleanup - - asncmd="${top_builddir}/asn1c/asn1c -Wdebug-compiler -flink-skeletons -S ${top_srcdir}/skeletons $flags test.asn" - - { - echo "$asncmd" - echo "${MAKE:-make} -f converter-example.mk" - } > status.txt - - echo "Module DEFINITIONS::=BEGIN T::=$type END" > test.asn - $asncmd - CFLAGS=-O0 ${MAKE:-make} -f converter-example.mk | tail -10 -} - -verify_type_with_variants() { - local type="$1" - for flags in "-no-gen-PER" "-no-gen-OER" "-no-gen-PER -no-gen-OER" ""; do - for native in "" "-fwide-types"; do - verify "$type" "$flags $native" - done - done -} - -verify_compile_and_link_variants() { - for type in INTEGER "INTEGER(0..1)" "ENUMERATED{foo}" NULL BOOLEAN \ - "BIT STRING" \ - "OBJECT IDENTIFIER" "RELATIVE-OID" \ - "SEQUENCE{f INTEGER}" \ - "CHOICE{f INTEGER}" \ - "OCTET STRING" IA5String "IA5String(SIZE(1))" UTF8String \ - REAL "SET OF INTEGER" "SEQUENCE OF INTEGER"; do - verify_type_with_variants "$type" - done -} - -trap print_state EXIT ERR -if [ "x$*" = "x" ]; then - verify_compile_and_link_variants -else - for type in "$@"; do - verify_type_with_variants "$type" - done -fi -set +x -trap '' EXIT ERR - -cleanup -echo "OK" diff --git a/tests/tests-c-compiler/Makefile b/tests/tests-c-compiler/Makefile deleted file mode 100644 index 9019b77..0000000 --- a/tests/tests-c-compiler/Makefile +++ /dev/null @@ -1,1452 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-c-compiler/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -am__append_1 = check-src/check64-134.-gen-PER.c \ - check-src/check64-136.-gen-OER.c -subdir = tests/tests-c-compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99) -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-c-compiler -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-c-compiler -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -SUBDIRS = check-src -dist_check_SCRIPTS = check-assembly.sh -TESTS_ENVIRONMENT = \ - CC="${CC}" \ - CXX="${CXX}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - ASAN_ENV_FLAGS=" ASAN_OPTIONS=detect_leaks=1" \ - srcdir=${srcdir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-assembly.sh - -TESTS = check-src/check-03.-fwide-types.c \ - check-src/check-119.-fwide-types.-gen-PER.c \ - check-src/check-119.-gen-PER.c check-src/check-126.-gen-PER.c \ - check-src/check-127.-gen-PER.c check-src/check-131.-gen-PER.c \ - check-src/check-132.-gen-PER.c check-src/check-133.-gen-PER.c \ - check-src/check-135.-gen-OER.c check-src/check-148.c \ - check-src/check-19.c check-src/check-22.-fwide-types.c \ - check-src/check-24.-fwide-types.c \ - check-src/check-25.-fwide-types.c \ - check-src/check-30.-fwide-types.c \ - check-src/check-31.-fwide-types.c check-src/check-32.c \ - check-src/check-33.c check-src/check-35.c check-src/check-39.c \ - check-src/check-41.-fwide-types.c check-src/check-41.c \ - check-src/check-42.c check-src/check-43.c check-src/check-44.c \ - check-src/check-46.c check-src/check-48.c check-src/check-50.c \ - check-src/check-59.c check-src/check-60.c check-src/check-62.c \ - check-src/check-65.c check-src/check-70.-fwide-types.c \ - check-src/check-70.c check-src/check-72.-fcompound-names.c \ - check-src/check-73.c check-src/check-92.-findirect-choice.c \ - check-src/check-92.c check-src/check-158.-fcompound-names.c \ - $(am__append_1) -XFAIL_TESTS = check-src/check-158.-fcompound-names.c -EXTRA_DIST = \ - data-62 \ - data-70 \ - data-119 \ - data-126 \ - check-src/check64-134.-gen-PER.c \ - check-src/check64-136.-gen-OER.c - -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-c-compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-c-compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-src/check-03.-fwide-types.c.log: check-src/check-03.-fwide-types.c - @p='check-src/check-03.-fwide-types.c'; \ - b='check-src/check-03.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-119.-fwide-types.-gen-PER.c.log: check-src/check-119.-fwide-types.-gen-PER.c - @p='check-src/check-119.-fwide-types.-gen-PER.c'; \ - b='check-src/check-119.-fwide-types.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-119.-gen-PER.c.log: check-src/check-119.-gen-PER.c - @p='check-src/check-119.-gen-PER.c'; \ - b='check-src/check-119.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-126.-gen-PER.c.log: check-src/check-126.-gen-PER.c - @p='check-src/check-126.-gen-PER.c'; \ - b='check-src/check-126.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-127.-gen-PER.c.log: check-src/check-127.-gen-PER.c - @p='check-src/check-127.-gen-PER.c'; \ - b='check-src/check-127.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-131.-gen-PER.c.log: check-src/check-131.-gen-PER.c - @p='check-src/check-131.-gen-PER.c'; \ - b='check-src/check-131.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-132.-gen-PER.c.log: check-src/check-132.-gen-PER.c - @p='check-src/check-132.-gen-PER.c'; \ - b='check-src/check-132.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-133.-gen-PER.c.log: check-src/check-133.-gen-PER.c - @p='check-src/check-133.-gen-PER.c'; \ - b='check-src/check-133.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-135.-gen-OER.c.log: check-src/check-135.-gen-OER.c - @p='check-src/check-135.-gen-OER.c'; \ - b='check-src/check-135.-gen-OER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-148.c.log: check-src/check-148.c - @p='check-src/check-148.c'; \ - b='check-src/check-148.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-19.c.log: check-src/check-19.c - @p='check-src/check-19.c'; \ - b='check-src/check-19.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-22.-fwide-types.c.log: check-src/check-22.-fwide-types.c - @p='check-src/check-22.-fwide-types.c'; \ - b='check-src/check-22.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-24.-fwide-types.c.log: check-src/check-24.-fwide-types.c - @p='check-src/check-24.-fwide-types.c'; \ - b='check-src/check-24.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-25.-fwide-types.c.log: check-src/check-25.-fwide-types.c - @p='check-src/check-25.-fwide-types.c'; \ - b='check-src/check-25.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-30.-fwide-types.c.log: check-src/check-30.-fwide-types.c - @p='check-src/check-30.-fwide-types.c'; \ - b='check-src/check-30.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-31.-fwide-types.c.log: check-src/check-31.-fwide-types.c - @p='check-src/check-31.-fwide-types.c'; \ - b='check-src/check-31.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-32.c.log: check-src/check-32.c - @p='check-src/check-32.c'; \ - b='check-src/check-32.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-33.c.log: check-src/check-33.c - @p='check-src/check-33.c'; \ - b='check-src/check-33.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-35.c.log: check-src/check-35.c - @p='check-src/check-35.c'; \ - b='check-src/check-35.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-39.c.log: check-src/check-39.c - @p='check-src/check-39.c'; \ - b='check-src/check-39.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-41.-fwide-types.c.log: check-src/check-41.-fwide-types.c - @p='check-src/check-41.-fwide-types.c'; \ - b='check-src/check-41.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-41.c.log: check-src/check-41.c - @p='check-src/check-41.c'; \ - b='check-src/check-41.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-42.c.log: check-src/check-42.c - @p='check-src/check-42.c'; \ - b='check-src/check-42.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-43.c.log: check-src/check-43.c - @p='check-src/check-43.c'; \ - b='check-src/check-43.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-44.c.log: check-src/check-44.c - @p='check-src/check-44.c'; \ - b='check-src/check-44.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-46.c.log: check-src/check-46.c - @p='check-src/check-46.c'; \ - b='check-src/check-46.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-48.c.log: check-src/check-48.c - @p='check-src/check-48.c'; \ - b='check-src/check-48.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-50.c.log: check-src/check-50.c - @p='check-src/check-50.c'; \ - b='check-src/check-50.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-59.c.log: check-src/check-59.c - @p='check-src/check-59.c'; \ - b='check-src/check-59.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-60.c.log: check-src/check-60.c - @p='check-src/check-60.c'; \ - b='check-src/check-60.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-62.c.log: check-src/check-62.c - @p='check-src/check-62.c'; \ - b='check-src/check-62.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-65.c.log: check-src/check-65.c - @p='check-src/check-65.c'; \ - b='check-src/check-65.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-70.-fwide-types.c.log: check-src/check-70.-fwide-types.c - @p='check-src/check-70.-fwide-types.c'; \ - b='check-src/check-70.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-70.c.log: check-src/check-70.c - @p='check-src/check-70.c'; \ - b='check-src/check-70.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-72.-fcompound-names.c.log: check-src/check-72.-fcompound-names.c - @p='check-src/check-72.-fcompound-names.c'; \ - b='check-src/check-72.-fcompound-names.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-73.c.log: check-src/check-73.c - @p='check-src/check-73.c'; \ - b='check-src/check-73.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-92.-findirect-choice.c.log: check-src/check-92.-findirect-choice.c - @p='check-src/check-92.-findirect-choice.c'; \ - b='check-src/check-92.-findirect-choice.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-92.c.log: check-src/check-92.c - @p='check-src/check-92.c'; \ - b='check-src/check-92.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-158.-fcompound-names.c.log: check-src/check-158.-fcompound-names.c - @p='check-src/check-158.-fcompound-names.c'; \ - b='check-src/check-158.-fcompound-names.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check64-134.-gen-PER.c.log: check-src/check64-134.-gen-PER.c - @p='check-src/check64-134.-gen-PER.c'; \ - b='check-src/check64-134.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check64-136.-gen-OER.c.log: check-src/check64-136.-gen-OER.c - @p='check-src/check64-136.-gen-OER.c'; \ - b='check-src/check64-136.-gen-OER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) check-am install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -clean-local: - rm -rf test-* - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-c-compiler/Makefile.am b/tests/tests-c-compiler/Makefile.am deleted file mode 100644 index 19d5915..0000000 --- a/tests/tests-c-compiler/Makefile.am +++ /dev/null @@ -1,82 +0,0 @@ -@CODE_COVERAGE_RULES@ - -SUBDIRS = check-src - -dist_check_SCRIPTS = check-assembly.sh - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) - -TESTS_ENVIRONMENT= \ - CC="${CC}" \ - CXX="${CXX}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - ASAN_ENV_FLAGS="@ASAN_ENV_FLAGS@" \ - srcdir=${srcdir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-assembly.sh - -TESTS = -TESTS += check-src/check-03.-fwide-types.c -TESTS += check-src/check-119.-fwide-types.-gen-PER.c -TESTS += check-src/check-119.-gen-PER.c -TESTS += check-src/check-126.-gen-PER.c -TESTS += check-src/check-127.-gen-PER.c -TESTS += check-src/check-131.-gen-PER.c -TESTS += check-src/check-132.-gen-PER.c -TESTS += check-src/check-133.-gen-PER.c -TESTS += check-src/check-135.-gen-OER.c -TESTS += check-src/check-148.c -TESTS += check-src/check-19.c -TESTS += check-src/check-22.-fwide-types.c -TESTS += check-src/check-24.-fwide-types.c -TESTS += check-src/check-25.-fwide-types.c -TESTS += check-src/check-30.-fwide-types.c -TESTS += check-src/check-31.-fwide-types.c -TESTS += check-src/check-32.c -TESTS += check-src/check-33.c -TESTS += check-src/check-35.c -TESTS += check-src/check-39.c -TESTS += check-src/check-41.-fwide-types.c -TESTS += check-src/check-41.c -TESTS += check-src/check-42.c -TESTS += check-src/check-43.c -TESTS += check-src/check-44.c -TESTS += check-src/check-46.c -TESTS += check-src/check-48.c -TESTS += check-src/check-50.c -TESTS += check-src/check-59.c -TESTS += check-src/check-60.c -TESTS += check-src/check-62.c -TESTS += check-src/check-65.c -TESTS += check-src/check-70.-fwide-types.c -TESTS += check-src/check-70.c -TESTS += check-src/check-72.-fcompound-names.c -TESTS += check-src/check-73.c -TESTS += check-src/check-92.-findirect-choice.c -TESTS += check-src/check-92.c -TESTS += check-src/check-158.-fcompound-names.c - -if TEST_64BIT -TESTS += check-src/check64-134.-gen-PER.c -TESTS += check-src/check64-136.-gen-OER.c -endif - -XFAIL_TESTS = -XFAIL_TESTS += check-src/check-158.-fcompound-names.c - -EXTRA_DIST = \ - data-62 \ - data-70 \ - data-119 \ - data-126 \ - check-src/check64-134.-gen-PER.c \ - check-src/check64-136.-gen-OER.c - -clean-local: - rm -rf test-* diff --git a/tests/tests-c-compiler/Makefile.in b/tests/tests-c-compiler/Makefile.in deleted file mode 100644 index 5701c7d..0000000 --- a/tests/tests-c-compiler/Makefile.in +++ /dev/null @@ -1,1354 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@TEST_64BIT_TRUE@am__append_1 = check-src/check64-134.-gen-PER.c \ -@TEST_64BIT_TRUE@ check-src/check64-136.-gen-OER.c -subdir = tests/tests-c-compiler -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/config/test-driver README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = check-src -dist_check_SCRIPTS = check-assembly.sh -TESTS_ENVIRONMENT = \ - CC="${CC}" \ - CXX="${CXX}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - ASAN_ENV_FLAGS="@ASAN_ENV_FLAGS@" \ - srcdir=${srcdir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-assembly.sh - -TESTS = check-src/check-03.-fwide-types.c \ - check-src/check-119.-fwide-types.-gen-PER.c \ - check-src/check-119.-gen-PER.c check-src/check-126.-gen-PER.c \ - check-src/check-127.-gen-PER.c check-src/check-131.-gen-PER.c \ - check-src/check-132.-gen-PER.c check-src/check-133.-gen-PER.c \ - check-src/check-135.-gen-OER.c check-src/check-148.c \ - check-src/check-19.c check-src/check-22.-fwide-types.c \ - check-src/check-24.-fwide-types.c \ - check-src/check-25.-fwide-types.c \ - check-src/check-30.-fwide-types.c \ - check-src/check-31.-fwide-types.c check-src/check-32.c \ - check-src/check-33.c check-src/check-35.c check-src/check-39.c \ - check-src/check-41.-fwide-types.c check-src/check-41.c \ - check-src/check-42.c check-src/check-43.c check-src/check-44.c \ - check-src/check-46.c check-src/check-48.c check-src/check-50.c \ - check-src/check-59.c check-src/check-60.c check-src/check-62.c \ - check-src/check-65.c check-src/check-70.-fwide-types.c \ - check-src/check-70.c check-src/check-72.-fcompound-names.c \ - check-src/check-73.c check-src/check-92.-findirect-choice.c \ - check-src/check-92.c check-src/check-158.-fcompound-names.c \ - $(am__append_1) -XFAIL_TESTS = check-src/check-158.-fcompound-names.c -EXTRA_DIST = \ - data-62 \ - data-70 \ - data-119 \ - data-126 \ - check-src/check64-134.-gen-PER.c \ - check-src/check64-136.-gen-OER.c - -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-c-compiler/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-c-compiler/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-src/check-03.-fwide-types.c.log: check-src/check-03.-fwide-types.c - @p='check-src/check-03.-fwide-types.c'; \ - b='check-src/check-03.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-119.-fwide-types.-gen-PER.c.log: check-src/check-119.-fwide-types.-gen-PER.c - @p='check-src/check-119.-fwide-types.-gen-PER.c'; \ - b='check-src/check-119.-fwide-types.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-119.-gen-PER.c.log: check-src/check-119.-gen-PER.c - @p='check-src/check-119.-gen-PER.c'; \ - b='check-src/check-119.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-126.-gen-PER.c.log: check-src/check-126.-gen-PER.c - @p='check-src/check-126.-gen-PER.c'; \ - b='check-src/check-126.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-127.-gen-PER.c.log: check-src/check-127.-gen-PER.c - @p='check-src/check-127.-gen-PER.c'; \ - b='check-src/check-127.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-131.-gen-PER.c.log: check-src/check-131.-gen-PER.c - @p='check-src/check-131.-gen-PER.c'; \ - b='check-src/check-131.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-132.-gen-PER.c.log: check-src/check-132.-gen-PER.c - @p='check-src/check-132.-gen-PER.c'; \ - b='check-src/check-132.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-133.-gen-PER.c.log: check-src/check-133.-gen-PER.c - @p='check-src/check-133.-gen-PER.c'; \ - b='check-src/check-133.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-135.-gen-OER.c.log: check-src/check-135.-gen-OER.c - @p='check-src/check-135.-gen-OER.c'; \ - b='check-src/check-135.-gen-OER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-148.c.log: check-src/check-148.c - @p='check-src/check-148.c'; \ - b='check-src/check-148.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-19.c.log: check-src/check-19.c - @p='check-src/check-19.c'; \ - b='check-src/check-19.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-22.-fwide-types.c.log: check-src/check-22.-fwide-types.c - @p='check-src/check-22.-fwide-types.c'; \ - b='check-src/check-22.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-24.-fwide-types.c.log: check-src/check-24.-fwide-types.c - @p='check-src/check-24.-fwide-types.c'; \ - b='check-src/check-24.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-25.-fwide-types.c.log: check-src/check-25.-fwide-types.c - @p='check-src/check-25.-fwide-types.c'; \ - b='check-src/check-25.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-30.-fwide-types.c.log: check-src/check-30.-fwide-types.c - @p='check-src/check-30.-fwide-types.c'; \ - b='check-src/check-30.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-31.-fwide-types.c.log: check-src/check-31.-fwide-types.c - @p='check-src/check-31.-fwide-types.c'; \ - b='check-src/check-31.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-32.c.log: check-src/check-32.c - @p='check-src/check-32.c'; \ - b='check-src/check-32.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-33.c.log: check-src/check-33.c - @p='check-src/check-33.c'; \ - b='check-src/check-33.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-35.c.log: check-src/check-35.c - @p='check-src/check-35.c'; \ - b='check-src/check-35.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-39.c.log: check-src/check-39.c - @p='check-src/check-39.c'; \ - b='check-src/check-39.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-41.-fwide-types.c.log: check-src/check-41.-fwide-types.c - @p='check-src/check-41.-fwide-types.c'; \ - b='check-src/check-41.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-41.c.log: check-src/check-41.c - @p='check-src/check-41.c'; \ - b='check-src/check-41.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-42.c.log: check-src/check-42.c - @p='check-src/check-42.c'; \ - b='check-src/check-42.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-43.c.log: check-src/check-43.c - @p='check-src/check-43.c'; \ - b='check-src/check-43.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-44.c.log: check-src/check-44.c - @p='check-src/check-44.c'; \ - b='check-src/check-44.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-46.c.log: check-src/check-46.c - @p='check-src/check-46.c'; \ - b='check-src/check-46.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-48.c.log: check-src/check-48.c - @p='check-src/check-48.c'; \ - b='check-src/check-48.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-50.c.log: check-src/check-50.c - @p='check-src/check-50.c'; \ - b='check-src/check-50.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-59.c.log: check-src/check-59.c - @p='check-src/check-59.c'; \ - b='check-src/check-59.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-60.c.log: check-src/check-60.c - @p='check-src/check-60.c'; \ - b='check-src/check-60.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-62.c.log: check-src/check-62.c - @p='check-src/check-62.c'; \ - b='check-src/check-62.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-65.c.log: check-src/check-65.c - @p='check-src/check-65.c'; \ - b='check-src/check-65.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-70.-fwide-types.c.log: check-src/check-70.-fwide-types.c - @p='check-src/check-70.-fwide-types.c'; \ - b='check-src/check-70.-fwide-types.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-70.c.log: check-src/check-70.c - @p='check-src/check-70.c'; \ - b='check-src/check-70.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-72.-fcompound-names.c.log: check-src/check-72.-fcompound-names.c - @p='check-src/check-72.-fcompound-names.c'; \ - b='check-src/check-72.-fcompound-names.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-73.c.log: check-src/check-73.c - @p='check-src/check-73.c'; \ - b='check-src/check-73.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-92.-findirect-choice.c.log: check-src/check-92.-findirect-choice.c - @p='check-src/check-92.-findirect-choice.c'; \ - b='check-src/check-92.-findirect-choice.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-92.c.log: check-src/check-92.c - @p='check-src/check-92.c'; \ - b='check-src/check-92.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check-158.-fcompound-names.c.log: check-src/check-158.-fcompound-names.c - @p='check-src/check-158.-fcompound-names.c'; \ - b='check-src/check-158.-fcompound-names.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check64-134.-gen-PER.c.log: check-src/check64-134.-gen-PER.c - @p='check-src/check64-134.-gen-PER.c'; \ - b='check-src/check64-134.-gen-PER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-src/check64-136.-gen-OER.c.log: check-src/check64-136.-gen-OER.c - @p='check-src/check64-136.-gen-OER.c'; \ - b='check-src/check64-136.-gen-OER.c'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) check-am install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -clean-local: - rm -rf test-* - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-c-compiler/README b/tests/tests-c-compiler/README deleted file mode 100644 index ec9783a..0000000 --- a/tests/tests-c-compiler/README +++ /dev/null @@ -1,9 +0,0 @@ - -The name of the check-N.c file is used as a pointer to the file -../../tests/N-*.asn1. That ASN.1 file is compiled together with check-N.c -in a temporary directory. The check-N.c file contains the test engine. - -For manual execution of a specific test case: - - ./check-assembly.sh check-.c - diff --git a/tests/tests-c-compiler/check-assembly.sh b/tests/tests-c-compiler/check-assembly.sh deleted file mode 100755 index 68f06e3..0000000 --- a/tests/tests-c-compiler/check-assembly.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh - -# -# This script is designed to quickly create lots of files in underlying -# test-* directories, do lots of other magic stuff and exit cleanly. -# - -set -e - -if [ "x$1" = "x" ]; then - echo "Usage: $0 check-src/" - exit 1 -fi - -srcdir="${srcdir:-.}" -abs_top_srcdir="${abs_top_srcdir:-$(pwd)/../../}" -abs_top_builddir="${abs_top_builddir:-$(pwd)/../../}" - -if echo "$*" | grep -q -- -- ; then - TEST_DRIVER=$(echo "$*" | sed -e 's/ -- .*/ -- /g') - source_full=$(echo "$*" | sed -e 's/.* //g') -else - TEST_DRIVER="" - source_full="$1" -fi - -# Compute the .asn1 spec name by the given file name. -source_short=$(echo "$source_full" | sed -e 's/.*\///') -testno=$(echo "$source_short" | cut -f2 -d'-' | cut -f1 -d'.') - -args=$(echo "$source_short" | sed -E -e 's/\.c+$//') -source_obj=$(echo "$source_short" | sed -E -e 's/\.c+$/.o/') -ext=$(echo "$source_short" | sed -E -e 's/.*\.(c+)$/\1/') - -OFS=$IFS -IFS="." -set $args -data_dir=$(echo "$1" | sed -e s/check-/data-/) -shift -IFS=$OFS -AFLAGS="$*" - -if [ -d ${data_dir} ]; then - OPT_DATA_DIR="../${data_dir}" -else - OPT_DATA_DIR="" -fi - -if test "${LIBFUZZER_CFLAGS}" && grep LLVMFuzzer ${source_full} > /dev/null; -then - MAKE_FUZZER=yes -else - MAKE_FUZZER=no -fi - -# Assume the test fails. Will be removed when it passes well. -testdir=test-${args} -if [ -f "${testdir}-FAILED" ]; then - rm -rf "${testdir}" -fi -touch "${testdir}-FAILED" - -mkdir -p "${testdir}" -ln -fns "../${source_full}" "${testdir}" - -asn_module=$(echo "${abs_top_srcdir}/tests/tests-asn1c-compiler/${testno}"-*.asn1) - -AUTOGENERATED="# This file is autogenerated by $0 ${source_full} ${AFLAGS}" - -# Create a common Makefile for the project -cat < "${testdir}/Makefile" -${AUTOGENERATED} -COMMON_FLAGS= -I. -CFLAGS = \${COMMON_FLAGS} ${CFLAGS:-} -g -O1 -CFLAGS += -DSRCDIR=../${srcdir} -CXXFLAGS = \${CFLAGS} ${CXXFLAGS} -LIBFUZZER_CFLAGS = ${LIBFUZZER_CFLAGS} -LDFLAGS = ${LDFLAGS:-} -ASAN_ENV_FLAGS = ${ASAN_ENV_FLAGS:-} - -ASN_PROGRAM = check-program -ASN_PROGRAM_SRCS = ${source_short} - -CC ?= ${CC} -CXX ?= ${CXX} - --include converter-example.mk - -all: compiled-module - \$(MAKE) check-program - -# Compile the corresponding .asn1 spec. -compiled-module: ${asn_module} ${abs_top_builddir}/asn1c/asn1c - ${abs_top_builddir}/asn1c/asn1c \\ - -S ${abs_top_srcdir}/skeletons \\ - -flink-skeletons \\ - -Wdebug-compiler \\ - ${AFLAGS} ${asn_module} - rm -f converter-example.c - @touch compiled-module - -END_MAKEFILE - - -if [ "${MAKE_FUZZER}" != "yes" ]; then - CHECK_FUZZER="@echo \"No fuzzer defined, skipping.\"" -cat <> "${testdir}/Makefile" -.PHONY: check-fuzzer -check-fuzzer: -END_MAKEFILE -else - CHECK_FUZZER="ASAN_OPTIONS=detect_leaks=1 UBSAN_OPTIONS=print_stacktrace=1 ./check-fuzzer -timeout=3 -max_total_time=60 -max_len=512 ${OPT_DATA_DIR}" -cat <> "${testdir}/Makefile" -check-fuzzer: ${source_short} \$(ASN_LIBRARY) - ${CC} \$(CFLAGS) \$(LIBFUZZER_CFLAGS) \$(LDFLAGS) -o check-fuzzer \$^ -END_MAKEFILE -fi - -cat <> "${testdir}/Makefile" - -check-succeeded: compiled-module \$(ASN_LIBRARY) ${source_short} - \$(MAKE) check-program - \$(MAKE) check-fuzzer - @rm -f check-succeeded - \${ASAN_ENV_FLAGS} ./check-program - \$(MAKE) fuzz - @touch check-succeeded - @echo "OK: ${source_full}" - -.PHONY: fuzz -fuzz: - ${CHECK_FUZZER} - -check: check-succeeded - -END_MAKEFILE - -# Perform building and checking -${TEST_DRIVER} ${MAKE:-make} -C "${testdir}" check - -# Make sure the test is not marked as failed any longer. -rm -f "${testdir}-FAILED" diff --git a/tests/tests-c-compiler/check-src/Makefile b/tests/tests-c-compiler/check-src/Makefile deleted file mode 100644 index d65cbc9..0000000 --- a/tests/tests-c-compiler/check-src/Makefile +++ /dev/null @@ -1,466 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-c-compiler/check-src/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = tests/tests-c-compiler/check-src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99 -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-c-compiler/check-src -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-c-compiler/check-src -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../../ -top_builddir = ../../.. -top_srcdir = ../../.. -EXTRA_DIST = $(srcdir)/check-*.c -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-c-compiler/check-src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-c-compiler/check-src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-c-compiler/check-src/Makefile.am b/tests/tests-c-compiler/check-src/Makefile.am deleted file mode 100644 index 90023b3..0000000 --- a/tests/tests-c-compiler/check-src/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -EXTRA_DIST = $(srcdir)/check-*.c - diff --git a/tests/tests-c-compiler/check-src/Makefile.in b/tests/tests-c-compiler/check-src/Makefile.in deleted file mode 100644 index 132ae3d..0000000 --- a/tests/tests-c-compiler/check-src/Makefile.in +++ /dev/null @@ -1,466 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = tests/tests-c-compiler/check-src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = $(srcdir)/check-*.c -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-c-compiler/check-src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-c-compiler/check-src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-c-compiler/check-src/check-03.-fwide-types.c b/tests/tests-c-compiler/check-src/check-03.-fwide-types.c deleted file mode 100644 index 8af08fb..0000000 --- a/tests/tests-c-compiler/check-src/check-03.-fwide-types.c +++ /dev/null @@ -1,61 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include "Enum2.h" -#include "xer_decoder.h" - -static char buf[4096]; -static int buf_offset; - -static int -buf_writer(const void *buffer, size_t size, void *app_key) { - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); - buf_offset += size; - return 0; -} - -static void -check_xer(e_Enum2 eval, char *xer_string) { - asn_dec_rval_t rv; - char buf2[128]; - Enum2_t *e = 0; - long val; - - rv = xer_decode(0, &asn_DEF_Enum2, (void **)&e, - xer_string, strlen(xer_string)); - assert(rv.code == RC_OK); - assert(rv.consumed == strlen(xer_string)); - - asn_INTEGER2long(e, &val); - printf("%s -> %ld == %d\n", xer_string, val, eval); - assert(val == eval); - - buf_offset = 0; - xer_encode(&asn_DEF_Enum2, e, XER_F_CANONICAL, buf_writer, 0); - buf[buf_offset] = 0; - sprintf(buf2, "%s", xer_string); - printf("%d -> %s == %s\n", eval, buf, buf2); - assert(0 == strcmp(buf, buf2)); - - ASN_STRUCT_FREE(asn_DEF_Enum2, e); -} - -int -main() { - - check_xer(Enum2_red, ""); - check_xer(Enum2_green, ""); - check_xer(Enum2_blue, ""); - check_xer(Enum2_orange, ""); - check_xer(Enum2_alpha, ""); - check_xer(Enum2_beta, ""); - check_xer(Enum2_gamma, ""); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-119.-fwide-types.-gen-PER.c b/tests/tests-c-compiler/check-src/check-119.-fwide-types.-gen-PER.c deleted file mode 100644 index 3cd316f..0000000 --- a/tests/tests-c-compiler/check-src/check-119.-fwide-types.-gen-PER.c +++ /dev/null @@ -1,377 +0,0 @@ -/* - * Mode of operation: - * Each of the *.in files is XER-decoded, then converted into PER, - * then decoded back from PER, then encoded into XER again, - * and finally compared to the original encoding. - */ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2) */ -#include -#include -#include -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -enum expectation { - EXP_OK, /* Encoding/decoding must succeed */ - EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ - EXP_CXER_DIFF, /* Encoding/decoding using CXER must be different */ - EXP_BROKEN, /* Decoding must fail */ - EXP_DIFFERENT, /* Reconstruction will yield different encoding */ - EXP_PER_NOCOMP, /* Not PER compatible */ -}; - -static unsigned char buf[4096]; -static size_t buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); -#ifdef ASN_EMIT_DEBUG - unsigned char *b, *bend; - b = buf + buf_offset; - bend = b + size; - fprintf(stderr, "=> ["); - for(; b < bend; b++) { - if(*b >= 32 && *b < 127 && *b != '%') - fprintf(stderr, "%c", *b); - else - fprintf(stderr, "%%%02x", *b); - } - fprintf(stderr, "]:%zd\n", size); -#endif - buf_offset += size; - return 0; -} - -enum enctype { - AS_PER, - AS_DER, - AS_XER, - AS_CXER, -}; - -static void -save_object_as(PDU_t *st, enum expectation exp, enum enctype how) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - /* - * Save object using specified method. - */ - switch(how) { - case AS_PER: - rval = uper_encode(&asn_DEF_PDU, 0, st, - _buf_writer, 0); - if(exp == EXP_PER_NOCOMP) - assert(rval.encoded == -1); - else - assert(rval.encoded > 0); - fprintf(stderr, "SAVED OBJECT IN SIZE %zd\n", buf_offset); - return; - case AS_DER: - rval = der_encode(&asn_DEF_PDU, st, - _buf_writer, 0); - break; - case AS_XER: - rval = xer_encode(&asn_DEF_PDU, st, XER_F_BASIC, - _buf_writer, 0); - break; - case AS_CXER: - rval = xer_encode(&asn_DEF_PDU, st, XER_F_CANONICAL, - _buf_writer, 0); - break; - default: - assert(!"Unreachable"); - } - - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return; - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %zd\n", buf_offset); -} - -static PDU_t * -load_object_from(const char *fname, enum expectation expectation, unsigned char *fbuf, size_t size, enum enctype how) { - asn_dec_rval_t rval; - PDU_t *st = 0; - size_t csize = 1; - - if(getenv("INITIAL_CHUNK_SIZE")) - csize = atoi(getenv("INITIAL_CHUNK_SIZE")); - - /* Perform multiple iterations with multiple chunks sizes */ - for(; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %zd FROM [%s] as %s," - " chunks %zd\n", - size, fname, how==AS_PER?"PER":"XER", csize); - - if(st) ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - - do { - ASN_DEBUG("Decoding bytes %d..%d (left %d)", - fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, - fbuf_left); -#ifdef ASN_EMIT_DEBUG - if(st) { - fprintf(stderr, "=== currently ===\n"); - asn_fprint(stderr, &asn_DEF_PDU, st); - fprintf(stderr, "=== end ===\n"); - } -#endif - switch(how) { - case AS_XER: - rval = xer_decode(0, &asn_DEF_PDU, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - break; - case AS_PER: - rval = uper_decode(0, &asn_DEF_PDU, - (void **)&st, fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, 0, 0); - if(rval.code == RC_WMORE) { - rval.consumed = 0; /* Not restartable */ - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - ASN_DEBUG("-> PER wants more"); - } else { - ASN_DEBUG("-> PER ret %d/%ld", - rval.code, rval.consumed); - /* uper_decode() returns _bits_ */ - rval.consumed += 7; - rval.consumed /= 8; - } - break; - case AS_DER: - case AS_CXER: - assert(!"DER or CXER not supported for load"); - default: - assert(!"Unreachable"); - } - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - if(expectation != EXP_BROKEN) { - assert(rval.code == RC_OK); - if(how == AS_PER) { - fprintf(stderr, "[left %d, off %d, size %zd]\n", - fbuf_left, fbuf_offset, size); - assert(fbuf_offset == (ssize_t)size); - } else { - assert((fbuf_offset + 1 /* "\n" */ == (ssize_t)size - && fbuf[size - 1] == '\n') - || (fbuf_offset + 2 /* "\r\n" */ == (ssize_t)size - && fbuf[size - 2] == '\r' - && fbuf[size - 1] == '\n') - ); - } - } else { - assert(rval.code != RC_OK); - fprintf(stderr, "Failed, but this was expected\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; /* ignore leak for now */ - } - } - - if(st) asn_fprint(stderr, &asn_DEF_PDU, st); - return st; -} - -static int -xer_encoding_equal(char *obuf, size_t osize, char *nbuf, size_t nsize) { - char *oend = obuf + osize; - char *nend = nbuf + nsize; - - if((osize && !nsize) || (!osize && nsize)) - return 0; /* not equal apriori */ - - while(1) { - while(obuf < oend && isspace(*obuf)) obuf++; - while(nbuf < nend && isspace(*nbuf)) nbuf++; - - if(obuf == oend || nbuf == nend) { - if(obuf == oend && nbuf == nend) - break; - fprintf(stderr, "%s data in reconstructed encoding\n", - (obuf == oend) ? "More" : "Less"); - return 0; - } - - if(*obuf != *nbuf) { - printf("%c%c != %c%c\n", - obuf[0], obuf[1], - nbuf[0], nbuf[1]); - return 0; - } - obuf++, nbuf++; - } - - return 1; -} - -static void -process_XER_data(const char *fname, enum expectation expectation, unsigned char *fbuf, size_t size) { - PDU_t *st; - - st = load_object_from(fname, expectation, fbuf, size, AS_XER); - if(!st) return; - - /* Save and re-load as PER */ - save_object_as(st, expectation, AS_PER); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - if(expectation == EXP_PER_NOCOMP) - return; /* Already checked */ - st = load_object_from("buffer", expectation, buf, buf_offset, AS_PER); - assert(st); - - save_object_as(st, - expectation, - (expectation == EXP_CXER_EXACT - || expectation == EXP_CXER_DIFF) - ? AS_CXER : AS_XER); - fprintf(stderr, "=== original ===\n"); - fwrite(fbuf, 1, size, stderr); - fprintf(stderr, "=== re-encoded ===\n"); - fwrite(buf, 1, buf_offset, stderr); - fprintf(stderr, "=== end ===\n"); - - switch(expectation) { - case EXP_DIFFERENT: - assert(!xer_encoding_equal((char *)fbuf, size, (char *)buf, buf_offset)); - break; - case EXP_BROKEN: - assert(!xer_encoding_equal((char *)fbuf, size, (char *)buf, buf_offset)); - break; - case EXP_CXER_EXACT: - buf[buf_offset++] = '\n'; - assert(size == buf_offset); - assert(memcmp(fbuf, buf, size) == 0); - break; - case EXP_CXER_DIFF: - buf[buf_offset++] = '\n'; - assert(size != buf_offset - || memcmp(fbuf, buf, size)); - break; - case EXP_OK: - case EXP_PER_NOCOMP: - assert(xer_encoding_equal((char *)fbuf, size, (char *)buf, buf_offset)); - break; - } - - ASN_STRUCT_FREE(asn_DEF_PDU, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - unsigned char fbuf[4096]; - char *ext = strrchr(fname, '.'); - enum expectation expectation; - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".in")) - return 0; - - switch(ext[-1]) { - case 'B': /* The file is intentionally broken */ - expectation = EXP_BROKEN; break; - case 'D': /* Reconstructing should yield different data */ - expectation = EXP_DIFFERENT; break; - case 'E': /* Byte to byte exact reconstruction */ - expectation = EXP_CXER_EXACT; break; - case 'X': /* Should fail byte-to-byte comparison */ - expectation = EXP_CXER_DIFF; break; - case 'P': /* Incompatible with PER */ - expectation = EXP_PER_NOCOMP; break; - default: - expectation = EXP_OK; break; - } - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-119/%s", fname); - fp = fopen((char *)fbuf, "r"); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert(rd < (ssize_t)sizeof(fbuf)); /* expect small files */ - - process_XER_data(fname, expectation, fbuf, rd); - - fprintf(stderr, "Finished [%s]\n", fname); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - /* Process a specific test file */ - str = getenv("DATA_119_FILE"); - if(str && strncmp(str, "data-119-", 9) == 0) { - process(str); - return 0; - } - - dir = opendir(SRCDIR_S "/data-119"); - assert(dir); - - /* - * Process each file in that directory. - */ - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-119-", 9) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-119.-gen-PER.c b/tests/tests-c-compiler/check-src/check-119.-gen-PER.c deleted file mode 100644 index 028183d..0000000 --- a/tests/tests-c-compiler/check-src/check-119.-gen-PER.c +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Mode of operation: - * Each of the *.in files is XER-decoded, then converted into PER, - * then decoded back from PER, then encoded into XER again, - * and finally compared to the original encoding. - */ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2) */ -#include -#include -#include -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -enum expectation { - EXP_OK, /* Encoding/decoding must succeed */ - EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ - EXP_CXER_DIFF, /* Encoding/decoding using CXER must be different */ - EXP_BROKEN, /* Decoding must fail */ - EXP_DIFFERENT, /* Reconstruction will yield different encoding */ - EXP_PER_NOCOMP, /* Not PER compatible */ -}; - -static unsigned char buf[4096]; -static size_t buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); -#ifdef ASN_EMIT_DEBUG - unsigned char *b, *bend; - b = buf + buf_offset; - bend = b + size; - fprintf(stderr, "=> ["); - for(; b < bend; b++) { - if(*b >= 32 && *b < 127 && *b != '%') - fprintf(stderr, "%c", *b); - else - fprintf(stderr, "%%%02x", *b); - } - fprintf(stderr, "]:%zd\n", size); -#endif - buf_offset += size; - return 0; -} - -enum enctype { - AS_PER, - AS_DER, - AS_XER, - AS_CXER, -}; - -static void -save_object_as(PDU_t *st, enum expectation exp, enum enctype how) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - /* - * Save object using specified method. - */ - switch(how) { - case AS_PER: - rval = uper_encode(&asn_DEF_PDU, 0, st, - _buf_writer, 0); - if(exp == EXP_PER_NOCOMP) - assert(rval.encoded == -1); - else - assert(rval.encoded > 0); - fprintf(stderr, "SAVED OBJECT IN SIZE %zd\n", buf_offset); - return; - case AS_DER: - rval = der_encode(&asn_DEF_PDU, st, - _buf_writer, 0); - break; - case AS_XER: - rval = xer_encode(&asn_DEF_PDU, st, XER_F_BASIC, - _buf_writer, 0); - break; - case AS_CXER: - rval = xer_encode(&asn_DEF_PDU, st, XER_F_CANONICAL, - _buf_writer, 0); - break; - default: - assert(!"Unreachable"); - } - - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return; - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %zd\n", buf_offset); -} - -static PDU_t * -load_object_from(const char *fname, enum expectation expectation, unsigned char *fbuf, size_t size, enum enctype how) { - asn_dec_rval_t rval; - PDU_t *st = 0; - size_t csize = 1; - - if(getenv("INITIAL_CHUNK_SIZE")) - csize = atoi(getenv("INITIAL_CHUNK_SIZE")); - - /* Perform multiple iterations with multiple chunks sizes */ - for(; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %zd FROM [%s] as %s," - " chunks %zd\n", - size, fname, how==AS_PER?"PER":"XER", csize); - - if(st) ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - - do { - ASN_DEBUG("Decoding bytes %d..%d (left %d)", - fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, - fbuf_left); -#ifdef ASN_EMIT_DEBUG - if(st) { - fprintf(stderr, "=== currently ===\n"); - asn_fprint(stderr, &asn_DEF_PDU, st); - fprintf(stderr, "=== end ===\n"); - } -#endif - switch(how) { - case AS_XER: - rval = xer_decode(0, &asn_DEF_PDU, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - break; - case AS_PER: - rval = uper_decode(0, &asn_DEF_PDU, - (void **)&st, fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, 0, 0); - if(rval.code == RC_WMORE) { - rval.consumed = 0; /* Not restartable */ - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - ASN_DEBUG("-> PER wants more"); - } else { - ASN_DEBUG("-> PER ret %d/%zd", - rval.code, rval.consumed); - /* uper_decode() returns _bits_ */ - rval.consumed += 7; - rval.consumed /= 8; - } - break; - case AS_DER: - case AS_CXER: - assert(!"Unexpected DER or CXER load request"); - default: - assert(!"Unreachable"); - } - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - if(expectation != EXP_BROKEN) { - assert(rval.code == RC_OK); - if(how == AS_PER) { - fprintf(stderr, "[left %d, off %d, size %zd]\n", - fbuf_left, fbuf_offset, size); - assert(fbuf_offset == (ssize_t)size); - } else { - assert((fbuf_offset + 1 /* "\n" */ == (ssize_t)size - && fbuf[size - 1] == '\n') - || (fbuf_offset + 2 /* "\r\n" */ == (ssize_t)size - && fbuf[size - 2] == '\r' - && fbuf[size - 1] == '\n') - ); - } - } else { - assert(rval.code != RC_OK); - fprintf(stderr, "Failed, but this was expected\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; /* ignore leak for now */ - } - } - - if(st) asn_fprint(stderr, &asn_DEF_PDU, st); - return st; -} - -static int -xer_encoding_equal(void *obufp, size_t osize, void *nbufp, size_t nsize) { - char *obuf = obufp; - char *nbuf = nbufp; - char *oend = obuf + osize; - char *nend = nbuf + nsize; - - if((osize && !nsize) || (!osize && nsize)) - return 0; /* not equal apriori */ - - while(1) { - while(obuf < oend && isspace(*obuf)) obuf++; - while(nbuf < nend && isspace(*nbuf)) nbuf++; - - if(obuf == oend || nbuf == nend) { - if(obuf == oend && nbuf == nend) - break; - fprintf(stderr, "%s data in reconstructed encoding\n", - (obuf == oend) ? "More" : "Less"); - return 0; - } - - if(*obuf != *nbuf) { - printf("%c%c != %c%c\n", - obuf[0], obuf[1], - nbuf[0], nbuf[1]); - return 0; - } - obuf++, nbuf++; - } - - return 1; -} - -static void -process_XER_data(const char *fname, enum expectation expectation, unsigned char *fbuf, ssize_t size) { - PDU_t *st; - - st = load_object_from(fname, expectation, fbuf, size, AS_XER); - if(!st) return; - - /* Save and re-load as PER */ - save_object_as(st, expectation, AS_PER); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - - if(expectation == EXP_PER_NOCOMP) - return; /* Already checked */ - st = load_object_from("buffer", expectation, buf, buf_offset, AS_PER); - assert(st); - - save_object_as(st, - expectation, - (expectation == EXP_CXER_EXACT - || expectation == EXP_CXER_DIFF) - ? AS_CXER : AS_XER); - fprintf(stderr, "=== original ===\n"); - fwrite(fbuf, 1, size, stderr); - fprintf(stderr, "=== re-encoded ===\n"); - fwrite(buf, 1, buf_offset, stderr); - fprintf(stderr, "=== end ===\n"); - - switch(expectation) { - case EXP_DIFFERENT: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_BROKEN: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_CXER_EXACT: - buf[buf_offset++] = '\n'; - assert((ssize_t)size == (ssize_t)buf_offset); - assert(memcmp(fbuf, buf, size) == 0); - break; - case EXP_CXER_DIFF: - buf[buf_offset++] = '\n'; - assert((ssize_t)size != (ssize_t)buf_offset - || memcmp(fbuf, buf, size)); - break; - case EXP_OK: - case EXP_PER_NOCOMP: - assert(xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - } - - ASN_STRUCT_FREE(asn_DEF_PDU, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - unsigned char fbuf[4096]; - char *ext = strrchr(fname, '.'); - enum expectation expectation; - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".in")) - return 0; - - switch(ext[-1]) { - case 'B': /* The file is intentionally broken */ - expectation = EXP_BROKEN; break; - case 'D': /* Reconstructing should yield different data */ - expectation = EXP_DIFFERENT; break; - case 'E': /* Byte to byte exact reconstruction */ - expectation = EXP_CXER_EXACT; break; - case 'X': /* Should fail byte-to-byte comparison */ - expectation = EXP_CXER_DIFF; break; - case 'P': /* Incompatible with PER */ - expectation = EXP_PER_NOCOMP; break; - default: - expectation = EXP_OK; break; - } - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-119/%s", fname); - fp = fopen((char *)fbuf, "r"); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert(rd < (ssize_t)sizeof(fbuf)); /* expect small files */ - - process_XER_data(fname, expectation, fbuf, rd); - - fprintf(stderr, "Finished [%s]\n", fname); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - /* Process a specific test file */ - str = getenv("DATA_119_FILE"); - if(str && strncmp(str, "data-119-", 9) == 0) { - process(str); - return 0; - } - - dir = opendir(SRCDIR_S "/data-119"); - assert(dir); - - /* - * Process each file in that directory. - */ - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-119-", 9) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-126.-gen-PER.c b/tests/tests-c-compiler/check-src/check-126.-gen-PER.c deleted file mode 100644 index 299bca4..0000000 --- a/tests/tests-c-compiler/check-src/check-126.-gen-PER.c +++ /dev/null @@ -1,384 +0,0 @@ -/* - * Mode of operation: - * Each of the *.in files is XER-decoded, then converted into PER, - * compared with *.out file, then decoded and compared with the original. - */ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2) */ -#include -#include -#include -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); -#ifdef ASN_EMIT_DEBUG - unsigned char *b, *bend; - b = buf + buf_offset; - bend = b + size; - fprintf(stderr, "=> ["); - for(; b < bend; b++) { - if(*b >= 32 && *b < 127 && *b != '%') - fprintf(stderr, "%c", *b); - else - fprintf(stderr, "%%%02x", *b); - } - fprintf(stderr, "]:%zd\n", size); -#endif - buf_offset += size; - return 0; -} - -enum enctype { - AS_PER, - AS_DER, - AS_XER, -}; - -static void -save_object_as(PDU_t *st, enum enctype how) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - /* - * Save object using specified method. - */ - switch(how) { - case AS_PER: - rval = uper_encode(&asn_DEF_PDU, 0, st, _buf_writer, 0); - assert(rval.encoded > 0); - fprintf(stderr, "SAVED OBJECT IN SIZE %d\n", buf_offset); - return; - case AS_DER: - rval = der_encode(&asn_DEF_PDU, st, - _buf_writer, 0); - break; - case AS_XER: - rval = xer_encode(&asn_DEF_PDU, st, XER_F_BASIC, - _buf_writer, 0); - break; - default: - assert(!"Unreachable"); - } - - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return; - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %d\n", buf_offset); -} - -static PDU_t * -load_object_from(const char *fname, unsigned char *fbuf, size_t size, enum enctype how, int mustfail) { - asn_dec_rval_t rval; - PDU_t *st = 0; - ssize_t csize = 1; - - if(getenv("INITIAL_CHUNK_SIZE")) - csize = atoi(getenv("INITIAL_CHUNK_SIZE")); - - /* Perform multiple iterations with multiple chunks sizes */ - for(; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %zd FROM [%s] as %s," - " chunks %zd\n", - size, fname, how==AS_PER?"PER":"XER", csize); - - if(st) ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - - do { - ASN_DEBUG("\nDecoding bytes %d..%d (left %d) [%s]", - fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, - fbuf_left, - fname); -#ifdef ASN_EMIT_DEBUG - if(st) { - fprintf(stderr, "=== currently ===\n"); - asn_fprint(stderr, &asn_DEF_PDU, st); - fprintf(stderr, "=== end ===\n"); - } -#endif - switch(how) { - case AS_XER: - rval = xer_decode(0, &asn_DEF_PDU, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - break; - case AS_DER: - assert(0); - break; - case AS_PER: - rval = uper_decode(0, &asn_DEF_PDU, - (void **)&st, fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, 0, 0); - if(rval.code == RC_WMORE) { - if(fbuf_chunk == fbuf_left) { - fprintf(stderr, "-> PER decode error (%zd bits of %zd bytes (c=%d,l=%d)) \n", rval.consumed, size, fbuf_chunk, fbuf_left); - rval.code = RC_FAIL; - rval.consumed += 7; - rval.consumed /= 8; - if(mustfail) { - fprintf(stderr, "-> (this was expected failure)\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - return 0; - } - } else { - rval.consumed = 0; /* Not restartable */ - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - ASN_DEBUG("-> PER wants more"); - } - } else { - ASN_DEBUG("-> PER ret %d/%zd mf=%d", - rval.code, rval.consumed, mustfail); - /* uper_decode() returns _bits_ */ - rval.consumed += 7; - rval.consumed /= 8; - if((mustfail?1:0) == (rval.code == RC_FAIL)) { - if(mustfail) { - fprintf(stderr, "-> (this was expected failure)\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - return 0; - } - } else { - fprintf(stderr, "-> (unexpected %s)\n", mustfail ? "success" : "failure"); - rval.code = RC_FAIL; - } - } - break; - default: - assert(!"Unreachable"); - } - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - assert(rval.code == RC_OK); - if(how == AS_PER) { - fprintf(stderr, "[left %d, off %d, size %zd]\n", - fbuf_left, fbuf_offset, size); - assert(fbuf_offset == (ssize_t)size); - } else { - assert((fbuf_offset + 1 /* "\n" */ == (ssize_t)size - && fbuf[size - 1] == '\n') - || (fbuf_offset + 2 /* "\r\n" */ == (ssize_t)size - && fbuf[size - 2] == '\r' - && fbuf[size - 1] == '\n') - ); - } - } - - if(st) asn_fprint(stderr, &asn_DEF_PDU, st); - return st; -} - -static int -xer_encoding_equal(void *obufp, size_t osize, void *nbufp, size_t nsize) { - char *obuf = obufp; - char *nbuf = nbufp; - char *oend = obuf + osize; - char *nend = nbuf + nsize; - - if((osize && !nsize) || (!osize && nsize)) - return 0; /* not equal apriori */ - - while(1) { - while(obuf < oend && isspace(*obuf)) obuf++; - while(nbuf < nend && isspace(*nbuf)) nbuf++; - - if(obuf == oend || nbuf == nend) { - if(obuf == oend && nbuf == nend) - break; - fprintf(stderr, "%s data in reconstructed encoding\n", - (obuf == oend) ? "More" : "Less"); - return 0; - } - - if(*obuf != *nbuf) { - printf("%c%c != %c%c\n", - obuf[0], obuf[1], - nbuf[0], nbuf[1]); - return 0; - } - obuf++, nbuf++; - } - - return 1; -} - -static void -compare_with_data_out(const char *fname, void *datap, size_t size) { - char *data = datap; - char outName[sizeof(SRCDIR_S) + 256]; - unsigned char fbuf[1024]; - size_t rd; - FILE *f; - char lastChar; - int mustfail, compare; - PDU_t *st; - - sprintf(outName, SRCDIR_S "/data-126/%s", fname); - strcpy(outName + strlen(outName) - 3, ".out"); - - fprintf(stderr, "Comparing PER output with [%s]\n", outName); - - lastChar = outName[strlen(outName)-5]; - mustfail = lastChar == 'P'; - compare = lastChar != 'C'; - - if((compare && !mustfail) && getenv("REGENERATE")) { - f = fopen(outName, "w"); - fwrite(data, 1, size, f); - fclose(f); - } else { - f = fopen(outName, "r"); - assert(f); - rd = fread(fbuf, 1, sizeof(fbuf), f); - assert(rd); - fclose(f); - - fprintf(stderr, "Trying to decode [%s]\n", outName); - st = load_object_from(outName, fbuf, rd, AS_PER, mustfail); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - if(mustfail) return; - - if(compare) { - assert(rd == (size_t)size); - assert(memcmp(fbuf, data, rd) == 0); - fprintf(stderr, "XER->PER recoding .in->.out match.\n"); - } else { - assert(rd != (size_t)size || memcmp(fbuf, data, rd)); - fprintf(stderr, "XER->PER recoding .in->.out diverge.\n"); - } - } -} - -static void -process_XER_data(const char *fname, unsigned char *fbuf, size_t size) { - PDU_t *st; - - st = load_object_from(fname, fbuf, size, AS_XER, 0); - if(!st) return; - - /* Save and re-load as PER */ - save_object_as(st, AS_PER); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - compare_with_data_out(fname, buf, buf_offset); - st = load_object_from("buffer", buf, buf_offset, AS_PER, 0); - assert(st); - - save_object_as(st, AS_XER); - fprintf(stderr, "=== original ===\n"); - fwrite(fbuf, 1, size, stderr); - fprintf(stderr, "=== re-encoded ===\n"); - fwrite(buf, 1, buf_offset, stderr); - fprintf(stderr, "=== end ===\n"); - - if(fname[strlen(fname) - 4] == 'X') - assert(!xer_encoding_equal((char *)fbuf, size, (char *)buf, buf_offset)); - else - assert(xer_encoding_equal((char *)fbuf, size, (char *)buf, buf_offset)); - - ASN_STRUCT_FREE(asn_DEF_PDU, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - unsigned char fbuf[sizeof(SRCDIR_S) + 4096]; - char *ext = strrchr(fname, '.'); - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".in")) - return 0; - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-126/%s", fname); - fp = fopen((char *)fbuf, "r"); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert((size_t)rd < sizeof(fbuf)); /* expect small files */ - - process_XER_data(fname, fbuf, rd); - - fprintf(stderr, "Finished [%s]\n", fname); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - /* Process a specific test file */ - str = getenv("DATA_126_FILE"); - if(str && strncmp(str, "data-126-", 9) == 0) { - process(str); - return 0; - } - - dir = opendir(SRCDIR_S "/data-126"); - assert(dir); - - /* - * Process each file in that directory. - */ - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-126-", 9) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-127.-gen-PER.c b/tests/tests-c-compiler/check-src/check-127.-gen-PER.c deleted file mode 100644 index eca680b..0000000 --- a/tests/tests-c-compiler/check-src/check-127.-gen-PER.c +++ /dev/null @@ -1,89 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -static void -verify(int testNo, T_t *ti) { - asn_enc_rval_t er; - asn_dec_rval_t rv; - unsigned char buf[16]; - T_t *to = 0; - - fprintf(stderr, "%d IN: { %ld, %ld, %lu, %lu }\n", testNo, - ti->small32range, ti->full32range, - ti->unsigned32, ti->unsplit32); - - er = uper_encode_to_buffer(&asn_DEF_T, 0, ti, buf, sizeof buf); - assert(er.encoded == 8 * sizeof(buf)); - - rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); - assert(rv.code == RC_OK); - - fprintf(stderr, "%d ENC: %2x%2x%2x%2x %2x%2x%2x%2x\n", testNo, - buf[0], buf[1], buf[2], buf[3], - buf[4], buf[5], buf[6], buf[7]); - fprintf(stderr, "%d OUT: { %ld, %ld, %lu, %lu } vs { %ld, %ld, %lu, %lu }\n", - testNo, - ti->small32range, ti->full32range, - ti->unsigned32, ti->unsplit32, - to->small32range, to->full32range, - to->unsigned32, to->unsplit32); - assert(ti->small32range == to->small32range); - assert(ti->full32range == to->full32range); - assert(ti->unsigned32 == to->unsigned32); - assert(ti->unsplit32 == to->unsplit32); - - xer_fprint(stderr, &asn_DEF_T, ti); - xer_fprint(stderr, &asn_DEF_T, to); - - ASN_STRUCT_FREE(asn_DEF_T, to); -} - -int main() { - T_t ti; - - ti.small32range = 0; - ti.full32range = 0; - ti.unsigned32 = 0; - ti.unsplit32 = 5; - verify(1, &ti); - - ti.small32range = -1; - ti.full32range = -1; - ti.unsigned32 = 1; - ti.unsplit32 = 300; - verify(2, &ti); - - ti.small32range = -2000000000; - ti.full32range = (-2147483647L - 1); - ti.unsigned32 = 4000000000; - ti.unsplit32 = 500; - verify(3, &ti); - - ti.small32range = -1999999999; - ti.full32range = (-2147483647L); - ti.unsigned32 = 4294967295UL; - ti.unsplit32 = 600; - verify(4, &ti); - - ti.small32range = 2000000000; - ti.full32range = 2147483647; - ti.unsigned32 = 4294967295UL - 100; - ti.unsplit32 = 4294967290UL; - verify(5, &ti); - - ti.small32range = 1999999999; - ti.full32range = 2147483647 - 1; - ti.unsigned32 = 4294967295UL - 1; - ti.unsplit32 = 4294967290UL - 1; - verify(6, &ti); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-131.-gen-PER.c b/tests/tests-c-compiler/check-src/check-131.-gen-PER.c deleted file mode 100644 index 0b8fcd6..0000000 --- a/tests/tests-c-compiler/check-src/check-131.-gen-PER.c +++ /dev/null @@ -1,60 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include "T.h" -#include "per_opentype.h" - -int -main() { - asn_per_data_t pd; - asn_per_outp_t po; - asn_dec_rval_t rv; - T_t t; - T_t *t2 = 0; - size_t i; - - memset(&po, 0, sizeof po); - po.buffer = po.tmpspace; - po.nbits = sizeof(po.tmpspace) * 8; - - memset(&t, 0, sizeof t); - - printf("Checking uper_open_type_put():\n"); - assert(0 == uper_open_type_put(&asn_DEF_T, 0, &t, &po)); - assert(po.nbits == (-1 + (int)sizeof(po.tmpspace)) * 8); - printf("po{nboff=%zd; nbits=%zd; buffer=%p; tmpspace=%p}\n", - po.nboff, po.nbits, po.buffer, po.tmpspace); - /* One byte length and one byte 0x00 */ - assert( (po.nboff == 8 && po.buffer == &po.tmpspace[1]) - || (po.nboff == 0 && po.buffer == &po.tmpspace[2])); - assert(po.tmpspace[0] == 0x01); - assert(po.tmpspace[1] == 0x00); - - printf("\nChecking uper_open_type_get():\n"); - for(i = 0; i < 16; i++) { - FREEMEM(t2); t2 = 0; - memset(&pd, 0, sizeof pd); - pd.buffer = po.tmpspace; - pd.nboff = 0; - pd.nbits = i; - rv = uper_open_type_get(0, &asn_DEF_T, 0, (void **)&t2, &pd); - assert(rv.code == RC_WMORE); - } - - memset(&pd, 0, sizeof pd); - pd.buffer = po.tmpspace; - pd.nboff = 0; - pd.nbits = 16; - rv = uper_open_type_get(0, &asn_DEF_T, 0, (void **)&t2, &pd); - assert(rv.code == RC_OK); - assert( (pd.nboff == 8 && pd.buffer == &po.tmpspace[1]) - || (pd.nboff == 16 && pd.buffer == &po.tmpspace[0])); - assert(pd.nboff + pd.nbits == 16); - - ASN_STRUCT_FREE(asn_DEF_T, t2); - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-132.-gen-PER.c b/tests/tests-c-compiler/check-src/check-132.-gen-PER.c deleted file mode 100644 index 893b162..0000000 --- a/tests/tests-c-compiler/check-src/check-132.-gen-PER.c +++ /dev/null @@ -1,64 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -static void -verify(int testNo, T_t *ti) { - asn_enc_rval_t er; - asn_dec_rval_t rv; - unsigned char buf[2]; - T_t *to = 0; - - er = uper_encode_to_buffer(&asn_DEF_T, 0, ti, buf, sizeof buf); - fprintf(stderr, "%d IN: %d => %zd\n", testNo, ti->present, er.encoded); - assert(er.encoded >= 1 && er.encoded <= (ssize_t)(8 * sizeof(buf))); - - rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); - assert(rv.code == RC_OK); - - fprintf(stderr, "%d ENC: %2x%2x\n", testNo, - buf[0], buf[1]); - fprintf(stderr, "%d OUT: %d\n", testNo, ti->present); - assert(ti->present == to->present); - if(ti->present == T_PR_second) { - assert(ti->choice.second == to->choice.second); - } else { - assert(ti->choice.first.present == to->choice.first.present); - assert(ti->choice.first.choice.nothing == to->choice.first.choice.nothing); - } - - xer_fprint(stderr, &asn_DEF_T, ti); - xer_fprint(stderr, &asn_DEF_T, to); - - ASN_STRUCT_FREE(asn_DEF_T, to); -} - -int main() { - T_t t; - - memset(&t, 0, sizeof(t)); - t.present = T_PR_first; - t.choice.first.present = first_PR_nothing; - t.choice.first.choice.nothing = 5; - verify(0, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_first; - t.choice.first.present = first_PR_nothing; - t.choice.first.choice.nothing = 6; - verify(1, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_second; - t.choice.second = 7; - verify(2, &t); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-133.-gen-PER.c b/tests/tests-c-compiler/check-src/check-133.-gen-PER.c deleted file mode 100644 index f7a770e..0000000 --- a/tests/tests-c-compiler/check-src/check-133.-gen-PER.c +++ /dev/null @@ -1,83 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -static void -verify(int testNo, T_t *ti) { - asn_enc_rval_t er; - asn_dec_rval_t rv; - unsigned char buf[8]; - T_t *to = 0; - - er = uper_encode_to_buffer(&asn_DEF_T, 0, ti, buf, sizeof buf); - fprintf(stderr, "%d IN: %d => %zd\n", testNo, ti->present, er.encoded); - assert(er.encoded >= 1); - assert(er.encoded <= (ssize_t)(8 * sizeof(buf))); - - rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); - assert(rv.code == RC_OK); - - fprintf(stderr, "%d ENC: %2x%2x\n", testNo, - buf[0], buf[1]); - fprintf(stderr, "%d OUT: %d\n", testNo, ti->present); - assert(ti->present == to->present); - switch(ti->present) { - case T_PR_NOTHING: - assert(ti->present != T_PR_NOTHING); - break; - case T_PR_first: - assert(ti->choice.first.present == to->choice.first.present); - assert(ti->choice.first.choice.nothing == to->choice.first.choice.nothing); - break; - case T_PR_second: - assert(ti->choice.second == to->choice.second); - break; - case T_PR_third: - assert(ti->choice.third == to->choice.third); - break; - } - - xer_fprint(stderr, &asn_DEF_T, ti); - xer_fprint(stderr, &asn_DEF_T, to); -} - -int main() { - T_t t; - - return 0; // this test fails, but not important atm. - - memset(&t, 0, sizeof(t)); - t.present = T_PR_first; - t.choice.first.present = first_PR_nothing; - t.choice.first.choice.nothing = 5; - verify(0, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_second; - t.choice.second = -5; - verify(1, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_second; - t.choice.second = 10; - verify(2, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_third; - t.choice.third = -10; - verify(3, &t); - - memset(&t, 0, sizeof(t)); - t.present = T_PR_third; - t.choice.third = 4097; - verify(4, &t); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-135.-gen-OER.c b/tests/tests-c-compiler/check-src/check-135.-gen-OER.c deleted file mode 100644 index 9060a6b..0000000 --- a/tests/tests-c-compiler/check-src/check-135.-gen-OER.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Verify OER with constrained INTEGER code gen. - */ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -int main() { - uint8_t tmpbuf[128]; - T_t source; - T_t *decoded = 0; /* "= 0" is important */ - - memset(&source, 0, sizeof(source)); - - asn_enc_rval_t er = - oer_encode_to_buffer(&asn_DEF_T, 0, &source, tmpbuf, sizeof(tmpbuf)); - assert(er.encoded != -1); - - asn_dec_rval_t dr = - oer_decode(0, &asn_DEF_T, (void **)&decoded, tmpbuf, er.encoded); - - assert(dr.code == RC_OK); - if((ssize_t)dr.consumed != er.encoded) { - ASN_DEBUG("Consumed %zu, expected %zu", dr.consumed, er.encoded); - assert((ssize_t)dr.consumed == er.encoded); - } - - if(XEQ_SUCCESS != xer_equivalent(&asn_DEF_T, &source, decoded, stderr)) { - return 1; - } - - ASN_STRUCT_RESET(asn_DEF_T, &source); - ASN_STRUCT_FREE(asn_DEF_T, decoded); - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-137.-gen-OER.c b/tests/tests-c-compiler/check-src/check-137.-gen-OER.c deleted file mode 100644 index b21b0c5..0000000 --- a/tests/tests-c-compiler/check-src/check-137.-gen-OER.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Verify OER with constrained and unconstrained strings. - */ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -int main() { - uint8_t tmpbuf[128]; - T_t source; - T_t *decoded = 0; /* "= 0" is important */ - - memset(&source, 0, sizeof(source)); - - OCTET_STRING_fromBuf(&source.unconstrained.unc_ia5, "foo", 3); - OCTET_STRING_fromBuf(&source.unconstrained.unc_utf8, "bar-whatever", 12); - OCTET_STRING_fromBuf(&source.unconstrained.unc_universal, - "\0\0\0b\0\0\0a\0\0\0z", 12); - - OCTET_STRING_fromBuf(&source.constrained.con_ia5, "ab", 2); - OCTET_STRING_fromBuf(&source.constrained.con_utf8, "cd-whatever", 11); - OCTET_STRING_fromBuf(&source.constrained.con_universal, "\0\0\0e\0\0\0f", - 8); - - asn_enc_rval_t er = - oer_encode_to_buffer(&asn_DEF_T, 0, &source, tmpbuf, sizeof(tmpbuf)); - assert(er.encoded != -1); - - asn_dec_rval_t dr = - oer_decode(0, &asn_DEF_T, (void **)&decoded, tmpbuf, er.encoded); - - assert(dr.code == RC_OK); - if(dr.consumed != er.encoded) { - ASN_DEBUG("Consumed %zu, expected %zu", dr.consumed, er.encoded); - assert(dr.consumed == er.encoded); - } - - if(XEQ_SUCCESS != xer_equivalent(&asn_DEF_T, &source, decoded, stderr)) { - return 1; - } - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-148.c b/tests/tests-c-compiler/check-src/check-148.c deleted file mode 100644 index c6ba07a..0000000 --- a/tests/tests-c-compiler/check-src/check-148.c +++ /dev/null @@ -1,174 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include -#include - -uint8_t berSeq1[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 6, /* L */ - /* aBool BOOLEAN */ - ((2 << 6) + 0), /* [0], primitive */ - 1, /* L */ - 0, /* FALSE */ - /* anInteger INTEGER */ - ((2 << 6) + 1), /* [1], primitive */ - 1, /* L */ - 1 -}; - -uint8_t derSeq1[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 3, /* L */ - /* anInteger INTEGER */ - ((2 << 6) + 1), /* [1], primitive */ - 1, /* L */ - 1 -}; - -uint8_t berSeq2[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 3, /* L */ - /* aBool BOOLEAN */ - ((2 << 6) + 0), /* [0], primitive */ - 1, /* L */ - 0 /* FALSE */ -}; - -uint8_t derSeq2[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 0 /* L */ -}; - -uint8_t berSet1[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 6, /* L */ - /* aBool BOOLEAN */ - ((2 << 6) + 0), /* [0], primitive */ - 1, /* L */ - 0, /* FALSE */ - /* anInteger INTEGER */ - ((2 << 6) + 1), /* [1], primitive */ - 1, /* L */ - 1 -}; - -uint8_t derSet1[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 3, /* L */ - /* anInteger INTEGER */ - ((2 << 6) + 1), /* [1], primitive */ - 1, /* L */ - 1 -}; - -uint8_t berSet2[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 3, /* L */ - /* aBool BOOLEAN */ - ((2 << 6) + 0), /* [0], primitive */ - 1, /* L */ - 0 /* FALSE */ -}; - -uint8_t derSet2[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 0 /* L */ -}; - -uint8_t buf2[128]; -int buf2_pos; - -static int -buf2_fill(const void *buffer, size_t size, void *app_key) { - - (void)app_key; - - if(buf2_pos + size > sizeof(buf2)) - return -1; - - memcpy(buf2 + buf2_pos, buffer, size); - buf2_pos += size; - - return 0; -} - -static void -compare_encoding(asn_enc_rval_t *erval, uint8_t *expected, size_t expected_size, - uint8_t *actual) { - - assert(erval->encoded != -1); - if((size_t)erval->encoded != expected_size) { - printf("%d != %d\n", (int)erval->encoded, (int)expected_size); - assert((size_t)erval->encoded == expected_size); - } - for(size_t i = 0; i < expected_size; i++) { - if(expected[i] != actual[i]) { - fprintf(stderr, "Recreated buffer content mismatch:\n"); - fprintf(stderr, "Byte %zu, %x != %x (%d != %d)\n", i, expected[i], - actual[i], expected[i], actual[i]); - } - assert(expected[i] == actual[i]); - } -} - -static void -check_sequence(uint8_t *in, size_t in_size, uint8_t *expected, - size_t expected_size) { - DefaultSequence_t t, *tp; - void *tpp = &tp; - asn_dec_rval_t rval; - asn_enc_rval_t erval; - - tp = memset(&t, 0, sizeof(t)); - - /* Try to decode the BER encoding. */ - rval = ber_decode(0, &asn_DEF_DefaultSequence, (void**)tpp, in, in_size); - assert(rval.code == RC_OK); - assert(rval.consumed == in_size); - - /* Try to re-create using DER encoding. */ - buf2_pos = 0; - erval = der_encode(&asn_DEF_DefaultSequence, tp, buf2_fill, 0); - compare_encoding(&erval, expected, expected_size, buf2); - - ASN_STRUCT_RESET(asn_DEF_DefaultSequence, tp); -} - -static void -check_set(uint8_t *in, size_t in_size, uint8_t *expected, - size_t expected_size) { - DefaultSet_t t, *tp; - void *tpp = &tp; - asn_dec_rval_t rval; - asn_enc_rval_t erval; - - tp = memset(&t, 0, sizeof(t)); - - /* Try to decode the BER encoding. */ - rval = ber_decode(0, &asn_DEF_DefaultSet, (void**)tpp, in, in_size); - assert(rval.code == RC_OK); - assert(rval.consumed == in_size); - - /* Try to re-create using DER encoding. */ - buf2_pos = 0; - erval = der_encode(&asn_DEF_DefaultSet, tp, buf2_fill, 0); - compare_encoding(&erval, expected, expected_size, buf2); - ASN_STRUCT_RESET(asn_DEF_DefaultSet, tp); -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check_sequence(berSeq1, sizeof(berSeq1), derSeq1, sizeof(derSeq1)); - check_sequence(berSeq2, sizeof(berSeq2), derSeq2, sizeof(derSeq2)); - check_set(berSet1, sizeof(berSet1), derSet1, sizeof(derSet1)); - check_set(berSet2, sizeof(berSet2), derSet2, sizeof(derSet2)); -} diff --git a/tests/tests-c-compiler/check-src/check-158.-fcompound-names.c b/tests/tests-c-compiler/check-src/check-158.-fcompound-names.c deleted file mode 100644 index 322742d..0000000 --- a/tests/tests-c-compiler/check-src/check-158.-fcompound-names.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Type_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-19.c b/tests/tests-c-compiler/check-src/check-19.c deleted file mode 100644 index bb2f7f2..0000000 --- a/tests/tests-c-compiler/check-src/check-19.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Name_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-22.-fwide-types.c b/tests/tests-c-compiler/check-src/check-22.-fwide-types.c deleted file mode 100644 index 8fe42a4..0000000 --- a/tests/tests-c-compiler/check-src/check-22.-fwide-types.c +++ /dev/null @@ -1,153 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 12, /* L */ - /* INTEGER a */ - ((2 << 6) + 0), /* [0], primitive */ - 2, /* L */ - 150, - 70, - /* b [1] EXPLICIT CHOICE */ - 32 | ((2 << 6) + 1), /* [1] */ - 3, /* L */ - ((2 << 6) + 1), /* [1] */ - 1, - 'i', - /* UTF8String c */ - ((2 << 6) + 2), /* [2], primitive */ - 1, /* L */ - 'x' -}; - -uint8_t buf2[128]; -int buf2_pos; - -static int -buf2_fill(const void *buffer, size_t size, void *app_key) { - - (void)app_key; - - if(buf2_pos + size > sizeof(buf2)) - return -1; - - memcpy(buf2 + buf2_pos, buffer, size); - buf2_pos += size; - - return 0; -} - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - T1_t t, *tp; - void *tpp = &tp; - asn_dec_rval_t rval; - asn_enc_rval_t erval; - int ret; - int i; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_T1, (void **)tpp, buf, size); - fprintf(stderr, "Returned code %d, consumed %d\n", - (int)rval.code, (int)rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == (size_t)consumed); - assert(t.a.size == 2); - assert(t.b.present == b_PR_n); - assert(t.b.choice.n.size == 1); - assert(t.b.choice.n.buf[0] == 'i'); - assert(t.c.size == 1); - assert(t.c.buf[0] == 'x'); - - } else { - if(rval.code == RC_OK) { - assert(t.a.size != 2 - || t.b.present != b_PR_n - || t.b.choice.n.size != 1 - || t.c.size != 1 - ); - } - assert(rval.consumed <= (size_t)consumed); - ASN_STRUCT_RESET(asn_DEF_T1, tp); - return; - } - - fprintf(stderr, "=> Re-creating using DER encoder <=\n"); - - /* - * Try to re-create using DER encoding. - */ - buf2_pos = 0; - erval = der_encode(&asn_DEF_T1, tp, buf2_fill, 0); - assert(erval.encoded != -1); - if(erval.encoded != sizeof(buf1)) { - printf("%d != %d\n", (int)erval.encoded, (int)sizeof(buf1)); - } - assert(erval.encoded == (ssize_t)sizeof(buf1)); - for(i = 0; i < (ssize_t)sizeof(buf1); i++) { - if(buf1[i] != buf2[i]) { - fprintf(stderr, "Recreated buffer content mismatch:\n"); - fprintf(stderr, "Byte %d, %x != %x (%d != %d)\n", - i, - buf1[i], buf2[i], - buf1[i], buf2[i] - ); - } - assert(buf1[i] == buf2[i]); - } - - fprintf(stderr, "=== asn_fprint() ===\n"); - ret = asn_fprint(stderr, &asn_DEF_T1, tp); - assert(ret == 0); - fprintf(stderr, "=== xer_fprint() ===\n"); - ret = xer_fprint(stderr, &asn_DEF_T1, tp); - assert(ret == 0); - fprintf(stderr, "=== EOF ===\n"); - - ASN_STRUCT_RESET(asn_DEF_T1, tp); -} - -static void -try_corrupt(uint8_t *buf, size_t size) { - uint8_t tmp[size]; - - fprintf(stderr, "\nCorrupting...\n"); - - for(int i = 0; i < 1000; i++) { - int loc; - memcpy(tmp, buf, size); - - /* Corrupt random _non-value_ location. */ - do { loc = random() % size; } while(tmp[loc] >= 70); - do { tmp[loc] ^= random(); } while(tmp[loc] == buf[loc]); - - fprintf(stderr, "\nTry %d: corrupting byte %d (%d->%d)\n", - i, loc, buf[loc], tmp[loc]); - - check(0, tmp, size, size); - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(1, buf1, sizeof(buf1), sizeof(buf1)); - try_corrupt(buf1, sizeof(buf1)); - check(1, buf1, sizeof(buf1) + 10, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-24.-fwide-types.c b/tests/tests-c-compiler/check-src/check-24.-fwide-types.c deleted file mode 100644 index a885d6c..0000000 --- a/tests/tests-c-compiler/check-src/check-24.-fwide-types.c +++ /dev/null @@ -1,96 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | ((2 << 6) + 5), /* [5], constructed */ - 17, /* L */ - 32 | 16, /* [UNIVERSAL 16], constructed */ - 15, /* L */ - /* INTEGER a */ - 2, /* [UNIVERSAL 2] */ - 2, /* L */ - 150, - 70, - /* INTEGER b */ - ((2 << 6) + 0), /* [0] */ - 1, /* L */ - 123, - /* INTEGER c */ - ((2 << 6) + 1), /* [1] */ - 1, /* L */ - 123, - /* INTEGER d */ - 32 | ((2 << 6) + 5), /* [5], constructed */ - 3, - 2, - 1, /* L */ - 123, -}; - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - T_t t, *tp; - asn_dec_rval_t rval; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - } else { - if(rval.code == RC_OK) { - assert(t.a.size != 2 - || (!t.b || t.b->size != 1) - || (!t.c || t.c->size != 1) - || t.d.size != 1 - ); - } - assert(rval.consumed <= consumed); - } - - ASN_STRUCT_RESET(asn_DEF_T, tp); -} - -static void -try_corrupt(uint8_t *buf, size_t size) { - uint8_t tmp[size]; - - fprintf(stderr, "\nCorrupting...\n"); - - for(int i = 0; i < 1000; i++) { - int loc; - memcpy(tmp, buf, size); - - /* Corrupt random _non-value_ location. */ - do { loc = random() % size; } while(tmp[loc] >= 70); - do { tmp[loc] ^= random(); } while(tmp[loc] == buf[loc]); - - fprintf(stderr, "\nTry %d: corrupting byte %d (%d->%d)\n", - i, loc, buf[loc], tmp[loc]); - - check(0, tmp, size, size); - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(1, buf1, sizeof(buf1), sizeof(buf1)); - try_corrupt(buf1, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-25.-fwide-types.c b/tests/tests-c-compiler/check-src/check-25.-fwide-types.c deleted file mode 100644 index fda63c3..0000000 --- a/tests/tests-c-compiler/check-src/check-25.-fwide-types.c +++ /dev/null @@ -1,257 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | 16, /* [UNIVERSAL 16], constructed */ - 128, /* L */ - /* a INTEGER */ - 2, /* [UNIVERSAL 2] */ - 2, /* L */ - 150, - 70, - /* b [2] IMPLICIT BOOLEAN */ - 128 | 2, /* [2] */ - 1, /* L */ - 0xff, - /* c NULL */ - 5, /* [UNIVERSAL 5] */ - 0, /* L */ - /* d ENUMERATED */ - 10, /* [UNIVERSAL 10] */ - 1, /* L */ - 222, - /* e OCTET STRING */ - 4, /* [UNIVERSAL 4] */ - 3, /* L */ - 'x', - 'y', - 'z', - /* - * X.690 specifies that inner structures must be tagged by - * stripping off the outer tag for each subsequent level. - */ - /* f [5] IMPLICIT VisibleString */ - 128 | 32 | 5, /* [5], constructed */ - 128, /* L indefinite */ - 26, /* [UNIVERSAL 26] (VisibleString), primitive */ - 2, - 'l', - 'o', - 32 | 26, /* [UNIVERSAL 26], recursively constructed */ - 128, - 4, /* [UNIVERSAL 4] (OCTET STRING), primitive */ - 1, - 'v', - 4, /* [UNIVERSAL 4], primitive */ - 2, - 'e', - '_', - 0, - 0, - 26, /* [UNIVERSAL 26], primitive */ - 2, - 'i', - 't', - 0, - 0, - /* g BIT STRING */ - 3, /* [UNIVERSAL 3], primitive */ - 3, /* L */ - 2, /* Skip 2 bits */ - 147, - 150, /* => 148 */ - /* h [7] BIT STRING */ - 128 | 32 | 7, /* [7], constructed */ - 128, /* L indefinite */ - 3, /* [UNIVERSAL 3], primitive */ - 3, /* L */ - 0, /* Skip 0 bits */ - 140, - 141, - 3, /* [UNIVERSAL 3], primitive */ - 2, /* L */ - 1, /* Skip 1 bit */ - 143, /* => 142 */ - 0, /* End of h */ - 0, - 0, /* End of the whole structure */ - 0, - /* Three bytes of planned leftover */ - 111, 222, 223 -}; - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - T_t t, *tp; - asn_dec_rval_t rval; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p (%zd)\n", buf, size); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd, expected %zd\n", - (int)rval.code, rval.consumed, consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - assert(strcmp((char *)t.e->buf, "xyz") == 0); - assert(strcmp((char *)t.f->buf, "love_it") == 0); - - assert(t.g->size == 2); - assert(t.g->bits_unused == 2); - fprintf(stderr, "%d %d\n", t.g->buf[0], t.g->buf[1]); - assert(t.g->buf[0] == 147); - assert(t.g->buf[1] != 150); - assert(t.g->buf[1] == 148); - - assert(t.h->size == 3); - assert(t.h->bits_unused == 1); - assert(t.h->buf[0] == 140); - assert(t.h->buf[1] == 141); - assert(t.h->buf[2] == 142); - } else { - if(rval.code == RC_OK) { - assert(t.a.size != 2 - || !t.d - || t.d->size != 1 - || !t.e - || t.e->size != 3 - || !t.f - || t.f->size != 7 - || !t.g - || t.g->size != 2 - || !t.h - || t.h->size != 3 - ); - } - fprintf(stderr, "%zd %zd\n", rval.consumed, consumed); - assert(rval.consumed <= consumed); - } - - ASN_STRUCT_RESET(asn_DEF_T, &t); -} - -static void -try_corrupt(uint8_t *buf, size_t size, int allow_consume) { - uint8_t tmp[size]; - - fprintf(stderr, "\nCorrupting...\n"); - - for(int i = 0; i < 1000; i++) { - int loc; - memcpy(tmp, buf, size); - - /* Corrupt random _non-value_ location. */ - do { loc = random() % size; } while( - loc == 44 /* bit skips */ - || loc == 51 /* bit skips */ - || loc == 56 /* bit skips */ - || tmp[loc] >= 70); - do { tmp[loc] = buf[loc] ^ random(); } while( - (tmp[loc] == buf[loc]) - || (buf[loc] == 0 && tmp[loc] == 0x80)); - - fprintf(stderr, "\nTry %d: corrupting byte %d (%d->%d)\n", - i, loc, buf[loc], tmp[loc]); - - check(0, tmp, size, allow_consume); - } -} - -static void -partial_read(uint8_t *buf, size_t size) { - T_t t, *tp; - asn_dec_rval_t rval; - uint8_t tbuf1[size]; - uint8_t tbuf2[size]; - uint8_t tbuf3[size]; - - fprintf(stderr, "\nPartial read sequence...\n"); - - /* - * Divide the space (size) into three blocks in various combinations: - * |<----->i1<----->i2<----->| - * ^ buf ^ buf+size - * Try to read block by block. - */ - for(size_t i1 = 0; i1 < size; i1++) { - for(size_t i2 = i1; i2 < size; i2++) { - uint8_t *chunk1 = buf; - size_t size1 = i1; - uint8_t *chunk2 = buf + size1; - size_t size2 = i2 - i1; - uint8_t *chunk3 = buf + size1 + size2; - size_t size3 = size - size1 - size2; - - fprintf(stderr, "\n%d:{%d, %d, %d}...\n", - (int)size, (int)size1, (int)size2, (int)size3); - - memset(tbuf1, 0, size); - memset(tbuf2, 0, size); - memset(tbuf3, 0, size); - memcpy(tbuf1, chunk1, size1); - memcpy(tbuf2, chunk2, size2); - memcpy(tbuf3, chunk3, size3); - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "=> Chunk 1 (%d):\n", (int)size1); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - tbuf1, size1); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size1); - if(rval.consumed < size1) { - int leftover = size1 - rval.consumed; - memcpy(tbuf2, tbuf1 + rval.consumed, leftover); - memcpy(tbuf2 + leftover, chunk2, size2); - size2 += leftover; - } - - fprintf(stderr, "=> Chunk 2 (%d):\n", (int)size2); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - tbuf2, size2); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size2); - if(rval.consumed < size2) { - int leftover = size2 - rval.consumed; - memcpy(tbuf3, tbuf2 + rval.consumed, leftover); - memcpy(tbuf3 + leftover, chunk3, size3); - size3 += leftover; - } - - fprintf(stderr, "=> Chunk 3 (%d):\n", (int)size3); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - tbuf3, size3); - assert(rval.code == RC_OK); - assert(rval.consumed == size3); - - ASN_STRUCT_RESET(asn_DEF_T, &t); - } - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - /* Check that the full buffer may be decoded normally */ - check(1, buf1, sizeof(buf1), sizeof(buf1) - 3); - - /* Check that some types of buffer corruptions will lead to failure */ - try_corrupt(buf1, sizeof(buf1) - 3, sizeof(buf1) - 3); - - /* Split the buffer in parts and check decoder restartability */ - partial_read(buf1, sizeof(buf1) - 3); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-30.-fwide-types.c b/tests/tests-c-compiler/check-src/check-30.-fwide-types.c deleted file mode 100644 index 3f1b1cd..0000000 --- a/tests/tests-c-compiler/check-src/check-30.-fwide-types.c +++ /dev/null @@ -1,264 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - - -/* - * Test that the optional member (c) is really optional. - */ -uint8_t buf1[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 8, /* L */ - - /* a INTEGER */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 96, - - /* b IA5String */ - 22, /* [UNIVERSAL 22] */ - 3, /* L */ - 'x', - 'y', - 'z' -}; - -/* - * This buffer aims at checking the duplication. - */ -uint8_t buf2[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 8, /* L */ - - /* a INTEGER */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 96, - - /* a INTEGER _again_ */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 97, -}; - -/* - * This buffer checks that an unexpected member may be properly ignored. - */ -uint8_t buf3[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 14, /* L */ - - /* INTEGER */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 96, - - /* IA5String */ - 22, /* [UNIVERSAL 22] */ - 3, /* L */ - 'x', - 'y', - 'z', - - /* unexpected INTEGER */ - 64 | 4, /* [APPLICATION 4] */ - 1, /* L */ - 96, - - /* [2] BOOLEAN */ - ((2 << 6) + 2), /* [2] */ - 1, /* L */ - 0xff -}; - -/* - * This buffer checks that an unexpected member may be properly ignored. - * This time, with indefinite length encoding. - */ -uint8_t buf4[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 16, /* L */ - - /* a INTEGER */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 96, - - /* b IA5String */ - 22, /* [UNIVERSAL 22] */ - 3, /* L */ - 'x', - 'y', - 'z', - - /* unexpected data structure */ - 32 | 64 | 4, /* [APPLICATION 4] */ - 0x80, /* indefinite L */ - 64 | 1, /* [APPLICATION 1] */ - 2, /* L */ - 'a', 'b', - - 0x00, - 0x00 -}; - -/* - * This buffer checks that an unexpected member may be properly ignored. - * This time, with indefinite length encoding at the outer level too. - */ -uint8_t buf5[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 0x80, /* indefinite L */ - - /* INTEGER */ - 64 | 3, /* [APPLICATION 3] */ - 1, /* L */ - 96, - - /* IA5String */ - 22, /* [UNIVERSAL 22] */ - 3, /* L */ - 'x', - 'y', - 'z', - - /* unexpected data structure */ - 32 | 64 | 4, /* [APPLICATION 4] */ - 0x80, /* indefinite L */ - 64 | 1, /* [APPLICATION 1] */ - 2, /* L */ - 'a', 'b', - - 0x00, - 0x00, - - 0x00, - 0x00 -}; - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - T_t t, *tp; - asn_dec_rval_t rval; - - fprintf(stderr, "\nMust %s:\n", is_ok?"suceed":"fail"); - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd (out of %zd)\n", - (int)rval.code, rval.consumed, size); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - assert(t.i.size == 1); - assert(t.i.buf[0] == 96); - assert(t.s.size == 3); - assert(strcmp((char *)t.s.buf, "xyz") == 0); - if(buf == buf3) { - assert(t.b); - } else { - assert(t.b == 0); - } - } else { - if(rval.code == RC_OK) { - assert(t.i.size != 1 - || t.s.size != 3 - || !t.b - ); - } - assert(rval.consumed <= consumed); - } - ASN_STRUCT_RESET(asn_DEF_T, tp); -} - - -static char xer_buf[128]; -static int xer_off; - -static int -xer_cb(const void *buffer, size_t size, void *key) { - (void)key; - assert(xer_off + size < sizeof(xer_buf)); - memcpy(xer_buf + xer_off, buffer, size); - xer_off += size; - return 0; -} - -static void -check_xer(uint8_t *buf, uint8_t size, char *xer_sample) { - T_t *tp = 0; - asn_dec_rval_t rval; - asn_enc_rval_t er; - int xer_sample_len = strlen(xer_sample); - - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - assert(rval.code == RC_OK); - assert(rval.consumed == size); - assert(tp); - - xer_off = 0; - er = xer_encode(&asn_DEF_T, tp, XER_F_CANONICAL, xer_cb, 0); - assert(er.encoded == xer_off); - assert(xer_off); - xer_buf[xer_off] = 0; - printf("[%s] vs [%s]\n", xer_buf, xer_sample); - assert(xer_off == xer_sample_len); - assert(memcmp(xer_buf, xer_sample, xer_off) == 0); - - ASN_STRUCT_FREE(asn_DEF_T, tp); -} - -static void -try_corrupt(uint8_t *buf, size_t size) { - uint8_t tmp[size]; - - fprintf(stderr, "\nCorrupting...\n"); - - for(int i = 0; i < 1000; i++) { - int loc; - memcpy(tmp, buf, size); - - /* Corrupt random _non-value_ location. */ - do { loc = random() % size; } while(tmp[loc] >= 70); - do { tmp[loc] = buf[loc] ^ random(); } while( - (tmp[loc] == buf[loc]) - || (buf[loc] == 0 && tmp[loc] == 0x80)); - - fprintf(stderr, "\nTry %d: corrupting byte %d (%d->%d)\n", - i, loc, buf[loc], tmp[loc]); - - check(0, tmp, size, size); - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(1, buf1, sizeof(buf1) + 20, sizeof(buf1)); - check(0, buf2, sizeof(buf2) + 1, 5); - check(1, buf3, sizeof(buf3) + 1, sizeof(buf3)); - check(1, buf4, sizeof(buf4), sizeof(buf4)); - check(1, buf5, sizeof(buf5), sizeof(buf5)); - check(1, buf5, sizeof(buf5) + 1, sizeof(buf5)); - check(0, buf5, sizeof(buf5) - 1, sizeof(buf5)); - - check_xer(buf1, sizeof(buf1), "xyz96"); - check_xer(buf3, sizeof(buf3), "xyz96"); - - fprintf(stderr, "\nPseudo-random buffer corruptions must fail\n"); - try_corrupt(buf1, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-31.-fwide-types.c b/tests/tests-c-compiler/check-src/check-31.-fwide-types.c deleted file mode 100644 index 399f0da..0000000 --- a/tests/tests-c-compiler/check-src/check-31.-fwide-types.c +++ /dev/null @@ -1,217 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 128, /* L, indefinite */ - - 32 | 16, /* [UNIVERSAL 16], constructed */ - 6, /* L */ - - /* height INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 100, - /* width INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 80, - - 32 | 16, /* [UNIVERSAL 16], constructed */ - 6, /* L */ - - /* height INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 110, - /* width INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 82, - - 0, /* End of forest */ - 0 -}; - -uint8_t buf1_reconstr[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 16, /* L */ - - 32 | 16, /* [UNIVERSAL 16], constructed */ - 6, /* L */ - - /* height INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 100, - /* width INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 80, - - 32 | 16, /* [UNIVERSAL 16], constructed */ - 6, /* L */ - - /* height INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 110, - /* width INTEGER */ - 2, /* [UNIVERSAL 2] */ - 1, /* L */ - 82 - -}; - -size_t buf_pos; -static int bytes_compare(const void *bufferp, size_t size, void *key) { - const uint8_t *buffer = bufferp; - assert(buf_pos + size <= sizeof(buf1_reconstr)); - - (void)key; /* Unused argument */ - - fprintf(stderr, " writing %zd (%zd)\n", size, buf_pos + size); - - for(; size; buf_pos++, size--, buffer++) { - if(buf1_reconstr[buf_pos] != *buffer) { - fprintf(stderr, - "Byte %zd is different: %d != %d (%x != %x)\n", - buf_pos, - *buffer, buf1_reconstr[buf_pos], - *buffer, buf1_reconstr[buf_pos] - ); - assert(buf1_reconstr[buf_pos] == *buffer); - } - } - - return 0; -} - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - Forest_t t, *tp; - asn_dec_rval_t rval; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_Forest, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %d\n", - (int)rval.code, (int)rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - assert(t.list.count == 2); - assert(t.list.array[0]->height.size == 1); - assert(t.list.array[0]->width.size == 1); - assert(t.list.array[1]->height.size == 1); - assert(t.list.array[1]->width.size == 1); - } else { - if(rval.code == RC_OK) { - assert(t.list.count != 2 - || t.list.array[0]->height.size != 1 - || t.list.array[0]->width.size != 1 - || t.list.array[1]->height.size != 1 - || t.list.array[1]->width.size != 1 - ); - } - assert(rval.consumed <= consumed); - ASN_STRUCT_RESET(asn_DEF_Forest, &t); - return; - } - - /* - * Try to re-create the buffer. - */ - buf_pos = 0; - der_encode(&asn_DEF_Forest, &t, - bytes_compare, buf1_reconstr); - assert(buf_pos == (ssize_t)sizeof(buf1_reconstr)); - - asn_fprint(stderr, &asn_DEF_Forest, &t); - xer_fprint(stderr, &asn_DEF_Forest, &t); - - ASN_STRUCT_RESET(asn_DEF_Forest, &t); -} - -static char xer_buf[512]; -static int xer_off; - -static int -xer_cb(const void *buffer, size_t size, void *key) { - (void)key; - assert(xer_off + size < sizeof(xer_buf)); - memcpy(xer_buf + xer_off, buffer, size); - xer_off += size; - return 0; -} - -static void -check_xer(uint8_t *buf, uint8_t size, char *xer_sample) { - Forest_t *tp = 0; - asn_dec_rval_t rval; - asn_enc_rval_t er; - int xer_sample_len = strlen(xer_sample); - - rval = ber_decode(0, &asn_DEF_Forest, (void **)&tp, buf, size); - assert(rval.code == RC_OK); - assert(rval.consumed == size); - assert(tp); - - xer_off = 0; - er = xer_encode(&asn_DEF_Forest, tp, XER_F_CANONICAL, xer_cb, 0); - assert(er.encoded == xer_off); - assert(xer_off); - xer_buf[xer_off] = 0; - printf("[%s] vs [%s]\n", xer_buf, xer_sample); - assert(xer_off == xer_sample_len); - assert(memcmp(xer_buf, xer_sample, xer_off) == 0); - - ASN_STRUCT_FREE(asn_DEF_Forest, tp); -} - - -static void -try_corrupt(uint8_t *buf, size_t size) { - uint8_t tmp[size]; - - fprintf(stderr, "\nCorrupting...\n"); - - for(int i = 0; i < 1000; i++) { - int loc; - memcpy(tmp, buf, size); - - /* Corrupt random _non-value_ location. */ - do { loc = random() % size; } while(tmp[loc] >= 70); - do { tmp[loc] = buf[loc] ^ random(); } while( - (tmp[loc] == buf[loc]) - || (buf[loc] == 0 && tmp[loc] == 0x80)); - - fprintf(stderr, "\nTry %d: corrupting byte %d (%d->%d)\n", - i, loc, buf[loc], tmp[loc]); - - check(0, tmp, size, size); - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(1, buf1, sizeof(buf1), sizeof(buf1)); - check_xer(buf1, sizeof(buf1), "1008011082"); - try_corrupt(buf1, sizeof(buf1)); - check(1, buf1, sizeof(buf1) + 20, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-32.c b/tests/tests-c-compiler/check-src/check-32.c deleted file mode 100644 index 3f8bf06..0000000 --- a/tests/tests-c-compiler/check-src/check-32.c +++ /dev/null @@ -1,90 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include -#include -#include - -int -main(int ac, char **av) { - Programming_t p; - SeqWithMandatory_t swm; - SeqWithOptional_t *swo = 0; - Error_t *err; - asn_enc_rval_t erv; - asn_dec_rval_t drv; - char buf[128]; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - /* - * No plans to fill Programming_t up: - * just checking whether it compiles or not. - */ - memset(&p, 0, sizeof(p)); - - /* - * Construct a dummy sequence: - * SeqWithMandatory ::= { - * seqOfMan [0] EXPLICIT SEQUENCE OF Error - * } - */ - err = calloc(1, sizeof *err); - memset(&swm, 0, sizeof swm); - OCTET_STRING_fromBuf(&swm.someString, "Oley", 4); - ASN_SEQUENCE_ADD(&swm.seqOfMan, err); - - /* - * Encode the sequence. - */ - erv = der_encode_to_buffer(&asn_DEF_SeqWithMandatory, - &swm, buf, sizeof buf); - assert(erv.encoded > 0); - buf[erv.encoded] = '\0'; - - /* - * Try to decode it using a compatible type. - */ - drv = ber_decode(0, &asn_DEF_SeqWithOptional, (void **)&swo, - buf, erv.encoded); - assert(drv.code == RC_OK); - assert((ssize_t)drv.consumed == erv.encoded); - assert(swo->seqOfOpt != 0); - - xer_fprint(stderr, &asn_DEF_SeqWithOptional, swo); - void *tmp = swo->seqOfOpt; - swo->seqOfOpt = 0; - - erv = der_encode_to_buffer(&asn_DEF_SeqWithOptional, - swo, buf, sizeof buf); - assert(erv.encoded > 0); - buf[erv.encoded] = '\0'; - - swo->seqOfOpt = tmp; - ASN_STRUCT_RESET(asn_DEF_SeqWithMandatory, &swm); - ASN_STRUCT_FREE(asn_DEF_SeqWithOptional, swo); - swo = 0; - - drv = ber_decode(0, &asn_DEF_SeqWithMandatory, (void **)&swo, - buf, erv.encoded); - assert(drv.code != RC_OK); - ASN_STRUCT_FREE(asn_DEF_SeqWithOptional, swo); - swo = 0; - drv = ber_decode(0, &asn_DEF_SeqWithOptional, (void **)&swo, - buf, erv.encoded); - assert(drv.code == RC_OK); - assert((ssize_t)drv.consumed == erv.encoded); - assert(swo->seqOfOpt == 0); - - xer_fprint(stderr, &asn_DEF_SeqWithOptional, swo); - ASN_STRUCT_FREE(asn_DEF_SeqWithOptional, swo); - - printf("Finished\n"); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-33.c b/tests/tests-c-compiler/check-src/check-33.c deleted file mode 100644 index 6163871..0000000 --- a/tests/tests-c-compiler/check-src/check-33.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - T_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-35.c b/tests/tests-c-compiler/check-src/check-35.c deleted file mode 100644 index 6f1fcc8..0000000 --- a/tests/tests-c-compiler/check-src/check-35.c +++ /dev/null @@ -1,333 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 15, /* L */ - - /* b CHOICE { b2 ObjectDescriptor }*/ - 7, /* [UNIVERSAL 7] */ - 1, /* L */ - 'z', - - /* c BOOLEAN */ - 1, /* [UNIVERSAL 1] */ - 0, /* L */ - - /* a NumericString */ - 18, /* [UNIVERSAL 18] */ - 4, /* L */ - '=', - '<', - '&', - '>', - - /* d.r-oid RELATIVE-OID */ - 13, /* [UNIVERSAL 13] */ - 2, /* L */ - 85, - 79, - -}; - -uint8_t buf1_reconstr[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 16, /* L */ - - /* c BOOLEAN */ - 1, /* [UNIVERSAL 1] */ - 1, /* L */ - 0, - - /* b CHOICE { b2 ObjectDescriptor }*/ - 7, /* [UNIVERSAL 7] */ - 1, /* L */ - 'z', - - /* d.r-oid RELATIVE-OID */ - 13, /* [UNIVERSAL 1] */ - 2, /* L */ - 85, - 79, - - /* a NumericString */ - 18, /* [UNIVERSAL 18] */ - 4, /* L */ - '=', - '<', - '&', - '>', -}; - -uint8_t buf2[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 15, /* L */ - - /* a NumericString */ - 18, /* [UNIVERSAL 18] */ - 4, /* L */ - '=', - '<', - '&', - '>', - - /* c BOOLEAN */ - 1, /* [UNIVERSAL 1] */ - 1, /* L */ - 2, /* True */ - - /* b CHOICE { b1 IA5String }*/ - 22, /* [UNIVERSAL 22] */ - 1, /* L */ - 'z', - - /* d.oid RELATIVE-OID */ - 6, /* [UNIVERSAL 6] */ - 1, /* L */ - 81, - -}; - -uint8_t buf2_reconstr[] = { - 32 | 17, /* [UNIVERSAL 17], constructed */ - 15, /* L */ - - /* c BOOLEAN */ - 1, /* [UNIVERSAL 1] */ - 1, /* L */ - 0xff, /* Canonical True */ - - /* d.oid RELATIVE-OID */ - 6, /* [UNIVERSAL 6] */ - 1, /* L */ - 81, - - /* a NumericString */ - 18, /* [UNIVERSAL 18] */ - 4, /* L */ - '=', - '<', - '&', - '>', - - /* b CHOICE { b1 IA5String }*/ - 22, /* [UNIVERSAL 22] */ - 1, /* L */ - 'z' -}; - -static void -check(T_t *tp, uint8_t *buf, size_t size, size_t consumed) { - asn_dec_rval_t rval; - - tp = memset(tp, 0, sizeof(*tp)); - - fprintf(stderr, "Buf %p (%zd)\n", buf, size); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - assert(strcmp((char *)tp->a.buf, "=<&>") == 0); - assert(strcmp((char *)tp->b.choice.b1.buf, "z") == 0 - && strcmp((char *)tp->b.choice.b2.buf, "z") == 0); - - asn_fprint(stderr, &asn_DEF_T, tp); - xer_fprint(stderr, &asn_DEF_T, tp); -} - -size_t buf_pos; -size_t buf_size; -uint8_t *buf; - -static int -buf_fill(const void *buffer, size_t size, void *app_key) { - - (void)app_key; - - if(buf_pos + size > buf_size) { - fprintf(stderr, "%zd + %zd > %zd\n", - buf_pos, size, buf_size); - return -1; - } - - memcpy(buf + buf_pos, buffer, size); - buf_pos += size; - fprintf(stderr, " written %zd (%zd)\n", size, buf_pos); - - return 0; -} - -static void -compare(T_t *tp, uint8_t *cmp_buf, size_t cmp_buf_size) { - asn_enc_rval_t erval; - size_t i; - - buf_size = cmp_buf_size + 100; - uint8_t scratch[buf_size]; - buf = scratch; - buf_pos = 0; - - /* - * Try to re-create using DER encoding. - */ - erval = der_encode(&asn_DEF_T, tp, buf_fill, 0); - assert(erval.encoded != -1); - if(erval.encoded != (ssize_t)cmp_buf_size) { - printf("%zd != %zd\n", erval.encoded, cmp_buf_size); - } - assert(erval.encoded == (ssize_t)cmp_buf_size); - for(i = 0; i < cmp_buf_size; i++) { - if(buf[i] != cmp_buf[i]) { - fprintf(stderr, "Recreated buffer content mismatch:\n"); - fprintf(stderr, "Byte %d, %x != %x (%d != %d)\n", - (int)i, - buf[i], cmp_buf[i], - buf[i], cmp_buf[i] - ); - } - assert(buf[i] == cmp_buf[i]); - } -} - -static void -partial_read(uint8_t *data, size_t size) { - T_t t, *tp; - asn_dec_rval_t rval; - size_t i1, i2; - uint8_t data1[size]; - uint8_t data2[size]; - uint8_t data3[size]; - - fprintf(stderr, "\nPartial read sequence...\n"); - - /* - * Divide the space (size) into three blocks in various combinations: - * |<----->i1<----->i2<----->| - * ^ data ^ data+size - * Try to read block by block. - */ - for(i1 = 0; i1 < size; i1++) { - for(i2 = i1; i2 < size; i2++) { - uint8_t *chunk1 = data; - size_t size1 = i1; - uint8_t *chunk2 = data + size1; - size_t size2 = i2 - i1; - uint8_t *chunk3 = data + size1 + size2; - size_t size3 = size - size1 - size2; - - fprintf(stderr, "\n%zd:{%zd, %zd, %zd}...\n", - size, size1, size2, size3); - - memset(data1, 0, size); - memset(data2, 0, size); - memset(data3, 0, size); - memcpy(data1, chunk1, size1); - memcpy(data2, chunk2, size2); - memcpy(data3, chunk3, size3); - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "=> Chunk 1 (%zd):\n", size1); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data1, size1); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size1); - if(rval.consumed < size1) { - int leftover = size1 - rval.consumed; - memcpy(data2, data1 + rval.consumed, leftover); - memcpy(data2 + leftover, chunk2, size2); - size2 += leftover; - } - - fprintf(stderr, "=> Chunk 2 (%zd):\n", size2); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data2, size2); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size2); - if(rval.consumed < size2) { - int leftover = size2 - rval.consumed; - memcpy(data3, data2 + rval.consumed, leftover); - memcpy(data3 + leftover, chunk3, size3); - size3 += leftover; - } - - fprintf(stderr, "=> Chunk 3 (%zd):\n", size3); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data3, size3); - assert(rval.code == RC_OK); - assert(rval.consumed == size3); - - ASN_STRUCT_RESET(asn_DEF_T, &t); - } - } -} - -static char xer_buf[128]; -static size_t xer_off; - -static int -xer_cb(const void *buffer, size_t size, void *key) { - (void)key; - assert(xer_off + size < sizeof(xer_buf)); - memcpy(xer_buf + xer_off, buffer, size); - xer_off += size; - return 0; -} - -static void -check_xer(uint8_t *data, uint8_t size, char *xer_sample) { - T_t *tp = 0; - asn_dec_rval_t rval; - asn_enc_rval_t er; - size_t xer_sample_len = strlen(xer_sample); - - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, data, size); - assert(rval.code == RC_OK); - assert(rval.consumed == size); - assert(tp); - - xer_off = 0; - er = xer_encode(&asn_DEF_T, tp, XER_F_CANONICAL, xer_cb, 0); - assert(xer_off); - xer_buf[xer_off] = 0; - printf("[%s] (%zd/%zd) vs [%s] (%zd)\n", - xer_buf, er.encoded, xer_off, xer_sample, xer_sample_len); - assert(er.encoded == (ssize_t)xer_off); - assert(xer_off == xer_sample_len); - assert(memcmp(xer_buf, xer_sample, xer_off) == 0); - - ASN_STRUCT_FREE(asn_DEF_T, tp); -} - - -int -main(int ac, char **av) { - T_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(&t, buf1, sizeof(buf1) + 10, sizeof(buf1)); - compare(&t, buf1_reconstr, sizeof(buf1_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - check_xer(buf1, sizeof(buf1), "z=<&>85.79"); - - check(&t, buf2, sizeof(buf2) + 10, sizeof(buf2)); - compare(&t, buf2_reconstr, sizeof(buf2_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - check_xer(buf2, sizeof(buf2), "z=<&>2.1"); - - /* Split the buffer in parts and check decoder restartability */ - partial_read(buf1, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-39.c b/tests/tests-c-compiler/check-src/check-39.c deleted file mode 100644 index 6163871..0000000 --- a/tests/tests-c-compiler/check-src/check-39.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - T_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-41.-fwide-types.c b/tests/tests-c-compiler/check-src/check-41.-fwide-types.c deleted file mode 100644 index 98741f5..0000000 --- a/tests/tests-c-compiler/check-src/check-41.-fwide-types.c +++ /dev/null @@ -1,324 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf0[] = { - 32 | ((2 << 6) + 1), /* [1], constructed */ - 18, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 16, /* L */ - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', -}; - -uint8_t buf0_reconstr[] = { - 32 | ((2 << 6) + 1), /* [1], constructed */ - 18, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 16, /* L */ - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', -}; - - - -uint8_t buf1[] = { - 32 | (2 << 6), /* [0], constructed */ - 0x80 | 1, /* L */ - 134, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 0x80 | 1, /* L */ - 128, - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* alpha [1] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 1, /* [1] */ - 1, /* L */ - 75, -}; - -uint8_t buf1_reconstr[] = { - 32 | (2 << 6), /* [0], constructed */ - 0x80 | 1, /* L */ - 134, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 0x80 | 1, /* L */ - 128, - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* alpha [1] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 1, /* [1] */ - 1, /* L */ - 75, -}; - -uint8_t buf2[] = { - 32 | ((2 << 6) + 1), /* [1], constructed */ - 0x80 | 1, /* L */ - 134, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 0x80 | 1, /* L */ - 128, - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* beta [2] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 2, /* [2] */ - 1, /* L */ - 75, -}; - -uint8_t buf2_reconstr[] = { - 32 | ((2 << 6) + 1), /* [1], constructed */ - 0x80 | 1, /* L */ - 134, - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 0x80 | 1, /* L */ - 128, - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* beta [2] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 2, /* [2] */ - 1, /* L */ - 75, -}; - - - - - -static void -check(T_t *tp, uint8_t *buf, size_t size, size_t consumed) { - asn_dec_rval_t rval; - int ret; - - tp = memset(tp, 0, sizeof(*tp)); - - fprintf(stderr, "Buf %p (%zd)\n", buf, size); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - fprintf(stderr, "=== asn_fprint() ===\n"); - ret = asn_fprint(stderr, &asn_DEF_T, tp); - assert(ret == 0); - fprintf(stderr, "=== xer_fprint() ===\n"); - ret = xer_fprint(stderr, &asn_DEF_T, tp); - fprintf(stderr, "=== END ===\n"); - assert(ret == 0); - - /* - assert(tp->string.size == 128); - assert(strncmp(tp->string.buf, "zz") == 0); - assert(strcmp((char *)tp->b.choice.b1.buf, "z") == 0 - && strcmp((char *)tp->b.choice.b2.buf, "z") == 0); - */ -} - -size_t buf_pos; -size_t buf_size; -uint8_t *buffer; - -static int -buf_fill(const void *bufp, size_t size, void *app_key) { - - (void)app_key; /* Unused argument */ - - if(buf_pos + size > buf_size) { - fprintf(stderr, "%zd + %zd > %zd\n", - buf_pos, size, buf_size); - return -1; - } - - memcpy(buffer + buf_pos, bufp, size); - buf_pos += size; - fprintf(stderr, " written %zd (%zd)\n", size, buf_pos); - - return 0; -} - -static void -compare(T_t *tp, uint8_t *cmp_buf, size_t cmp_buf_size) { - asn_enc_rval_t erval; - size_t i; - - buf_size = cmp_buf_size + 100; - uint8_t scratch[buf_size]; - buffer = scratch; - buf_pos = 0; - - /* - * Try to re-create using DER encoding. - */ - erval = der_encode(&asn_DEF_T, tp, buf_fill, 0); - assert(erval.encoded != -1); - if(erval.encoded != (ssize_t)cmp_buf_size) { - printf("%zd != %zd\n", erval.encoded, cmp_buf_size); - } - assert(erval.encoded == (ssize_t)cmp_buf_size); - for(i = 0; i < cmp_buf_size; i++) { - if(buffer[i] != cmp_buf[i]) { - fprintf(stderr, "Recreated buffer content mismatch:\n"); - fprintf(stderr, "Byte %d, %x != %x (%d != %d)\n", - (int)i, - buffer[i], cmp_buf[i], - buffer[i], cmp_buf[i] - ); - } - assert(buffer[i] == cmp_buf[i]); - } - - buffer = 0; -} - -static void -partial_read(uint8_t *data, size_t size) { - T_t t, *tp; - asn_dec_rval_t rval; - uint8_t data1[size]; - uint8_t data2[size]; - uint8_t data3[size]; - - fprintf(stderr, "\nPartial read sequence...\n"); - - /* - * Divide the space (size) into three blocks in various combinations: - * |<----->i1<----->i2<----->| - * ^ data ^ data+size - * Try to read block by block. - */ - for(size_t i1 = 0; i1 < size; i1++) { - for(size_t i2 = i1; i2 < size; i2++) { - uint8_t *chunk1 = data; - size_t size1 = i1; - uint8_t *chunk2 = data + size1; - size_t size2 = i2 - i1; - uint8_t *chunk3 = data + size1 + size2; - size_t size3 = size - size1 - size2; - - fprintf(stderr, "\n%zd:{%zd, %zd, %zd}...\n", - size, size1, size2, size3); - - memset(data1, 0, size); - memset(data2, 0, size); - memset(data3, 0, size); - memcpy(data1, chunk1, size1); - memcpy(data2, chunk2, size2); - memcpy(data3, chunk3, size3); - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "=> Chunk 1 (%zd):\n", size1); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data1, size1); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size1); - if(rval.consumed < size1) { - int leftover = size1 - rval.consumed; - memcpy(data2, data1 + rval.consumed, leftover); - memcpy(data2 + leftover, chunk2, size2); - size2 += leftover; - } - - fprintf(stderr, "=> Chunk 2 (%zd):\n", size2); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data2, size2); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size2); - if(rval.consumed < size2) { - int leftover = size2 - rval.consumed; - memcpy(data3, data2 + rval.consumed, leftover); - memcpy(data3 + leftover, chunk3, size3); - size3 += leftover; - } - - fprintf(stderr, "=> Chunk 3 (%zd):\n", size3); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - data3, size3); - assert(rval.code == RC_OK); - assert(rval.consumed == size3); - - ASN_STRUCT_RESET(asn_DEF_T, &t); - } - } -} - -int -main() { - T_t t; - - /* Check exact buf0 */ - check(&t, buf0, sizeof(buf0), sizeof(buf0)); - compare(&t, buf0_reconstr, sizeof(buf0_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Check exact buf1 */ - check(&t, buf1, sizeof(buf1), sizeof(buf1)); - compare(&t, buf1_reconstr, sizeof(buf1_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Check slightly more than buf1 */ - check(&t, buf1, sizeof(buf1) + 10, sizeof(buf1)); - compare(&t, buf1_reconstr, sizeof(buf1_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Check exact buf2 */ - check(&t, buf2, sizeof(buf2), sizeof(buf2)); - compare(&t, buf2_reconstr, sizeof(buf2_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Check slightly more than buf2 */ - check(&t, buf2, sizeof(buf2) + 10, sizeof(buf2)); - compare(&t, buf2_reconstr, sizeof(buf2_reconstr)); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Split the buffer in parts and check decoder restartability */ - partial_read(buf0, sizeof(buf0)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-41.c b/tests/tests-c-compiler/check-src/check-41.c deleted file mode 100644 index 39bbe3c..0000000 --- a/tests/tests-c-compiler/check-src/check-41.c +++ /dev/null @@ -1,220 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - - -uint8_t buf1[] = { - 32 | (2 << 6), /* [0], constructed */ - 25, /* L */ - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 16, /* L */ - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* beta [2] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 2, /* [2] */ - 5, /* L */ - 0, - 75, - 0x4b, - 75, - 75, -}; - -uint8_t buf1_reconstr[] = { - 32 | (2 << 6), /* [0], constructed */ - 24, /* L */ - - /* string [0] IMPLICIT UTF8String, */ - (2 << 6), /* [0] */ - 16, /* L */ - 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', - - /* beta [2] IMPLICIT INTEGER OPTIONAL */ - (2 << 6) + 2, /* [2] */ - 4, /* L */ - 75, - 75, - 75, - 0x4b, -}; - - -static void -check(T_t *tp, uint8_t *buf, size_t size, size_t consumed) { - asn_dec_rval_t rval; - - tp = memset(tp, 0, sizeof(*tp)); - - fprintf(stderr, "Buf %p (%zd)\n", buf, size); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - - assert(tp->choice.seq.string.size == 16); - assert(strcmp((char *)tp->choice.seq.string.buf, "zzzzzzzzzzzzzzzz") == 0); - assert(tp->choice.seq.alpha == NULL); - assert(tp->choice.seq.beta); - assert(*tp->choice.seq.beta == 0x4b4b4b4b); -} - -size_t buf_pos; -size_t buf_size; -uint8_t *buf; - -static int -buf_fill(const void *buffer, size_t size, void *app_key) { - - (void)app_key; /* Unused argument */ - - if(buf_pos + size > buf_size) { - fprintf(stderr, "%zd + %zd > %zd\n", - buf_pos, size, buf_size); - return -1; - } - - memcpy(buf + buf_pos, buffer, size); - buf_pos += size; - fprintf(stderr, " written %zd (%zd)\n", size, buf_pos); - - return 0; -} - -static void -compare(T_t *tp, uint8_t *cmp_buf, size_t cmp_buf_size) { - asn_enc_rval_t erval; - - buf_size = cmp_buf_size + 100; - uint8_t scratch[buf_size]; - buf = scratch; - buf_pos = 0; - - /* - * Try to re-create using DER encoding. - */ - erval = der_encode(&asn_DEF_T, tp, buf_fill, 0); - assert(erval.encoded != -1); - if((size_t)erval.encoded != cmp_buf_size) { - printf("%zd != %zd\n", erval.encoded, cmp_buf_size); - assert((size_t)erval.encoded == cmp_buf_size); - } - for(size_t i = 0; i < cmp_buf_size; i++) { - if(buf[i] != cmp_buf[i]) { - fprintf(stderr, "Recreated buffer content mismatch:\n"); - fprintf(stderr, "Byte %zd, %x != %x (%d != %d)\n", - i, - buf[i], cmp_buf[i], - buf[i], cmp_buf[i] - ); - } - assert(buf[i] == cmp_buf[i]); - } - - buf = 0; -} - -static void -partial_read(uint8_t *buf_0, size_t size) { - T_t t, *tp; - asn_dec_rval_t rval; - uint8_t buf_1[size]; - uint8_t buf_2[size]; - uint8_t buf_3[size]; - - fprintf(stderr, "\nPartial read sequence...\n"); - - /* - * Divide the space (size) into three blocks in various combinations: - * |<----->i1<----->i2<----->| - * ^ buf_0 ^ buf_0+size - * Try to read block by block. - */ - for(size_t i1 = 0; i1 < size; i1++) { - for(size_t i2 = i1; i2 < size; i2++) { - uint8_t *chunk1 = buf_0; - size_t size1 = i1; - uint8_t *chunk2 = buf_0 + size1; - size_t size2 = i2 - i1; - uint8_t *chunk3 = buf_0 + size1 + size2; - size_t size3 = size - size1 - size2; - - fprintf(stderr, "\n%zd:{%zd, %zd, %zd}...\n", - size, size1, size2, size3); - - memset(buf_1, 0, size); - memset(buf_2, 0, size); - memset(buf_3, 0, size); - memcpy(buf_1, chunk1, size1); - memcpy(buf_2, chunk2, size2); - memcpy(buf_3, chunk3, size3); - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "=> Chunk 1 (%zd):\n", size1); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - buf_1, size1); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size1); - if(rval.consumed < size1) { - int leftover = size1 - rval.consumed; - memcpy(buf_2, buf_1 + rval.consumed, leftover); - memcpy(buf_2 + leftover, chunk2, size2); - size2 += leftover; - } - - fprintf(stderr, "=> Chunk 2 (%zd):\n", size2); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - buf_2, size2); - assert(rval.code == RC_WMORE); - assert(rval.consumed <= size2); - if(rval.consumed < size2) { - int leftover = size2 - rval.consumed; - memcpy(buf_3, buf_2 + rval.consumed, leftover); - memcpy(buf_3 + leftover, chunk3, size3); - size3 += leftover; - } - - fprintf(stderr, "=> Chunk 3 (%zd):\n", size3); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, - buf_3, size3); - assert(rval.code == RC_OK); - assert(rval.consumed == size3); - - ASN_STRUCT_RESET(asn_DEF_T, &t); - } - } -} - -int -main(int ac, char **av) { - T_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - /* Check exact buf1 */ - check(&t, buf1, sizeof(buf1), sizeof(buf1)); - compare(&t, buf1_reconstr, sizeof(buf1_reconstr)); - asn_fprint(stderr, &asn_DEF_T, &t); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Check slightly more than buf1 */ - check(&t, buf1, sizeof(buf1) + 10, sizeof(buf1)); - compare(&t, buf1_reconstr, sizeof(buf1_reconstr)); - asn_fprint(stderr, &asn_DEF_T, &t); - ASN_STRUCT_RESET(asn_DEF_T, &t); - - /* Split the buffer in parts and check decoder restartability */ - partial_read(buf1, sizeof(buf1)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-42.-fwide-types.cc b/tests/tests-c-compiler/check-src/check-42.-fwide-types.cc deleted file mode 100644 index c2ec29b..0000000 --- a/tests/tests-c-compiler/check-src/check-42.-fwide-types.cc +++ /dev/null @@ -1,20 +0,0 @@ -/* - * This file checks that the output may be compiled by the C++ compiler. - */ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main() { - VariablePart_t t; - - t.present = VariablePart_PR_vrange; - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-42.c b/tests/tests-c-compiler/check-src/check-42.c deleted file mode 100644 index 4f11f61..0000000 --- a/tests/tests-c-compiler/check-src/check-42.c +++ /dev/null @@ -1,156 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -#ifdef ENABLE_LIBFUZZER - -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - LogLine_t *lp = 0; - (void)ber_decode(0, &asn_DEF_LogLine, (void **)&lp, Data, Size); - ASN_STRUCT_FREE(asn_DEF_LogLine, lp); - return 0; -} - -#else - -uint8_t buf0[] = { - 48, /* LogLine SEQUENCE */ - 24, /* L */ - 22, /* IA5String */ - 4, /* L */ - /* "zzz\007" */ - 122, 122, 122, 7, - 48, /* varsets SEQUENCE OF VariablePartSet */ - 16, /* L */ - 48, /* VariablePart */ - 14, /* L */ - 48, /* vparts SEQUENCE OF VariablePart */ - 7, /* L */ - 49, /* VariablePart */ - 5, - 26, /* VisibleString */ - 3, - 49, 50, 51, /* 1 2 3 */ - 48, /* ActionItem SEQUENCE */ - 3, /* L */ - 10, /* accept-as ENUMERATED */ - 1, /* L */ - 0, -}; - -uint8_t buf1[] = { - 48, /* LogLine SEQUENCE */ - 19, /* L */ - 22, /* IA5String */ - 6, /* L */ - /* "static" */ - 115, 116, 97, 116, 105, 99, - 48, /* varsets SEQUENCE OF VariablePartSet */ - 9, /* L */ - 48, /* VariablePart */ - 7, /* L */ - 48, /* vparts SEQUENCE OF VariablePart */ - 0, /* L */ - 48, /* ActionItem SEQUENCE */ - 3, /* L */ - 10, /* accept-as ENUMERATED */ - 1, /* L */ - 0, -}; - -static void -check(LogLine_t *tp, uint8_t *ptr, size_t size, size_t consumed) { - asn_dec_rval_t rval; - - tp = memset(tp, 0, sizeof(*tp)); - - fprintf(stderr, "Buf %p (%zd)\n", ptr, size); - rval = ber_decode(0, &asn_DEF_LogLine, (void **)&tp, ptr, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - asn_fprint(stderr, &asn_DEF_LogLine, tp); - ASN_STRUCT_RESET(asn_DEF_LogLine, tp); -} - -uint8_t *buf; -uint8_t buf_size; -uint8_t buf_pos; - - -static int -buf_fill(const void *buffer, size_t size, void *app_key) { - - (void)app_key; /* Unused argument */ - - assert(buf_pos + size <= buf_size); - - memcpy(buf + buf_pos, buffer, size); - buf_pos += size; - - return 0; -} - -static void -check_serialize() { - LogLine_t ll; - VariablePartSet_t *vps; - VariablePart_t *vp; - VisibleString_t *vpart; - asn_enc_rval_t erval; - int i; - - memset(&ll, 0, sizeof(ll)); - vps = calloc(1, sizeof(*vps)); - vp = calloc(1, sizeof(*vp)); - vpart = OCTET_STRING_new_fromBuf(&asn_DEF_VisibleString, "123", 3); - - vp->present = VariablePart_PR_vset; - ASN_SET_ADD(&vp->choice.vset, vpart); - vps->resolution.accept_as = accept_as_unknown; - ASN_SEQUENCE_ADD(&vps->vparts, vp); - ASN_SEQUENCE_ADD(&ll.varsets, vps); - OCTET_STRING_fromBuf(&ll.line_digest, "zzz\007", 4); - - asn_fprint(stderr, &asn_DEF_LogLine, &ll); - buf_size = 128; - uint8_t scratch[buf_size]; - buf = scratch; - erval = der_encode(&asn_DEF_LogLine, &ll, buf_fill, 0); - assert(erval.encoded > 1); - fprintf(stderr, "Encoded in %zd bytes\n", erval.encoded); - fprintf(stderr, "\n"); - for(i = 0; i < buf_pos; i++) { - fprintf(stderr, "%d ", buf[i]); - } - fprintf(stderr, "\n\n"); - assert(erval.encoded == sizeof(buf0)); - assert(memcmp(buf0, buf, sizeof(buf0)) == 0); - ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_LogLine, &ll); - return; -} - -int -main(int ac, char **av) { - LogLine_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check_serialize(); - - check(&t, buf0, sizeof(buf0), sizeof(buf0)); - check(&t, buf1, sizeof(buf1), sizeof(buf1)); - - return 0; -} - -#endif diff --git a/tests/tests-c-compiler/check-src/check-43.c b/tests/tests-c-compiler/check-src/check-43.c deleted file mode 100644 index 4a61385..0000000 --- a/tests/tests-c-compiler/check-src/check-43.c +++ /dev/null @@ -1,27 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include -#include - -int -main(int ac, char **av) { - Test_structure_1_t ts1; - Choice_1_t cs1; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&ts1, 0, sizeof(ts1)); - memset(&cs1, 0, sizeof(cs1)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-44.c b/tests/tests-c-compiler/check-src/check-44.c deleted file mode 100644 index f7c2835..0000000 --- a/tests/tests-c-compiler/check-src/check-44.c +++ /dev/null @@ -1,66 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | ((3 << 6) + 1), /* [PRIVATE 1], constructed */ - 4, /* L */ - ((3 << 6) + 2), /* [PRIVATE 2], primitive */ - 0, /* L */ - ((3 << 6) + 5), /* [PRIVATE 5], primitive */ - 0, /* L */ -}; - -uint8_t buf2[] = { - 32 | ((3 << 6) + 1), /* [PRIVATE 1], constructed */ - 6, /* L */ - ((3 << 6) + 2), /* [PRIVATE 2], primitive */ - 0, /* L */ - 32 | ((3 << 6) + 9), /* [PRIVATE 9], constructed */ - 2, - ((3 << 6) + 1), /* [PRIVATE 1], primitive */ - 0, /* L */ -}; - -static void -check(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - T_t t, *tp; - asn_dec_rval_t rval; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - } else { - if(rval.code == RC_OK) { - } - assert(rval.consumed <= consumed); - } -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(1, buf1, sizeof(buf1), sizeof(buf1)); - check(0, buf1, sizeof(buf1) - 1, sizeof(buf1) - 1); - check(0, buf1, sizeof(buf1) - 2, sizeof(buf1) - 2); - - check(1, buf2, sizeof(buf2), sizeof(buf2)); - check(0, buf2, sizeof(buf2) - 1, sizeof(buf2)); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-46.c b/tests/tests-c-compiler/check-src/check-46.c deleted file mode 100644 index 21ae690..0000000 --- a/tests/tests-c-compiler/check-src/check-46.c +++ /dev/null @@ -1,47 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -uint8_t buf1[] = { - 32 | ((2 << 6) + 3), /* [3], constructed */ - 5, - ((2 << 6) + 5), /* [5], primitive */ - 3, /* L */ - 'a', - 'b', - 'c', -}; - -static void -check(uint8_t *buf, size_t size, size_t consumed) { - T_t t, *tp; - asn_dec_rval_t rval; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, &asn_DEF_T, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - ASN_STRUCT_RESET(asn_DEF_T, tp); -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check(buf1, sizeof(buf1), sizeof(buf1)); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-48.c b/tests/tests-c-compiler/check-src/check-48.c deleted file mode 100644 index a41981e..0000000 --- a/tests/tests-c-compiler/check-src/check-48.c +++ /dev/null @@ -1,100 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include -#include - -#include - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - unsigned char *b, *bend; - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); - b = buf + buf_offset; - bend = b + size; - printf("=> ["); - for(; b < bend; b++) - printf(" %02X", *b); - printf("]:%zd\n", size); - buf_offset += size; - return 0; -} - -static int -save_object(void *bs, asn_TYPE_descriptor_t *td) { - asn_enc_rval_t rval; /* Return value */ - int i; - - rval = der_encode(td, bs, _buf_writer, 0); - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return -1; /* JIC */ - } - - buf[buf_offset++] = 123; /* Finalize with garbage */ - - asn_fprint(stderr, td, bs); - xer_fprint(stderr, td, bs); - - printf("OUT: ["); - for(i = 0; i < buf_offset; i++) - printf(" %02x", buf[i]); - printf("]\n"); - - return 0; -} - -static int -load_object(void *bs, asn_TYPE_descriptor_t *td) { - asn_dec_rval_t rval; - - fprintf(stderr, "\nLOADING OBJECT OF SIZE %d\n", buf_offset); - - rval = ber_decode(0, td, (void **)&bs, buf, buf_offset); - assert(rval.code == RC_OK); - - asn_fprint(stderr, td, bs); - xer_fprint(stderr, td, bs); - - return (rval.code == RC_OK)?0:-1; -} - -int -main() { - asn_TYPE_descriptor_t *td = &asn_DEF_UserIdentifier; - UserIdentifier_t user; - UserIdentifier_t user_new; - int ret; - - memset(&user, 0, sizeof user); - memset(&user_new, 0, sizeof user_new); - - user.present = UserIdentifier_PR_phoneNumber; - OCTET_STRING_fromBuf( - &user.choice.phoneNumber, - "0123456789", -1); - - /* Save->Load must succeed */ - save_object(&user, td); - ret = load_object(&user_new, td); - - assert(user_new.present == UserIdentifier_PR_phoneNumber); - - assert(ret == 0); - - printf("OK\n"); - - ASN_STRUCT_RESET(asn_DEF_UserIdentifier, &user); - ASN_STRUCT_RESET(asn_DEF_UserIdentifier, &user_new); - return ret; -} diff --git a/tests/tests-c-compiler/check-src/check-50.c b/tests/tests-c-compiler/check-src/check-50.c deleted file mode 100644 index cfdd600..0000000 --- a/tests/tests-c-compiler/check-src/check-50.c +++ /dev/null @@ -1,23 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -int -main(int ac, char **av) { - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-59.c b/tests/tests-c-compiler/check-src/check-59.c deleted file mode 100644 index ba970be..0000000 --- a/tests/tests-c-compiler/check-src/check-59.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Choice_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-60.c b/tests/tests-c-compiler/check-src/check-60.c deleted file mode 100644 index f7e84ca..0000000 --- a/tests/tests-c-compiler/check-src/check-60.c +++ /dev/null @@ -1,208 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include -#include - -#include -#include - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - unsigned char *b, *bend; - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - if (buffer) { - memcpy(buf + buf_offset, buffer, size); - } - b = buf + buf_offset; - bend = b + size; - printf("=> ["); - for(; b < bend; b++) - printf(" %02X", *b); - printf("]:%zd\n", size); - buf_offset += size; - return 0; -} - -static int -save_object(void *bs, asn_TYPE_descriptor_t *td) { - asn_enc_rval_t rval; /* Return value */ - int i; - - buf_offset = 0; - - rval = der_encode(td, bs, _buf_writer, 0); - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return -1; /* JIC */ - } - - buf[buf_offset++] = 0xab; /* Finalize with garbage */ - - asn_fprint(stderr, td, bs); - - printf("OUT: ["); - for(i = 0; i < buf_offset; i++) - printf(" %02x", buf[i]); - printf("]\n"); - - return 0; -} - -static int -load_object(void *bs, asn_TYPE_descriptor_t *td) { - asn_dec_rval_t rval; - - fprintf(stderr, "\nLOADING OBJECT OF SIZE %d\n", buf_offset); - - rval = ber_decode(0, td, (void **)&bs, buf, buf_offset); - assert(rval.code == RC_OK); - - asn_fprint(stderr, td, bs); - - return (rval.code == RC_OK)?0:-1; -} - -/* [3] IMPLICIT SEQUENCE { b BOOLEAN } */ -uint8_t test_any_buf1[] = { 0xa3, 0x80, /* [3], constructed, indefinite */ - 0x01, 0x01, 0xff, /* b BOOLEAN ::= TRUE */ - 0x00, 0x00 /* End of content octets */ }; - -/* b BOOLEAN */ -uint8_t test_any_buf2[] = { 0x01, 0x01, 0x13 }; - -int -main() { - asn_TYPE_descriptor_t *td1 = &asn_DEF_T1; - asn_TYPE_descriptor_t *td2 = &asn_DEF_T2; - T1_t t1, t1_new; - T2_t t2, t2_new; - int ret; - - /* - * Test the T1 with constructed indefinite length ANY encoding. - */ - memset(&t1, 0, sizeof(t1)); - memset(&t1_new, 0, sizeof(t1_new)); - - t1.i = 112233; - t1.any.buf = test_any_buf1; - t1.any.size = sizeof(test_any_buf1); - - /* Save->Load must succeed */ - save_object(&t1, td1); - ret = load_object(&t1_new, td1); - - assert(ret == 0); - assert(t1_new.i == 112233); - assert(t1_new.any.size == (ssize_t)sizeof(test_any_buf1)); - assert(memcmp(t1_new.any.buf, test_any_buf1, sizeof(test_any_buf1)) == 0); - - /* - * Test the T1 with primitive encoding. - */ - memset(&t1, 0, sizeof(t1)); - ASN_STRUCT_RESET(asn_DEF_T1, &t1_new); - - t1.i = -112233; - t1.any.buf = test_any_buf2; - t1.any.size = sizeof(test_any_buf2); - - /* Save->Load must succeed */ - save_object(&t1, td1); - ret = load_object(&t1_new, td1); - - assert(ret == 0); - assert(t1_new.i == -112233); - assert(t1_new.any.size == (ssize_t)sizeof(test_any_buf2)); - assert(memcmp(t1_new.any.buf, test_any_buf2, sizeof(test_any_buf2)) == 0); - ASN_STRUCT_RESET(asn_DEF_T1, &t1_new); - - /* - * Test the T2 empty sequence. - */ - memset(&t2, 0, sizeof(t2)); - memset(&t2_new, 0, sizeof(t2_new)); - - t2.i = 332211; - t2.any = calloc(1, sizeof(*t2.any)); - t2.any->buf = 0; - t2.any->size = 0; - - /* Save->Load must succeed */ - save_object(&t2, td2); - ret = load_object(&t2_new, td2); - - assert(ret == 0); - assert(t2_new.i == 332211); - assert(t2_new.any->size == 0); - - /* - * Test the T2 sequence. - */ - ASN_STRUCT_RESET(asn_DEF_T2, &t2); - ASN_STRUCT_RESET(asn_DEF_T2, &t2_new); - - t2.i = 332211; - t2.any = calloc(1, sizeof(*t2.any)); - t2.any->buf = test_any_buf1; - t2.any->size = sizeof(test_any_buf1); - - /* Save->Load must succeed */ - save_object(&t2, td2); - ret = load_object(&t2_new, td2); - - assert(ret == 0); - assert(t2_new.i == 332211); - assert(t2_new.any->size == (ssize_t)sizeof(test_any_buf1)); - assert(memcmp(t2_new.any->buf, test_any_buf1, sizeof(test_any_buf1)) == 0); - - /* - * Test the T2 sequence with primitive encoding. - */ - t2.any->buf = NULL; - t2.any->size = 0; - ASN_STRUCT_RESET(asn_DEF_T2, &t2); - ASN_STRUCT_RESET(asn_DEF_T2, &t2_new); - - t2.i = 0; - t2.any = calloc(1, sizeof(*t2.any)); - t2.any->buf = test_any_buf2; - t2.any->size = sizeof(test_any_buf2); - - /* Save->Load must succeed */ - save_object(&t2, td2); - ret = load_object(&t2_new, td2); - - assert(ret == 0); - assert(t2_new.i == 0); - assert(t2_new.any->size == (ssize_t)sizeof(test_any_buf2)); - assert(memcmp(t2_new.any->buf, test_any_buf2, sizeof(test_any_buf2)) == 0); - - /* - * Test T2 with ANY element omitted. - */ - free(t2.any); - t2.any = 0; - ASN_STRUCT_RESET(asn_DEF_T2, &t2_new); - - save_object(&t2, td2); - ret = load_object(&t2_new, td2); - - assert(ret == 0); - assert(t2_new.i == 0); - assert(t2_new.any == 0); - - printf("OK\n"); - - return ret; -} diff --git a/tests/tests-c-compiler/check-src/check-62.c b/tests/tests-c-compiler/check-src/check-62.c deleted file mode 100644 index 2a09616..0000000 --- a/tests/tests-c-compiler/check-src/check-62.c +++ /dev/null @@ -1,224 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2), getcwd(3) */ -#include -#include -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -enum expectation { - EXP_OK, /* Encoding/decoding must succeed */ - EXP_BROKEN, /* Decoding must fail */ - EXP_RECLESS, /* Reconstruction is allowed to yield less data */ - EXP_DIFFERENT, /* Reconstruction will yield different encoding */ -}; - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - unsigned char *b, *bend; - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - if (buffer) { - memcpy(buf + buf_offset, buffer, size); - } - b = buf + buf_offset; - bend = b + size; - printf("=> ["); - for(; b < bend; b++) - printf(" %02X", *b); - printf("]:%zd\n", size); - buf_offset += size; - return 0; -} - -static int -save_object(T_t *st) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - rval = der_encode(&asn_DEF_T, st, _buf_writer, 0); - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return -1; /* JIC */ - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %d\n", buf_offset); - - return 0; -} - -static T_t * -load_object(enum expectation expectation, unsigned char *fbuf, size_t size) { - asn_dec_rval_t rval; - T_t *st = 0; - int csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %d\n", (int)size); - - /* Perform multiple iterations with multiple chunks sizes */ - for(csize = 1; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - if(st) ASN_STRUCT_FREE(asn_DEF_T, st); - st = 0; - - do { - fprintf(stderr, "Decoding from %d with %d (left %d)\n", - fbuf_offset, fbuf_chunk, fbuf_left); - rval = ber_decode(0, &asn_DEF_T, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - if(expectation != EXP_BROKEN) { - assert(rval.code == RC_OK); - assert(fbuf_offset == (ssize_t)size); - } else { - assert(rval.code != RC_OK); - fprintf(stderr, "Failed, but this was expected\n"); - ASN_STRUCT_FREE(asn_DEF_T, st); - st = 0; /* ignore leak for now */ - } - } - - if(st) asn_fprint(stderr, &asn_DEF_T, st); - return st; -} - - -static void -process_data(enum expectation expectation, unsigned char *fbuf, ssize_t size) { - T_t *st; - int ret; - - st = load_object(expectation, fbuf, size); - if(!st) return; - - ret = save_object(st); - assert(buf_offset < (ssize_t)sizeof(buf)); - assert(ret == 0); - - switch(expectation) { - case EXP_RECLESS: - assert(buf_offset > 0 && buf_offset < size); - assert(memcmp(buf + 2, fbuf + 2, buf_offset - 2) == 0); - break; - case EXP_DIFFERENT: - assert(buf_offset > 0 && buf_offset < size); - break; - case EXP_BROKEN: - assert(buf_offset != size - || memcmp(buf, fbuf, buf_offset)); - break; - case EXP_OK: - assert(buf_offset == (ssize_t)size); - assert(memcmp(buf, fbuf, buf_offset) == 0); - break; - } - - ASN_STRUCT_FREE(asn_DEF_T, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - char prevdir[256]; - unsigned char fbuf[4096]; - char *ext = strrchr(fname, '.'); - enum expectation expectation; - char *cwd; - int ret; - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".ber")) - return 0; - - switch(ext[-1]) { - case 'B': /* The file is intentionally broken */ - expectation = EXP_BROKEN; break; - case 'D': /* Reconstructing should yield different data */ - expectation = EXP_DIFFERENT; break; - case 'L': /* Extensions are present */ - expectation = EXP_RECLESS; break; - default: - expectation = EXP_OK; break; - } - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - cwd = getcwd(prevdir, sizeof(prevdir)); - assert(cwd != NULL); - ret = chdir(SRCDIR_S "/data-62"); - assert(ret == 0); - fp = fopen(fname, "r"); - ret = chdir(prevdir); - assert(ret == 0); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert(rd < (ssize_t)sizeof(fbuf)); /* expect small files */ - - process_data(expectation, fbuf, rd); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - dir = opendir(SRCDIR_S "/data-62"); - assert(dir); - - str = getenv("DATA_62_FILE"); - if(str && strncmp(str, "data-62-", 8) == 0) - process(str); - - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-62-", 8) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check-65.c b/tests/tests-c-compiler/check-src/check-65.c deleted file mode 100644 index c292063..0000000 --- a/tests/tests-c-compiler/check-src/check-65.c +++ /dev/null @@ -1,114 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include -#include - -uint8_t buf1[] = { - 32 | ((2 << 6) + 2), /* [2], constructed */ - 6, - 32 | ((2 << 6) + 3), /* [3], constructed */ - 4, - 32 | ((2 << 6) + 4), /* [4], constructed */ - 2, - 0 | ((2 << 6) + 6), /* [6], primitive */ - 0 -}; - -uint8_t buf2[] = { - - 32 | ((2 << 6) + 0), /* [0], constructed */ - 23, - - 32 | ((2 << 6) + 1), /* [1], constructed */ - 6, - 32 | ((2 << 6) + 4), /* [4], constructed */ - 4, - 0 | ((2 << 6) + 6), /* [6], primitive */ - 2, - 0xC0, - 0x00, - - 32 | ((2 << 6) + 2), /* [2], constructed */ - 6, - 32 | ((2 << 6) + 4), /* [4], constructed */ - 4, - 0 | ((2 << 6) + 6), /* [6], primitive */ - 2, - 0x80, - 0x00, - - 32 | ((2 << 6) + 3), /* [3], constructed */ - 5, - 0 | ((2 << 6) + 6), /* [6], primitive */ - 3, - 0x80, - 0x01, - 0x02, -}; - -static void -check_1(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - asn_TYPE_descriptor_t *td = &asn_DEF_T1; - asn_dec_rval_t rval; - T1_t t, *tp; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, td, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - } else { - if(rval.code == RC_OK) { - } - assert(rval.consumed <= consumed); - } -} - -static void -check_2(int is_ok, uint8_t *buf, size_t size, size_t consumed) { - asn_TYPE_descriptor_t *td = &asn_DEF_T; - asn_dec_rval_t rval; - T_t t, *tp; - - tp = memset(&t, 0, sizeof(t)); - - fprintf(stderr, "Buf %p\n", buf); - rval = ber_decode(0, td, (void **)&tp, buf, size); - fprintf(stderr, "Returned code %d, consumed %zd\n", - (int)rval.code, rval.consumed); - - if(is_ok) { - assert(rval.code == RC_OK); - assert(rval.consumed == consumed); - } else { - if(rval.code == RC_OK) { - } - assert(rval.consumed <= consumed); - } - ASN_STRUCT_RESET(*td, tp); -} - -int -main(int ac, char **av) { - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - check_1(1, buf1, sizeof(buf1), sizeof(buf1)); - check_1(0, buf1, sizeof(buf1) - 1, sizeof(buf1) - 1); - - check_2(1, buf2, sizeof(buf2), sizeof(buf2)); - check_2(0, buf2, sizeof(buf2) - 1, sizeof(buf2) - 1); - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-70.-fwide-types.c b/tests/tests-c-compiler/check-src/check-70.-fwide-types.c deleted file mode 100644 index 82653fc..0000000 --- a/tests/tests-c-compiler/check-src/check-70.-fwide-types.c +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Mode of operation: - * Each of the *.in files is XER-decoded, then converted into DER, - * then decoded from DER and encoded into XER again. The resulting - * stream is checked against rules specified in ../data-70/README file. - */ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2), getcwd(3) */ -#include -#include -#include -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -#ifdef ENABLE_LIBFUZZER - -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - PDU_t *st = 0; - asn_dec_rval_t rval; - rval = asn_decode(0, ATS_BASIC_XER, &asn_DEF_PDU, (void **)&st, Data, Size); - assert(rval.consumed <= Size); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - return 0; -} - -#else - -enum expectation { - EXP_OK, /* Encoding/decoding must succeed */ - EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ - EXP_CXER_DIFF, /* Encoding/decoding using CXER must be different */ - EXP_BROKEN, /* Decoding must fail */ - EXP_DIFFERENT, /* Reconstruction will yield different encoding */ -}; - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - unsigned char *b, *bend; - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); - b = buf + buf_offset; - bend = b + size; - fprintf(stderr, "=> ["); - for(; b < bend; b++) { - if(*b >= 32 && *b < 127 && *b != '%') - fprintf(stderr, "%c", *b); - else - fprintf(stderr, "%%%02x", *b); - } - fprintf(stderr, "]:%zd\n", size); - buf_offset += size; - return 0; -} - -static void -save_object_as(PDU_t *st, enum asn_transfer_syntax syntax) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - rval = asn_encode(0, syntax, &asn_DEF_PDU, st, _buf_writer, 0); - - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return; - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %d/%zd\n", buf_offset, rval.encoded); - - assert(buf_offset == rval.encoded); -} - -static PDU_t * -load_object_from(enum expectation expectation, unsigned char *fbuf, size_t size, enum asn_transfer_syntax syntax) { - asn_dec_rval_t rval; - PDU_t *st = 0; - size_t csize = 1; - - if(getenv("INITIAL_CHUNK_SIZE")) - csize = atoi(getenv("INITIAL_CHUNK_SIZE")); - - /* Perform multiple iterations with multiple chunks sizes */ - for(; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %zd, chunks %zd\n", - size, csize); - - if(st) ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - - do { - ASN_DEBUG("Decoding bytes %d..%d (left %d)", - fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, - fbuf_left); -#ifdef ASN_EMIT_DEBUG - if(st) { - fprintf(stderr, "=== currently ===\n"); - asn_fprint(stderr, &asn_DEF_PDU, st); - fprintf(stderr, "=== end ===\n"); - } -#endif - rval = asn_decode(0, syntax, &asn_DEF_PDU, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - if(expectation != EXP_BROKEN) { - assert(rval.code == RC_OK); - if(syntax == ATS_BER) { - assert(fbuf_offset == (ssize_t)size); - } else { - assert((fbuf_offset + 1 /* "\n" */ == (ssize_t)size - && fbuf[size - 1] == '\n') - || (fbuf_offset + 2 /* "\r\n" */ == (ssize_t)size - && fbuf[size - 2] == '\r' - && fbuf[size - 1] == '\n') - ); - } - } else { - assert(rval.code != RC_OK); - fprintf(stderr, "Failed, but this was expected\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; /* ignore leak for now */ - } - } - - if(st) asn_fprint(stderr, &asn_DEF_PDU, st); - return st; -} - -static int -xer_encoding_equal(void *obufp, size_t osize, void *nbufp, size_t nsize) { - char *obuf = obufp; - char *nbuf = nbufp; - char *oend = obuf + osize; - char *nend = nbuf + nsize; - - if((osize && !nsize) || (!osize && nsize)) - return 0; /* not equal apriori */ - - while(1) { - while(obuf < oend && isspace(*obuf)) obuf++; - while(nbuf < nend && isspace(*nbuf)) nbuf++; - - if(obuf == oend || nbuf == nend) { - if(obuf == oend && nbuf == nend) - break; - fprintf(stderr, "%s data in reconstructed encoding\n", - (obuf == oend) ? "More" : "Less"); - return 0; - } - - if(*obuf != *nbuf) { - printf("%c%c != %c%c\n", - obuf[0], obuf[1], - nbuf[0], nbuf[1]); - return 0; - } - obuf++, nbuf++; - } - - return 1; -} - -static void -process_XER_data(enum expectation expectation, unsigned char *fbuf, size_t size) { - PDU_t *st; - - st = load_object_from(expectation, fbuf, size, ATS_BASIC_XER); - if(!st) return; - - /* Save and re-load as DER */ - save_object_as(st, ATS_DER); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = load_object_from(expectation, buf, buf_offset, ATS_BER); - assert(st); - - save_object_as(st, - (expectation == EXP_CXER_EXACT - || expectation == EXP_CXER_DIFF) - ? ATS_CANONICAL_XER : ATS_BASIC_XER); - fprintf(stderr, "=== original ===\n"); - fwrite(fbuf, 1, size, stderr); - fprintf(stderr, "=== re-encoded ===\n"); - fwrite(buf, 1, buf_offset, stderr); - fprintf(stderr, "=== end ===\n"); - - switch(expectation) { - case EXP_DIFFERENT: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_BROKEN: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_CXER_EXACT: - buf[buf_offset++] = '\n'; - assert((ssize_t)size == buf_offset); - assert(memcmp(fbuf, buf, size) == 0); - break; - case EXP_CXER_DIFF: - buf[buf_offset++] = '\n'; - assert((ssize_t)size != buf_offset - || memcmp(fbuf, buf, size)); - break; - case EXP_OK: - assert(xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - } - - ASN_STRUCT_FREE(asn_DEF_PDU, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - char prevdir[256]; - unsigned char fbuf[4096]; - char *ext = strrchr(fname, '.'); - enum expectation expectation; - char *cwd; - int ret; - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".in")) - return 0; - - switch(ext[-1]) { - case 'B': /* The file is intentionally broken */ - expectation = EXP_BROKEN; break; - case 'D': /* Reconstructing should yield different data */ - expectation = EXP_DIFFERENT; break; - case 'E': /* Byte to byte exact reconstruction */ - expectation = EXP_CXER_EXACT; break; - case 'X': /* Should fail byte-to-byte comparison */ - expectation = EXP_CXER_DIFF; break; - default: - expectation = EXP_OK; break; - } - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - cwd = getcwd(prevdir, sizeof(prevdir)); - assert(cwd != NULL); - ret = chdir(SRCDIR_S "/data-70"); - assert(ret == 0); - fp = fopen(fname, "r"); - ret = chdir(prevdir); - assert(ret == 0); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert(rd < (ssize_t)sizeof(fbuf)); /* expect small files */ - - process_XER_data(expectation, fbuf, rd); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - /* Process a specific test file */ - str = getenv("DATA_70_FILE"); - if(str && strncmp(str, "data-70-", 8) == 0) { - process(str); - return 0; - } - - dir = opendir(SRCDIR_S "/data-70"); - assert(dir); - - /* - * Process each file in that directory. - */ - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-70-", 8) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - -#endif diff --git a/tests/tests-c-compiler/check-src/check-70.c b/tests/tests-c-compiler/check-src/check-70.c deleted file mode 100644 index a499c9c..0000000 --- a/tests/tests-c-compiler/check-src/check-70.c +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Mode of operation: - * Each of the *.in files is XER-decoded, then converted into DER, - * then decoded from DER and encoded into XER again. The resulting - * stream is compared with the corresponding .out file. - */ -#undef NDEBUG -#include -#include -#include -#include /* for chdir(2), getcwd(3) */ -#include -#include -#include /* for isspace(3) */ -#include -#include - -#include - -#ifndef SRCDIR -#define SRCDIR_S ".." -#else -#define STRINGIFY_MACRO2(x) #x -#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) -#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) -#endif - -#ifdef ENABLE_LIBFUZZER - -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - PDU_t *st = 0; - asn_dec_rval_t rval; - rval = asn_decode(0, ATS_BASIC_XER, &asn_DEF_PDU, (void **)&st, Data, Size); - assert(rval.consumed <= Size); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - return 0; -} - -#else - -enum expectation { - EXP_OK, /* Encoding/decoding must succeed */ - EXP_BROKEN, /* Decoding must fail */ - EXP_DIFFERENT, /* Reconstruction will yield different encoding */ -}; - -static unsigned char buf[4096]; -static int buf_offset; - -static int -_buf_writer(const void *buffer, size_t size, void *app_key) { - unsigned char *b, *bend; - (void)app_key; - assert(buf_offset + size < sizeof(buf)); - memcpy(buf + buf_offset, buffer, size); - b = buf + buf_offset; - bend = b + size; - fprintf(stderr, "=> ["); - for(; b < bend; b++) - fprintf(stderr, "%c", *b); - fprintf(stderr, "]:%zd\n", size); - buf_offset += size; - return 0; -} - -static void -save_object_as(PDU_t *st, enum asn_transfer_syntax syntax) { - asn_enc_rval_t rval; /* Return value */ - - buf_offset = 0; - - rval = asn_encode(0, syntax, &asn_DEF_PDU, st, _buf_writer, 0); - - if (rval.encoded == -1) { - fprintf(stderr, - "Cannot encode %s: %s\n", - rval.failed_type->name, strerror(errno)); - assert(rval.encoded != -1); - return; - } - - fprintf(stderr, "SAVED OBJECT IN SIZE %d/%zu\n", buf_offset, rval.encoded); - - assert(buf_offset == rval.encoded); -} - -static PDU_t * -load_object_from(enum expectation expectation, unsigned char *fbuf, size_t size, enum asn_transfer_syntax syntax) { - asn_dec_rval_t rval; - PDU_t *st = 0; - size_t csize = 1; - - if(getenv("INITIAL_CHUNK_SIZE")) - csize = atoi(getenv("INITIAL_CHUNK_SIZE")); - - /* Perform multiple iterations with multiple chunks sizes */ - for(; csize < 20; csize += 1) { - int fbuf_offset = 0; - int fbuf_left = size; - int fbuf_chunk = csize; - - fprintf(stderr, "LOADING OBJECT OF SIZE %zd, chunks %zd\n", - size, csize); - - if(st) ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; - - do { - ASN_DEBUG("Decoding bytes %d..%d (left %d)", - fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left, - fbuf_left); -#ifdef ASN_EMIT_DEBUG - if(st) { - fprintf(stderr, "=== currently ===\n"); - asn_fprint(stderr, &asn_DEF_PDU, st); - fprintf(stderr, "=== end ===\n"); - } -#endif - rval = asn_decode(0, syntax, &asn_DEF_PDU, (void **)&st, - fbuf + fbuf_offset, - fbuf_chunk < fbuf_left - ? fbuf_chunk : fbuf_left); - fbuf_offset += rval.consumed; - fbuf_left -= rval.consumed; - if(rval.code == RC_WMORE) - fbuf_chunk += 1; /* Give little more */ - else - fbuf_chunk = csize; /* Back off */ - } while(fbuf_left && rval.code == RC_WMORE); - - if(expectation != EXP_BROKEN) { - assert(rval.code == RC_OK); - if(syntax == ATS_BER) { - assert(fbuf_offset == (ssize_t)size); - } else { - assert((fbuf_offset + 1 /* "\n" */ == (ssize_t)size - && fbuf[size - 1] == '\n') - || (fbuf_offset + 2 /* "\r\n" */ == (ssize_t)size - && fbuf[size - 2] == '\r' - && fbuf[size - 1] == '\n') - ); - } - } else { - assert(rval.code != RC_OK); - fprintf(stderr, "Failed, but this was expected\n"); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = 0; /* ignore leak for now */ - } - } - - if(st) asn_fprint(stderr, &asn_DEF_PDU, st); - return st; -} - -static int -xer_encoding_equal(void *obufp, size_t osize, void *nbufp, size_t nsize) { - char *obuf = obufp; - char *nbuf = nbufp; - char *oend = obuf + osize; - char *nend = nbuf + nsize; - - if((osize && !nsize) || (!osize && nsize)) - return 0; /* not equal apriori */ - - while(1) { - while(obuf < oend && isspace(*obuf)) obuf++; - while(nbuf < nend && isspace(*nbuf)) nbuf++; - - if(obuf == oend || nbuf == nend) { - if(obuf == oend && nbuf == nend) - break; - fprintf(stderr, "%s data in reconstructed encoding\n", - (obuf == oend) ? "More" : "Less"); - return 0; - } - - if(*obuf != *nbuf) { - printf("%c%c != %c%c\n", - obuf[0], obuf[1], - nbuf[0], nbuf[1]); - return 0; - } - obuf++, nbuf++; - } - - return 1; -} - -static void -process_XER_data(enum expectation expectation, unsigned char *fbuf, size_t size) { - PDU_t *st; - - st = load_object_from(expectation, fbuf, size, ATS_BASIC_XER); - if(!st) return; - - /* Save and re-load as DER */ - save_object_as(st, ATS_DER); - ASN_STRUCT_FREE(asn_DEF_PDU, st); - st = load_object_from(expectation, buf, buf_offset, ATS_BER); - assert(st); - - save_object_as(st, ATS_BASIC_XER); - fprintf(stderr, "=== original ===\n"); - fwrite(fbuf, 1, size, stderr); - fprintf(stderr, "=== re-encoded ===\n"); - fwrite(buf, 1, buf_offset, stderr); - fprintf(stderr, "=== end ===\n"); - - switch(expectation) { - case EXP_DIFFERENT: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_BROKEN: - assert(!xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - case EXP_OK: - assert(xer_encoding_equal(fbuf, size, buf, buf_offset)); - break; - } - - ASN_STRUCT_FREE(asn_DEF_PDU, st); -} - -/* - * Decode the .der files and try to regenerate them. - */ -static int -process(const char *fname) { - char prevdir[256]; - unsigned char fbuf[4096]; - char *ext = strrchr(fname, '.'); - enum expectation expectation; - char *cwd; - int ret; - int rd; - FILE *fp; - - if(ext == 0 || strcmp(ext, ".in")) - return 0; - - switch(ext[-1]) { - case 'B': /* The file is intentionally broken */ - expectation = EXP_BROKEN; break; - case 'X': - case 'D': /* Reconstructing should yield different data */ - expectation = EXP_DIFFERENT; break; - case 'E': - default: - expectation = EXP_OK; break; - } - - fprintf(stderr, "\nProcessing file [../%s]\n", fname); - - cwd = getcwd(prevdir, sizeof(prevdir)); - assert(cwd != NULL); - ret = chdir(SRCDIR_S "/data-70"); - assert(ret == 0); - fp = fopen(fname, "r"); - ret = chdir(prevdir); - assert(ret == 0); - assert(fp); - - rd = fread(fbuf, 1, sizeof(fbuf), fp); - fclose(fp); - - assert(rd > 0 && (size_t)rd < sizeof(fbuf)); /* expect small files */ - - process_XER_data(expectation, fbuf, rd); - - return 1; -} - -int -main() { - DIR *dir; - struct dirent *dent; - int processed_files = 0; - char *str; - - /* Process a specific test file */ - str = getenv("DATA_70_FILE"); - if(str && strncmp(str, "data-70-", 8) == 0) - process(str); - - dir = opendir(SRCDIR_S "/data-70"); - assert(dir); - - /* - * Process each file in that directory. - */ - while((dent = readdir(dir))) { - if(strncmp(dent->d_name, "data-70-", 8) == 0) - if(process(dent->d_name)) - processed_files++; - } - - assert(processed_files); - closedir(dir); - - return 0; -} - -#endif diff --git a/tests/tests-c-compiler/check-src/check-72.-fcompound-names.c b/tests/tests-c-compiler/check-src/check-72.-fcompound-names.c deleted file mode 100644 index 322742d..0000000 --- a/tests/tests-c-compiler/check-src/check-72.-fcompound-names.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Type_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-73.c b/tests/tests-c-compiler/check-src/check-73.c deleted file mode 100644 index 9d33141..0000000 --- a/tests/tests-c-compiler/check-src/check-73.c +++ /dev/null @@ -1,28 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Type_t t; - Epyt_t ept; - Ypet_t ypt; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - memset(&ept, 0, sizeof(ept)); - memset(&ypt, 0, sizeof(ypt)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-92.-findirect-choice.c b/tests/tests-c-compiler/check-src/check-92.-findirect-choice.c deleted file mode 100644 index caa367f..0000000 --- a/tests/tests-c-compiler/check-src/check-92.-findirect-choice.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Everything_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check-92.c b/tests/tests-c-compiler/check-src/check-92.c deleted file mode 100644 index caa367f..0000000 --- a/tests/tests-c-compiler/check-src/check-92.c +++ /dev/null @@ -1,24 +0,0 @@ -#undef NDEBUG -#include -#include -#include -#include -#include - -#include - -int -main(int ac, char **av) { - Everything_t t; - - (void)ac; /* Unused argument */ - (void)av; /* Unused argument */ - - memset(&t, 0, sizeof(t)); - - /* - * No plans to fill it up: just checking whether it compiles or not. - */ - - return 0; -} diff --git a/tests/tests-c-compiler/check-src/check64-134.-gen-PER.c b/tests/tests-c-compiler/check-src/check64-134.-gen-PER.c deleted file mode 100644 index 5396cfe..0000000 --- a/tests/tests-c-compiler/check-src/check64-134.-gen-PER.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Verify INTEGER values with greater than 32 bits range. - */ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -static unsigned long i2ul(const INTEGER_t *i) { - unsigned long l; - int ret = asn_INTEGER2ulong(i, &l); - assert(ret == 0); - return l; -} - -static long i2l(const INTEGER_t *i) { - long l; - int ret = asn_INTEGER2long(i, &l); - assert(ret == 0); - return l; -} - -static void ul2i(INTEGER_t *i, unsigned long l) { - int ret = asn_ulong2INTEGER(i, l); - assert(ret == 0); -} - -static void l2i(INTEGER_t *i, long l) { - int ret = asn_long2INTEGER(i, l); - assert(ret == 0); -} - -static void -verify(int testNo, T_t *ti) { - asn_enc_rval_t er; - asn_dec_rval_t rv; - unsigned char buf[20]; - T_t *to = 0; - - fprintf(stderr, "%d IN: { %lu, %lu, %ld, %ld }\n", testNo, - i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), - i2l(&ti->signed33), i2l(&ti->signed33ext) - ); - - er = uper_encode_to_buffer(&asn_DEF_T, 0, ti, buf, sizeof buf); - assert(er.encoded >= 33 + 42 + 33 + 1 + 33); - - rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); - assert(rv.code == RC_OK); - - fprintf(stderr, "%d ENC: %2x%2x%2x%2x %2x%2x%2x%2x\n", testNo, - buf[0], buf[1], buf[2], buf[3], - buf[4], buf[5], buf[6], buf[7]); - fprintf(stderr, "%d OUT: { %lu, %lu, %ld, %ld } vs { %lu, %lu, %ld, %ld }\n", - testNo, - i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), - i2l(&ti->signed33), i2l(&ti->signed33ext), - i2ul(&to->unsigned33), i2ul(&to->unsigned42), - i2l(&to->signed33), i2l(&to->signed33ext)); - assert(i2ul(&ti->unsigned33) == i2ul(&to->unsigned33)); - assert(i2ul(&ti->unsigned42) == i2ul(&to->unsigned42)); - assert(i2l(&ti->signed33) == i2l(&to->signed33)); - assert(i2l(&ti->signed33ext) == i2l(&to->signed33ext)); - - xer_fprint(stderr, &asn_DEF_T, ti); - xer_fprint(stderr, &asn_DEF_T, to); - ASN_STRUCT_FREE(asn_DEF_T, to); -} - -static void -NO_encode(int testNo, T_t *ti) { - asn_enc_rval_t er; - unsigned char buf[16]; - - fprintf(stderr, "%d IN: { %lu, %lu, %ld, %ld }\n", testNo, - i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), - i2l(&ti->signed33), i2l(&ti->signed33ext) - ); - - er = uper_encode_to_buffer(&asn_DEF_T, 0, ti, buf, sizeof buf); - assert(er.encoded == -1); -} - -int main() { - T_t ti; - - memset(&ti, 0, sizeof(ti)); - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 0); - verify(1, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 1); - ul2i(&ti.unsigned42, 1); - l2i(&ti.signed33, 1); - l2i(&ti.signed33ext, 1); - verify(2, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 5000000000); - ul2i(&ti.unsigned42, 3153600000000); - l2i(&ti.signed33, 4000000000); - l2i(&ti.signed33ext, 4000000000); - verify(3, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, -1); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 0); - NO_encode(4, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, -1); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 0); - NO_encode(5, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, -4000000000-1); - l2i(&ti.signed33ext, 0); - NO_encode(6, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, -4000000000-1); - assert(ti.signed33ext.size == 5); - verify(7, &ti); /* signed33ext is extensible */ - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 5000000000 + 1); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 0); - NO_encode(8, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, 3153600000000 + 1); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 0); - NO_encode(9, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 5000000000 - 1); - ul2i(&ti.unsigned42, 3153600000000 - 1); - l2i(&ti.signed33, 4000000000 - 1); - l2i(&ti.signed33ext, 4000000000 - 1); - verify(10, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - ul2i(&ti.unsigned33, 0); - ul2i(&ti.unsigned42, 0); - l2i(&ti.signed33, 0); - l2i(&ti.signed33ext, 4000000000 + 1); - verify(11, &ti); - ASN_STRUCT_RESET(asn_DEF_T, &ti); - - return 0; -} - diff --git a/tests/tests-c-compiler/check-src/check64-136.-gen-OER.c b/tests/tests-c-compiler/check-src/check64-136.-gen-OER.c deleted file mode 100644 index 866fd71..0000000 --- a/tests/tests-c-compiler/check-src/check64-136.-gen-OER.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Verify OER with constrained INTEGER code gen. - */ -#undef NDEBUG -#include -#include -#include -#include -#include -#include -#include - -#include - -int main() { - uint8_t tmpbuf[128]; - T_t source; - T_t *decoded = 0; /* "= 0" is important */ - - memset(&source, 0, sizeof(source)); - - /* Fill in complex INTEGER */ - asn_long2INTEGER(&source.unsigned33, 0); - - asn_enc_rval_t er = - oer_encode_to_buffer(&asn_DEF_T, 0, &source, tmpbuf, sizeof(tmpbuf)); - assert(er.encoded != -1); - - asn_dec_rval_t dr = - oer_decode(0, &asn_DEF_T, (void **)&decoded, tmpbuf, er.encoded); - - assert(dr.code == RC_OK); - if((ssize_t)dr.consumed != er.encoded) { - ASN_DEBUG("Consumed %zd, expected %zu", dr.consumed, er.encoded); - assert((ssize_t)dr.consumed == er.encoded); - } - - if(XEQ_SUCCESS != xer_equivalent(&asn_DEF_T, &source, decoded, stderr)) { - return 1; - } - ASN_STRUCT_RESET(asn_DEF_T, &source); - ASN_STRUCT_FREE(asn_DEF_T, decoded); - return 0; -} - diff --git a/tests/tests-c-compiler/data-119/README b/tests/tests-c-compiler/data-119/README deleted file mode 100644 index 044f5b8..0000000 --- a/tests/tests-c-compiler/data-119/README +++ /dev/null @@ -1,13 +0,0 @@ -Mode of operation: - - Each of the *.in files is XER-decoded, then converted into PER, - then decoded back from PER, then encoded into XER again, - and finally compared to the original encoding. - -Naming conventions: - -*-B.in - The file is intentionally broken -*-P.in - Is not PER compatible, PER encoding must fail. -*-E.in - CXER reconstruction should yield byte-wise identical data. - -Otherwise, a reconstructed buffer should loosely match the original. diff --git a/tests/tests-c-compiler/data-119/data-119-01.in b/tests/tests-c-compiler/data-119/data-119-01.in deleted file mode 100644 index 47e83a0..0000000 --- a/tests/tests-c-compiler/data-119/data-119-01.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-119/data-119-02.in b/tests/tests-c-compiler/data-119/data-119-02.in deleted file mode 100644 index c7f53b4..0000000 --- a/tests/tests-c-compiler/data-119/data-119-02.in +++ /dev/null @@ -1,3 +0,0 @@ - - 0123456789 - diff --git a/tests/tests-c-compiler/data-119/data-119-03.in b/tests/tests-c-compiler/data-119/data-119-03.in deleted file mode 100644 index f51836d..0000000 --- a/tests/tests-c-compiler/data-119/data-119-03.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-119/data-119-04-P.in b/tests/tests-c-compiler/data-119/data-119-04-P.in deleted file mode 100644 index df606c9..0000000 --- a/tests/tests-c-compiler/data-119/data-119-04-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - z - diff --git a/tests/tests-c-compiler/data-119/data-119-05.in b/tests/tests-c-compiler/data-119/data-119-05.in deleted file mode 100644 index 632652d..0000000 --- a/tests/tests-c-compiler/data-119/data-119-05.in +++ /dev/null @@ -1,4 +0,0 @@ - - yabloko - yabloko - diff --git a/tests/tests-c-compiler/data-119/data-119-06-P.in b/tests/tests-c-compiler/data-119/data-119-06-P.in deleted file mode 100644 index 6eddf52..0000000 --- a/tests/tests-c-compiler/data-119/data-119-06-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - ÑÂÌÏËÏ - diff --git a/tests/tests-c-compiler/data-119/data-119-07-P.in b/tests/tests-c-compiler/data-119/data-119-07-P.in deleted file mode 100644 index 9f7ace8..0000000 --- a/tests/tests-c-compiler/data-119/data-119-07-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - non-capitals - diff --git a/tests/tests-c-compiler/data-119/data-119-08.in b/tests/tests-c-compiler/data-119/data-119-08.in deleted file mode 100644 index 5916078..0000000 --- a/tests/tests-c-compiler/data-119/data-119-08.in +++ /dev/null @@ -1,4 +0,0 @@ - - CAPITALS - CAPITALS - diff --git a/tests/tests-c-compiler/data-119/data-119-09.in b/tests/tests-c-compiler/data-119/data-119-09.in deleted file mode 100644 index b20ca47..0000000 --- a/tests/tests-c-compiler/data-119/data-119-09.in +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/tests-c-compiler/data-119/data-119-10.in b/tests/tests-c-compiler/data-119/data-119-10.in deleted file mode 100644 index afe04b0..0000000 --- a/tests/tests-c-compiler/data-119/data-119-10.in +++ /dev/null @@ -1,9 +0,0 @@ - - BAZ - BAZ - BAZ - 19 - Do not respect SIZE constraint - Do not respect SIZE constraint - ABCabc - diff --git a/tests/tests-c-compiler/data-119/data-119-11-P.in b/tests/tests-c-compiler/data-119/data-119-11-P.in deleted file mode 100644 index 4a7d4d2..0000000 --- a/tests/tests-c-compiler/data-119/data-119-11-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - FAIL - diff --git a/tests/tests-c-compiler/data-119/data-119-12-P.in b/tests/tests-c-compiler/data-119/data-119-12-P.in deleted file mode 100644 index bd45e2e..0000000 --- a/tests/tests-c-compiler/data-119/data-119-12-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - FAIL - diff --git a/tests/tests-c-compiler/data-119/data-119-13-P.in b/tests/tests-c-compiler/data-119/data-119-13-P.in deleted file mode 100644 index c2396c1..0000000 --- a/tests/tests-c-compiler/data-119/data-119-13-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - FAIL - diff --git a/tests/tests-c-compiler/data-119/data-119-14-P.in b/tests/tests-c-compiler/data-119/data-119-14-P.in deleted file mode 100644 index 0f2d9ec..0000000 --- a/tests/tests-c-compiler/data-119/data-119-14-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - 13 - diff --git a/tests/tests-c-compiler/data-119/data-119-15.in b/tests/tests-c-compiler/data-119/data-119-15.in deleted file mode 100644 index 296dc2d..0000000 --- a/tests/tests-c-compiler/data-119/data-119-15.in +++ /dev/null @@ -1,3 +0,0 @@ - - ABCabc,12234 - diff --git a/tests/tests-c-compiler/data-119/data-119-16.in b/tests/tests-c-compiler/data-119/data-119-16.in deleted file mode 100644 index 2a117fa..0000000 --- a/tests/tests-c-compiler/data-119/data-119-16.in +++ /dev/null @@ -1,3 +0,0 @@ - - 3.14159265 - diff --git a/tests/tests-c-compiler/data-119/data-119-17.in b/tests/tests-c-compiler/data-119/data-119-17.in deleted file mode 100644 index 862efc1..0000000 --- a/tests/tests-c-compiler/data-119/data-119-17.in +++ /dev/null @@ -1,3 +0,0 @@ - - 1.3.6.1.4.1.9363.1.5.1 - diff --git a/tests/tests-c-compiler/data-119/data-119-18.in b/tests/tests-c-compiler/data-119/data-119-18.in deleted file mode 100644 index 619502d..0000000 --- a/tests/tests-c-compiler/data-119/data-119-18.in +++ /dev/null @@ -1,10 +0,0 @@ - - - abra kadabra - AAAAZZZZ - шесть! - ABC - ABCabc (extensibility in play) - ABXZ - - diff --git a/tests/tests-c-compiler/data-119/data-119-19.in b/tests/tests-c-compiler/data-119/data-119-19.in deleted file mode 100644 index c5e8f09..0000000 --- a/tests/tests-c-compiler/data-119/data-119-19.in +++ /dev/null @@ -1,10 +0,0 @@ - - - kadabra - AAAAZZZZ - шесть! - ABC - ABCabc (extensibility in play) - ABXZ - - diff --git a/tests/tests-c-compiler/data-119/data-119-20-P.in b/tests/tests-c-compiler/data-119/data-119-20-P.in deleted file mode 100644 index 53c1981..0000000 --- a/tests/tests-c-compiler/data-119/data-119-20-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - abcd - diff --git a/tests/tests-c-compiler/data-119/data-119-21-P.in b/tests/tests-c-compiler/data-119/data-119-21-P.in deleted file mode 100644 index d2d47d8..0000000 --- a/tests/tests-c-compiler/data-119/data-119-21-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - abcd - diff --git a/tests/tests-c-compiler/data-119/data-119-22-P.in b/tests/tests-c-compiler/data-119/data-119-22-P.in deleted file mode 100644 index 6eb9a3e..0000000 --- a/tests/tests-c-compiler/data-119/data-119-22-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-119/data-119-23-P.in b/tests/tests-c-compiler/data-119/data-119-23-P.in deleted file mode 100644 index d250892..0000000 --- a/tests/tests-c-compiler/data-119/data-119-23-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-119/data-119-24-P.in b/tests/tests-c-compiler/data-119/data-119-24-P.in deleted file mode 100644 index 094b45d..0000000 --- a/tests/tests-c-compiler/data-119/data-119-24-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - ABC - diff --git a/tests/tests-c-compiler/data-119/data-119-25-P.in b/tests/tests-c-compiler/data-119/data-119-25-P.in deleted file mode 100644 index 6da8b82..0000000 --- a/tests/tests-c-compiler/data-119/data-119-25-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - ABC - diff --git a/tests/tests-c-compiler/data-126/README b/tests/tests-c-compiler/data-126/README deleted file mode 100644 index 99ab584..0000000 --- a/tests/tests-c-compiler/data-126/README +++ /dev/null @@ -1,12 +0,0 @@ -Mode of operation: - - Each of the *.in files is XER-decoded, then converted into PER, - then compared with the .out file, then decoded back into XER - and compared to the original .in file content. - -Naming conventions: - -*-C.in - Comparison of .out might fail, but decoding succeeds -*-P.in - PER decoding of .out file must fail. -*-X.in - Final XER comparison must fail. - diff --git a/tests/tests-c-compiler/data-126/data-126-01.in b/tests/tests-c-compiler/data-126/data-126-01.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-01.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-01.out b/tests/tests-c-compiler/data-126/data-126-01.out deleted file mode 100644 index 776f21344d954b0c47f40172c106f4e468fd6eb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZp65MTfR0`LIT diff --git a/tests/tests-c-compiler/data-126/data-126-02-P.in b/tests/tests-c-compiler/data-126/data-126-02-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-02-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-02-P.out b/tests/tests-c-compiler/data-126/data-126-02-P.out deleted file mode 100644 index 11deabc098f2510a7daf091109880082886145af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5 McmZp4IKaRF00qhcf&c&j diff --git a/tests/tests-c-compiler/data-126/data-126-03-P.in b/tests/tests-c-compiler/data-126/data-126-03-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-03-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-03-P.out b/tests/tests-c-compiler/data-126/data-126-03-P.out deleted file mode 100644 index d7a555ebcbb0b3e28562663b1e81e71fec181f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZp4XkY*U1IPhF diff --git a/tests/tests-c-compiler/data-126/data-126-04-P.in b/tests/tests-c-compiler/data-126/data-126-04-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-04-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-04-P.out b/tests/tests-c-compiler/data-126/data-126-04-P.out deleted file mode 100644 index 54a8a52bb3acc0aa1502847cfbbfe8d66f0f4706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5 McmZp4XkcIf00jyGLI3~& diff --git a/tests/tests-c-compiler/data-126/data-126-05-P.in b/tests/tests-c-compiler/data-126/data-126-05-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-05-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-05-P.out b/tests/tests-c-compiler/data-126/data-126-05-P.out deleted file mode 100644 index 7c9ea7f..0000000 --- a/tests/tests-c-compiler/data-126/data-126-05-P.out +++ /dev/null @@ -1 +0,0 @@ -@@@ \ No newline at end of file diff --git a/tests/tests-c-compiler/data-126/data-126-06-P.in b/tests/tests-c-compiler/data-126/data-126-06-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-06-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-06-P.out b/tests/tests-c-compiler/data-126/data-126-06-P.out deleted file mode 100644 index 90ad5151406a61ffffffa98784a3b8f5204304f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3 KcmZp4U;qFD1^~hU diff --git a/tests/tests-c-compiler/data-126/data-126-07-P.in b/tests/tests-c-compiler/data-126/data-126-07-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-07-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-07-P.out b/tests/tests-c-compiler/data-126/data-126-07-P.out deleted file mode 100644 index 8979b4f..0000000 --- a/tests/tests-c-compiler/data-126/data-126-07-P.out +++ /dev/null @@ -1 +0,0 @@ -@@ \ No newline at end of file diff --git a/tests/tests-c-compiler/data-126/data-126-08-P.in b/tests/tests-c-compiler/data-126/data-126-08-P.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-08-P.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-08-P.out b/tests/tests-c-compiler/data-126/data-126-08-P.out deleted file mode 100644 index e84a902..0000000 --- a/tests/tests-c-compiler/data-126/data-126-08-P.out +++ /dev/null @@ -1 +0,0 @@ -@€ \ No newline at end of file diff --git a/tests/tests-c-compiler/data-126/data-126-09-C.in b/tests/tests-c-compiler/data-126/data-126-09-C.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-09-C.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-09-C.out b/tests/tests-c-compiler/data-126/data-126-09-C.out deleted file mode 100644 index 1b6cb8f29ed03756185f65c914a5528772867476..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZp2P+$N60}KG; diff --git a/tests/tests-c-compiler/data-126/data-126-10-C.in b/tests/tests-c-compiler/data-126/data-126-10-C.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-10-C.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-10-C.out b/tests/tests-c-compiler/data-126/data-126-10-C.out deleted file mode 100644 index fe55c5f8b65b5260299214311d337626a2b3db1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6 NcmbQ>z`)SJ000H10Z{+| diff --git a/tests/tests-c-compiler/data-126/data-126-11-C.in b/tests/tests-c-compiler/data-126/data-126-11-C.in deleted file mode 100644 index d01eb54..0000000 --- a/tests/tests-c-compiler/data-126/data-126-11-C.in +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/tests-c-compiler/data-126/data-126-11-C.out b/tests/tests-c-compiler/data-126/data-126-11-C.out deleted file mode 100644 index 0f23c822888fda0c6adba98531da0515d72fa2b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZp4a9{uc14sb^ diff --git a/tests/tests-c-compiler/data-126/data-126-12.in b/tests/tests-c-compiler/data-126/data-126-12.in deleted file mode 100644 index 2b17d34..0000000 --- a/tests/tests-c-compiler/data-126/data-126-12.in +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-126/data-126-12.out b/tests/tests-c-compiler/data-126/data-126-12.out deleted file mode 100644 index 095b6fe76b72e276a4b7c90b2419ccbd16c0bed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7 OcmZop5Ma - a - - diff --git a/tests/tests-c-compiler/data-126/data-126-13.out b/tests/tests-c-compiler/data-126/data-126-13.out deleted file mode 100644 index 0b771834b3d288c6115405ea7c023a1759d5aadb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZopP>@m3U|;|M2?POX diff --git a/tests/tests-c-compiler/data-126/data-126-14.in b/tests/tests-c-compiler/data-126/data-126-14.in deleted file mode 100644 index eacad91..0000000 --- a/tests/tests-c-compiler/data-126/data-126-14.in +++ /dev/null @@ -1,4 +0,0 @@ - - ab - - diff --git a/tests/tests-c-compiler/data-126/data-126-14.out b/tests/tests-c-compiler/data-126/data-126-14.out deleted file mode 100644 index d0447630f820b35d30a928e38ebe39e93e32da50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9 QcmZopFwn7R&|qKy01b=+AOHXW diff --git a/tests/tests-c-compiler/data-126/data-126-15.in b/tests/tests-c-compiler/data-126/data-126-15.in deleted file mode 100644 index add216d..0000000 --- a/tests/tests-c-compiler/data-126/data-126-15.in +++ /dev/null @@ -1,4 +0,0 @@ - - - z - diff --git a/tests/tests-c-compiler/data-126/data-126-15.out b/tests/tests-c-compiler/data-126/data-126-15.out deleted file mode 100644 index e278c6ba3d2387cbf11f638595fad471a19022c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6 NcmZop5MU5s000G80R#X5 diff --git a/tests/tests-c-compiler/data-126/data-126-16.in b/tests/tests-c-compiler/data-126/data-126-16.in deleted file mode 100644 index 58c0bb5..0000000 --- a/tests/tests-c-compiler/data-126/data-126-16.in +++ /dev/null @@ -1,4 +0,0 @@ - - a - z - diff --git a/tests/tests-c-compiler/data-126/data-126-16.out b/tests/tests-c-compiler/data-126/data-126-16.out deleted file mode 100644 index bebf853ca96e1577316cb9dc0afe52bb7ab8ddef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7 OcmZopP>@j&U;qFIYynUJ diff --git a/tests/tests-c-compiler/data-126/data-126-17.in b/tests/tests-c-compiler/data-126/data-126-17.in deleted file mode 100644 index 74e870e..0000000 --- a/tests/tests-c-compiler/data-126/data-126-17.in +++ /dev/null @@ -1,4 +0,0 @@ - - ab - z - diff --git a/tests/tests-c-compiler/data-126/data-126-17.out b/tests/tests-c-compiler/data-126/data-126-17.out deleted file mode 100644 index f0398edb5051ce33a1ba04975bc9b11a75673bcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZopFwn7R5MTfR3p@e{ diff --git a/tests/tests-c-compiler/data-126/data-126-18-X.in b/tests/tests-c-compiler/data-126/data-126-18-X.in deleted file mode 100644 index 9f56752..0000000 --- a/tests/tests-c-compiler/data-126/data-126-18-X.in +++ /dev/null @@ -1,4 +0,0 @@ - - ab - - diff --git a/tests/tests-c-compiler/data-126/data-126-18-X.out b/tests/tests-c-compiler/data-126/data-126-18-X.out deleted file mode 100644 index f0398edb5051ce33a1ba04975bc9b11a75673bcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZopFwn7R5MTfR3p@e{ diff --git a/tests/tests-c-compiler/data-126/data-126-19.in b/tests/tests-c-compiler/data-126/data-126-19.in deleted file mode 100644 index 42d3595..0000000 --- a/tests/tests-c-compiler/data-126/data-126-19.in +++ /dev/null @@ -1,7 +0,0 @@ - - some long string spanning multiple bytes - zzz-zzz-zzz-zzz - -
42
-
-
diff --git a/tests/tests-c-compiler/data-126/data-126-19.out b/tests/tests-c-compiler/data-126/data-126-19.out deleted file mode 100644 index 5cc830eb12c2fb923949c8d2e49348af5c4e3f8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmZoJa_X!8_SA86-J2JdU!E>6E0Ot;cz3ton-^wZZ(jE2of(ky`Le#jkNWj-(|&z@ OnGdF3Fc@$KFaQ85R3bY7 diff --git a/tests/tests-c-compiler/data-126/data-126-20.in b/tests/tests-c-compiler/data-126/data-126-20.in deleted file mode 100644 index 2e26d4c..0000000 --- a/tests/tests-c-compiler/data-126/data-126-20.in +++ /dev/null @@ -1,7 +0,0 @@ - - some long string spanning multiple bytes - zzz-zzz-zzz-zzz - - 13 - - diff --git a/tests/tests-c-compiler/data-126/data-126-20.out b/tests/tests-c-compiler/data-126/data-126-20.out deleted file mode 100644 index 6a5d6dd4fdb1b63f1c49eb97df47b116b5f00402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZoJa_X!8_SA86-J2JdU!E>6E0Ot;cz3ton-^wZZ(jE2of(ky`Le#jkNWj-(|&z@ PnGdF3FnBO12wVUFO+zC3 diff --git a/tests/tests-c-compiler/data-126/data-126-21.in b/tests/tests-c-compiler/data-126/data-126-21.in deleted file mode 100644 index 3ea60bd..0000000 --- a/tests/tests-c-compiler/data-126/data-126-21.in +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 0 - - diff --git a/tests/tests-c-compiler/data-126/data-126-21.out b/tests/tests-c-compiler/data-126/data-126-21.out deleted file mode 100644 index 865a90a14a8ef7464c7d55c7c10e026758b0be79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZoJ5Ma $$ber"; \ - ../../enber $$xbr > $$ber || exit $$?; \ - fi; \ - done diff --git a/tests/tests-c-compiler/data-62/README b/tests/tests-c-compiler/data-62/README deleted file mode 100644 index 5d2a25e..0000000 --- a/tests/tests-c-compiler/data-62/README +++ /dev/null @@ -1,3 +0,0 @@ -*-B.* - The file is intentionally broken -*-D.* - Reconstructing should yield different data -*-L.* - Extensions are present diff --git a/tests/tests-c-compiler/data-62/data-62-01.ber b/tests/tests-c-compiler/data-62/data-62-01.ber deleted file mode 100644 index 9d0cd7d..0000000 --- a/tests/tests-c-compiler/data-62/data-62-01.ber +++ /dev/null @@ -1 +0,0 @@ -0 ¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-01.xbr b/tests/tests-c-compiler/data-62/data-62-01.xbr deleted file mode 100644 index 18f3e10..0000000 --- a/tests/tests-c-compiler/data-62/data-62-01.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-02-B.ber b/tests/tests-c-compiler/data-62/data-62-02-B.ber deleted file mode 100644 index 288fa2f..0000000 --- a/tests/tests-c-compiler/data-62/data-62-02-B.ber +++ /dev/null @@ -1,2 +0,0 @@ -0 -¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-02-B.xbr b/tests/tests-c-compiler/data-62/data-62-02-B.xbr deleted file mode 100644 index 3d4afbf..0000000 --- a/tests/tests-c-compiler/data-62/data-62-02-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-03-B.ber b/tests/tests-c-compiler/data-62/data-62-03-B.ber deleted file mode 100644 index 35271bc..0000000 --- a/tests/tests-c-compiler/data-62/data-62-03-B.ber +++ /dev/null @@ -1 +0,0 @@ -0 ¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-03-B.xbr b/tests/tests-c-compiler/data-62/data-62-03-B.xbr deleted file mode 100644 index 50930a6..0000000 --- a/tests/tests-c-compiler/data-62/data-62-03-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-04-B.ber b/tests/tests-c-compiler/data-62/data-62-04-B.ber deleted file mode 100644 index c65a578..0000000 --- a/tests/tests-c-compiler/data-62/data-62-04-B.ber +++ /dev/null @@ -1 +0,0 @@ -0¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-04-B.xbr b/tests/tests-c-compiler/data-62/data-62-04-B.xbr deleted file mode 100644 index f5b78c3..0000000 --- a/tests/tests-c-compiler/data-62/data-62-04-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-05-B.ber b/tests/tests-c-compiler/data-62/data-62-05-B.ber deleted file mode 100644 index ff65b20..0000000 --- a/tests/tests-c-compiler/data-62/data-62-05-B.ber +++ /dev/null @@ -1 +0,0 @@ -0¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-05-B.xbr b/tests/tests-c-compiler/data-62/data-62-05-B.xbr deleted file mode 100644 index dd075fc..0000000 --- a/tests/tests-c-compiler/data-62/data-62-05-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-06-B.ber b/tests/tests-c-compiler/data-62/data-62-06-B.ber deleted file mode 100644 index 530d54b..0000000 --- a/tests/tests-c-compiler/data-62/data-62-06-B.ber +++ /dev/null @@ -1 +0,0 @@ -0¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-06-B.xbr b/tests/tests-c-compiler/data-62/data-62-06-B.xbr deleted file mode 100644 index e5bdfd8..0000000 --- a/tests/tests-c-compiler/data-62/data-62-06-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-07-B.ber b/tests/tests-c-compiler/data-62/data-62-07-B.ber deleted file mode 100644 index 286ca58..0000000 --- a/tests/tests-c-compiler/data-62/data-62-07-B.ber +++ /dev/null @@ -1 +0,0 @@ -0 ¡test \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-07-B.xbr b/tests/tests-c-compiler/data-62/data-62-07-B.xbr deleted file mode 100644 index 9680309..0000000 --- a/tests/tests-c-compiler/data-62/data-62-07-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - -

&x05;

- -

test

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-08-L.ber b/tests/tests-c-compiler/data-62/data-62-08-L.ber deleted file mode 100644 index f20de4509707700d28194e826c54bcfa5612e121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15 WcmXruWnyGq$R^BEl3HBC$^ZZp2?EIg diff --git a/tests/tests-c-compiler/data-62/data-62-08-L.xbr b/tests/tests-c-compiler/data-62/data-62-08-L.xbr deleted file mode 100644 index 8afad43..0000000 --- a/tests/tests-c-compiler/data-62/data-62-08-L.xbr +++ /dev/null @@ -1,7 +0,0 @@ - -

&x05;

- -

test

-
-

-- extra component -
diff --git a/tests/tests-c-compiler/data-62/data-62-09-L.ber b/tests/tests-c-compiler/data-62/data-62-09-L.ber deleted file mode 100644 index 808abc47fe3efe3db3c228a1c6b7f3c249469319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 scmXp|Vq#=n$R^BEl3HBC%D~9@e<9DqhW*v7+nI$Ks~8v_HZU*%0H+=a)c^nh diff --git a/tests/tests-c-compiler/data-62/data-62-09-L.xbr b/tests/tests-c-compiler/data-62/data-62-09-L.xbr deleted file mode 100644 index 2240918..0000000 --- a/tests/tests-c-compiler/data-62/data-62-09-L.xbr +++ /dev/null @@ -1,19 +0,0 @@ - -

&x05;

- -

test

-
-

-- extra component -

&xff;

-- another extra component - -- yet another extra component - - - -

z

-
-
-
-
- -- and yet another one - -
diff --git a/tests/tests-c-compiler/data-62/data-62-10.ber b/tests/tests-c-compiler/data-62/data-62-10.ber deleted file mode 100644 index 0772c45986479f98ad39844e63a4998014840e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9 QcmXqDU&vZt-N3*A01RCMSO5S3 diff --git a/tests/tests-c-compiler/data-62/data-62-10.xbr b/tests/tests-c-compiler/data-62/data-62-10.xbr deleted file mode 100644 index 7dd86f0..0000000 --- a/tests/tests-c-compiler/data-62/data-62-10.xbr +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-11.ber b/tests/tests-c-compiler/data-62/data-62-11.ber deleted file mode 100644 index 8eeb0d883e62bed9aa49b5380c02b9dc8b1a9c4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 QcmXruTF9}mfq?;p0TtK-CIA2c diff --git a/tests/tests-c-compiler/data-62/data-62-11.xbr b/tests/tests-c-compiler/data-62/data-62-11.xbr deleted file mode 100644 index 1ce0695..0000000 --- a/tests/tests-c-compiler/data-62/data-62-11.xbr +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-12-B.ber b/tests/tests-c-compiler/data-62/data-62-12-B.ber deleted file mode 100644 index 2ea1bdc..0000000 --- a/tests/tests-c-compiler/data-62/data-62-12-B.ber +++ /dev/null @@ -1 +0,0 @@ -0¡¡€ \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-12-B.xbr b/tests/tests-c-compiler/data-62/data-62-12-B.xbr deleted file mode 100644 index b3a370c..0000000 --- a/tests/tests-c-compiler/data-62/data-62-12-B.xbr +++ /dev/null @@ -1,6 +0,0 @@ - - - - -- Do not terminate: no end-of-content octets is intended - - diff --git a/tests/tests-c-compiler/data-62/data-62-13-B.ber b/tests/tests-c-compiler/data-62/data-62-13-B.ber deleted file mode 100644 index 47dc2ac027d2b410ccf4c6eb1c67ef8d067f51ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10 RcmXruSjhIUfq~&s0{{_j1ET-{ diff --git a/tests/tests-c-compiler/data-62/data-62-13-B.xbr b/tests/tests-c-compiler/data-62/data-62-13-B.xbr deleted file mode 100644 index 4ee3002..0000000 --- a/tests/tests-c-compiler/data-62/data-62-13-B.xbr +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - -- Do not terminate: no end-of-content octets is intended. - - diff --git a/tests/tests-c-compiler/data-62/data-62-14.ber b/tests/tests-c-compiler/data-62/data-62-14.ber deleted file mode 100644 index c048f282f50d7255afa45e9b9767513f7eabe5bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 WcmXruTgdaU;ZXwv!($+3U;qFzegzT$ diff --git a/tests/tests-c-compiler/data-62/data-62-14.xbr b/tests/tests-c-compiler/data-62/data-62-14.xbr deleted file mode 100644 index 0c7da7c..0000000 --- a/tests/tests-c-compiler/data-62/data-62-14.xbr +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-15-B.ber b/tests/tests-c-compiler/data-62/data-62-15-B.ber deleted file mode 100644 index f87367fd5203b151630ea52fbaa6a4fc89b11bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 UcmXruS;+OU;ZXwv!($)@04OR24gdfE diff --git a/tests/tests-c-compiler/data-62/data-62-15-B.xbr b/tests/tests-c-compiler/data-62/data-62-15-B.xbr deleted file mode 100644 index c57f270..0000000 --- a/tests/tests-c-compiler/data-62/data-62-15-B.xbr +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - -- missing EOC - - - diff --git a/tests/tests-c-compiler/data-62/data-62-16.ber b/tests/tests-c-compiler/data-62/data-62-16.ber deleted file mode 100644 index 799e1e7323f56a54a168bbdc3c4c83b357578b5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 VcmXruS;+OUL71f^wYY?V0RSNz1Rwwa diff --git a/tests/tests-c-compiler/data-62/data-62-16.xbr b/tests/tests-c-compiler/data-62/data-62-16.xbr deleted file mode 100644 index 600a6c1..0000000 --- a/tests/tests-c-compiler/data-62/data-62-16.xbr +++ /dev/null @@ -1,7 +0,0 @@ - - - -

test

-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-17-B.ber b/tests/tests-c-compiler/data-62/data-62-17-B.ber deleted file mode 100644 index 5d98f99696749641627ee67e7a2b4aa562e48052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15 WcmXruS;+OUL7259wYbEHfdK#|*#uJn diff --git a/tests/tests-c-compiler/data-62/data-62-17-B.xbr b/tests/tests-c-compiler/data-62/data-62-17-B.xbr deleted file mode 100644 index 4e49f2b..0000000 --- a/tests/tests-c-compiler/data-62/data-62-17-B.xbr +++ /dev/null @@ -1,7 +0,0 @@ - - - -

test2

-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-18-B.ber b/tests/tests-c-compiler/data-62/data-62-18-B.ber deleted file mode 100644 index 7e10c513e3bfa0408f36c02300f6ad3b97606f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 VcmXruUC8~gL71f^wYY?V0RSO01R?+c diff --git a/tests/tests-c-compiler/data-62/data-62-18-B.xbr b/tests/tests-c-compiler/data-62/data-62-18-B.xbr deleted file mode 100644 index 2177866..0000000 --- a/tests/tests-c-compiler/data-62/data-62-18-B.xbr +++ /dev/null @@ -1,7 +0,0 @@ - - - -

test

-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-19-B.ber b/tests/tests-c-compiler/data-62/data-62-19-B.ber deleted file mode 100644 index 1e2641b3ed3666bea14d132f6cc36d0d9d77c770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 VcmXruS;+mcL71f^wYY?V0RSN;1R($b diff --git a/tests/tests-c-compiler/data-62/data-62-19-B.xbr b/tests/tests-c-compiler/data-62/data-62-19-B.xbr deleted file mode 100644 index 5e424cc..0000000 --- a/tests/tests-c-compiler/data-62/data-62-19-B.xbr +++ /dev/null @@ -1,7 +0,0 @@ - - - -

test

-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-20.ber b/tests/tests-c-compiler/data-62/data-62-20.ber deleted file mode 100644 index ea13838a4f51e6e4c1bd6c93e9fc046ffb00bf9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 ScmXruT*&^gVShCP0|NjTBm;c_ diff --git a/tests/tests-c-compiler/data-62/data-62-20.xbr b/tests/tests-c-compiler/data-62/data-62-20.xbr deleted file mode 100644 index 178fa66..0000000 --- a/tests/tests-c-compiler/data-62/data-62-20.xbr +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-21-B.ber b/tests/tests-c-compiler/data-62/data-62-21-B.ber deleted file mode 100644 index d109b4f23e9f0bff1d2a7e4132f0672a6ab32b57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15 WcmXruT*&^gVShElb_P}k1_l5rb_6*9 diff --git a/tests/tests-c-compiler/data-62/data-62-21-B.xbr b/tests/tests-c-compiler/data-62/data-62-21-B.xbr deleted file mode 100644 index 7aeac97..0000000 --- a/tests/tests-c-compiler/data-62/data-62-21-B.xbr +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -

-
-
-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-22.ber b/tests/tests-c-compiler/data-62/data-62-22.ber deleted file mode 100644 index a9a984d690b3d60b6158af59043f792be011c4df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15 WcmXruUC8~gVShEtb|zK^1_l5s1O!I_ diff --git a/tests/tests-c-compiler/data-62/data-62-22.xbr b/tests/tests-c-compiler/data-62/data-62-22.xbr deleted file mode 100644 index ca220a7..0000000 --- a/tests/tests-c-compiler/data-62/data-62-22.xbr +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -

-
-
-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-23-B.ber b/tests/tests-c-compiler/data-62/data-62-23-B.ber deleted file mode 100644 index 1b9067128137e9c3c06794a742d27d92c95de244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15 WcmXruUC8~gVShF2b|zK^1_l5s3j|02 diff --git a/tests/tests-c-compiler/data-62/data-62-23-B.xbr b/tests/tests-c-compiler/data-62/data-62-23-B.xbr deleted file mode 100644 index 7a2777e..0000000 --- a/tests/tests-c-compiler/data-62/data-62-23-B.xbr +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -

-
-
-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-24-L.ber b/tests/tests-c-compiler/data-62/data-62-24-L.ber deleted file mode 100644 index d88d78b4a21b31086cf36ed94671935d11f5a925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmXqLSjhLVVShF2c4lG5Dh4nB08AAHNB{r; diff --git a/tests/tests-c-compiler/data-62/data-62-24-L.xbr b/tests/tests-c-compiler/data-62/data-62-24-L.xbr deleted file mode 100644 index 9974a67..0000000 --- a/tests/tests-c-compiler/data-62/data-62-24-L.xbr +++ /dev/null @@ -1,12 +0,0 @@ - - - - - -

z

-
-
-
-

-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-25.ber b/tests/tests-c-compiler/data-62/data-62-25.ber deleted file mode 100644 index 931978ba483cd274faa4f997a6fafbbbf14d5d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmXruTgdaUVShF2c4lG5Dh37sFf9bs diff --git a/tests/tests-c-compiler/data-62/data-62-25.xbr b/tests/tests-c-compiler/data-62/data-62-25.xbr deleted file mode 100644 index d62e456..0000000 --- a/tests/tests-c-compiler/data-62/data-62-25.xbr +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -

z

-
-
-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-26-B.ber b/tests/tests-c-compiler/data-62/data-62-26-B.ber deleted file mode 100644 index ef7d10632c6296380d40e17c6e18855685d04270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18 YcmXqLSjhLVVShF2c4lG5Dh40`06~QXNB{r; diff --git a/tests/tests-c-compiler/data-62/data-62-26-B.xbr b/tests/tests-c-compiler/data-62/data-62-26-B.xbr deleted file mode 100644 index 13c0aa2..0000000 --- a/tests/tests-c-compiler/data-62/data-62-26-B.xbr +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -

z

-
-
-
-
-
diff --git a/tests/tests-c-compiler/data-62/data-62-27.ber b/tests/tests-c-compiler/data-62/data-62-27.ber deleted file mode 100644 index 7cb619dcd6355c15108a6558777e518d7f852896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmXqDTF3wZ0t^7u diff --git a/tests/tests-c-compiler/data-62/data-62-27.xbr b/tests/tests-c-compiler/data-62/data-62-27.xbr deleted file mode 100644 index 2fb6422..0000000 --- a/tests/tests-c-compiler/data-62/data-62-27.xbr +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-28-D.ber b/tests/tests-c-compiler/data-62/data-62-28-D.ber deleted file mode 100644 index 8a2910bafb94da31a35de105a4188a223e1ecb90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6 NcmXqDS=hk9000F(0agG2 diff --git a/tests/tests-c-compiler/data-62/data-62-28-D.xbr b/tests/tests-c-compiler/data-62/data-62-28-D.xbr deleted file mode 100644 index fd52594..0000000 --- a/tests/tests-c-compiler/data-62/data-62-28-D.xbr +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-62/data-62-29-L.ber b/tests/tests-c-compiler/data-62/data-62-29-L.ber deleted file mode 100644 index 108f257b7d8e698d3b9e9da8fa62da9ef617572e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmXqLU}9ul$R^BEl3HBC%J8t^VFLpYFf#sUU;qGSeFpyk diff --git a/tests/tests-c-compiler/data-62/data-62-29-L.xbr b/tests/tests-c-compiler/data-62/data-62-29-L.xbr deleted file mode 100644 index 3f313d0..0000000 --- a/tests/tests-c-compiler/data-62/data-62-29-L.xbr +++ /dev/null @@ -1,12 +0,0 @@ - -

&x05;

- -

test

-
-

-- extra component - -- another one - - - -

&xff;

-- and yet another -
diff --git a/tests/tests-c-compiler/data-62/data-62-30-L.ber b/tests/tests-c-compiler/data-62/data-62-30-L.ber deleted file mode 100644 index d7f43ae66ac461507c3bddc5de711302e9b279ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29 kcmdnc(7 -

&x37;&x39;

-

&x00;

- -

79023700808

-
-

&x00;

-
diff --git a/tests/tests-c-compiler/data-62/data-62-31-D.ber b/tests/tests-c-compiler/data-62/data-62-31-D.ber deleted file mode 100644 index f1b74d0864f64fa6eb8e497cb3cfa59170ab655d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31 mcmdnc(7 -

&x37;&x39;

-

&x00;

- -

79023700808

-
-

&x00;

-
diff --git a/tests/tests-c-compiler/data-62/data-62-32.ber b/tests/tests-c-compiler/data-62/data-62-32.ber deleted file mode 100644 index a43f9ae..0000000 --- a/tests/tests-c-compiler/data-62/data-62-32.ber +++ /dev/null @@ -1 +0,0 @@ -¿5123 \ No newline at end of file diff --git a/tests/tests-c-compiler/data-62/data-62-32.xbr b/tests/tests-c-compiler/data-62/data-62-32.xbr deleted file mode 100644 index 5724b40..0000000 --- a/tests/tests-c-compiler/data-62/data-62-32.xbr +++ /dev/null @@ -1,3 +0,0 @@ - -

123

-
diff --git a/tests/tests-c-compiler/data-70/README b/tests/tests-c-compiler/data-70/README deleted file mode 100644 index c34eee3..0000000 --- a/tests/tests-c-compiler/data-70/README +++ /dev/null @@ -1,14 +0,0 @@ -Mode of operation: - - Each of the *.in files is XER-decoded, then converted into DER, - then decoded back from DER, then encoded into XER again, - and finally compared to the original encoding. - -Naming conventions: - -*-B.in - The file is intentionally (B)roken -*-D.in - Reconstructing should yield (D)ifferent data -*-E.in - CXER reconstruction should yield byte-wise identical data. -*-X.in - CXER reconstruction should yield non-identical data. - -Otherwise, a reconstructed buffer should loosely match the original. diff --git a/tests/tests-c-compiler/data-70/data-70-01.in b/tests/tests-c-compiler/data-70/data-70-01.in deleted file mode 100644 index f5ed8fb..0000000 --- a/tests/tests-c-compiler/data-70/data-70-01.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 128 - string - - diff --git a/tests/tests-c-compiler/data-70/data-70-02.in b/tests/tests-c-compiler/data-70/data-70-02.in deleted file mode 100644 index 6037e2b..0000000 --- a/tests/tests-c-compiler/data-70/data-70-02.in +++ /dev/null @@ -1 +0,0 @@ --1 diff --git a/tests/tests-c-compiler/data-70/data-70-03.in b/tests/tests-c-compiler/data-70/data-70-03.in deleted file mode 100644 index 9008d85..0000000 --- a/tests/tests-c-compiler/data-70/data-70-03.in +++ /dev/null @@ -1,8 +0,0 @@ - - - 231234 - 01 01 - 11 01 - string - - diff --git a/tests/tests-c-compiler/data-70/data-70-04-B.in b/tests/tests-c-compiler/data-70/data-70-04-B.in deleted file mode 100644 index b9fb31c..0000000 --- a/tests/tests-c-compiler/data-70/data-70-04-B.in +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/tests/tests-c-compiler/data-70/data-70-05-B.in b/tests/tests-c-compiler/data-70/data-70-05-B.in deleted file mode 100644 index 4a1ae69..0000000 --- a/tests/tests-c-compiler/data-70/data-70-05-B.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 231234 - string - - diff --git a/tests/tests-c-compiler/data-70/data-70-06-B.in b/tests/tests-c-compiler/data-70/data-70-06-B.in deleted file mode 100644 index eb21008..0000000 --- a/tests/tests-c-compiler/data-70/data-70-06-B.in +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-07-D.in b/tests/tests-c-compiler/data-70/data-70-07-D.in deleted file mode 100644 index 14922b0..0000000 --- a/tests/tests-c-compiler/data-70/data-70-07-D.in +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-08-B.in b/tests/tests-c-compiler/data-70/data-70-08-B.in deleted file mode 100644 index e6885f8..0000000 --- a/tests/tests-c-compiler/data-70/data-70-08-B.in +++ /dev/null @@ -1,7 +0,0 @@ - - - 123.456.789.101112 - 1.2.3.4 - - - diff --git a/tests/tests-c-compiler/data-70/data-70-09-D.in b/tests/tests-c-compiler/data-70/data-70-09-D.in deleted file mode 100644 index 4a2a627..0000000 --- a/tests/tests-c-compiler/data-70/data-70-09-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 3.14 - - - diff --git a/tests/tests-c-compiler/data-70/data-70-10.in b/tests/tests-c-compiler/data-70/data-70-10.in deleted file mode 100644 index a175091..0000000 --- a/tests/tests-c-compiler/data-70/data-70-10.in +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/tests-c-compiler/data-70/data-70-11.in b/tests/tests-c-compiler/data-70/data-70-11.in deleted file mode 100644 index df05ddd..0000000 --- a/tests/tests-c-compiler/data-70/data-70-11.in +++ /dev/null @@ -1,4 +0,0 @@ - - 8 7 - 6 9 - diff --git a/tests/tests-c-compiler/data-70/data-70-12.in b/tests/tests-c-compiler/data-70/data-70-12.in deleted file mode 100644 index 7584b0b..0000000 --- a/tests/tests-c-compiler/data-70/data-70-12.in +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-13-D.in b/tests/tests-c-compiler/data-70/data-70-13-D.in deleted file mode 100644 index a24a43d..0000000 --- a/tests/tests-c-compiler/data-70/data-70-13-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - something here - - diff --git a/tests/tests-c-compiler/data-70/data-70-14-D.in b/tests/tests-c-compiler/data-70/data-70-14-D.in deleted file mode 100644 index 1279a94..0000000 --- a/tests/tests-c-compiler/data-70/data-70-14-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - something here - - diff --git a/tests/tests-c-compiler/data-70/data-70-15.in b/tests/tests-c-compiler/data-70/data-70-15.in deleted file mode 100644 index 3b894bd..0000000 --- a/tests/tests-c-compiler/data-70/data-70-15.in +++ /dev/null @@ -1,5 +0,0 @@ - - - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-16-B.in b/tests/tests-c-compiler/data-70/data-70-16-B.in deleted file mode 100644 index 347d53e..0000000 --- a/tests/tests-c-compiler/data-70/data-70-16-B.in +++ /dev/null @@ -1,5 +0,0 @@ - - - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-17-D.in b/tests/tests-c-compiler/data-70/data-70-17-D.in deleted file mode 100644 index f060092..0000000 --- a/tests/tests-c-compiler/data-70/data-70-17-D.in +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-18.in b/tests/tests-c-compiler/data-70/data-70-18.in deleted file mode 100644 index c9f3594..0000000 --- a/tests/tests-c-compiler/data-70/data-70-18.in +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-19.in b/tests/tests-c-compiler/data-70/data-70-19.in deleted file mode 100644 index b9a2d54..0000000 --- a/tests/tests-c-compiler/data-70/data-70-19.in +++ /dev/null @@ -1,5 +0,0 @@ - - - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-20-D.in b/tests/tests-c-compiler/data-70/data-70-20-D.in deleted file mode 100644 index 33920d8..0000000 --- a/tests/tests-c-compiler/data-70/data-70-20-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 123 - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-21-D.in b/tests/tests-c-compiler/data-70/data-70-21-D.in deleted file mode 100644 index 24cb9bb..0000000 --- a/tests/tests-c-compiler/data-70/data-70-21-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - one two - - - diff --git a/tests/tests-c-compiler/data-70/data-70-22-D.in b/tests/tests-c-compiler/data-70/data-70-22-D.in deleted file mode 100644 index 2a12a5a..0000000 --- a/tests/tests-c-compiler/data-70/data-70-22-D.in +++ /dev/null @@ -1,7 +0,0 @@ - - - 0 - in improper place - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-23-D.in b/tests/tests-c-compiler/data-70/data-70-23-D.in deleted file mode 100644 index 05f012c..0000000 --- a/tests/tests-c-compiler/data-70/data-70-23-D.in +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - 234 - - diff --git a/tests/tests-c-compiler/data-70/data-70-24-D.in b/tests/tests-c-compiler/data-70/data-70-24-D.in deleted file mode 100644 index 14aef69..0000000 --- a/tests/tests-c-compiler/data-70/data-70-24-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 234 - - diff --git a/tests/tests-c-compiler/data-70/data-70-25.in b/tests/tests-c-compiler/data-70/data-70-25.in deleted file mode 100644 index 44c4cf5..0000000 --- a/tests/tests-c-compiler/data-70/data-70-25.in +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-26-B.in b/tests/tests-c-compiler/data-70/data-70-26-B.in deleted file mode 100644 index b683259..0000000 --- a/tests/tests-c-compiler/data-70/data-70-26-B.in +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-27.in b/tests/tests-c-compiler/data-70/data-70-27.in deleted file mode 100644 index f02101c..0000000 --- a/tests/tests-c-compiler/data-70/data-70-27.in +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-28.in b/tests/tests-c-compiler/data-70/data-70-28.in deleted file mode 100644 index bdaa32c..0000000 --- a/tests/tests-c-compiler/data-70/data-70-28.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-29-D.in b/tests/tests-c-compiler/data-70/data-70-29-D.in deleted file mode 100644 index 46d142b..0000000 --- a/tests/tests-c-compiler/data-70/data-70-29-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-30-B.in b/tests/tests-c-compiler/data-70/data-70-30-B.in deleted file mode 100644 index 90f66b3..0000000 --- a/tests/tests-c-compiler/data-70/data-70-30-B.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-31-B.in b/tests/tests-c-compiler/data-70/data-70-31-B.in deleted file mode 100644 index 3ca6ca6..0000000 --- a/tests/tests-c-compiler/data-70/data-70-31-B.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 7 - - diff --git a/tests/tests-c-compiler/data-70/data-70-32.in b/tests/tests-c-compiler/data-70/data-70-32.in deleted file mode 100644 index 790605a..0000000 --- a/tests/tests-c-compiler/data-70/data-70-32.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 1 - 7 - - diff --git a/tests/tests-c-compiler/data-70/data-70-33.in b/tests/tests-c-compiler/data-70/data-70-33.in deleted file mode 100644 index 1ba85a9..0000000 --- a/tests/tests-c-compiler/data-70/data-70-33.in +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-34-B.in b/tests/tests-c-compiler/data-70/data-70-34-B.in deleted file mode 100644 index 554fa95..0000000 --- a/tests/tests-c-compiler/data-70/data-70-34-B.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-35-B.in b/tests/tests-c-compiler/data-70/data-70-35-B.in deleted file mode 100644 index 4f338db..0000000 --- a/tests/tests-c-compiler/data-70/data-70-35-B.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 35 35 - - diff --git a/tests/tests-c-compiler/data-70/data-70-36.in b/tests/tests-c-compiler/data-70/data-70-36.in deleted file mode 100644 index 7be4ca5..0000000 --- a/tests/tests-c-compiler/data-70/data-70-36.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-37-D.in b/tests/tests-c-compiler/data-70/data-70-37-D.in deleted file mode 100644 index 4927630..0000000 --- a/tests/tests-c-compiler/data-70/data-70-37-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789 - - diff --git a/tests/tests-c-compiler/data-70/data-70-38-B.in b/tests/tests-c-compiler/data-70/data-70-38-B.in deleted file mode 100644 index 5c67564..0000000 --- a/tests/tests-c-compiler/data-70/data-70-38-B.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789 345 - - diff --git a/tests/tests-c-compiler/data-70/data-70-39.in b/tests/tests-c-compiler/data-70/data-70-39.in deleted file mode 100644 index f648557..0000000 --- a/tests/tests-c-compiler/data-70/data-70-39.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123 - - diff --git a/tests/tests-c-compiler/data-70/data-70-40-D.in b/tests/tests-c-compiler/data-70/data-70-40-D.in deleted file mode 100644 index b23feff..0000000 --- a/tests/tests-c-compiler/data-70/data-70-40-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - 123 - one two - - diff --git a/tests/tests-c-compiler/data-70/data-70-41-D.in b/tests/tests-c-compiler/data-70/data-70-41-D.in deleted file mode 100644 index 84e79ef..0000000 --- a/tests/tests-c-compiler/data-70/data-70-41-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-42-E.in b/tests/tests-c-compiler/data-70/data-70-42-E.in deleted file mode 100644 index f346c92..0000000 --- a/tests/tests-c-compiler/data-70/data-70-42-E.in +++ /dev/null @@ -1 +0,0 @@ -20040512224355Z diff --git a/tests/tests-c-compiler/data-70/data-70-43-E.in b/tests/tests-c-compiler/data-70/data-70-43-E.in deleted file mode 100644 index cddc3c7..0000000 --- a/tests/tests-c-compiler/data-70/data-70-43-E.in +++ /dev/null @@ -1 +0,0 @@ -20040512224355.123Z diff --git a/tests/tests-c-compiler/data-70/data-70-44-X.in b/tests/tests-c-compiler/data-70/data-70-44-X.in deleted file mode 100644 index 00d66ac..0000000 --- a/tests/tests-c-compiler/data-70/data-70-44-X.in +++ /dev/null @@ -1 +0,0 @@ -20040512224355,123Z diff --git a/tests/tests-c-compiler/data-70/data-70-45-X.in b/tests/tests-c-compiler/data-70/data-70-45-X.in deleted file mode 100644 index fb4f524..0000000 --- a/tests/tests-c-compiler/data-70/data-70-45-X.in +++ /dev/null @@ -1 +0,0 @@ -20040512224355.120Z diff --git a/tests/tests-c-compiler/data-70/data-70-46-X.in b/tests/tests-c-compiler/data-70/data-70-46-X.in deleted file mode 100644 index 1b26840..0000000 --- a/tests/tests-c-compiler/data-70/data-70-46-X.in +++ /dev/null @@ -1 +0,0 @@ -20040512224355+0000 diff --git a/tests/tests-c-compiler/data-70/data-70-47.in b/tests/tests-c-compiler/data-70/data-70-47.in deleted file mode 100644 index 5a57256..0000000 --- a/tests/tests-c-compiler/data-70/data-70-47.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-48.in b/tests/tests-c-compiler/data-70/data-70-48.in deleted file mode 100644 index 269247d..0000000 --- a/tests/tests-c-compiler/data-70/data-70-48.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 1.0 - - diff --git a/tests/tests-c-compiler/data-70/data-70-49.in b/tests/tests-c-compiler/data-70/data-70-49.in deleted file mode 100644 index d3a8344..0000000 --- a/tests/tests-c-compiler/data-70/data-70-49.in +++ /dev/null @@ -1 +0,0 @@ - 1.0 diff --git a/tests/tests-c-compiler/data-70/data-70-50.in b/tests/tests-c-compiler/data-70/data-70-50.in deleted file mode 100644 index 21233c5..0000000 --- a/tests/tests-c-compiler/data-70/data-70-50.in +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tests/tests-c-compiler/data-70/data-70-51.in b/tests/tests-c-compiler/data-70/data-70-51.in deleted file mode 100644 index 106bbb8..0000000 --- a/tests/tests-c-compiler/data-70/data-70-51.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1 - - diff --git a/tests/tests-c-compiler/data-70/data-70-52-D.in b/tests/tests-c-compiler/data-70/data-70-52-D.in deleted file mode 100644 index 0a35d3d..0000000 --- a/tests/tests-c-compiler/data-70/data-70-52-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1 - - diff --git a/tests/tests-c-compiler/data-70/data-70-53.in b/tests/tests-c-compiler/data-70/data-70-53.in deleted file mode 100644 index 20940b6..0000000 --- a/tests/tests-c-compiler/data-70/data-70-53.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1 - - diff --git a/tests/tests-c-compiler/data-70/data-70-54-D.in b/tests/tests-c-compiler/data-70/data-70-54-D.in deleted file mode 100644 index 365026d..0000000 --- a/tests/tests-c-compiler/data-70/data-70-54-D.in +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1 - - diff --git a/tests/tests-c-compiler/data-70/data-70-55.in b/tests/tests-c-compiler/data-70/data-70-55.in deleted file mode 100644 index 7be4ca5..0000000 --- a/tests/tests-c-compiler/data-70/data-70-55.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-56.in b/tests/tests-c-compiler/data-70/data-70-56.in deleted file mode 100644 index 7a7ba07..0000000 --- a/tests/tests-c-compiler/data-70/data-70-56.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-57-D.in b/tests/tests-c-compiler/data-70/data-70-57-D.in deleted file mode 100644 index 74da9b9..0000000 --- a/tests/tests-c-compiler/data-70/data-70-57-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-58-D.in b/tests/tests-c-compiler/data-70/data-70-58-D.in deleted file mode 100644 index 252345d..0000000 --- a/tests/tests-c-compiler/data-70/data-70-58-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-59-D.in b/tests/tests-c-compiler/data-70/data-70-59-D.in deleted file mode 100644 index 2d989d2..0000000 --- a/tests/tests-c-compiler/data-70/data-70-59-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-60-D.in b/tests/tests-c-compiler/data-70/data-70-60-D.in deleted file mode 100644 index 11be5d7..0000000 --- a/tests/tests-c-compiler/data-70/data-70-60-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-61-D.in b/tests/tests-c-compiler/data-70/data-70-61-D.in deleted file mode 100644 index 5c47c9f..0000000 --- a/tests/tests-c-compiler/data-70/data-70-61-D.in +++ /dev/null @@ -1,5 +0,0 @@ - - - 123.456.789.101112 - - diff --git a/tests/tests-c-compiler/data-70/data-70-62-D.in b/tests/tests-c-compiler/data-70/data-70-62-D.in deleted file mode 100644 index cb790d2..0000000 --- a/tests/tests-c-compiler/data-70/data-70-62-D.in +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 123.456.789.101112 - - - - diff --git a/tests/tests-randomized/.deps/test-param-helper.Po b/tests/tests-randomized/.deps/test-param-helper.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-randomized/.deps/test-param-helper.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-randomized/Makefile b/tests/tests-randomized/Makefile deleted file mode 100644 index fb0b47e..0000000 --- a/tests/tests-randomized/Makefile +++ /dev/null @@ -1,1253 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-randomized/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -check_PROGRAMS = test-param-helper$(EXEEXT) -subdir = tests/tests-randomized -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -test_param_helper_SOURCES = test-param-helper.c -test_param_helper_OBJECTS = test-param-helper.$(OBJEXT) -test_param_helper_LDADD = $(LDADD) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = test-param-helper.c -DIST_SOURCES = test-param-helper.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99) -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-randomized -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-randomized -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -dist_check_SCRIPTS = check-bundles.sh - -# Override single test fuzzing time using "make check FUZZ_TIME=1" -FUZZ_TIME = 10 -TESTS_ENVIRONMENT = \ - CC="${CC}" \ - MAKE="${MAKE}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CFLAGS_M32="${CFLAGS_M32}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - FUZZ_TIME="${FUZZ_TIME}" \ - ASAN_ENV_FLAGS=" ASAN_OPTIONS=detect_leaks=1" \ - srcdir=${srcdir} \ - abs_builddir=${abs_builddir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-bundles.sh - -TESTS = bundles/00-NULL-bundle.txt bundles/01-BOOLEAN-bundle.txt \ - bundles/02-INTEGER-bundle.txt bundles/03-ENUMERATED-bundle.txt \ - bundles/04-REAL-bundle.txt bundles/05-BIT-STRING-bundle.txt \ - bundles/06-OCTET-STRING-bundle.txt \ - bundles/07-VisibleString-bundle.txt \ - bundles/08-OBJECT-IDENTIFIER-bundle.txt \ - bundles/09-RELATIVE-OID-bundle.txt \ - bundles/10-UTF8String-bundle.txt \ - bundles/11-BMPString-bundle.txt \ - bundles/12-UniversalString-bundle.txt \ - bundles/13-UTCTime-bundle.txt \ - bundles/14-GeneralizedTime-bundle.txt \ - bundles/15-CHOICE-bundle.txt bundles/16-SEQUENCE-bundle.txt \ - bundles/17-SEQUENCE-OF-bundle.txt bundles/19-SET-OF-bundle.txt -EXTRA_DIST = \ - random-test-driver.c \ - $(srcdir)/bundles/README \ - $(srcdir)/bundles/*.txt - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-randomized/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-randomized/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -test-param-helper$(EXEEXT): $(test_param_helper_OBJECTS) $(test_param_helper_DEPENDENCIES) $(EXTRA_test_param_helper_DEPENDENCIES) - @rm -f test-param-helper$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_param_helper_OBJECTS) $(test_param_helper_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/test-param-helper.Po - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -bundles/00-NULL-bundle.txt.log: bundles/00-NULL-bundle.txt - @p='bundles/00-NULL-bundle.txt'; \ - b='bundles/00-NULL-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/01-BOOLEAN-bundle.txt.log: bundles/01-BOOLEAN-bundle.txt - @p='bundles/01-BOOLEAN-bundle.txt'; \ - b='bundles/01-BOOLEAN-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/02-INTEGER-bundle.txt.log: bundles/02-INTEGER-bundle.txt - @p='bundles/02-INTEGER-bundle.txt'; \ - b='bundles/02-INTEGER-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/03-ENUMERATED-bundle.txt.log: bundles/03-ENUMERATED-bundle.txt - @p='bundles/03-ENUMERATED-bundle.txt'; \ - b='bundles/03-ENUMERATED-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/04-REAL-bundle.txt.log: bundles/04-REAL-bundle.txt - @p='bundles/04-REAL-bundle.txt'; \ - b='bundles/04-REAL-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/05-BIT-STRING-bundle.txt.log: bundles/05-BIT-STRING-bundle.txt - @p='bundles/05-BIT-STRING-bundle.txt'; \ - b='bundles/05-BIT-STRING-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/06-OCTET-STRING-bundle.txt.log: bundles/06-OCTET-STRING-bundle.txt - @p='bundles/06-OCTET-STRING-bundle.txt'; \ - b='bundles/06-OCTET-STRING-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/07-VisibleString-bundle.txt.log: bundles/07-VisibleString-bundle.txt - @p='bundles/07-VisibleString-bundle.txt'; \ - b='bundles/07-VisibleString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/08-OBJECT-IDENTIFIER-bundle.txt.log: bundles/08-OBJECT-IDENTIFIER-bundle.txt - @p='bundles/08-OBJECT-IDENTIFIER-bundle.txt'; \ - b='bundles/08-OBJECT-IDENTIFIER-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/09-RELATIVE-OID-bundle.txt.log: bundles/09-RELATIVE-OID-bundle.txt - @p='bundles/09-RELATIVE-OID-bundle.txt'; \ - b='bundles/09-RELATIVE-OID-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/10-UTF8String-bundle.txt.log: bundles/10-UTF8String-bundle.txt - @p='bundles/10-UTF8String-bundle.txt'; \ - b='bundles/10-UTF8String-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/11-BMPString-bundle.txt.log: bundles/11-BMPString-bundle.txt - @p='bundles/11-BMPString-bundle.txt'; \ - b='bundles/11-BMPString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/12-UniversalString-bundle.txt.log: bundles/12-UniversalString-bundle.txt - @p='bundles/12-UniversalString-bundle.txt'; \ - b='bundles/12-UniversalString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/13-UTCTime-bundle.txt.log: bundles/13-UTCTime-bundle.txt - @p='bundles/13-UTCTime-bundle.txt'; \ - b='bundles/13-UTCTime-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/14-GeneralizedTime-bundle.txt.log: bundles/14-GeneralizedTime-bundle.txt - @p='bundles/14-GeneralizedTime-bundle.txt'; \ - b='bundles/14-GeneralizedTime-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/15-CHOICE-bundle.txt.log: bundles/15-CHOICE-bundle.txt - @p='bundles/15-CHOICE-bundle.txt'; \ - b='bundles/15-CHOICE-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/16-SEQUENCE-bundle.txt.log: bundles/16-SEQUENCE-bundle.txt - @p='bundles/16-SEQUENCE-bundle.txt'; \ - b='bundles/16-SEQUENCE-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/17-SEQUENCE-OF-bundle.txt.log: bundles/17-SEQUENCE-OF-bundle.txt - @p='bundles/17-SEQUENCE-OF-bundle.txt'; \ - b='bundles/17-SEQUENCE-OF-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/19-SET-OF-bundle.txt.log: bundles/19-SET-OF-bundle.txt - @p='bundles/19-SET-OF-bundle.txt'; \ - b='bundles/19-SET-OF-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \ - $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -clean-local: - rm -rf .tmp.* - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-randomized/Makefile.am b/tests/tests-randomized/Makefile.am deleted file mode 100644 index 99267a1..0000000 --- a/tests/tests-randomized/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -@CODE_COVERAGE_RULES@ - -check_PROGRAMS = test-param-helper -dist_check_SCRIPTS = check-bundles.sh - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) - -# Override single test fuzzing time using "make check FUZZ_TIME=1" -FUZZ_TIME=10 - -TESTS_ENVIRONMENT= \ - CC="${CC}" \ - MAKE="${MAKE}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CFLAGS_M32="${CFLAGS_M32}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - FUZZ_TIME="${FUZZ_TIME}" \ - ASAN_ENV_FLAGS="@ASAN_ENV_FLAGS@" \ - srcdir=${srcdir} \ - abs_builddir=${abs_builddir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-bundles.sh - -TESTS = -TESTS += bundles/00-NULL-bundle.txt -TESTS += bundles/01-BOOLEAN-bundle.txt -TESTS += bundles/02-INTEGER-bundle.txt -TESTS += bundles/03-ENUMERATED-bundle.txt -TESTS += bundles/04-REAL-bundle.txt -TESTS += bundles/05-BIT-STRING-bundle.txt -TESTS += bundles/06-OCTET-STRING-bundle.txt -TESTS += bundles/07-VisibleString-bundle.txt -TESTS += bundles/08-OBJECT-IDENTIFIER-bundle.txt -TESTS += bundles/09-RELATIVE-OID-bundle.txt -TESTS += bundles/10-UTF8String-bundle.txt -TESTS += bundles/11-BMPString-bundle.txt -TESTS += bundles/12-UniversalString-bundle.txt -TESTS += bundles/13-UTCTime-bundle.txt -TESTS += bundles/14-GeneralizedTime-bundle.txt -TESTS += bundles/15-CHOICE-bundle.txt -TESTS += bundles/16-SEQUENCE-bundle.txt -TESTS += bundles/17-SEQUENCE-OF-bundle.txt -TESTS += bundles/19-SET-OF-bundle.txt - -EXTRA_DIST = \ - random-test-driver.c \ - $(srcdir)/bundles/README \ - $(srcdir)/bundles/*.txt - -clean-local: - rm -rf .tmp.* diff --git a/tests/tests-randomized/Makefile.in b/tests/tests-randomized/Makefile.in deleted file mode 100644 index 06dd928..0000000 --- a/tests/tests-randomized/Makefile.in +++ /dev/null @@ -1,1155 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = test-param-helper$(EXEEXT) -subdir = tests/tests-randomized -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -test_param_helper_SOURCES = test-param-helper.c -test_param_helper_OBJECTS = test-param-helper.$(OBJEXT) -test_param_helper_LDADD = $(LDADD) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = test-param-helper.c -DIST_SOURCES = test-param-helper.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -dist_check_SCRIPTS = check-bundles.sh - -# Override single test fuzzing time using "make check FUZZ_TIME=1" -FUZZ_TIME = 10 -TESTS_ENVIRONMENT = \ - CC="${CC}" \ - MAKE="${MAKE}" \ - CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS}" \ - CFLAGS_M32="${CFLAGS_M32}" \ - LDFLAGS="${LDFLAGS}" \ - LIBFUZZER_CFLAGS="${LIBFUZZER_CFLAGS}" \ - FUZZ_TIME="${FUZZ_TIME}" \ - ASAN_ENV_FLAGS="@ASAN_ENV_FLAGS@" \ - srcdir=${srcdir} \ - abs_builddir=${abs_builddir} \ - abs_top_srcdir=${abs_top_srcdir} \ - abs_top_builddir=${abs_top_builddir} \ - ${srcdir}/check-bundles.sh - -TESTS = bundles/00-NULL-bundle.txt bundles/01-BOOLEAN-bundle.txt \ - bundles/02-INTEGER-bundle.txt bundles/03-ENUMERATED-bundle.txt \ - bundles/04-REAL-bundle.txt bundles/05-BIT-STRING-bundle.txt \ - bundles/06-OCTET-STRING-bundle.txt \ - bundles/07-VisibleString-bundle.txt \ - bundles/08-OBJECT-IDENTIFIER-bundle.txt \ - bundles/09-RELATIVE-OID-bundle.txt \ - bundles/10-UTF8String-bundle.txt \ - bundles/11-BMPString-bundle.txt \ - bundles/12-UniversalString-bundle.txt \ - bundles/13-UTCTime-bundle.txt \ - bundles/14-GeneralizedTime-bundle.txt \ - bundles/15-CHOICE-bundle.txt bundles/16-SEQUENCE-bundle.txt \ - bundles/17-SEQUENCE-OF-bundle.txt bundles/19-SET-OF-bundle.txt -EXTRA_DIST = \ - random-test-driver.c \ - $(srcdir)/bundles/README \ - $(srcdir)/bundles/*.txt - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-randomized/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-randomized/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -test-param-helper$(EXEEXT): $(test_param_helper_OBJECTS) $(test_param_helper_DEPENDENCIES) $(EXTRA_test_param_helper_DEPENDENCIES) - @rm -f test-param-helper$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_param_helper_OBJECTS) $(test_param_helper_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-param-helper.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -bundles/00-NULL-bundle.txt.log: bundles/00-NULL-bundle.txt - @p='bundles/00-NULL-bundle.txt'; \ - b='bundles/00-NULL-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/01-BOOLEAN-bundle.txt.log: bundles/01-BOOLEAN-bundle.txt - @p='bundles/01-BOOLEAN-bundle.txt'; \ - b='bundles/01-BOOLEAN-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/02-INTEGER-bundle.txt.log: bundles/02-INTEGER-bundle.txt - @p='bundles/02-INTEGER-bundle.txt'; \ - b='bundles/02-INTEGER-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/03-ENUMERATED-bundle.txt.log: bundles/03-ENUMERATED-bundle.txt - @p='bundles/03-ENUMERATED-bundle.txt'; \ - b='bundles/03-ENUMERATED-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/04-REAL-bundle.txt.log: bundles/04-REAL-bundle.txt - @p='bundles/04-REAL-bundle.txt'; \ - b='bundles/04-REAL-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/05-BIT-STRING-bundle.txt.log: bundles/05-BIT-STRING-bundle.txt - @p='bundles/05-BIT-STRING-bundle.txt'; \ - b='bundles/05-BIT-STRING-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/06-OCTET-STRING-bundle.txt.log: bundles/06-OCTET-STRING-bundle.txt - @p='bundles/06-OCTET-STRING-bundle.txt'; \ - b='bundles/06-OCTET-STRING-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/07-VisibleString-bundle.txt.log: bundles/07-VisibleString-bundle.txt - @p='bundles/07-VisibleString-bundle.txt'; \ - b='bundles/07-VisibleString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/08-OBJECT-IDENTIFIER-bundle.txt.log: bundles/08-OBJECT-IDENTIFIER-bundle.txt - @p='bundles/08-OBJECT-IDENTIFIER-bundle.txt'; \ - b='bundles/08-OBJECT-IDENTIFIER-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/09-RELATIVE-OID-bundle.txt.log: bundles/09-RELATIVE-OID-bundle.txt - @p='bundles/09-RELATIVE-OID-bundle.txt'; \ - b='bundles/09-RELATIVE-OID-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/10-UTF8String-bundle.txt.log: bundles/10-UTF8String-bundle.txt - @p='bundles/10-UTF8String-bundle.txt'; \ - b='bundles/10-UTF8String-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/11-BMPString-bundle.txt.log: bundles/11-BMPString-bundle.txt - @p='bundles/11-BMPString-bundle.txt'; \ - b='bundles/11-BMPString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/12-UniversalString-bundle.txt.log: bundles/12-UniversalString-bundle.txt - @p='bundles/12-UniversalString-bundle.txt'; \ - b='bundles/12-UniversalString-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/13-UTCTime-bundle.txt.log: bundles/13-UTCTime-bundle.txt - @p='bundles/13-UTCTime-bundle.txt'; \ - b='bundles/13-UTCTime-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/14-GeneralizedTime-bundle.txt.log: bundles/14-GeneralizedTime-bundle.txt - @p='bundles/14-GeneralizedTime-bundle.txt'; \ - b='bundles/14-GeneralizedTime-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/15-CHOICE-bundle.txt.log: bundles/15-CHOICE-bundle.txt - @p='bundles/15-CHOICE-bundle.txt'; \ - b='bundles/15-CHOICE-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/16-SEQUENCE-bundle.txt.log: bundles/16-SEQUENCE-bundle.txt - @p='bundles/16-SEQUENCE-bundle.txt'; \ - b='bundles/16-SEQUENCE-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/17-SEQUENCE-OF-bundle.txt.log: bundles/17-SEQUENCE-OF-bundle.txt - @p='bundles/17-SEQUENCE-OF-bundle.txt'; \ - b='bundles/17-SEQUENCE-OF-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -bundles/19-SET-OF-bundle.txt.log: bundles/19-SET-OF-bundle.txt - @p='bundles/19-SET-OF-bundle.txt'; \ - b='bundles/19-SET-OF-bundle.txt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \ - $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -clean-local: - rm -rf .tmp.* - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-randomized/bundles/00-NULL-bundle.txt b/tests/tests-randomized/bundles/00-NULL-bundle.txt deleted file mode 100644 index 7951def..0000000 --- a/tests/tests-randomized/bundles/00-NULL-bundle.txt +++ /dev/null @@ -1 +0,0 @@ -NULL diff --git a/tests/tests-randomized/bundles/01-BOOLEAN-bundle.txt b/tests/tests-randomized/bundles/01-BOOLEAN-bundle.txt deleted file mode 100644 index e5b7583..0000000 --- a/tests/tests-randomized/bundles/01-BOOLEAN-bundle.txt +++ /dev/null @@ -1,8 +0,0 @@ --- Test boolean. Should be easy -T ::= BOOLEAN -T ::= BOOLEAN (FALSE) -T ::= BOOLEAN (TRUE) -T ::= BOOLEAN (FALSE,...) -T ::= BOOLEAN (TRUE,...) -T ::= BOOLEAN (FALSE..TRUE) -T ::= BOOLEAN (FALSE..TRUE,...) diff --git a/tests/tests-randomized/bundles/02-INTEGER-bundle.txt b/tests/tests-randomized/bundles/02-INTEGER-bundle.txt deleted file mode 100644 index 7cb67e2..0000000 --- a/tests/tests-randomized/bundles/02-INTEGER-bundle.txt +++ /dev/null @@ -1,10 +0,0 @@ --- Test encoding/decoding/transcoding of everything concerning the integer. -T ::= INTEGER -T ::= [1] INTEGER -- Tagged integer test -T ::= [300] INTEGER -- Large tag integer -T ::= INTEGER (MIN..MAX) -- Constrained integer -T ::= INTEGER (0..1) -- Constrained integer -T ::= INTEGER (0..255) -- Constrained integer -T ::= INTEGER (-128..127) -- Constrained integer -T ::= INTEGER (-128..127,...) -- Extensible constrained integer -T ::= INTEGER { foo(0), bar(1), baz(2) } diff --git a/tests/tests-randomized/bundles/03-ENUMERATED-bundle.txt b/tests/tests-randomized/bundles/03-ENUMERATED-bundle.txt deleted file mode 100644 index ac97a8d..0000000 --- a/tests/tests-randomized/bundles/03-ENUMERATED-bundle.txt +++ /dev/null @@ -1,10 +0,0 @@ --- Test encoding/decoding/transcoding of everything concerning the ENUMERATED. -T ::= ENUMERATED { foo } -T ::= ENUMERATED { foo, ... } -T ::= ENUMERATED { foo(0), bar(65535) } -T ::= ENUMERATED { foo(0), bar(65535), ... } -T ::= ENUMERATED { foo(0), bar(2147483647) } -T ::= ENUMERATED { foo(0), bar(2147483647), ... } -T ::= ENUMERATED { foo(0), ..., bar(2147483647) } -T ::= ENUMERATED { foo(-2147483648), bar(0), baz(2147483647) } -T ::= ENUMERATED { foo(-2147483648), ..., baz(2147483647) } diff --git a/tests/tests-randomized/bundles/04-REAL-bundle.txt b/tests/tests-randomized/bundles/04-REAL-bundle.txt deleted file mode 100644 index 267baa1..0000000 --- a/tests/tests-randomized/bundles/04-REAL-bundle.txt +++ /dev/null @@ -1,7 +0,0 @@ --- Test the REAL (floating point) type. -T ::= REAL -T ::= REAL (WITH COMPONENTS { mantissa (-16384..16384), base (2), exponent (-10..10)}) -T ::= REAL (WITH COMPONENTS { mantissa (-16777215..16777215), base (2), exponent (-149..104)}) -T ::= REAL (WITH COMPONENTS { mantissa (-9007199254740991..9007199254740991), base (2), exponent (-1074..971)}) -T ::= Real32 Real32 ::= REAL (WITH COMPONENTS { mantissa (-16777215..16777215), base (2), exponent (-149..104)}) -T ::= Real64 Real64 ::= REAL (WITH COMPONENTS { mantissa (-9007199254740991..9007199254740991), base (2), exponent (-1074..971)}) diff --git a/tests/tests-randomized/bundles/05-BIT-STRING-bundle.txt b/tests/tests-randomized/bundles/05-BIT-STRING-bundle.txt deleted file mode 100644 index f2d253e..0000000 --- a/tests/tests-randomized/bundles/05-BIT-STRING-bundle.txt +++ /dev/null @@ -1,25 +0,0 @@ --- Test encoding/decoding/transcoding of everything concerning the BIT STRING. -T ::= BIT STRING { foo(0) } -T ::= BIT STRING { foo(0) } (SIZE(0..1)) -T ::= BIT STRING { foo(0) } (SIZE(1)) -T ::= BIT STRING { foo(0) } (SIZE(1..MAX)) -T ::= BIT STRING { foo(0) } (SIZE(1..2)) -T ::= BIT STRING { foo(0) } (SIZE(2)) -T ::= BIT STRING { foo(0) } (SIZE(2,...)) -T ::= BIT STRING { foo(0), bar(65535) } -T ::= BIT STRING { foo(0), bar(65535) } (SIZE(0..16)) -T ::= BIT STRING { foo(0), bar(65535) } (SIZE(16)) -T ::= BIT STRING { foo(0), bar(2147483647) } -T ::= BIT STRING { foo(0), bar(2147483647) } (SIZE(1..MAX)) -T ::= BIT STRING { foo(2147483648), bar(0), baz(2147483647) } -T ::= BIT STRING { foo(2147483648), baz(2147483647) } -T ::= BIT STRING { foo(2147483648), baz(2147483647) } (SIZE(32)) -T ::= BIT STRING { foo(2147483648), baz(2147483647) } (SIZE(31,...)) -T ::= BIT STRING { foo(2147483648), baz(2147483647) } (SIZE(0..32)) -T ::= BIT STRING { foo(2147483648), baz(2147483647) } (SIZE(0..31,...)) -T ::= BIT STRING { foo(0) } (SIZE(65535)) -- RMAX=65540 -T ::= BIT STRING { foo(0) } (SIZE(65536)) -- RMAX=65540 -T ::= BIT STRING { foo(0) } (SIZE(65537)) -- RMAX=65540 -T ::= BIT STRING { foo(0) } (SIZE(65535,...)) -- RMAX=65540 -T ::= BIT STRING { foo(0) } (SIZE(65536,...)) -- RMAX=65540 -T ::= BIT STRING { foo(0) } (SIZE(65537,...)) -- RMAX=65540 diff --git a/tests/tests-randomized/bundles/06-OCTET-STRING-bundle.txt b/tests/tests-randomized/bundles/06-OCTET-STRING-bundle.txt deleted file mode 100644 index 192ebac..0000000 --- a/tests/tests-randomized/bundles/06-OCTET-STRING-bundle.txt +++ /dev/null @@ -1,19 +0,0 @@ --- Test encoding/decoding/transcoding of a primitive byte string type -T ::= OCTET STRING -T ::= OCTET STRING ("Value Constraint") -T ::= OCTET STRING (SIZE(0)) -T ::= OCTET STRING (SIZE(0,...)) -T ::= OCTET STRING (SIZE(1)) -T ::= OCTET STRING (SIZE(1,...)) -T ::= OCTET STRING (SIZE(2)) -T ::= OCTET STRING (SIZE(2,...)) -T ::= OCTET STRING (SIZE(1..2)) -T ::= OCTET STRING (SIZE(1..2,...)) -T ::= OCTET STRING (SIZE(1..127)) -T ::= OCTET STRING (SIZE(1..128)) -T ::= OCTET STRING (SIZE(1..129)) -T ::= OCTET STRING (SIZE(64000)) -- RMAX=64000, #11.9.3.3 -T ::= OCTET STRING (SIZE(32000..32002)) -- RMAX=33000 -T ::= OCTET STRING (SIZE(65530..65535)) -- RMAX=65536 -T ::= OCTET STRING (SIZE(65530..65536)) -- RMAX=65536 -T ::= OCTET STRING (SIZE(65535..65550)) -- RMAX=66000 diff --git a/tests/tests-randomized/bundles/07-VisibleString-bundle.txt b/tests/tests-randomized/bundles/07-VisibleString-bundle.txt deleted file mode 100644 index b94c1ea..0000000 --- a/tests/tests-randomized/bundles/07-VisibleString-bundle.txt +++ /dev/null @@ -1,27 +0,0 @@ --- Test encoding/decoding/transcoding of a simple string type -T ::= VisibleString -T ::= VisibleString ("Value Constraint") -T ::= VisibleString (SIZE(0)) -T ::= VisibleString (SIZE(0,...)) -T ::= VisibleString (SIZE(1)) -T ::= VisibleString (SIZE(1)) (FROM("A".."B")) -T ::= VisibleString (SIZE(1,...)) -T ::= VisibleString (SIZE(2)) -T ::= VisibleString (SIZE(2,...)) -T ::= VisibleString (SIZE(1..2)) -T ::= VisibleString (SIZE(1..2,...)) -T ::= VisibleString (SIZE(4..6,...)) (FROM("A".."B")) -T ::= VisibleString (SIZE(1..MAX)) (FROM("A".."B")) -T ::= VisibleString (SIZE(1..127)) -T ::= VisibleString (SIZE(1..128)) -T ::= VisibleString (SIZE(1..129)) -T ::= VisibleString (SIZE(5) INTERSECTION FROM("A".."Z")) -T ::= VisibleString (SIZE(4..6) INTERSECTION (FROM("A".."B"))) -T ::= VisibleString (SIZE(4..6,...) INTERSECTION (FROM("A".."B"))) -T ::= VisibleString (SIZE(64000)) -- RMAX=64000, #11.9.3.3 -T ::= VisibleString (SIZE(32000..32002)) -- RMAX=33000 -T ::= VisibleString (SIZE(32000..32002)) (FROM("A".."B")) -- RMAX=33000 -T ::= VisibleString (SIZE(32000..32002,...)) (FROM("A".."B")) -- RMAX=33000 -T ::= VisibleString (SIZE(65530..65535)) -- RMAX=65536 -T ::= VisibleString (SIZE(65530..65536)) -- RMAX=65536 -T ::= VisibleString (SIZE(65535..65550)) -- RMAX=66000 diff --git a/tests/tests-randomized/bundles/08-OBJECT-IDENTIFIER-bundle.txt b/tests/tests-randomized/bundles/08-OBJECT-IDENTIFIER-bundle.txt deleted file mode 100644 index 108955a..0000000 --- a/tests/tests-randomized/bundles/08-OBJECT-IDENTIFIER-bundle.txt +++ /dev/null @@ -1 +0,0 @@ -OBJECT IDENTIFIER diff --git a/tests/tests-randomized/bundles/09-RELATIVE-OID-bundle.txt b/tests/tests-randomized/bundles/09-RELATIVE-OID-bundle.txt deleted file mode 100644 index f322cc0..0000000 --- a/tests/tests-randomized/bundles/09-RELATIVE-OID-bundle.txt +++ /dev/null @@ -1 +0,0 @@ -RELATIVE-OID diff --git a/tests/tests-randomized/bundles/10-UTF8String-bundle.txt b/tests/tests-randomized/bundles/10-UTF8String-bundle.txt deleted file mode 100644 index 206c59d..0000000 --- a/tests/tests-randomized/bundles/10-UTF8String-bundle.txt +++ /dev/null @@ -1,7 +0,0 @@ -UTF8String -UTF8String (SIZE(0)) -UTF8String (SIZE(1)) -UTF8String (SIZE(3)) -UTF8String (FROM("A".."Z")) -UTF8String (FROM("A".."Z") INTERSECTION SIZE(0)) -UTF8String (FROM("A".."Z") INTERSECTION SIZE(3)) diff --git a/tests/tests-randomized/bundles/11-BMPString-bundle.txt b/tests/tests-randomized/bundles/11-BMPString-bundle.txt deleted file mode 100644 index b56c8df..0000000 --- a/tests/tests-randomized/bundles/11-BMPString-bundle.txt +++ /dev/null @@ -1,7 +0,0 @@ -BMPString -BMPString (SIZE(0)) -BMPString (SIZE(1)) -BMPString (SIZE(3)) -BMPString (FROM("A".."Z")) -BMPString (FROM("A".."Z") INTERSECTION SIZE(0)) -BMPString (FROM("A".."Z") INTERSECTION SIZE(3)) diff --git a/tests/tests-randomized/bundles/12-UniversalString-bundle.txt b/tests/tests-randomized/bundles/12-UniversalString-bundle.txt deleted file mode 100644 index aa99882..0000000 --- a/tests/tests-randomized/bundles/12-UniversalString-bundle.txt +++ /dev/null @@ -1,7 +0,0 @@ -UniversalString -UniversalString (SIZE(0)) -UniversalString (SIZE(1)) -UniversalString (SIZE(3)) -UniversalString (FROM("A".."Z")) -UniversalString (FROM("A".."Z") INTERSECTION SIZE(0)) -UniversalString (FROM("A".."Z") INTERSECTION SIZE(3)) diff --git a/tests/tests-randomized/bundles/13-UTCTime-bundle.txt b/tests/tests-randomized/bundles/13-UTCTime-bundle.txt deleted file mode 100644 index 8676f98..0000000 --- a/tests/tests-randomized/bundles/13-UTCTime-bundle.txt +++ /dev/null @@ -1 +0,0 @@ -UTCTime diff --git a/tests/tests-randomized/bundles/14-GeneralizedTime-bundle.txt b/tests/tests-randomized/bundles/14-GeneralizedTime-bundle.txt deleted file mode 100644 index 3a261cc..0000000 --- a/tests/tests-randomized/bundles/14-GeneralizedTime-bundle.txt +++ /dev/null @@ -1 +0,0 @@ -GeneralizedTime diff --git a/tests/tests-randomized/bundles/15-CHOICE-bundle.txt b/tests/tests-randomized/bundles/15-CHOICE-bundle.txt deleted file mode 100644 index 4fe76bb..0000000 --- a/tests/tests-randomized/bundles/15-CHOICE-bundle.txt +++ /dev/null @@ -1,20 +0,0 @@ -CHOICE { null NULL } -CHOICE { null NULL, ... } -CHOICE { one NULL, two [2] NULL } -CHOICE { one [1] NULL, two [2] NULL } -CHOICE { one [2] NULL, two [1] NULL } -CHOICE { one [1] NULL, two [3] NULL } -CHOICE { one [3] NULL, two [1] NULL } -CHOICE { one [3] NULL, two [1] NULL, three [2] NULL } -CHOICE { one [4] NULL, two [3] NULL, three [1] NULL, four [2] NULL } -CHOICE { one [5] NULL, two [4] NULL, ..., three [3] NULL, four [2] NULL } -CHOICE { null NULL, ..., one [5] NULL, two [4] NULL, three [3] NULL, four [2] NULL } -CHOICE { one NULL, two [2] NULL, ... } -CHOICE { one NULL, ..., two [2] NULL } -CHOICE { one NULL, two [2] NULL, ..., three [3] NULL } -CHOICE { one NULL, ..., two [2] NULL, three [3] NULL } -CHOICE { one BOOLEAN, ..., two [2] BOOLEAN, three [3] BOOLEAN } -CHOICE { one BOOLEAN, two BIT STRING (SIZE(1..3)) } -CHOICE { null NULL, ..., one BOOLEAN, two BIT STRING (SIZE(1..3)) } -CHOICE { one NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } -CHOICE { null NULL, ..., one [1] NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } diff --git a/tests/tests-randomized/bundles/16-SEQUENCE-bundle.txt b/tests/tests-randomized/bundles/16-SEQUENCE-bundle.txt deleted file mode 100644 index cbe3d8c..0000000 --- a/tests/tests-randomized/bundles/16-SEQUENCE-bundle.txt +++ /dev/null @@ -1,90 +0,0 @@ -SEQUENCE { } -SEQUENCE { ... } -SEQUENCE { null NULL } -SEQUENCE { null NULL OPTIONAL } -SEQUENCE { ..., null NULL } -SEQUENCE { ..., null NULL OPTIONAL } -SEQUENCE { ..., null BOOLEAN } -SEQUENCE { ..., null BOOLEAN DEFAULT FALSE } -SEQUENCE { ..., null BOOLEAN DEFAULT TRUE } -SEQUENCE { str IA5String } -SEQUENCE { str IA5String OPTIONAL } -SEQUENCE { str IA5String (SIZE(0)) } -SEQUENCE { str IA5String (SIZE(0)) OPTIONAL } -SEQUENCE { str IA5String (SIZE(1)) } -SEQUENCE { str IA5String (SIZE(1)) OPTIONAL } - -SEQUENCE { null NULL } -SEQUENCE { null NULL, ... } -SEQUENCE { one NULL, two [2] NULL } -SEQUENCE { one [1] NULL, two [2] NULL } -SEQUENCE { one [2] NULL, two [1] NULL } -SEQUENCE { one [1] NULL, two [3] NULL } -SEQUENCE { one [3] NULL, two [1] NULL } -SEQUENCE { one [3] NULL, two [1] NULL, three [2] NULL } -SEQUENCE { one [4] NULL, two [3] NULL, three [1] NULL, four [2] NULL } -SEQUENCE { one [5] NULL, two [4] NULL, ..., three [3] NULL, four [2] NULL } -SEQUENCE { null NULL, ..., one [5] NULL, two [4] NULL, three [3] NULL, four [2] NULL } -SEQUENCE { one NULL, two [2] NULL, ... } -SEQUENCE { one NULL, ..., two [2] NULL } -SEQUENCE { one NULL, two [2] NULL, ..., three [3] NULL } -SEQUENCE { one NULL, ..., two [2] NULL, three [3] NULL } -SEQUENCE { one BOOLEAN, ..., two [2] BOOLEAN, three [3] BOOLEAN } -SEQUENCE { one BOOLEAN, two BIT STRING (SIZE(1..3)) } -SEQUENCE { null NULL, ..., one BOOLEAN, two BIT STRING (SIZE(1..3)) } -SEQUENCE { one NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } -SEQUENCE { null NULL, ..., one [1] NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } - -SEQUENCE { one NULL, ..., two [2] NULL } -SEQUENCE { one [1] NULL, ..., two [2] NULL } -SEQUENCE { one [2] NULL, ..., two [1] NULL } -SEQUENCE { one [1] NULL, ..., two [3] NULL } -SEQUENCE { one [3] NULL, ..., two [1] NULL } -SEQUENCE { one [3] NULL, ..., two [1] NULL, three [2] NULL } -SEQUENCE { one [4] NULL, ..., two [3] NULL, three [1] NULL, four [2] NULL } -SEQUENCE { one [5] NULL, ..., two [4] NULL, ..., three [3] NULL, four [2] NULL } -SEQUENCE { one NULL, ..., two [2] NULL, ... } -SEQUENCE { one NULL, ..., two [2] NULL, ..., three [3] NULL } -SEQUENCE { one NULL, ..., two [2] NULL, three [3] NULL } -SEQUENCE { one BOOLEAN, ..., two [2] BOOLEAN, three [3] BOOLEAN, ... } -SEQUENCE { one BOOLEAN, ..., two BIT STRING (SIZE(1..3)) } -SEQUENCE { null NULL, ..., one BOOLEAN, two BIT STRING (SIZE(1..3)), ... } -SEQUENCE { one NULL, ..., two BOOLEAN, three BIT STRING (SIZE(1..3)) } -SEQUENCE { null NULL, ..., one [1] NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)), ... } -SEQUENCE { null NULL, ..., one [1] NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)), ..., four IA5String (SIZE(0)) } - -SEQUENCE { ..., null NULL } -SEQUENCE { ..., null NULL, ... } -SEQUENCE { ..., one NULL, two [2] NULL } -SEQUENCE { ..., one [1] NULL, two [2] NULL } -SEQUENCE { ..., one [2] NULL, two [1] NULL } -SEQUENCE { ..., one [1] NULL, two [3] NULL } -SEQUENCE { ..., one [3] NULL, two [1] NULL } -SEQUENCE { ..., one [3] NULL, two [1] NULL, three [2] NULL } -SEQUENCE { ..., one [4] NULL, two [3] NULL, three [1] NULL, four [2] NULL } -SEQUENCE { ..., one [5] NULL, two [4] NULL, ..., three [3] NULL, four [2] NULL } -SEQUENCE { ..., null NULL, ..., one [5] NULL, two [4] NULL, three [3] NULL, four [2] NULL } -SEQUENCE { ..., one NULL, two [2] NULL, ... } -SEQUENCE { ..., one NULL, ..., two [2] NULL } -SEQUENCE { ..., one NULL, two [2] NULL, ..., three [3] NULL } -SEQUENCE { ..., one NULL, ..., two [2] NULL, three [3] NULL } -SEQUENCE { ..., one BOOLEAN, ..., two [2] BOOLEAN, three [3] BOOLEAN } -SEQUENCE { ..., one BOOLEAN, two BIT STRING (SIZE(1..3)) } -SEQUENCE { ..., null NULL, ..., one BOOLEAN, two BIT STRING (SIZE(1..3)) } -SEQUENCE { ..., one NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } -SEQUENCE { ..., null NULL, ..., one [1] NULL, two BOOLEAN, three BIT STRING (SIZE(1..3)) } - - -SEQUENCE { one BOOLEAN OPTIONAL, two PrintableString (SIZE(1)), three VisibleString (SIZE(1)) DEFAULT "Z" } -SEQUENCE { one [1] BOOLEAN OPTIONAL, two [2] BOOLEAN, three [3] BOOLEAN DEFAULT TRUE, four PrintableString (SIZE(1)), five VisibleString (SIZE(1)) DEFAULT "Z" } -SEQUENCE { list SEQUENCE OF PrintableString (SIZE(1)), guard OCTET STRING (SIZE(1)) } -- RMAX=16385 - --- Mainly verifies list encoding when its size is 0. -SEQUENCE { list SET OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SET (SIZE(1..MAX)) OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SET (SIZE(1..MAX,...)) OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SET (SIZE(1..2,...)) OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SEQUENCE OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SEQUENCE (SIZE(1..MAX,...)) OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } -SEQUENCE { list SEQUENCE (SIZE(1..2,...)) OF OCTET STRING(SIZE(1)), guard OCTET STRING(SIZE(1)) } - diff --git a/tests/tests-randomized/bundles/17-SEQUENCE-OF-bundle.txt b/tests/tests-randomized/bundles/17-SEQUENCE-OF-bundle.txt deleted file mode 100644 index ab8179c..0000000 --- a/tests/tests-randomized/bundles/17-SEQUENCE-OF-bundle.txt +++ /dev/null @@ -1,38 +0,0 @@ -SEQUENCE OF NULL -SEQUENCE (SIZE(0)) OF NULL -SEQUENCE (SIZE(1)) OF NULL -SEQUENCE (SIZE(0..2)) OF NULL -SEQUENCE (SIZE(1..2)) OF NULL -SEQUENCE (SIZE(1..MAX)) OF NULL - -SEQUENCE OF BOOLEAN -SEQUENCE (SIZE(0)) OF BOOLEAN -SEQUENCE (SIZE(1)) OF BOOLEAN -SEQUENCE (SIZE(0..2)) OF BOOLEAN -SEQUENCE (SIZE(1..2)) OF BOOLEAN -SEQUENCE (SIZE(1..MAX)) OF BOOLEAN - -SEQUENCE OF PrintableString (SIZE(1)) -SEQUENCE (SIZE(0)) OF PrintableString (SIZE(1)) -SEQUENCE (SIZE(1)) OF PrintableString (SIZE(1)) -SEQUENCE (SIZE(0..2)) OF PrintableString (SIZE(1)) -SEQUENCE (SIZE(1..2)) OF PrintableString (SIZE(1)) -SEQUENCE (SIZE(1..MAX)) OF PrintableString (SIZE(1)) - -SEQUENCE OF PrintableString (FROM("A".."Z")) -SEQUENCE (SIZE(0)) OF PrintableString (FROM("A".."Z")) -SEQUENCE (SIZE(1)) OF PrintableString (FROM("A".."Z")) -SEQUENCE (SIZE(0..2)) OF PrintableString (FROM("A".."Z")) -SEQUENCE (SIZE(1..2)) OF PrintableString (FROM("A".."Z")) -SEQUENCE (SIZE(1..MAX)) OF PrintableString (FROM("A".."Z")) - -SEQUENCE OF PrintableString (FROM("A".."Z")) - -SEQUENCE OF BOOLEAN -- RMAX=70000 -SEQUENCE (SIZE(2..MAX)) OF BOOLEAN -- RMAX=70000 -SEQUENCE OF PrintableString (SIZE(1)) --RMAX=16384 - --- Mainly verifies encoding when its size is 0. -SEQUENCE OF OCTET STRING (SIZE(1)) -SEQUENCE (SIZE(1..MAX,...)) OF OCTET STRING (SIZE(1)) -SEQUENCE (SIZE(1..2,...)) OF OCTET STRING (SIZE(1)) diff --git a/tests/tests-randomized/bundles/19-SET-OF-bundle.txt b/tests/tests-randomized/bundles/19-SET-OF-bundle.txt deleted file mode 100644 index ea83c25..0000000 --- a/tests/tests-randomized/bundles/19-SET-OF-bundle.txt +++ /dev/null @@ -1,38 +0,0 @@ -SET OF NULL -SET (SIZE(0)) OF NULL -SET (SIZE(1)) OF NULL -SET (SIZE(0..2)) OF NULL -SET (SIZE(1..2)) OF NULL -SET (SIZE(1..MAX)) OF NULL - -SET OF BOOLEAN -SET (SIZE(0)) OF BOOLEAN -SET (SIZE(1)) OF BOOLEAN -SET (SIZE(0..2)) OF BOOLEAN -SET (SIZE(1..2)) OF BOOLEAN -SET (SIZE(1..MAX)) OF BOOLEAN - -SET OF PrintableString (SIZE(1)) -SET (SIZE(0)) OF PrintableString (SIZE(1)) -SET (SIZE(1)) OF PrintableString (SIZE(1)) -SET (SIZE(0..2)) OF PrintableString (SIZE(1)) -SET (SIZE(1..2)) OF PrintableString (SIZE(1)) -SET (SIZE(1..MAX)) OF PrintableString (SIZE(1)) - -SET OF PrintableString (FROM("A".."Z")) -SET (SIZE(0)) OF PrintableString (FROM("A".."Z")) -SET (SIZE(1)) OF PrintableString (FROM("A".."Z")) -SET (SIZE(0..2)) OF PrintableString (FROM("A".."Z")) -SET (SIZE(1..2)) OF PrintableString (FROM("A".."Z")) -SET (SIZE(1..MAX)) OF PrintableString (FROM("A".."Z")) - -SET OF PrintableString (FROM("A".."Z")) - -SET OF BOOLEAN -- RMAX=70000 -SET (SIZE(2..MAX)) OF BOOLEAN -- RMAX=70000 -SET OF PrintableString (SIZE(1)) --RMAX=16384 - --- Mainly verifies encoding when its size is 0. -SET OF OCTET STRING (SIZE(1)) -SET (SIZE(1..MAX,...)) OF OCTET STRING (SIZE(1)) -SET (SIZE(1..2,...)) OF OCTET STRING (SIZE(1)) diff --git a/tests/tests-randomized/bundles/README b/tests/tests-randomized/bundles/README deleted file mode 100644 index e962eed..0000000 --- a/tests/tests-randomized/bundles/README +++ /dev/null @@ -1,22 +0,0 @@ - -This directory contains test bundles for randomized testing. -Each file contains a number of related ASN.1 types with variations in -contstraints that are intended to affect encoding and parsing. - - * Lines consisting of comments only are ignored. - - * The ASN.1 type can be written with "T ::=" prefix or without it, in which - case it will be added automatically. It is done to simplify manual - testing with ./check-bundles.sh -t . For example, - ./check-bundles.sh -t INTEGER - is equivalent to - ./check-bundles.sh -t "T ::= INTEGER" - - * By default, the random value generator attempts to generate values - limited to very roughly to around 128 bytes. If huge values are desired - (perhaps due to large constraints), the RMAX= setting can be specified - in the ASN.1 comments: - - T ::= VisibleString (SIZE(64000)) -- RMAX=64000 - - diff --git a/tests/tests-randomized/check-bundles.sh b/tests/tests-randomized/check-bundles.sh deleted file mode 100755 index 61c1bbc..0000000 --- a/tests/tests-randomized/check-bundles.sh +++ /dev/null @@ -1,403 +0,0 @@ -#!/bin/sh - -# -# Create an ASN.1 source code project for each line in each of the -# bundles/*.txt files, compile and run that it can be encoded, decoded, -# and fuzzed (if fuzzing is available). -# - -set -e - -usage() { - echo "Usage:" - echo " $0 -h" - echo " $0 [--dirty] -t \"\"" - echo " $0 [--dirty] bundles/ []" - echo "Where options are:" - echo " -h Show this help screen" - echo " -e Verify a given encoding explicitly (default is ALL)" - echo " --asn1c Add this flag to asn1c" - echo " --dirty Reuse compile results from the previous run(s)" - echo " -t Run this particular typel" - echo "Examples:" - echo " $0 -t UTF8String" - echo " $0 -t \"T ::= INTEGER (0..1)\"" - echo " $0 bundles/01-INTEGER-bundle.txt 3" - exit 1 -} - -RNDTEMP="${RNDTEMP:-.tmp.random}" - -srcdir="${srcdir:-.}" -abs_top_srcdir="${abs_top_srcdir:-`pwd`/../../}" -abs_top_builddir="${abs_top_builddir:-`pwd`/../../}" -abs_builddir="${abs_builddir:-`pwd`}" -export abs_builddir -MAKE="${MAKE:-make}" -FUZZ_TIME="${FUZZ_TIME:-10}" - -tests_succeeded=0 -tests_failed=0 -stop_after_failed=1 # We stop after 3 failures. -need_clean_before_bundle=1 # Clean before testing a bundle file -need_clean_before_test=0 # Before each line in a bundle file -encodings="" # Default is to verify all supported ASN.1 transfer syntaxes -parallelism=1 -asn1c_flags="" - -make_clean_before_bundle() { - if [ "${need_clean_before_bundle}" = "1" ] ; then - (cd "${RNDTEMP}" && Make clean) || : - fi -} - -make_clean_before_test() { - if [ "${need_clean_before_test}" = "1" ] ; then - Make clean - else - # Low resolution file system mtime prevents rapid testing - # without recompilation. We have to clean at least the most - # critical portion of the objects. This will reach our objective - # of fast compile times (since most of skeletons are not recompiled), - # but won't yield a stale T.o object where newer T.c source exists. - rm -f T.o libasncodec.a || : - fi -} - -# Get all the type-bearding lines in file and process them individually -verify_asn_types_in_file() { - filename="$1" - need_line="$2" - test "x$filename" != "x" || usage - - make_clean_before_bundle - - echo "Open [$filename]" - for mode in syntax full; do - if [ "x${mode}" = "xsyntax" ]; then - max_failures=1 - else - max_failures="${stop_after_failed}" - fi - - line=0 - while read asn; do - line=`expr ${line} + 1` - if echo "$asn" | sed -e 's/--.*//;' | grep -vi "[A-Z]" > /dev/null; then - # Ignore lines consisting of just comments. - continue; - fi - if [ "x$need_line" != "x" ] && [ "$need_line" != "$line" ]; then - # We need a different line. - continue; - fi - verify_asn_type "$mode" "$asn" "in $filename $line" - if [ "${tests_failed}" = "${max_failures}" ]; then - echo "STOP after ${tests_failed} failures, OK ${tests_succeeded}" - exit 1 - fi - done < "$filename" - done -} - -verify_asn_type() { - mode="$1" - asn="$2" - where="$3" - shift 3 - test "x$asn" != "x" || usage - - if echo "$asn" | grep -v "::=" > /dev/null; then - asn="T ::= $asn" - fi - echo "Testing [$asn] ${where}" - - mkdir -p ${RNDTEMP} - - if [ "x${mode}" = "xsyntax" ]; then - if asn1c_invoke "${RNDTEMP}/test.asn1" "$asn" "$where" -P 2>&1 >/dev/null; then - return 0 - else - tests_failed=`expr ${tests_failed} + 1` - echo "FAIL: ASN.1 ERROR ${where}" - return 1 - fi - fi - - if (set -e && cd "${RNDTEMP}" && compile_and_test "$asn" "${where}"); then - echo "OK [$asn] ${where}" - tests_succeeded=`expr ${tests_succeeded} + 1` - else - tests_failed=`expr ${tests_failed} + 1` - echo "FAIL [$asn] ${where}" - fi -} - -Make() { - ${MAKE} -j "${parallelism}" "$@" || return $? -} - -get_param() { - param="$1" - default="$2" - asn="$3" - - "${abs_builddir}/test-param-helper" "${param}" "${default}" "${asn}" -} - -# compile_and_test "" "" -# This function is executed in the temporary test directory ${RNDTEMP}. -compile_and_test() { - asn="$1" - where="$2" - - if [ "x$CC" = "x" ]; then CCSTR=""; else CCSTR="CC=${CC} "; fi - reproduce_make="cd \"${RNDTEMP}\" && ${CCSTR}CFLAGS=\"${CFLAGS}\" ${MAKE}" - - env > .test-environment - set > .test-set - - make_clean_before_test - - asn_compile "$asn" "$where" - if [ $? -ne 0 ]; then - echo "Cannot compile ASN.1 $asn" - return 1 - fi - - rm -f random-test-driver.o - rm -f random-test-driver - CFLAGS="${CFLAGS}" Make - if [ $? -ne 0 ] ; then - echo "Cannot compile C for $asn in ${RNDTEMP}" - return 2 - fi - - # Maximum size of the random data - rmax=`get_param RMAX 128 "$asn"` - if [ "0${rmax}" -lt 1 ]; then rmax=128; fi - - echo "Checking random data encode-decode" - round_trip_check_cmd="${ASAN_ENV_FLAGS} ./random-test-driver -s ${rmax} ${encodings} -c" - echo "(${reproduce_make} && ${round_trip_check_cmd})" > .test-reproduce - if eval "$round_trip_check_cmd"; then - echo "Random test OK" - else - { echo "RETRY:"; cat .test-reproduce ; } - return 3 - fi - - echo "Generating new random data" - rm -rf random-data - cmd="${ASAN_ENV_FLAGS} UBSAN_OPTIONS=print_stacktrace=1" - cmd="${cmd} ./random-test-driver -s ${rmax} ${encodings} -g random-data" - echo "(${reproduce_make} && ${cmd})" > .test-reproduce - if eval "$cmd" ; then - echo "Random data generated OK" - else - { echo "RETRY:"; cat .test-reproduce ; } - return 4 - fi - - # Do a LibFuzzer based testing - fuzz_cmd="${ASAN_ENV_FLAGS} UBSAN_OPTIONS=print_stacktrace=1" - fuzz_cmd="${fuzz_cmd} ./random-test-driver" - fuzz_cmd="${fuzz_cmd} -timeout=3 -max_total_time=${FUZZ_TIME} -max_len=${rmax}" - - if grep "^fuzz:" Makefile >/dev/null ; then - echo "No fuzzer defined, skipping fuzzing" - else - fuzz_targets=`echo random-data/* | sed -e 's/random-data./fuzz-/g'` - { - echo "fuzz: $fuzz_targets" - echo "fuzz-%: random-data/% random-test-driver" - echo " ASN1_DATA_DIR=\$< ${fuzz_cmd} \$<" - } >> Makefile - fi - - # If LIBFUZZER_CFLAGS are properly defined, do the fuzz test as well - if echo "${LIBFUZZER_CFLAGS}" | grep -i "[a-z]" > /dev/null; then - - echo "Recompiling for fuzzing..." - rm -f random-test-driver.o - rm -f random-test-driver - reproduce_make="cd \"${RNDTEMP}\" && ${CCSTR}CFLAGS=\"${LIBFUZZER_CFLAGS} ${CFLAGS}\" ${MAKE}" - echo "(${reproduce_make})" > .test-reproduce - CFLAGS="${LIBFUZZER_CFLAGS} ${CFLAGS}" Make - if [ $? -ne 0 ]; then - echo "Recompile failed" - return 4 - fi - - echo "Fuzzing will take a multiple of ${FUZZ_TIME} seconds..." - echo "(${reproduce_make} fuzz)" > .test-reproduce - CFLAGS="${LIBFUZZER_CFLAGS} ${CFLAGS}" Make fuzz - if [ $? -ne 0 ]; then - { echo "RETRY:"; cat .test-reproduce ; } - return 5 - fi - fi - - return 0 -} - -asn1c_invoke() { - tmpfile="$1" - asn="$2" - where="$3" - shift 3 - - { - echo "Test DEFINITIONS ::= BEGIN $asn" - echo "-- ${where}" - echo "END" - } > ${tmpfile} - echo "${abs_top_builddir}/asn1c/asn1c -S ${abs_top_srcdir}/skeletons" - if "${abs_top_builddir}/asn1c/asn1c" -S "${abs_top_srcdir}/skeletons" \ - ${asn1c_flags} $@ ${tmpfile} - then - echo "ASN.1 compiled OK" - else - return 1 - fi -} - -asn_compile() { - asn="$1" - where="$2" - - # Create "INTEGER (1..2)" from "T ::= INTEGER (1..2) -- RMAX=5" - short_asn=`echo "$asn" | sed -e 's/ *--.*//;s/RMAX=[0-9]//;'` - if [ `echo "$short_asn" | grep -c "::="` = 1 ]; then - short_asn=`echo "$short_asn" | sed -e 's/.*::= *//'` - fi - - test ! -f Makefile.am # Protection from accidental clobbering - - asn1c_invoke "test.asn1" "$asn" "$where" "-flink-skeletons" - if [ $? != 0 ]; then - return 1 - fi - - rm -f converter-example.c - ln -sf "../${srcdir}/random-test-driver.c" || cp "../${srcdir}/random-test-driver.c" . - { - echo "CFLAGS+= -DASN1_TEXT='$short_asn'"; - echo "ASN_PROGRAM = random-test-driver" - echo "ASN_PROGRAM_SRCS = random-test-driver.c" - echo - echo "include converter-example.mk" - echo - echo "all-tests-succeeded: ${abs_top_builddir}/asn1c/asn1c \$(ASN_PROGRAM_SRCS) \$(ASN_MODULE_SRCS) \$(ASN_MODULE_HDRS)" - echo " @rm -f \$@" - echo " @echo Previous try did not go correctly. To reproduce:" - echo " @cat .test-reproduce" - echo " @exit 1" - echo - } > Makefile - echo "converter-example.mk -> Makefile" -} - -# Make up to four different passes: -# CFLAGS: | asn1c_flags: -# -m64 | -fnative-types -# -m32 | -fnative-types -# -m64 | -fwide-types -# -m32 | -fwide-types -# *) Of course, -m64 and -fnative-types are just implied. -test_drive() { - func="$1" - shift - - if [ "x${asn1c_flags}" = "x" ] ; then - # Test for native types and wide types - asn1c_flags=" " test_drive "${func}" "$@" - asn1c_flags="-fnative-types" test_drive "${func}" "$@" - return 0 - fi - - # Can't reuse object code. - rm -rf ${RNDTEMP} - - echo "MODE: default" - # Default (likely 64-bit) mode - ${func} "$@" - - # 32-bit mode, if available - if echo "${CFLAGS_M32}" | grep -i '[a-z]' > /dev/null ; then - echo "MODE: 32-bit" - - # Can't reuse object code between modes. - rm -rf ${RNDTEMP} - - # -m32 doesn't support fuzzing (no such library), so we remove fuzzer. - # -m32 doesn't support leak sanitizing (it hangs), so we remove - # ASAN_ENV_FLAGS which enable leak check in runtime. - CFLAGS="${CFLAGS} ${CFLAGS_M32}" CFLAGS_M32="" \ - LIBFUZZER_CFLAGS="" ASAN_ENV_FLAGS="" \ - ${func} "$@" - fi -} - -if echo "$*" | grep ' -- ' > /dev/null; then - TEST_DRIVER=`echo "$*" | sed -e 's/ -- .*/ -- /g'` - args=`echo "$*" | sed -e 's/.* //g'` - set "${args}" -else - TEST_DRIVER="" -fi - -# Command line parsing -while :; do - case "$1" in - -h) usage ;; - --asn1c) asn1c_flags="${asn1c_flags} $2"; shift 2; continue ;; - --bundle) - shift - - # Look for the transcript in bundles/NN-*-bundles.txt.log - set -x - - base=`basename "$1" | sed -e 's/.txt$//'` - RNDTEMP=".tmp.${base}" - - if Make -C "${RNDTEMP}" all-tests-succeeded >/dev/null 2>&1 ; then - echo "Test succeeded before. Not rechecking." - tests_succeeded=1 - break - fi - - test_drive verify_asn_types_in_file "$@" - - touch "${RNDTEMP}/all-tests-succeeded" - - break - ;; - --dirty) - need_clean_before_bundle=0 - need_clean_before_test=0 - shift - continue - ;; - -e) encodings="${encodings} -e $2"; shift 2; continue;; - -j) parallelism="$1"; shift 2; continue;; - -t) - test_drive verify_asn_type "full" "$2" "(command line)" || exit 1 ;; - "") - for bundle in `ls -1 ${srcdir}/bundles/*.txt | sort -nr`; do - test_drive verify_asn_types_in_file "$bundle" - done - ;; - *) - exec ${TEST_DRIVER} $0 --bundle "$@" - ;; - esac - break -done - -if [ "$tests_succeeded" != "0" ] && [ "$tests_failed" = "0" ]; then - echo "OK $tests_succeeded tests" -else - echo "FAILED $tests_failed tests, OK $tests_succeeded tests" - exit 1 -fi diff --git a/tests/tests-randomized/random-test-driver.c b/tests/tests-randomized/random-test-driver.c deleted file mode 100644 index ecb75f8..0000000 --- a/tests/tests-randomized/random-test-driver.c +++ /dev/null @@ -1,416 +0,0 @@ -#include - -#include -#include -#include -#include -#include -#include - -#ifdef ASN1_TEXT -#define STRINGIFY(x) #x -#define ASN1_STR STRINGIFY(ASN1_TEXT) -#else -#define ASN1_STR "T" -#endif - -static const struct encoding_map { - const char *name; - const char *dir_name; - enum asn_transfer_syntax syntax; -} encodings[] = { - {"DER", "der", ATS_DER}, - {"OER", "oer", ATS_CANONICAL_OER}, - {"UPER", "uper", ATS_UNALIGNED_CANONICAL_PER}, - {"XER", "xer", ATS_CANONICAL_XER}, -}; - -static enum asn_transfer_syntax -lookup_syntax(const char *name) { - if(name) { - for(size_t i = 0; i < sizeof(encodings) / sizeof(encodings[0]); i++) { - struct encoding_map enc = encodings[i]; - if(strcasecmp(name, enc.name) == 0) { - return enc.syntax; - } - } - } - return ATS_INVALID; -} - - -#ifdef ENABLE_LIBFUZZER - -static int initialized; -static enum asn_transfer_syntax syntax; -static void __attribute__((constructor)) initialize() { - initialized = 1; - const char *data_dir = getenv("ASN1_DATA_DIR"); - if(data_dir && strrchr(data_dir, '/')) { - data_dir = strrchr(data_dir, '/') + 1; - } - syntax = lookup_syntax(data_dir); - if(syntax == ATS_INVALID) { - fprintf(stderr, - "Expected ASN1_DATA_DIR={der,oer,uper,xer} environment " - "variable.\n"); - exit(EX_UNAVAILABLE); - } -} - -int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); - -int -LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - if(!initialized) exit(0); - - /* - * Try to decode whatever garbage that comes in Data/Size. - * The idea is that we should not crash, and we should not leak memory, - * no matter what garbage we're dealing with. - */ - T_t *structure = 0; - (void)asn_decode(0, syntax, &asn_DEF_T, (void **)&structure, Data, Size); - ASN_STRUCT_FREE(asn_DEF_T, structure); - - return 0; -} - -#else /* The usual check */ - -static void -usage(const char *progname) { - fprintf(stderr, - "Usage: %s {-c|-g } [-n ] [-e ...]\n" - "OPTIONS:\n" - " -c Check encode-decode round-trip on random data\n" - " -g Generate random data for selected encodings\n" - " -s Approximate max random value size for -c and -g\n" - " -n Number of iterations for -c and -g\n" - " -e Encodings to test or generate random data for\n" - "Encodings (ASN.1 Transfer Syntaxes):\n" - " DER Distinguished Encoding Rules (compatible with " - "BER)\n" - " OER Canonical Octet Encoding Rules\n" - " UPER Canonical Unaligned Packed Encoding Rules\n" - " XER XML Encoding Rules\n", - progname); -} - -static int -file_write_cb(const void *data, size_t size, void *key) { - return fwrite(data, 1, size, (FILE *)key) == size ? 0 : -1; -} - -#ifndef PATH_MAX -#define PATH_MAX 255 -#endif - -static void -generate_random_data(enum asn_transfer_syntax syntax, const char *top_dirname, size_t max_random_value_size, int iterations, int debug) { - char dirname[PATH_MAX]; - size_t dirname_len = 0; - dirname[dirname_len] = '\0'; - - for(size_t i = 0; i < sizeof(encodings)/sizeof(encodings[0]); i++) { - struct encoding_map enc = encodings[i]; - if(enc.syntax == syntax) { - int r = snprintf(dirname, sizeof(dirname), "%s/%s", top_dirname, - enc.dir_name); - if(r < 0 || (size_t)r >= sizeof(dirname) - sizeof("filename.bin")) { - fprintf(stderr, "Too long filenames\n"); - exit(EX_SOFTWARE); - } - dirname_len = r; - fprintf(stderr, "Generating %d random %s values of %s into %s\n", - iterations, enc.name, asn_DEF_T.name, dirname); - break; - } - } - assert(dirname[0]); - - (void)mkdir(top_dirname, 0777); - - if(mkdir(dirname, 0777) == -1) { - if(errno == EEXIST) { - fprintf(stderr, "%s: is already present, remove.\n", dirname); - fprintf(stderr, "%s: not overwriting potentially valuable data.\n", - dirname); - } - perror(dirname); - exit(2); - } - - size_t generated_ok = 0; - for(int i = 0; i < iterations; i++) { - T_t *structure = 0; - FILE *f; - snprintf(&dirname[dirname_len], sizeof(dirname) - dirname_len, - "/%03d.bin", i); - - if(asn_random_fill(&asn_DEF_T, (void **)&structure, - max_random_value_size) - == -1) { - assert(structure == 0); - fprintf(stderr, "Can't generate %d'th value, skipping\n", i); - continue; - } - assert(structure != 0); - - const char *filename = dirname; - f = fopen(filename, "wb"); - if(!f) { - perror(filename); - assert(f); - exit(EX_SOFTWARE); - } - asn_enc_rval_t rval = - asn_encode(0, syntax, &asn_DEF_T, structure, file_write_cb, f); - fclose(f); - if(rval.encoded == -1) { - fprintf(stderr, "Cannot encode a random value of T into %s:\n", - filename); - if(rval.failed_type) { - fprintf(stderr, "(Failed type: %s)\n", rval.failed_type->name); - } - asn_fprint(stderr, &asn_DEF_T, structure); - exit(EX_SOFTWARE); - } - - if(debug) { - if(i < 5 || debug > 1) { - fprintf(stderr, "[%s] ", &filename[dirname_len+1]); - asn_fprint(stderr, &asn_DEF_T, structure); - } else if(i == 5) { - fprintf(stderr, "... and so on\n"); - } - } - - ASN_STRUCT_FREE(asn_DEF_T, structure); - generated_ok++; - } - - if(!generated_ok) { - fprintf(stderr, "Requested to generate %d values, but failed.\n", - iterations); - exit(EX_SOFTWARE); - } - -} - -static void -check_random_roundtrip(enum asn_transfer_syntax syntax, size_t max_random_value_size, int iterations, int debug) { - struct encoding_map enc; - - for(size_t i = 0; i < sizeof(encodings)/sizeof(encodings[0]); i++) { - enc = encodings[i]; - if(enc.syntax == syntax) { - fprintf(stderr, "Testing %d iterations of round-trip for %s\n", - iterations, enc.name); - break; - } - } - - for(int i = 0; i < iterations; i++) { - char tmp_buffer[512]; - char *buffer = tmp_buffer; - size_t buffer_size = sizeof(tmp_buffer); - T_t *structure = 0; - T_t *decoded_structure = 0; - - if(asn_random_fill(&asn_DEF_T, (void **)&structure, - max_random_value_size) - == -1) { - assert(structure == 0); - fprintf(stderr, "Can't generate %d'th value, skipping\n", i); - continue; - } - assert(structure != 0); - - if(debug) { - fprintf(stderr, "Random structure %s:\n", - sizeof(ASN1_STR) > 60 ? "T" : ASN1_STR); - asn_fprint(stderr, &asn_DEF_T, structure); - xer_fprint(stderr, &asn_DEF_T, structure); - } - - asn_enc_rval_t er; - for(;;) { - er = asn_encode_to_buffer( - 0, syntax, &asn_DEF_T, structure, buffer, buffer_size); - if(er.encoded < 0) { - fprintf(stderr, "Encoded T into %zd bytes\n", er.encoded); - fprintf(stderr, "Structure %s:\n", - sizeof(ASN1_STR) > 60 ? "T" : ASN1_STR); - asn_fprint(stderr, &asn_DEF_T, structure); - assert(er.encoded >= 0); - exit(EX_SOFTWARE); - } - if((size_t)er.encoded > buffer_size && buffer == tmp_buffer) { - if(debug) { - fprintf( - stderr, - "Reallocate output buffer %zu -> %zu (iteration %d)\n", - buffer_size, er.encoded, i); - } - buffer = malloc(er.encoded + 1); - assert(buffer); - buffer[er.encoded] = '\0'; - buffer_size = er.encoded; - continue; - } - break; - } - if((size_t)er.encoded > buffer_size) { - fprintf(stderr, "Data %zd does not fit into buffer %zu\n", - er.encoded, buffer_size); - assert((size_t)er.encoded <= buffer_size); - } - - asn_dec_rval_t rval = - asn_decode(0, syntax, &asn_DEF_T, (void **)&decoded_structure, - buffer, er.encoded); - if(rval.code == RC_OK) { - /* Everything's cool... or is it? Expecting a proper consumed */ - if((ssize_t)rval.consumed != er.encoded) { - fprintf(stderr, "Encoded into %zd, yet consumed %zu\n", - er.encoded, rval.consumed); - fprintf(stderr, "Original random structure:\n"); - asn_fprint(stderr, &asn_DEF_T, structure); - fprintf(stderr, "Partially decoded %s value:\n", ASN1_STR); - asn_fprint(stderr, &asn_DEF_T, decoded_structure); - assert((ssize_t)rval.consumed == er.encoded); - exit(EX_SOFTWARE); - } - } else { - fprintf(stderr, - "Decoding %zu bytes of T yielded %s after byte %zu\n", - er.encoded, rval.code == RC_FAIL ? "RC_FAIL" : "RC_WMORE", - rval.consumed); - fprintf(stderr, "Original random structure:\n"); - asn_fprint(stderr, &asn_DEF_T, structure); - exit(EX_SOFTWARE); - } - - /* - * Confirm that we decoded the same data. - */ - int cmp = asn_DEF_T.op->compare_struct(&asn_DEF_T, structure, - decoded_structure); - if(cmp != 0 || debug) { - fprintf(stderr, "Random %s value:\n", ASN1_STR); - asn_fprint(stderr, &asn_DEF_T, structure); - xer_fprint(stderr, &asn_DEF_T, structure); - fprintf(stderr, "Decoded %s value:\n", ASN1_STR); - asn_fprint(stderr, &asn_DEF_T, decoded_structure); - xer_fprint(stderr, &asn_DEF_T, decoded_structure); - assert(cmp == 0); - } - ASN_STRUCT_FREE(asn_DEF_T, structure); - ASN_STRUCT_FREE(asn_DEF_T, decoded_structure); - - if(buffer != tmp_buffer) { - free(buffer); - } - - if(i < 5) { - fprintf(stderr, "[%03d] round-trip in %zd bytes OK\n", i, - er.encoded); - } else if(i == 5) { - fprintf(stderr, "... and so on\n"); - } - } - - fprintf(stderr, "OK %d iterations of round-trip for %s\n", iterations, - enc.name); -} - -int main(int argc, char **argv) { - uint32_t enabled_encodings = 0; - enum { - MODE_UNKNOWN, - MODE_GENERATE_RANDOM_DATA, - MODE_CHECK_RANDOM_ROUNDTRIP - } mode = MODE_UNKNOWN; - const char *generate_into_dir = NULL; - int iterations = 100; - size_t max_random_value_size = 128; - int debug = 0; - int c; - - while((c = getopt(argc, argv, "cde:g:hn:s:")) != -1) { - switch(c) { - case 'c': - mode = MODE_CHECK_RANDOM_ROUNDTRIP; - break; - case 'd': - debug++; - break; - case 'e': - enabled_encodings |= 1 << lookup_syntax(optarg); - if(enabled_encodings & (1 << ATS_INVALID)) { - fprintf(stderr, "-e %s: Unknown (unsupported?) encoding\n", - optarg); - exit(EX_UNAVAILABLE); - } - break; - case 'g': - mode = MODE_GENERATE_RANDOM_DATA; - generate_into_dir = optarg; - break; - case 'h': - usage(argv[0]); - exit(0); - case 'n': - iterations = atoi(optarg); - if(iterations <= 0) { - fprintf(stderr, "-n %s: positive value expected\n", optarg); - exit(EX_DATAERR); - } - break; - case 's': - if(atoi(optarg) <= 0) { - fprintf(stderr, "-s %s: positive value expected\n", optarg); - exit(EX_DATAERR); - } - max_random_value_size = atoi(optarg); - break; - default: - usage(argv[0]); - exit(2); - } - } - - if(mode == MODE_UNKNOWN) { - usage(argv[0]); - exit(2); - } else if(!enabled_encodings) { - for(size_t i = 0; i < sizeof(encodings)/sizeof(encodings[0]); i++) { - enabled_encodings |= 1 << encodings[i].syntax; - } - } - - /* Enumerate requested encodings (-e ...) */ - for(unsigned i = 0; i < 8*sizeof(enabled_encodings)-1; i++) { - if(enabled_encodings & (1 << i)) { - enum asn_transfer_syntax syntax = i; - switch(mode) { - case MODE_UNKNOWN: - assert(mode != MODE_UNKNOWN); - break; - case MODE_GENERATE_RANDOM_DATA: - generate_random_data(syntax, generate_into_dir, - max_random_value_size, iterations, debug); - break; - case MODE_CHECK_RANDOM_ROUNDTRIP: - check_random_roundtrip(syntax, max_random_value_size, - iterations, debug); - break; - } - } - } - - return 0; -} - -#endif diff --git a/tests/tests-randomized/test-param-helper.c b/tests/tests-randomized/test-param-helper.c deleted file mode 100644 index ed81186..0000000 --- a/tests/tests-randomized/test-param-helper.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Since working awk is not present on every supported platform - * (notably Solaris), and nawk is not the same on Solaris and Linux, - * this program is a replacement for it to extract test parameter from the. - * string specified in the command line. - */ -#include -#include -#include -#include - -static void -usage(const char *progname) { - fprintf(stderr, "Search PARAM=VALUE pattern in the given string\n"); - fprintf(stderr, "Usage: %s \n", - progname); -} - -static const char * -search(const char *param, const char *haystack) { - - const char *p = strstr(haystack, param); - if(p && p[strlen(param)] == '=') { - const char *param_begin = &p[strlen(param) + 1]; - const char *param_end = param_begin; - for(param_end = param_begin; param_end; param_end++) { - switch(*param_end) { - case '0' ... '9': - continue; - default: - break; - } - break; - } - - static char static_buf[64]; - - if((param_end - param_begin) <= 0) { - fprintf(stderr, "Parameter %s is malformed after '='\n", param); - return NULL; - } - - if((param_end - param_begin) >= (ssize_t)sizeof(static_buf)) { - fprintf(stderr, "Parameter %s value exceeds buffer size %zu\n", - param, sizeof(static_buf)); - return NULL; - } - - memcpy(static_buf, param_begin, param_end - param_begin); - static_buf[param_end - param_begin] = '\0'; - return static_buf; - } else if(p) { - fprintf(stderr, "Parameter %s should contain '='\n", param); - return NULL; - } - - return NULL; -} - -int -main(int ac, char **av) { - if(ac != 4) { - usage(av[0]); - exit(EX_USAGE); - } - - const char *value = search(av[1], av[3]); - if(value) { - printf("%s\n", value); - } else { - printf("%s\n", av[2]); - } -} diff --git a/tests/tests-skeletons/.deps/check-GeneralizedTime.Po b/tests/tests-skeletons/.deps/check-GeneralizedTime.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-GeneralizedTime.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-INTEGER.Po b/tests/tests-skeletons/.deps/check-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-OCTET_STRING.Po b/tests/tests-skeletons/.deps/check-OCTET_STRING.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-OCTET_STRING.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-OER-INTEGER.Po b/tests/tests-skeletons/.deps/check-OER-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-OER-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-OER-NativeEnumerated.Po b/tests/tests-skeletons/.deps/check-OER-NativeEnumerated.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-OER-NativeEnumerated.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-OER-support.Po b/tests/tests-skeletons/.deps/check-OER-support.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-OER-support.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-OIDs.Po b/tests/tests-skeletons/.deps/check-OIDs.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-OIDs.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-PER-INTEGER.Po b/tests/tests-skeletons/.deps/check-PER-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-PER-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-PER-UniversalString.Po b/tests/tests-skeletons/.deps/check-PER-UniversalString.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-PER-UniversalString.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-PER-support.Po b/tests/tests-skeletons/.deps/check-PER-support.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-PER-support.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-REAL.Po b/tests/tests-skeletons/.deps/check-REAL.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-REAL.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-UTCTime.Po b/tests/tests-skeletons/.deps/check-UTCTime.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-UTCTime.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-UTF8String.Po b/tests/tests-skeletons/.deps/check-UTF8String.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-UTF8String.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-XER.Po b/tests/tests-skeletons/.deps/check-XER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-XER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-ber_tlv_tag.Po b/tests/tests-skeletons/.deps/check-ber_tlv_tag.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-ber_tlv_tag.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-bits.Po b/tests/tests-skeletons/.deps/check-bits.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-bits.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check-length.Po b/tests/tests-skeletons/.deps/check-length.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check-length.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_GeneralizedTime-check-GeneralizedTime.Po b/tests/tests-skeletons/.deps/check_32_GeneralizedTime-check-GeneralizedTime.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_GeneralizedTime-check-GeneralizedTime.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_INTEGER-check-INTEGER.Po b/tests/tests-skeletons/.deps/check_32_INTEGER-check-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_INTEGER-check-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_OCTET_STRING-check-OCTET_STRING.Po b/tests/tests-skeletons/.deps/check_32_OCTET_STRING-check-OCTET_STRING.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_OCTET_STRING-check-OCTET_STRING.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_OER_INTEGER-check-OER-INTEGER.Po b/tests/tests-skeletons/.deps/check_32_OER_INTEGER-check-OER-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_OER_INTEGER-check-OER-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po b/tests/tests-skeletons/.deps/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_OER_support-check-OER-support.Po b/tests/tests-skeletons/.deps/check_32_OER_support-check-OER-support.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_OER_support-check-OER-support.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_OIDs-check-OIDs.Po b/tests/tests-skeletons/.deps/check_32_OIDs-check-OIDs.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_OIDs-check-OIDs.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_PER_INTEGER-check-PER-INTEGER.Po b/tests/tests-skeletons/.deps/check_32_PER_INTEGER-check-PER-INTEGER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_PER_INTEGER-check-PER-INTEGER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_PER_UniversalString-check-PER-UniversalString.Po b/tests/tests-skeletons/.deps/check_32_PER_UniversalString-check-PER-UniversalString.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_PER_UniversalString-check-PER-UniversalString.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_PER_support-check-PER-support.Po b/tests/tests-skeletons/.deps/check_32_PER_support-check-PER-support.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_PER_support-check-PER-support.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_REAL-check-REAL.Po b/tests/tests-skeletons/.deps/check_32_REAL-check-REAL.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_REAL-check-REAL.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_UTCTime-check-UTCTime.Po b/tests/tests-skeletons/.deps/check_32_UTCTime-check-UTCTime.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_UTCTime-check-UTCTime.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_UTF8String-check-UTF8String.Po b/tests/tests-skeletons/.deps/check_32_UTF8String-check-UTF8String.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_UTF8String-check-UTF8String.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_XER-check-XER.Po b/tests/tests-skeletons/.deps/check_32_XER-check-XER.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_XER-check-XER.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_ber_tlv_tag-check-ber_tlv_tag.Po b/tests/tests-skeletons/.deps/check_32_ber_tlv_tag-check-ber_tlv_tag.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_ber_tlv_tag-check-ber_tlv_tag.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_bits-check-bits.Po b/tests/tests-skeletons/.deps/check_32_bits-check-bits.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_bits-check-bits.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/.deps/check_32_length-check-length.Po b/tests/tests-skeletons/.deps/check_32_length-check-length.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/tests/tests-skeletons/.deps/check_32_length-check-length.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/tests/tests-skeletons/Makefile b/tests/tests-skeletons/Makefile deleted file mode 100644 index 7bb1762..0000000 --- a/tests/tests-skeletons/Makefile +++ /dev/null @@ -1,2104 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# tests/tests-skeletons/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/asn1c -pkgincludedir = $(includedir)/asn1c -pkglibdir = $(libdir)/asn1c -pkglibexecdir = $(libexecdir)/asn1c -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -check_PROGRAMS = check-ber_tlv_tag$(EXEEXT) check-length$(EXEEXT) \ - check-bits$(EXEEXT) check-OIDs$(EXEEXT) \ - check-GeneralizedTime$(EXEEXT) check-OCTET_STRING$(EXEEXT) \ - check-UTF8String$(EXEEXT) check-UTCTime$(EXEEXT) \ - check-INTEGER$(EXEEXT) check-REAL$(EXEEXT) check-XER$(EXEEXT) \ - check-OER-support$(EXEEXT) check-OER-INTEGER$(EXEEXT) \ - check-OER-NativeEnumerated$(EXEEXT) check-PER-support$(EXEEXT) \ - check-PER-UniversalString$(EXEEXT) check-PER-INTEGER$(EXEEXT) \ - $(am__EXEEXT_1) -#am__append_1 = \ -# check-32-ber_tlv_tag \ -# check-32-length \ -# check-32-bits \ -# check-32-OIDs \ -# check-32-GeneralizedTime \ -# check-32-OCTET_STRING \ -# check-32-UTF8String \ -# check-32-UTCTime \ -# check-32-INTEGER \ -# check-32-REAL \ -# check-32-XER \ -# check-32-OER-support \ -# check-32-OER-INTEGER \ -# check-32-OER-NativeEnumerated \ -# check-32-PER-support \ -# check-32-PER-UniversalString \ -# check-32-PER-INTEGER - -subdir = tests/tests-skeletons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -#am__EXEEXT_1 = check-32-ber_tlv_tag$(EXEEXT) \ -# check-32-length$(EXEEXT) \ -# check-32-bits$(EXEEXT) \ -# check-32-OIDs$(EXEEXT) \ -# check-32-GeneralizedTime$(EXEEXT) \ -# check-32-OCTET_STRING$(EXEEXT) \ -# check-32-UTF8String$(EXEEXT) \ -# check-32-UTCTime$(EXEEXT) \ -# check-32-INTEGER$(EXEEXT) \ -# check-32-REAL$(EXEEXT) \ -# check-32-XER$(EXEEXT) \ -# check-32-OER-support$(EXEEXT) \ -# check-32-OER-INTEGER$(EXEEXT) \ -# check-32-OER-NativeEnumerated$(EXEEXT) \ -# check-32-PER-support$(EXEEXT) \ -# check-32-PER-UniversalString$(EXEEXT) \ -# check-32-PER-INTEGER$(EXEEXT) -am__check_32_GeneralizedTime_SOURCES_DIST = check-GeneralizedTime.c -#am_check_32_GeneralizedTime_OBJECTS = check_32_GeneralizedTime-check-GeneralizedTime.$(OBJEXT) -check_32_GeneralizedTime_OBJECTS = \ - $(am_check_32_GeneralizedTime_OBJECTS) -#am__DEPENDENCIES_1 = $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la -#check_32_GeneralizedTime_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -check_32_GeneralizedTime_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_INTEGER_SOURCES_DIST = check-INTEGER.c -#am_check_32_INTEGER_OBJECTS = \ -# check_32_INTEGER-check-INTEGER.$(OBJEXT) -check_32_INTEGER_OBJECTS = $(am_check_32_INTEGER_OBJECTS) -#check_32_INTEGER_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -am__check_32_OCTET_STRING_SOURCES_DIST = check-OCTET_STRING.c -#am_check_32_OCTET_STRING_OBJECTS = check_32_OCTET_STRING-check-OCTET_STRING.$(OBJEXT) -check_32_OCTET_STRING_OBJECTS = $(am_check_32_OCTET_STRING_OBJECTS) -#check_32_OCTET_STRING_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_OCTET_STRING_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OER_INTEGER_SOURCES_DIST = check-OER-INTEGER.c -#am_check_32_OER_INTEGER_OBJECTS = check_32_OER_INTEGER-check-OER-INTEGER.$(OBJEXT) -check_32_OER_INTEGER_OBJECTS = $(am_check_32_OER_INTEGER_OBJECTS) -#check_32_OER_INTEGER_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_OER_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OER_NativeEnumerated_SOURCES_DIST = \ - check-OER-NativeEnumerated.c -#am_check_32_OER_NativeEnumerated_OBJECTS = check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.$(OBJEXT) -check_32_OER_NativeEnumerated_OBJECTS = \ - $(am_check_32_OER_NativeEnumerated_OBJECTS) -#check_32_OER_NativeEnumerated_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_OER_NativeEnumerated_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_OER_support_SOURCES_DIST = check-OER-support.c -#am_check_32_OER_support_OBJECTS = check_32_OER_support-check-OER-support.$(OBJEXT) -check_32_OER_support_OBJECTS = $(am_check_32_OER_support_OBJECTS) -#check_32_OER_support_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_OER_support_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_support_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OIDs_SOURCES_DIST = check-OIDs.c -#am_check_32_OIDs_OBJECTS = \ -# check_32_OIDs-check-OIDs.$(OBJEXT) -check_32_OIDs_OBJECTS = $(am_check_32_OIDs_OBJECTS) -#check_32_OIDs_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_OIDs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_OIDs_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_PER_INTEGER_SOURCES_DIST = check-PER-INTEGER.c -#am_check_32_PER_INTEGER_OBJECTS = check_32_PER_INTEGER-check-PER-INTEGER.$(OBJEXT) -check_32_PER_INTEGER_OBJECTS = $(am_check_32_PER_INTEGER_OBJECTS) -#check_32_PER_INTEGER_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_PER_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_PER_UniversalString_SOURCES_DIST = \ - check-PER-UniversalString.c -#am_check_32_PER_UniversalString_OBJECTS = check_32_PER_UniversalString-check-PER-UniversalString.$(OBJEXT) -check_32_PER_UniversalString_OBJECTS = \ - $(am_check_32_PER_UniversalString_OBJECTS) -#check_32_PER_UniversalString_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_PER_UniversalString_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_PER_support_SOURCES_DIST = check-PER-support.c -#am_check_32_PER_support_OBJECTS = check_32_PER_support-check-PER-support.$(OBJEXT) -check_32_PER_support_OBJECTS = $(am_check_32_PER_support_OBJECTS) -#check_32_PER_support_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_PER_support_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_support_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_REAL_SOURCES_DIST = check-REAL.c -#am_check_32_REAL_OBJECTS = \ -# check_32_REAL-check-REAL.$(OBJEXT) -check_32_REAL_OBJECTS = $(am_check_32_REAL_OBJECTS) -#check_32_REAL_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_REAL_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_REAL_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_UTCTime_SOURCES_DIST = check-UTCTime.c -#am_check_32_UTCTime_OBJECTS = \ -# check_32_UTCTime-check-UTCTime.$(OBJEXT) -check_32_UTCTime_OBJECTS = $(am_check_32_UTCTime_OBJECTS) -#check_32_UTCTime_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_UTCTime_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_UTCTime_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -am__check_32_UTF8String_SOURCES_DIST = check-UTF8String.c -#am_check_32_UTF8String_OBJECTS = check_32_UTF8String-check-UTF8String.$(OBJEXT) -check_32_UTF8String_OBJECTS = $(am_check_32_UTF8String_OBJECTS) -#check_32_UTF8String_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_UTF8String_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_UTF8String_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_XER_SOURCES_DIST = check-XER.c -#am_check_32_XER_OBJECTS = \ -# check_32_XER-check-XER.$(OBJEXT) -check_32_XER_OBJECTS = $(am_check_32_XER_OBJECTS) -#check_32_XER_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_XER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_XER_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_ber_tlv_tag_SOURCES_DIST = check-ber_tlv_tag.c -#am_check_32_ber_tlv_tag_OBJECTS = check_32_ber_tlv_tag-check-ber_tlv_tag.$(OBJEXT) -check_32_ber_tlv_tag_OBJECTS = $(am_check_32_ber_tlv_tag_OBJECTS) -#check_32_ber_tlv_tag_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_ber_tlv_tag_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_bits_SOURCES_DIST = check-bits.c -#am_check_32_bits_OBJECTS = \ -# check_32_bits-check-bits.$(OBJEXT) -check_32_bits_OBJECTS = $(am_check_32_bits_OBJECTS) -#check_32_bits_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_bits_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_bits_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_length_SOURCES_DIST = check-length.c -#am_check_32_length_OBJECTS = \ -# check_32_length-check-length.$(OBJEXT) -check_32_length_OBJECTS = $(am_check_32_length_OBJECTS) -#check_32_length_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) -check_32_length_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_length_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -check_GeneralizedTime_SOURCES = check-GeneralizedTime.c -check_GeneralizedTime_OBJECTS = check-GeneralizedTime.$(OBJEXT) -check_GeneralizedTime_LDADD = $(LDADD) -check_GeneralizedTime_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_INTEGER_SOURCES = check-INTEGER.c -check_INTEGER_OBJECTS = check-INTEGER.$(OBJEXT) -check_INTEGER_LDADD = $(LDADD) -check_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OCTET_STRING_SOURCES = check-OCTET_STRING.c -check_OCTET_STRING_OBJECTS = check-OCTET_STRING.$(OBJEXT) -check_OCTET_STRING_LDADD = $(LDADD) -check_OCTET_STRING_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_INTEGER_SOURCES = check-OER-INTEGER.c -check_OER_INTEGER_OBJECTS = check-OER-INTEGER.$(OBJEXT) -check_OER_INTEGER_LDADD = $(LDADD) -check_OER_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_NativeEnumerated_SOURCES = check-OER-NativeEnumerated.c -check_OER_NativeEnumerated_OBJECTS = \ - check-OER-NativeEnumerated.$(OBJEXT) -check_OER_NativeEnumerated_LDADD = $(LDADD) -check_OER_NativeEnumerated_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_support_SOURCES = check-OER-support.c -check_OER_support_OBJECTS = check-OER-support.$(OBJEXT) -check_OER_support_LDADD = $(LDADD) -check_OER_support_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OIDs_SOURCES = check-OIDs.c -check_OIDs_OBJECTS = check-OIDs.$(OBJEXT) -check_OIDs_LDADD = $(LDADD) -check_OIDs_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_INTEGER_SOURCES = check-PER-INTEGER.c -check_PER_INTEGER_OBJECTS = check-PER-INTEGER.$(OBJEXT) -check_PER_INTEGER_LDADD = $(LDADD) -check_PER_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_UniversalString_SOURCES = check-PER-UniversalString.c -check_PER_UniversalString_OBJECTS = \ - check-PER-UniversalString.$(OBJEXT) -check_PER_UniversalString_LDADD = $(LDADD) -check_PER_UniversalString_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_support_SOURCES = check-PER-support.c -check_PER_support_OBJECTS = check-PER-support.$(OBJEXT) -check_PER_support_LDADD = $(LDADD) -check_PER_support_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_REAL_SOURCES = check-REAL.c -check_REAL_OBJECTS = check-REAL.$(OBJEXT) -check_REAL_LDADD = $(LDADD) -check_REAL_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_UTCTime_SOURCES = check-UTCTime.c -check_UTCTime_OBJECTS = check-UTCTime.$(OBJEXT) -check_UTCTime_LDADD = $(LDADD) -check_UTCTime_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_UTF8String_SOURCES = check-UTF8String.c -check_UTF8String_OBJECTS = check-UTF8String.$(OBJEXT) -check_UTF8String_LDADD = $(LDADD) -check_UTF8String_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_XER_SOURCES = check-XER.c -check_XER_OBJECTS = check-XER.$(OBJEXT) -check_XER_LDADD = $(LDADD) -check_XER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_ber_tlv_tag_SOURCES = check-ber_tlv_tag.c -check_ber_tlv_tag_OBJECTS = check-ber_tlv_tag.$(OBJEXT) -check_ber_tlv_tag_LDADD = $(LDADD) -check_ber_tlv_tag_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_bits_SOURCES = check-bits.c -check_bits_OBJECTS = check-bits.$(OBJEXT) -check_bits_LDADD = $(LDADD) -check_bits_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_length_SOURCES = check-length.c -check_length_OBJECTS = check-length.$(OBJEXT) -check_length_LDADD = $(LDADD) -check_length_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(check_32_GeneralizedTime_SOURCES) \ - $(check_32_INTEGER_SOURCES) $(check_32_OCTET_STRING_SOURCES) \ - $(check_32_OER_INTEGER_SOURCES) \ - $(check_32_OER_NativeEnumerated_SOURCES) \ - $(check_32_OER_support_SOURCES) $(check_32_OIDs_SOURCES) \ - $(check_32_PER_INTEGER_SOURCES) \ - $(check_32_PER_UniversalString_SOURCES) \ - $(check_32_PER_support_SOURCES) $(check_32_REAL_SOURCES) \ - $(check_32_UTCTime_SOURCES) $(check_32_UTF8String_SOURCES) \ - $(check_32_XER_SOURCES) $(check_32_ber_tlv_tag_SOURCES) \ - $(check_32_bits_SOURCES) $(check_32_length_SOURCES) \ - check-GeneralizedTime.c check-INTEGER.c check-OCTET_STRING.c \ - check-OER-INTEGER.c check-OER-NativeEnumerated.c \ - check-OER-support.c check-OIDs.c check-PER-INTEGER.c \ - check-PER-UniversalString.c check-PER-support.c check-REAL.c \ - check-UTCTime.c check-UTF8String.c check-XER.c \ - check-ber_tlv_tag.c check-bits.c check-length.c -DIST_SOURCES = $(am__check_32_GeneralizedTime_SOURCES_DIST) \ - $(am__check_32_INTEGER_SOURCES_DIST) \ - $(am__check_32_OCTET_STRING_SOURCES_DIST) \ - $(am__check_32_OER_INTEGER_SOURCES_DIST) \ - $(am__check_32_OER_NativeEnumerated_SOURCES_DIST) \ - $(am__check_32_OER_support_SOURCES_DIST) \ - $(am__check_32_OIDs_SOURCES_DIST) \ - $(am__check_32_PER_INTEGER_SOURCES_DIST) \ - $(am__check_32_PER_UniversalString_SOURCES_DIST) \ - $(am__check_32_PER_support_SOURCES_DIST) \ - $(am__check_32_REAL_SOURCES_DIST) \ - $(am__check_32_UTCTime_SOURCES_DIST) \ - $(am__check_32_UTF8String_SOURCES_DIST) \ - $(am__check_32_XER_SOURCES_DIST) \ - $(am__check_32_ber_tlv_tag_SOURCES_DIST) \ - $(am__check_32_bits_SOURCES_DIST) \ - $(am__check_32_length_SOURCES_DIST) check-GeneralizedTime.c \ - check-INTEGER.c check-OCTET_STRING.c check-OER-INTEGER.c \ - check-OER-NativeEnumerated.c check-OER-support.c check-OIDs.c \ - check-PER-INTEGER.c check-PER-UniversalString.c \ - check-PER-support.c check-REAL.c check-UTCTime.c \ - check-UTF8String.c check-XER.c check-ber_tlv_tag.c \ - check-bits.c check-length.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing aclocal-1.15 -ADD_CFLAGS = -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -ASAN_ENV_FLAGS = ASAN_OPTIONS=detect_leaks=1 -AUTOCONF = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoconf -AUTOHEADER = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing autoheader -AUTOMAKE = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), -g -O2 -Wall -Wcast-qual -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-error=attributes -Wno-error=cast-align -std=gnu99) \ - -I$(top_srcdir)/skeletons $(TESTSUITE_CFLAGS) - -CFLAGS_M32 = -CODE_COVERAGE_CFLAGS = -CODE_COVERAGE_CPPFLAGS = -CODE_COVERAGE_CXXFLAGS = -CODE_COVERAGE_ENABLED = no -CODE_COVERAGE_LDFLAGS = -CODE_COVERAGE_LIBS = -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -std=c++11 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = -GENHTML = -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBFUZZER_CFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /home/nokia/mouse07410/asn1c/config/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = asn1c -PACKAGE_BUGREPORT = vlm@lionet.info -PACKAGE_NAME = asn1c -PACKAGE_STRING = asn1c 0.9.29 -PACKAGE_TARNAME = asn1c -PACKAGE_URL = -PACKAGE_VERSION = 0.9.29 -PANDOC = -PATH_SEPARATOR = : -RANLIB = ranlib -SANITIZER_CFLAGS = -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SKELETONS_CFLAGS = -std=c89 -Wpedantic -Wno-long-long -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -STRIP = strip -TESTSUITE_CFLAGS = -std=gnu99 -Wno-error=unused-variable -fsanitize=undefined -fno-sanitize-recover=undefined -fno-omit-frame-pointer -fsanitize=address -fno-omit-frame-pointer -VERSION = 0.9.29 -YACC = bison -y -YFLAGS = -abs_builddir = /home/nokia/mouse07410/asn1c/tests/tests-skeletons -abs_srcdir = /home/nokia/mouse07410/asn1c/tests/tests-skeletons -abs_top_builddir = /home/nokia/mouse07410/asn1c -abs_top_srcdir = /home/nokia/mouse07410/asn1c -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/nokia/mouse07410/asn1c/config/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -#check_32_ber_tlv_tag_CFLAGS = $(CFLAGS_M32) -#check_32_ber_tlv_tag_LDADD = $(LDADD_32) -#check_32_ber_tlv_tag_SOURCES = check-ber_tlv_tag.c -#check_32_length_CFLAGS = $(CFLAGS_M32) -#check_32_length_LDADD = $(LDADD_32) -#check_32_length_SOURCES = check-length.c -#check_32_bits_CFLAGS = $(CFLAGS_M32) -#check_32_bits_LDADD = $(LDADD_32) -#check_32_bits_SOURCES = check-bits.c -#check_32_OIDs_CFLAGS = $(CFLAGS_M32) -#check_32_OIDs_LDADD = $(LDADD_32) -#check_32_OIDs_SOURCES = check-OIDs.c -#check_32_GeneralizedTime_CFLAGS = $(CFLAGS_M32) -#check_32_GeneralizedTime_LDADD = $(LDADD_32) -#check_32_GeneralizedTime_SOURCES = check-GeneralizedTime.c -#check_32_OCTET_STRING_CFLAGS = $(CFLAGS_M32) -#check_32_OCTET_STRING_LDADD = $(LDADD_32) -#check_32_OCTET_STRING_SOURCES = check-OCTET_STRING.c -#check_32_UTF8String_CFLAGS = $(CFLAGS_M32) -#check_32_UTF8String_LDADD = $(LDADD_32) -#check_32_UTF8String_SOURCES = check-UTF8String.c -#check_32_UTCTime_CFLAGS = $(CFLAGS_M32) -#check_32_UTCTime_LDADD = $(LDADD_32) -#check_32_UTCTime_SOURCES = check-UTCTime.c -#check_32_INTEGER_CFLAGS = $(CFLAGS_M32) -#check_32_INTEGER_LDADD = $(LDADD_32) -#check_32_INTEGER_SOURCES = check-INTEGER.c -#check_32_REAL_CFLAGS = $(CFLAGS_M32) -#check_32_REAL_LDADD = $(LDADD_32) -#check_32_REAL_SOURCES = check-REAL.c -#check_32_XER_CFLAGS = $(CFLAGS_M32) -#check_32_XER_LDADD = $(LDADD_32) -#check_32_XER_SOURCES = check-XER.c -#check_32_OER_support_CFLAGS = $(CFLAGS_M32) -#check_32_OER_support_LDADD = $(LDADD_32) -#check_32_OER_support_SOURCES = check-OER-support.c -#check_32_OER_INTEGER_CFLAGS = $(CFLAGS_M32) -#check_32_OER_INTEGER_LDADD = $(LDADD_32) -#check_32_OER_INTEGER_SOURCES = check-OER-INTEGER.c -#check_32_OER_NativeEnumerated_CFLAGS = $(CFLAGS_M32) -#check_32_OER_NativeEnumerated_LDADD = $(LDADD_32) -#check_32_OER_NativeEnumerated_SOURCES = check-OER-NativeEnumerated.c -#check_32_PER_support_CFLAGS = $(CFLAGS_M32) -#check_32_PER_support_LDADD = $(LDADD_32) -#check_32_PER_support_SOURCES = check-PER-support.c -#check_32_PER_UniversalString_CFLAGS = $(CFLAGS_M32) -#check_32_PER_UniversalString_LDADD = $(LDADD_32) -#check_32_PER_UniversalString_SOURCES = check-PER-UniversalString.c -#check_32_PER_INTEGER_CFLAGS = $(CFLAGS_M32) -#check_32_PER_INTEGER_LDADD = $(LDADD_32) -#check_32_PER_INTEGER_SOURCES = check-PER-INTEGER.c -#LDADD_32 = -lm $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la -LDADD = -lm $(top_builddir)/skeletons/libasn1cskeletons.la -TESTS = $(check_PROGRAMS) -TESTS_ENVIRONMENT = \ - ASAN_OPTIONS=detect_leaks=1 \ - UBSAN_OPTIONS=print_stacktrace=1 \ - ${srcdir}/disable-leak-check-m32.sh - -EXTRA_DIST = disable-leak-check-m32.sh -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-skeletons/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-skeletons/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check-32-GeneralizedTime$(EXEEXT): $(check_32_GeneralizedTime_OBJECTS) $(check_32_GeneralizedTime_DEPENDENCIES) $(EXTRA_check_32_GeneralizedTime_DEPENDENCIES) - @rm -f check-32-GeneralizedTime$(EXEEXT) - $(AM_V_CCLD)$(check_32_GeneralizedTime_LINK) $(check_32_GeneralizedTime_OBJECTS) $(check_32_GeneralizedTime_LDADD) $(LIBS) - -check-32-INTEGER$(EXEEXT): $(check_32_INTEGER_OBJECTS) $(check_32_INTEGER_DEPENDENCIES) $(EXTRA_check_32_INTEGER_DEPENDENCIES) - @rm -f check-32-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_INTEGER_LINK) $(check_32_INTEGER_OBJECTS) $(check_32_INTEGER_LDADD) $(LIBS) - -check-32-OCTET_STRING$(EXEEXT): $(check_32_OCTET_STRING_OBJECTS) $(check_32_OCTET_STRING_DEPENDENCIES) $(EXTRA_check_32_OCTET_STRING_DEPENDENCIES) - @rm -f check-32-OCTET_STRING$(EXEEXT) - $(AM_V_CCLD)$(check_32_OCTET_STRING_LINK) $(check_32_OCTET_STRING_OBJECTS) $(check_32_OCTET_STRING_LDADD) $(LIBS) - -check-32-OER-INTEGER$(EXEEXT): $(check_32_OER_INTEGER_OBJECTS) $(check_32_OER_INTEGER_DEPENDENCIES) $(EXTRA_check_32_OER_INTEGER_DEPENDENCIES) - @rm -f check-32-OER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_INTEGER_LINK) $(check_32_OER_INTEGER_OBJECTS) $(check_32_OER_INTEGER_LDADD) $(LIBS) - -check-32-OER-NativeEnumerated$(EXEEXT): $(check_32_OER_NativeEnumerated_OBJECTS) $(check_32_OER_NativeEnumerated_DEPENDENCIES) $(EXTRA_check_32_OER_NativeEnumerated_DEPENDENCIES) - @rm -f check-32-OER-NativeEnumerated$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_NativeEnumerated_LINK) $(check_32_OER_NativeEnumerated_OBJECTS) $(check_32_OER_NativeEnumerated_LDADD) $(LIBS) - -check-32-OER-support$(EXEEXT): $(check_32_OER_support_OBJECTS) $(check_32_OER_support_DEPENDENCIES) $(EXTRA_check_32_OER_support_DEPENDENCIES) - @rm -f check-32-OER-support$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_support_LINK) $(check_32_OER_support_OBJECTS) $(check_32_OER_support_LDADD) $(LIBS) - -check-32-OIDs$(EXEEXT): $(check_32_OIDs_OBJECTS) $(check_32_OIDs_DEPENDENCIES) $(EXTRA_check_32_OIDs_DEPENDENCIES) - @rm -f check-32-OIDs$(EXEEXT) - $(AM_V_CCLD)$(check_32_OIDs_LINK) $(check_32_OIDs_OBJECTS) $(check_32_OIDs_LDADD) $(LIBS) - -check-32-PER-INTEGER$(EXEEXT): $(check_32_PER_INTEGER_OBJECTS) $(check_32_PER_INTEGER_DEPENDENCIES) $(EXTRA_check_32_PER_INTEGER_DEPENDENCIES) - @rm -f check-32-PER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_INTEGER_LINK) $(check_32_PER_INTEGER_OBJECTS) $(check_32_PER_INTEGER_LDADD) $(LIBS) - -check-32-PER-UniversalString$(EXEEXT): $(check_32_PER_UniversalString_OBJECTS) $(check_32_PER_UniversalString_DEPENDENCIES) $(EXTRA_check_32_PER_UniversalString_DEPENDENCIES) - @rm -f check-32-PER-UniversalString$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_UniversalString_LINK) $(check_32_PER_UniversalString_OBJECTS) $(check_32_PER_UniversalString_LDADD) $(LIBS) - -check-32-PER-support$(EXEEXT): $(check_32_PER_support_OBJECTS) $(check_32_PER_support_DEPENDENCIES) $(EXTRA_check_32_PER_support_DEPENDENCIES) - @rm -f check-32-PER-support$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_support_LINK) $(check_32_PER_support_OBJECTS) $(check_32_PER_support_LDADD) $(LIBS) - -check-32-REAL$(EXEEXT): $(check_32_REAL_OBJECTS) $(check_32_REAL_DEPENDENCIES) $(EXTRA_check_32_REAL_DEPENDENCIES) - @rm -f check-32-REAL$(EXEEXT) - $(AM_V_CCLD)$(check_32_REAL_LINK) $(check_32_REAL_OBJECTS) $(check_32_REAL_LDADD) $(LIBS) - -check-32-UTCTime$(EXEEXT): $(check_32_UTCTime_OBJECTS) $(check_32_UTCTime_DEPENDENCIES) $(EXTRA_check_32_UTCTime_DEPENDENCIES) - @rm -f check-32-UTCTime$(EXEEXT) - $(AM_V_CCLD)$(check_32_UTCTime_LINK) $(check_32_UTCTime_OBJECTS) $(check_32_UTCTime_LDADD) $(LIBS) - -check-32-UTF8String$(EXEEXT): $(check_32_UTF8String_OBJECTS) $(check_32_UTF8String_DEPENDENCIES) $(EXTRA_check_32_UTF8String_DEPENDENCIES) - @rm -f check-32-UTF8String$(EXEEXT) - $(AM_V_CCLD)$(check_32_UTF8String_LINK) $(check_32_UTF8String_OBJECTS) $(check_32_UTF8String_LDADD) $(LIBS) - -check-32-XER$(EXEEXT): $(check_32_XER_OBJECTS) $(check_32_XER_DEPENDENCIES) $(EXTRA_check_32_XER_DEPENDENCIES) - @rm -f check-32-XER$(EXEEXT) - $(AM_V_CCLD)$(check_32_XER_LINK) $(check_32_XER_OBJECTS) $(check_32_XER_LDADD) $(LIBS) - -check-32-ber_tlv_tag$(EXEEXT): $(check_32_ber_tlv_tag_OBJECTS) $(check_32_ber_tlv_tag_DEPENDENCIES) $(EXTRA_check_32_ber_tlv_tag_DEPENDENCIES) - @rm -f check-32-ber_tlv_tag$(EXEEXT) - $(AM_V_CCLD)$(check_32_ber_tlv_tag_LINK) $(check_32_ber_tlv_tag_OBJECTS) $(check_32_ber_tlv_tag_LDADD) $(LIBS) - -check-32-bits$(EXEEXT): $(check_32_bits_OBJECTS) $(check_32_bits_DEPENDENCIES) $(EXTRA_check_32_bits_DEPENDENCIES) - @rm -f check-32-bits$(EXEEXT) - $(AM_V_CCLD)$(check_32_bits_LINK) $(check_32_bits_OBJECTS) $(check_32_bits_LDADD) $(LIBS) - -check-32-length$(EXEEXT): $(check_32_length_OBJECTS) $(check_32_length_DEPENDENCIES) $(EXTRA_check_32_length_DEPENDENCIES) - @rm -f check-32-length$(EXEEXT) - $(AM_V_CCLD)$(check_32_length_LINK) $(check_32_length_OBJECTS) $(check_32_length_LDADD) $(LIBS) - -check-GeneralizedTime$(EXEEXT): $(check_GeneralizedTime_OBJECTS) $(check_GeneralizedTime_DEPENDENCIES) $(EXTRA_check_GeneralizedTime_DEPENDENCIES) - @rm -f check-GeneralizedTime$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_GeneralizedTime_OBJECTS) $(check_GeneralizedTime_LDADD) $(LIBS) - -check-INTEGER$(EXEEXT): $(check_INTEGER_OBJECTS) $(check_INTEGER_DEPENDENCIES) $(EXTRA_check_INTEGER_DEPENDENCIES) - @rm -f check-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_INTEGER_OBJECTS) $(check_INTEGER_LDADD) $(LIBS) - -check-OCTET_STRING$(EXEEXT): $(check_OCTET_STRING_OBJECTS) $(check_OCTET_STRING_DEPENDENCIES) $(EXTRA_check_OCTET_STRING_DEPENDENCIES) - @rm -f check-OCTET_STRING$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OCTET_STRING_OBJECTS) $(check_OCTET_STRING_LDADD) $(LIBS) - -check-OER-INTEGER$(EXEEXT): $(check_OER_INTEGER_OBJECTS) $(check_OER_INTEGER_DEPENDENCIES) $(EXTRA_check_OER_INTEGER_DEPENDENCIES) - @rm -f check-OER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_INTEGER_OBJECTS) $(check_OER_INTEGER_LDADD) $(LIBS) - -check-OER-NativeEnumerated$(EXEEXT): $(check_OER_NativeEnumerated_OBJECTS) $(check_OER_NativeEnumerated_DEPENDENCIES) $(EXTRA_check_OER_NativeEnumerated_DEPENDENCIES) - @rm -f check-OER-NativeEnumerated$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_NativeEnumerated_OBJECTS) $(check_OER_NativeEnumerated_LDADD) $(LIBS) - -check-OER-support$(EXEEXT): $(check_OER_support_OBJECTS) $(check_OER_support_DEPENDENCIES) $(EXTRA_check_OER_support_DEPENDENCIES) - @rm -f check-OER-support$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_support_OBJECTS) $(check_OER_support_LDADD) $(LIBS) - -check-OIDs$(EXEEXT): $(check_OIDs_OBJECTS) $(check_OIDs_DEPENDENCIES) $(EXTRA_check_OIDs_DEPENDENCIES) - @rm -f check-OIDs$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OIDs_OBJECTS) $(check_OIDs_LDADD) $(LIBS) - -check-PER-INTEGER$(EXEEXT): $(check_PER_INTEGER_OBJECTS) $(check_PER_INTEGER_DEPENDENCIES) $(EXTRA_check_PER_INTEGER_DEPENDENCIES) - @rm -f check-PER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_INTEGER_OBJECTS) $(check_PER_INTEGER_LDADD) $(LIBS) - -check-PER-UniversalString$(EXEEXT): $(check_PER_UniversalString_OBJECTS) $(check_PER_UniversalString_DEPENDENCIES) $(EXTRA_check_PER_UniversalString_DEPENDENCIES) - @rm -f check-PER-UniversalString$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_UniversalString_OBJECTS) $(check_PER_UniversalString_LDADD) $(LIBS) - -check-PER-support$(EXEEXT): $(check_PER_support_OBJECTS) $(check_PER_support_DEPENDENCIES) $(EXTRA_check_PER_support_DEPENDENCIES) - @rm -f check-PER-support$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_support_OBJECTS) $(check_PER_support_LDADD) $(LIBS) - -check-REAL$(EXEEXT): $(check_REAL_OBJECTS) $(check_REAL_DEPENDENCIES) $(EXTRA_check_REAL_DEPENDENCIES) - @rm -f check-REAL$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_REAL_OBJECTS) $(check_REAL_LDADD) $(LIBS) - -check-UTCTime$(EXEEXT): $(check_UTCTime_OBJECTS) $(check_UTCTime_DEPENDENCIES) $(EXTRA_check_UTCTime_DEPENDENCIES) - @rm -f check-UTCTime$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_UTCTime_OBJECTS) $(check_UTCTime_LDADD) $(LIBS) - -check-UTF8String$(EXEEXT): $(check_UTF8String_OBJECTS) $(check_UTF8String_DEPENDENCIES) $(EXTRA_check_UTF8String_DEPENDENCIES) - @rm -f check-UTF8String$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_UTF8String_OBJECTS) $(check_UTF8String_LDADD) $(LIBS) - -check-XER$(EXEEXT): $(check_XER_OBJECTS) $(check_XER_DEPENDENCIES) $(EXTRA_check_XER_DEPENDENCIES) - @rm -f check-XER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_XER_OBJECTS) $(check_XER_LDADD) $(LIBS) - -check-ber_tlv_tag$(EXEEXT): $(check_ber_tlv_tag_OBJECTS) $(check_ber_tlv_tag_DEPENDENCIES) $(EXTRA_check_ber_tlv_tag_DEPENDENCIES) - @rm -f check-ber_tlv_tag$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_ber_tlv_tag_OBJECTS) $(check_ber_tlv_tag_LDADD) $(LIBS) - -check-bits$(EXEEXT): $(check_bits_OBJECTS) $(check_bits_DEPENDENCIES) $(EXTRA_check_bits_DEPENDENCIES) - @rm -f check-bits$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_bits_OBJECTS) $(check_bits_LDADD) $(LIBS) - -check-length$(EXEEXT): $(check_length_OBJECTS) $(check_length_DEPENDENCIES) $(EXTRA_check_length_DEPENDENCIES) - @rm -f check-length$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_length_OBJECTS) $(check_length_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/check-GeneralizedTime.Po -include ./$(DEPDIR)/check-INTEGER.Po -include ./$(DEPDIR)/check-OCTET_STRING.Po -include ./$(DEPDIR)/check-OER-INTEGER.Po -include ./$(DEPDIR)/check-OER-NativeEnumerated.Po -include ./$(DEPDIR)/check-OER-support.Po -include ./$(DEPDIR)/check-OIDs.Po -include ./$(DEPDIR)/check-PER-INTEGER.Po -include ./$(DEPDIR)/check-PER-UniversalString.Po -include ./$(DEPDIR)/check-PER-support.Po -include ./$(DEPDIR)/check-REAL.Po -include ./$(DEPDIR)/check-UTCTime.Po -include ./$(DEPDIR)/check-UTF8String.Po -include ./$(DEPDIR)/check-XER.Po -include ./$(DEPDIR)/check-ber_tlv_tag.Po -include ./$(DEPDIR)/check-bits.Po -include ./$(DEPDIR)/check-length.Po -include ./$(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po -include ./$(DEPDIR)/check_32_INTEGER-check-INTEGER.Po -include ./$(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po -include ./$(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po -include ./$(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po -include ./$(DEPDIR)/check_32_OER_support-check-OER-support.Po -include ./$(DEPDIR)/check_32_OIDs-check-OIDs.Po -include ./$(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po -include ./$(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po -include ./$(DEPDIR)/check_32_PER_support-check-PER-support.Po -include ./$(DEPDIR)/check_32_REAL-check-REAL.Po -include ./$(DEPDIR)/check_32_UTCTime-check-UTCTime.Po -include ./$(DEPDIR)/check_32_UTF8String-check-UTF8String.Po -include ./$(DEPDIR)/check_32_XER-check-XER.Po -include ./$(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po -include ./$(DEPDIR)/check_32_bits-check-bits.Po -include ./$(DEPDIR)/check_32_length-check-length.Po - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -check_32_GeneralizedTime-check-GeneralizedTime.o: check-GeneralizedTime.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -MT check_32_GeneralizedTime-check-GeneralizedTime.o -MD -MP -MF $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo -c -o check_32_GeneralizedTime-check-GeneralizedTime.o `test -f 'check-GeneralizedTime.c' || echo '$(srcdir)/'`check-GeneralizedTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po -# $(AM_V_CC)source='check-GeneralizedTime.c' object='check_32_GeneralizedTime-check-GeneralizedTime.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -c -o check_32_GeneralizedTime-check-GeneralizedTime.o `test -f 'check-GeneralizedTime.c' || echo '$(srcdir)/'`check-GeneralizedTime.c - -check_32_GeneralizedTime-check-GeneralizedTime.obj: check-GeneralizedTime.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -MT check_32_GeneralizedTime-check-GeneralizedTime.obj -MD -MP -MF $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo -c -o check_32_GeneralizedTime-check-GeneralizedTime.obj `if test -f 'check-GeneralizedTime.c'; then $(CYGPATH_W) 'check-GeneralizedTime.c'; else $(CYGPATH_W) '$(srcdir)/check-GeneralizedTime.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po -# $(AM_V_CC)source='check-GeneralizedTime.c' object='check_32_GeneralizedTime-check-GeneralizedTime.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -c -o check_32_GeneralizedTime-check-GeneralizedTime.obj `if test -f 'check-GeneralizedTime.c'; then $(CYGPATH_W) 'check-GeneralizedTime.c'; else $(CYGPATH_W) '$(srcdir)/check-GeneralizedTime.c'; fi` - -check_32_INTEGER-check-INTEGER.o: check-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_INTEGER-check-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo -c -o check_32_INTEGER-check-INTEGER.o `test -f 'check-INTEGER.c' || echo '$(srcdir)/'`check-INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo $(DEPDIR)/check_32_INTEGER-check-INTEGER.Po -# $(AM_V_CC)source='check-INTEGER.c' object='check_32_INTEGER-check-INTEGER.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_INTEGER-check-INTEGER.o `test -f 'check-INTEGER.c' || echo '$(srcdir)/'`check-INTEGER.c - -check_32_INTEGER-check-INTEGER.obj: check-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_INTEGER-check-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo -c -o check_32_INTEGER-check-INTEGER.obj `if test -f 'check-INTEGER.c'; then $(CYGPATH_W) 'check-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-INTEGER.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo $(DEPDIR)/check_32_INTEGER-check-INTEGER.Po -# $(AM_V_CC)source='check-INTEGER.c' object='check_32_INTEGER-check-INTEGER.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_INTEGER-check-INTEGER.obj `if test -f 'check-INTEGER.c'; then $(CYGPATH_W) 'check-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-INTEGER.c'; fi` - -check_32_OCTET_STRING-check-OCTET_STRING.o: check-OCTET_STRING.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -MT check_32_OCTET_STRING-check-OCTET_STRING.o -MD -MP -MF $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo -c -o check_32_OCTET_STRING-check-OCTET_STRING.o `test -f 'check-OCTET_STRING.c' || echo '$(srcdir)/'`check-OCTET_STRING.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po -# $(AM_V_CC)source='check-OCTET_STRING.c' object='check_32_OCTET_STRING-check-OCTET_STRING.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -c -o check_32_OCTET_STRING-check-OCTET_STRING.o `test -f 'check-OCTET_STRING.c' || echo '$(srcdir)/'`check-OCTET_STRING.c - -check_32_OCTET_STRING-check-OCTET_STRING.obj: check-OCTET_STRING.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -MT check_32_OCTET_STRING-check-OCTET_STRING.obj -MD -MP -MF $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo -c -o check_32_OCTET_STRING-check-OCTET_STRING.obj `if test -f 'check-OCTET_STRING.c'; then $(CYGPATH_W) 'check-OCTET_STRING.c'; else $(CYGPATH_W) '$(srcdir)/check-OCTET_STRING.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po -# $(AM_V_CC)source='check-OCTET_STRING.c' object='check_32_OCTET_STRING-check-OCTET_STRING.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -c -o check_32_OCTET_STRING-check-OCTET_STRING.obj `if test -f 'check-OCTET_STRING.c'; then $(CYGPATH_W) 'check-OCTET_STRING.c'; else $(CYGPATH_W) '$(srcdir)/check-OCTET_STRING.c'; fi` - -check_32_OER_INTEGER-check-OER-INTEGER.o: check-OER-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_OER_INTEGER-check-OER-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo -c -o check_32_OER_INTEGER-check-OER-INTEGER.o `test -f 'check-OER-INTEGER.c' || echo '$(srcdir)/'`check-OER-INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po -# $(AM_V_CC)source='check-OER-INTEGER.c' object='check_32_OER_INTEGER-check-OER-INTEGER.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_OER_INTEGER-check-OER-INTEGER.o `test -f 'check-OER-INTEGER.c' || echo '$(srcdir)/'`check-OER-INTEGER.c - -check_32_OER_INTEGER-check-OER-INTEGER.obj: check-OER-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_OER_INTEGER-check-OER-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo -c -o check_32_OER_INTEGER-check-OER-INTEGER.obj `if test -f 'check-OER-INTEGER.c'; then $(CYGPATH_W) 'check-OER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-INTEGER.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po -# $(AM_V_CC)source='check-OER-INTEGER.c' object='check_32_OER_INTEGER-check-OER-INTEGER.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_OER_INTEGER-check-OER-INTEGER.obj `if test -f 'check-OER-INTEGER.c'; then $(CYGPATH_W) 'check-OER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-INTEGER.c'; fi` - -check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o: check-OER-NativeEnumerated.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -MT check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o -MD -MP -MF $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o `test -f 'check-OER-NativeEnumerated.c' || echo '$(srcdir)/'`check-OER-NativeEnumerated.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po -# $(AM_V_CC)source='check-OER-NativeEnumerated.c' object='check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o `test -f 'check-OER-NativeEnumerated.c' || echo '$(srcdir)/'`check-OER-NativeEnumerated.c - -check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj: check-OER-NativeEnumerated.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -MT check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj -MD -MP -MF $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj `if test -f 'check-OER-NativeEnumerated.c'; then $(CYGPATH_W) 'check-OER-NativeEnumerated.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-NativeEnumerated.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po -# $(AM_V_CC)source='check-OER-NativeEnumerated.c' object='check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj `if test -f 'check-OER-NativeEnumerated.c'; then $(CYGPATH_W) 'check-OER-NativeEnumerated.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-NativeEnumerated.c'; fi` - -check_32_OER_support-check-OER-support.o: check-OER-support.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -MT check_32_OER_support-check-OER-support.o -MD -MP -MF $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo -c -o check_32_OER_support-check-OER-support.o `test -f 'check-OER-support.c' || echo '$(srcdir)/'`check-OER-support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo $(DEPDIR)/check_32_OER_support-check-OER-support.Po -# $(AM_V_CC)source='check-OER-support.c' object='check_32_OER_support-check-OER-support.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -c -o check_32_OER_support-check-OER-support.o `test -f 'check-OER-support.c' || echo '$(srcdir)/'`check-OER-support.c - -check_32_OER_support-check-OER-support.obj: check-OER-support.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -MT check_32_OER_support-check-OER-support.obj -MD -MP -MF $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo -c -o check_32_OER_support-check-OER-support.obj `if test -f 'check-OER-support.c'; then $(CYGPATH_W) 'check-OER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-support.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo $(DEPDIR)/check_32_OER_support-check-OER-support.Po -# $(AM_V_CC)source='check-OER-support.c' object='check_32_OER_support-check-OER-support.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -c -o check_32_OER_support-check-OER-support.obj `if test -f 'check-OER-support.c'; then $(CYGPATH_W) 'check-OER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-support.c'; fi` - -check_32_OIDs-check-OIDs.o: check-OIDs.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -MT check_32_OIDs-check-OIDs.o -MD -MP -MF $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo -c -o check_32_OIDs-check-OIDs.o `test -f 'check-OIDs.c' || echo '$(srcdir)/'`check-OIDs.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo $(DEPDIR)/check_32_OIDs-check-OIDs.Po -# $(AM_V_CC)source='check-OIDs.c' object='check_32_OIDs-check-OIDs.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -c -o check_32_OIDs-check-OIDs.o `test -f 'check-OIDs.c' || echo '$(srcdir)/'`check-OIDs.c - -check_32_OIDs-check-OIDs.obj: check-OIDs.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -MT check_32_OIDs-check-OIDs.obj -MD -MP -MF $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo -c -o check_32_OIDs-check-OIDs.obj `if test -f 'check-OIDs.c'; then $(CYGPATH_W) 'check-OIDs.c'; else $(CYGPATH_W) '$(srcdir)/check-OIDs.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo $(DEPDIR)/check_32_OIDs-check-OIDs.Po -# $(AM_V_CC)source='check-OIDs.c' object='check_32_OIDs-check-OIDs.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -c -o check_32_OIDs-check-OIDs.obj `if test -f 'check-OIDs.c'; then $(CYGPATH_W) 'check-OIDs.c'; else $(CYGPATH_W) '$(srcdir)/check-OIDs.c'; fi` - -check_32_PER_INTEGER-check-PER-INTEGER.o: check-PER-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_PER_INTEGER-check-PER-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo -c -o check_32_PER_INTEGER-check-PER-INTEGER.o `test -f 'check-PER-INTEGER.c' || echo '$(srcdir)/'`check-PER-INTEGER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po -# $(AM_V_CC)source='check-PER-INTEGER.c' object='check_32_PER_INTEGER-check-PER-INTEGER.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_PER_INTEGER-check-PER-INTEGER.o `test -f 'check-PER-INTEGER.c' || echo '$(srcdir)/'`check-PER-INTEGER.c - -check_32_PER_INTEGER-check-PER-INTEGER.obj: check-PER-INTEGER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_PER_INTEGER-check-PER-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo -c -o check_32_PER_INTEGER-check-PER-INTEGER.obj `if test -f 'check-PER-INTEGER.c'; then $(CYGPATH_W) 'check-PER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-INTEGER.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po -# $(AM_V_CC)source='check-PER-INTEGER.c' object='check_32_PER_INTEGER-check-PER-INTEGER.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_PER_INTEGER-check-PER-INTEGER.obj `if test -f 'check-PER-INTEGER.c'; then $(CYGPATH_W) 'check-PER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-INTEGER.c'; fi` - -check_32_PER_UniversalString-check-PER-UniversalString.o: check-PER-UniversalString.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -MT check_32_PER_UniversalString-check-PER-UniversalString.o -MD -MP -MF $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo -c -o check_32_PER_UniversalString-check-PER-UniversalString.o `test -f 'check-PER-UniversalString.c' || echo '$(srcdir)/'`check-PER-UniversalString.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po -# $(AM_V_CC)source='check-PER-UniversalString.c' object='check_32_PER_UniversalString-check-PER-UniversalString.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -c -o check_32_PER_UniversalString-check-PER-UniversalString.o `test -f 'check-PER-UniversalString.c' || echo '$(srcdir)/'`check-PER-UniversalString.c - -check_32_PER_UniversalString-check-PER-UniversalString.obj: check-PER-UniversalString.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -MT check_32_PER_UniversalString-check-PER-UniversalString.obj -MD -MP -MF $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo -c -o check_32_PER_UniversalString-check-PER-UniversalString.obj `if test -f 'check-PER-UniversalString.c'; then $(CYGPATH_W) 'check-PER-UniversalString.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-UniversalString.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po -# $(AM_V_CC)source='check-PER-UniversalString.c' object='check_32_PER_UniversalString-check-PER-UniversalString.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -c -o check_32_PER_UniversalString-check-PER-UniversalString.obj `if test -f 'check-PER-UniversalString.c'; then $(CYGPATH_W) 'check-PER-UniversalString.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-UniversalString.c'; fi` - -check_32_PER_support-check-PER-support.o: check-PER-support.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -MT check_32_PER_support-check-PER-support.o -MD -MP -MF $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo -c -o check_32_PER_support-check-PER-support.o `test -f 'check-PER-support.c' || echo '$(srcdir)/'`check-PER-support.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo $(DEPDIR)/check_32_PER_support-check-PER-support.Po -# $(AM_V_CC)source='check-PER-support.c' object='check_32_PER_support-check-PER-support.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -c -o check_32_PER_support-check-PER-support.o `test -f 'check-PER-support.c' || echo '$(srcdir)/'`check-PER-support.c - -check_32_PER_support-check-PER-support.obj: check-PER-support.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -MT check_32_PER_support-check-PER-support.obj -MD -MP -MF $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo -c -o check_32_PER_support-check-PER-support.obj `if test -f 'check-PER-support.c'; then $(CYGPATH_W) 'check-PER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-support.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo $(DEPDIR)/check_32_PER_support-check-PER-support.Po -# $(AM_V_CC)source='check-PER-support.c' object='check_32_PER_support-check-PER-support.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -c -o check_32_PER_support-check-PER-support.obj `if test -f 'check-PER-support.c'; then $(CYGPATH_W) 'check-PER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-support.c'; fi` - -check_32_REAL-check-REAL.o: check-REAL.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -MT check_32_REAL-check-REAL.o -MD -MP -MF $(DEPDIR)/check_32_REAL-check-REAL.Tpo -c -o check_32_REAL-check-REAL.o `test -f 'check-REAL.c' || echo '$(srcdir)/'`check-REAL.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_REAL-check-REAL.Tpo $(DEPDIR)/check_32_REAL-check-REAL.Po -# $(AM_V_CC)source='check-REAL.c' object='check_32_REAL-check-REAL.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -c -o check_32_REAL-check-REAL.o `test -f 'check-REAL.c' || echo '$(srcdir)/'`check-REAL.c - -check_32_REAL-check-REAL.obj: check-REAL.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -MT check_32_REAL-check-REAL.obj -MD -MP -MF $(DEPDIR)/check_32_REAL-check-REAL.Tpo -c -o check_32_REAL-check-REAL.obj `if test -f 'check-REAL.c'; then $(CYGPATH_W) 'check-REAL.c'; else $(CYGPATH_W) '$(srcdir)/check-REAL.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_REAL-check-REAL.Tpo $(DEPDIR)/check_32_REAL-check-REAL.Po -# $(AM_V_CC)source='check-REAL.c' object='check_32_REAL-check-REAL.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -c -o check_32_REAL-check-REAL.obj `if test -f 'check-REAL.c'; then $(CYGPATH_W) 'check-REAL.c'; else $(CYGPATH_W) '$(srcdir)/check-REAL.c'; fi` - -check_32_UTCTime-check-UTCTime.o: check-UTCTime.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -MT check_32_UTCTime-check-UTCTime.o -MD -MP -MF $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo -c -o check_32_UTCTime-check-UTCTime.o `test -f 'check-UTCTime.c' || echo '$(srcdir)/'`check-UTCTime.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo $(DEPDIR)/check_32_UTCTime-check-UTCTime.Po -# $(AM_V_CC)source='check-UTCTime.c' object='check_32_UTCTime-check-UTCTime.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -c -o check_32_UTCTime-check-UTCTime.o `test -f 'check-UTCTime.c' || echo '$(srcdir)/'`check-UTCTime.c - -check_32_UTCTime-check-UTCTime.obj: check-UTCTime.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -MT check_32_UTCTime-check-UTCTime.obj -MD -MP -MF $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo -c -o check_32_UTCTime-check-UTCTime.obj `if test -f 'check-UTCTime.c'; then $(CYGPATH_W) 'check-UTCTime.c'; else $(CYGPATH_W) '$(srcdir)/check-UTCTime.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo $(DEPDIR)/check_32_UTCTime-check-UTCTime.Po -# $(AM_V_CC)source='check-UTCTime.c' object='check_32_UTCTime-check-UTCTime.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -c -o check_32_UTCTime-check-UTCTime.obj `if test -f 'check-UTCTime.c'; then $(CYGPATH_W) 'check-UTCTime.c'; else $(CYGPATH_W) '$(srcdir)/check-UTCTime.c'; fi` - -check_32_UTF8String-check-UTF8String.o: check-UTF8String.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -MT check_32_UTF8String-check-UTF8String.o -MD -MP -MF $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo -c -o check_32_UTF8String-check-UTF8String.o `test -f 'check-UTF8String.c' || echo '$(srcdir)/'`check-UTF8String.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo $(DEPDIR)/check_32_UTF8String-check-UTF8String.Po -# $(AM_V_CC)source='check-UTF8String.c' object='check_32_UTF8String-check-UTF8String.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -c -o check_32_UTF8String-check-UTF8String.o `test -f 'check-UTF8String.c' || echo '$(srcdir)/'`check-UTF8String.c - -check_32_UTF8String-check-UTF8String.obj: check-UTF8String.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -MT check_32_UTF8String-check-UTF8String.obj -MD -MP -MF $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo -c -o check_32_UTF8String-check-UTF8String.obj `if test -f 'check-UTF8String.c'; then $(CYGPATH_W) 'check-UTF8String.c'; else $(CYGPATH_W) '$(srcdir)/check-UTF8String.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo $(DEPDIR)/check_32_UTF8String-check-UTF8String.Po -# $(AM_V_CC)source='check-UTF8String.c' object='check_32_UTF8String-check-UTF8String.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -c -o check_32_UTF8String-check-UTF8String.obj `if test -f 'check-UTF8String.c'; then $(CYGPATH_W) 'check-UTF8String.c'; else $(CYGPATH_W) '$(srcdir)/check-UTF8String.c'; fi` - -check_32_XER-check-XER.o: check-XER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -MT check_32_XER-check-XER.o -MD -MP -MF $(DEPDIR)/check_32_XER-check-XER.Tpo -c -o check_32_XER-check-XER.o `test -f 'check-XER.c' || echo '$(srcdir)/'`check-XER.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_XER-check-XER.Tpo $(DEPDIR)/check_32_XER-check-XER.Po -# $(AM_V_CC)source='check-XER.c' object='check_32_XER-check-XER.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -c -o check_32_XER-check-XER.o `test -f 'check-XER.c' || echo '$(srcdir)/'`check-XER.c - -check_32_XER-check-XER.obj: check-XER.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -MT check_32_XER-check-XER.obj -MD -MP -MF $(DEPDIR)/check_32_XER-check-XER.Tpo -c -o check_32_XER-check-XER.obj `if test -f 'check-XER.c'; then $(CYGPATH_W) 'check-XER.c'; else $(CYGPATH_W) '$(srcdir)/check-XER.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_XER-check-XER.Tpo $(DEPDIR)/check_32_XER-check-XER.Po -# $(AM_V_CC)source='check-XER.c' object='check_32_XER-check-XER.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -c -o check_32_XER-check-XER.obj `if test -f 'check-XER.c'; then $(CYGPATH_W) 'check-XER.c'; else $(CYGPATH_W) '$(srcdir)/check-XER.c'; fi` - -check_32_ber_tlv_tag-check-ber_tlv_tag.o: check-ber_tlv_tag.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -MT check_32_ber_tlv_tag-check-ber_tlv_tag.o -MD -MP -MF $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.o `test -f 'check-ber_tlv_tag.c' || echo '$(srcdir)/'`check-ber_tlv_tag.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po -# $(AM_V_CC)source='check-ber_tlv_tag.c' object='check_32_ber_tlv_tag-check-ber_tlv_tag.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.o `test -f 'check-ber_tlv_tag.c' || echo '$(srcdir)/'`check-ber_tlv_tag.c - -check_32_ber_tlv_tag-check-ber_tlv_tag.obj: check-ber_tlv_tag.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -MT check_32_ber_tlv_tag-check-ber_tlv_tag.obj -MD -MP -MF $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.obj `if test -f 'check-ber_tlv_tag.c'; then $(CYGPATH_W) 'check-ber_tlv_tag.c'; else $(CYGPATH_W) '$(srcdir)/check-ber_tlv_tag.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po -# $(AM_V_CC)source='check-ber_tlv_tag.c' object='check_32_ber_tlv_tag-check-ber_tlv_tag.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.obj `if test -f 'check-ber_tlv_tag.c'; then $(CYGPATH_W) 'check-ber_tlv_tag.c'; else $(CYGPATH_W) '$(srcdir)/check-ber_tlv_tag.c'; fi` - -check_32_bits-check-bits.o: check-bits.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -MT check_32_bits-check-bits.o -MD -MP -MF $(DEPDIR)/check_32_bits-check-bits.Tpo -c -o check_32_bits-check-bits.o `test -f 'check-bits.c' || echo '$(srcdir)/'`check-bits.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_bits-check-bits.Tpo $(DEPDIR)/check_32_bits-check-bits.Po -# $(AM_V_CC)source='check-bits.c' object='check_32_bits-check-bits.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -c -o check_32_bits-check-bits.o `test -f 'check-bits.c' || echo '$(srcdir)/'`check-bits.c - -check_32_bits-check-bits.obj: check-bits.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -MT check_32_bits-check-bits.obj -MD -MP -MF $(DEPDIR)/check_32_bits-check-bits.Tpo -c -o check_32_bits-check-bits.obj `if test -f 'check-bits.c'; then $(CYGPATH_W) 'check-bits.c'; else $(CYGPATH_W) '$(srcdir)/check-bits.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_bits-check-bits.Tpo $(DEPDIR)/check_32_bits-check-bits.Po -# $(AM_V_CC)source='check-bits.c' object='check_32_bits-check-bits.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -c -o check_32_bits-check-bits.obj `if test -f 'check-bits.c'; then $(CYGPATH_W) 'check-bits.c'; else $(CYGPATH_W) '$(srcdir)/check-bits.c'; fi` - -check_32_length-check-length.o: check-length.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -MT check_32_length-check-length.o -MD -MP -MF $(DEPDIR)/check_32_length-check-length.Tpo -c -o check_32_length-check-length.o `test -f 'check-length.c' || echo '$(srcdir)/'`check-length.c - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_length-check-length.Tpo $(DEPDIR)/check_32_length-check-length.Po -# $(AM_V_CC)source='check-length.c' object='check_32_length-check-length.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -c -o check_32_length-check-length.o `test -f 'check-length.c' || echo '$(srcdir)/'`check-length.c - -check_32_length-check-length.obj: check-length.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -MT check_32_length-check-length.obj -MD -MP -MF $(DEPDIR)/check_32_length-check-length.Tpo -c -o check_32_length-check-length.obj `if test -f 'check-length.c'; then $(CYGPATH_W) 'check-length.c'; else $(CYGPATH_W) '$(srcdir)/check-length.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_length-check-length.Tpo $(DEPDIR)/check_32_length-check-length.Po -# $(AM_V_CC)source='check-length.c' object='check_32_length-check-length.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -c -o check_32_length-check-length.obj `if test -f 'check-length.c'; then $(CYGPATH_W) 'check-length.c'; else $(CYGPATH_W) '$(srcdir)/check-length.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-ber_tlv_tag.log: check-ber_tlv_tag$(EXEEXT) - @p='check-ber_tlv_tag$(EXEEXT)'; \ - b='check-ber_tlv_tag'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-length.log: check-length$(EXEEXT) - @p='check-length$(EXEEXT)'; \ - b='check-length'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-bits.log: check-bits$(EXEEXT) - @p='check-bits$(EXEEXT)'; \ - b='check-bits'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OIDs.log: check-OIDs$(EXEEXT) - @p='check-OIDs$(EXEEXT)'; \ - b='check-OIDs'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-GeneralizedTime.log: check-GeneralizedTime$(EXEEXT) - @p='check-GeneralizedTime$(EXEEXT)'; \ - b='check-GeneralizedTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OCTET_STRING.log: check-OCTET_STRING$(EXEEXT) - @p='check-OCTET_STRING$(EXEEXT)'; \ - b='check-OCTET_STRING'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-UTF8String.log: check-UTF8String$(EXEEXT) - @p='check-UTF8String$(EXEEXT)'; \ - b='check-UTF8String'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-UTCTime.log: check-UTCTime$(EXEEXT) - @p='check-UTCTime$(EXEEXT)'; \ - b='check-UTCTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-INTEGER.log: check-INTEGER$(EXEEXT) - @p='check-INTEGER$(EXEEXT)'; \ - b='check-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-REAL.log: check-REAL$(EXEEXT) - @p='check-REAL$(EXEEXT)'; \ - b='check-REAL'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-XER.log: check-XER$(EXEEXT) - @p='check-XER$(EXEEXT)'; \ - b='check-XER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-support.log: check-OER-support$(EXEEXT) - @p='check-OER-support$(EXEEXT)'; \ - b='check-OER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-INTEGER.log: check-OER-INTEGER$(EXEEXT) - @p='check-OER-INTEGER$(EXEEXT)'; \ - b='check-OER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-NativeEnumerated.log: check-OER-NativeEnumerated$(EXEEXT) - @p='check-OER-NativeEnumerated$(EXEEXT)'; \ - b='check-OER-NativeEnumerated'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-support.log: check-PER-support$(EXEEXT) - @p='check-PER-support$(EXEEXT)'; \ - b='check-PER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-UniversalString.log: check-PER-UniversalString$(EXEEXT) - @p='check-PER-UniversalString$(EXEEXT)'; \ - b='check-PER-UniversalString'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-INTEGER.log: check-PER-INTEGER$(EXEEXT) - @p='check-PER-INTEGER$(EXEEXT)'; \ - b='check-PER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-ber_tlv_tag.log: check-32-ber_tlv_tag$(EXEEXT) - @p='check-32-ber_tlv_tag$(EXEEXT)'; \ - b='check-32-ber_tlv_tag'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-length.log: check-32-length$(EXEEXT) - @p='check-32-length$(EXEEXT)'; \ - b='check-32-length'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-bits.log: check-32-bits$(EXEEXT) - @p='check-32-bits$(EXEEXT)'; \ - b='check-32-bits'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OIDs.log: check-32-OIDs$(EXEEXT) - @p='check-32-OIDs$(EXEEXT)'; \ - b='check-32-OIDs'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-GeneralizedTime.log: check-32-GeneralizedTime$(EXEEXT) - @p='check-32-GeneralizedTime$(EXEEXT)'; \ - b='check-32-GeneralizedTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OCTET_STRING.log: check-32-OCTET_STRING$(EXEEXT) - @p='check-32-OCTET_STRING$(EXEEXT)'; \ - b='check-32-OCTET_STRING'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-UTF8String.log: check-32-UTF8String$(EXEEXT) - @p='check-32-UTF8String$(EXEEXT)'; \ - b='check-32-UTF8String'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-UTCTime.log: check-32-UTCTime$(EXEEXT) - @p='check-32-UTCTime$(EXEEXT)'; \ - b='check-32-UTCTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-INTEGER.log: check-32-INTEGER$(EXEEXT) - @p='check-32-INTEGER$(EXEEXT)'; \ - b='check-32-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-REAL.log: check-32-REAL$(EXEEXT) - @p='check-32-REAL$(EXEEXT)'; \ - b='check-32-REAL'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-XER.log: check-32-XER$(EXEEXT) - @p='check-32-XER$(EXEEXT)'; \ - b='check-32-XER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-support.log: check-32-OER-support$(EXEEXT) - @p='check-32-OER-support$(EXEEXT)'; \ - b='check-32-OER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-INTEGER.log: check-32-OER-INTEGER$(EXEEXT) - @p='check-32-OER-INTEGER$(EXEEXT)'; \ - b='check-32-OER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-NativeEnumerated.log: check-32-OER-NativeEnumerated$(EXEEXT) - @p='check-32-OER-NativeEnumerated$(EXEEXT)'; \ - b='check-32-OER-NativeEnumerated'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-support.log: check-32-PER-support$(EXEEXT) - @p='check-32-PER-support$(EXEEXT)'; \ - b='check-32-PER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-UniversalString.log: check-32-PER-UniversalString$(EXEEXT) - @p='check-32-PER-UniversalString$(EXEEXT)'; \ - b='check-32-PER-UniversalString'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-INTEGER.log: check-32-PER-INTEGER$(EXEEXT) - @p='check-32-PER-INTEGER$(EXEEXT)'; \ - b='check-32-PER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage: - @echo "Need to reconfigure with --enable-code-coverage" - - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook - @echo "Need to reconfigure with --enable-code-coverage" - - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - - - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -AM_DISTCHECK_CONFIGURE_FLAGS ?= -AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-skeletons/Makefile.am b/tests/tests-skeletons/Makefile.am deleted file mode 100644 index 3cec35d..0000000 --- a/tests/tests-skeletons/Makefile.am +++ /dev/null @@ -1,109 +0,0 @@ -@CODE_COVERAGE_RULES@ - -check_PROGRAMS = \ - check-ber_tlv_tag \ - check-length \ - check-bits \ - check-OIDs \ - check-GeneralizedTime \ - check-OCTET_STRING \ - check-UTF8String \ - check-UTCTime \ - check-INTEGER \ - check-REAL \ - check-XER \ - check-OER-support \ - check-OER-INTEGER \ - check-OER-NativeEnumerated \ - check-PER-support \ - check-PER-UniversalString \ - check-PER-INTEGER - -if EXPLICIT_M32 -check_PROGRAMS += \ - check-32-ber_tlv_tag \ - check-32-length \ - check-32-bits \ - check-32-OIDs \ - check-32-GeneralizedTime \ - check-32-OCTET_STRING \ - check-32-UTF8String \ - check-32-UTCTime \ - check-32-INTEGER \ - check-32-REAL \ - check-32-XER \ - check-32-OER-support \ - check-32-OER-INTEGER \ - check-32-OER-NativeEnumerated \ - check-32-PER-support \ - check-32-PER-UniversalString \ - check-32-PER-INTEGER - -check_32_ber_tlv_tag_CFLAGS=$(CFLAGS_M32) -check_32_ber_tlv_tag_LDADD=$(LDADD_32) -check_32_ber_tlv_tag_SOURCES=check-ber_tlv_tag.c -check_32_length_CFLAGS=$(CFLAGS_M32) -check_32_length_LDADD=$(LDADD_32) -check_32_length_SOURCES=check-length.c -check_32_bits_CFLAGS=$(CFLAGS_M32) -check_32_bits_LDADD=$(LDADD_32) -check_32_bits_SOURCES=check-bits.c -check_32_OIDs_CFLAGS=$(CFLAGS_M32) -check_32_OIDs_LDADD=$(LDADD_32) -check_32_OIDs_SOURCES=check-OIDs.c -check_32_GeneralizedTime_CFLAGS=$(CFLAGS_M32) -check_32_GeneralizedTime_LDADD=$(LDADD_32) -check_32_GeneralizedTime_SOURCES=check-GeneralizedTime.c -check_32_OCTET_STRING_CFLAGS=$(CFLAGS_M32) -check_32_OCTET_STRING_LDADD=$(LDADD_32) -check_32_OCTET_STRING_SOURCES=check-OCTET_STRING.c -check_32_UTF8String_CFLAGS=$(CFLAGS_M32) -check_32_UTF8String_LDADD=$(LDADD_32) -check_32_UTF8String_SOURCES=check-UTF8String.c -check_32_UTCTime_CFLAGS=$(CFLAGS_M32) -check_32_UTCTime_LDADD=$(LDADD_32) -check_32_UTCTime_SOURCES=check-UTCTime.c -check_32_INTEGER_CFLAGS=$(CFLAGS_M32) -check_32_INTEGER_LDADD=$(LDADD_32) -check_32_INTEGER_SOURCES=check-INTEGER.c -check_32_REAL_CFLAGS=$(CFLAGS_M32) -check_32_REAL_LDADD=$(LDADD_32) -check_32_REAL_SOURCES=check-REAL.c -check_32_XER_CFLAGS=$(CFLAGS_M32) -check_32_XER_LDADD=$(LDADD_32) -check_32_XER_SOURCES=check-XER.c -check_32_OER_support_CFLAGS=$(CFLAGS_M32) -check_32_OER_support_LDADD=$(LDADD_32) -check_32_OER_support_SOURCES=check-OER-support.c -check_32_OER_INTEGER_CFLAGS=$(CFLAGS_M32) -check_32_OER_INTEGER_LDADD=$(LDADD_32) -check_32_OER_INTEGER_SOURCES=check-OER-INTEGER.c -check_32_OER_NativeEnumerated_CFLAGS=$(CFLAGS_M32) -check_32_OER_NativeEnumerated_LDADD=$(LDADD_32) -check_32_OER_NativeEnumerated_SOURCES=check-OER-NativeEnumerated.c -check_32_PER_support_CFLAGS=$(CFLAGS_M32) -check_32_PER_support_LDADD=$(LDADD_32) -check_32_PER_support_SOURCES=check-PER-support.c -check_32_PER_UniversalString_CFLAGS=$(CFLAGS_M32) -check_32_PER_UniversalString_LDADD=$(LDADD_32) -check_32_PER_UniversalString_SOURCES=check-PER-UniversalString.c -check_32_PER_INTEGER_CFLAGS=$(CFLAGS_M32) -check_32_PER_INTEGER_LDADD=$(LDADD_32) -check_32_PER_INTEGER_SOURCES=check-PER-INTEGER.c - -LDADD_32 = -lm $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la -endif - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) \ - -I$(top_srcdir)/skeletons $(TESTSUITE_CFLAGS) -LDADD = -lm $(top_builddir)/skeletons/libasn1cskeletons.la - -TESTS = $(check_PROGRAMS) -TESTS_ENVIRONMENT= \ - @ASAN_ENV_FLAGS@ \ - UBSAN_OPTIONS=print_stacktrace=1 \ - ${srcdir}/disable-leak-check-m32.sh - -EXTRA_DIST = disable-leak-check-m32.sh diff --git a/tests/tests-skeletons/Makefile.in b/tests/tests-skeletons/Makefile.in deleted file mode 100644 index ecc5142..0000000 --- a/tests/tests-skeletons/Makefile.in +++ /dev/null @@ -1,2006 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = check-ber_tlv_tag$(EXEEXT) check-length$(EXEEXT) \ - check-bits$(EXEEXT) check-OIDs$(EXEEXT) \ - check-GeneralizedTime$(EXEEXT) check-OCTET_STRING$(EXEEXT) \ - check-UTF8String$(EXEEXT) check-UTCTime$(EXEEXT) \ - check-INTEGER$(EXEEXT) check-REAL$(EXEEXT) check-XER$(EXEEXT) \ - check-OER-support$(EXEEXT) check-OER-INTEGER$(EXEEXT) \ - check-OER-NativeEnumerated$(EXEEXT) check-PER-support$(EXEEXT) \ - check-PER-UniversalString$(EXEEXT) check-PER-INTEGER$(EXEEXT) \ - $(am__EXEEXT_1) -@EXPLICIT_M32_TRUE@am__append_1 = \ -@EXPLICIT_M32_TRUE@ check-32-ber_tlv_tag \ -@EXPLICIT_M32_TRUE@ check-32-length \ -@EXPLICIT_M32_TRUE@ check-32-bits \ -@EXPLICIT_M32_TRUE@ check-32-OIDs \ -@EXPLICIT_M32_TRUE@ check-32-GeneralizedTime \ -@EXPLICIT_M32_TRUE@ check-32-OCTET_STRING \ -@EXPLICIT_M32_TRUE@ check-32-UTF8String \ -@EXPLICIT_M32_TRUE@ check-32-UTCTime \ -@EXPLICIT_M32_TRUE@ check-32-INTEGER \ -@EXPLICIT_M32_TRUE@ check-32-REAL \ -@EXPLICIT_M32_TRUE@ check-32-XER \ -@EXPLICIT_M32_TRUE@ check-32-OER-support \ -@EXPLICIT_M32_TRUE@ check-32-OER-INTEGER \ -@EXPLICIT_M32_TRUE@ check-32-OER-NativeEnumerated \ -@EXPLICIT_M32_TRUE@ check-32-PER-support \ -@EXPLICIT_M32_TRUE@ check-32-PER-UniversalString \ -@EXPLICIT_M32_TRUE@ check-32-PER-INTEGER - -subdir = tests/tests-skeletons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = \ - $(top_srcdir)/m4/ax_check_compile_and_link_flag.m4 \ - $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -@EXPLICIT_M32_TRUE@am__EXEEXT_1 = check-32-ber_tlv_tag$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-length$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-bits$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-OIDs$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-GeneralizedTime$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-OCTET_STRING$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-UTF8String$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-UTCTime$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-INTEGER$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-REAL$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-XER$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-OER-support$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-OER-INTEGER$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-OER-NativeEnumerated$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-PER-support$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-PER-UniversalString$(EXEEXT) \ -@EXPLICIT_M32_TRUE@ check-32-PER-INTEGER$(EXEEXT) -am__check_32_GeneralizedTime_SOURCES_DIST = check-GeneralizedTime.c -@EXPLICIT_M32_TRUE@am_check_32_GeneralizedTime_OBJECTS = check_32_GeneralizedTime-check-GeneralizedTime.$(OBJEXT) -check_32_GeneralizedTime_OBJECTS = \ - $(am_check_32_GeneralizedTime_OBJECTS) -@EXPLICIT_M32_TRUE@am__DEPENDENCIES_1 = $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la -@EXPLICIT_M32_TRUE@check_32_GeneralizedTime_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -check_32_GeneralizedTime_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_INTEGER_SOURCES_DIST = check-INTEGER.c -@EXPLICIT_M32_TRUE@am_check_32_INTEGER_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_INTEGER-check-INTEGER.$(OBJEXT) -check_32_INTEGER_OBJECTS = $(am_check_32_INTEGER_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_INTEGER_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -am__check_32_OCTET_STRING_SOURCES_DIST = check-OCTET_STRING.c -@EXPLICIT_M32_TRUE@am_check_32_OCTET_STRING_OBJECTS = check_32_OCTET_STRING-check-OCTET_STRING.$(OBJEXT) -check_32_OCTET_STRING_OBJECTS = $(am_check_32_OCTET_STRING_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_OCTET_STRING_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_OCTET_STRING_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OER_INTEGER_SOURCES_DIST = check-OER-INTEGER.c -@EXPLICIT_M32_TRUE@am_check_32_OER_INTEGER_OBJECTS = check_32_OER_INTEGER-check-OER-INTEGER.$(OBJEXT) -check_32_OER_INTEGER_OBJECTS = $(am_check_32_OER_INTEGER_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_OER_INTEGER_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_OER_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OER_NativeEnumerated_SOURCES_DIST = \ - check-OER-NativeEnumerated.c -@EXPLICIT_M32_TRUE@am_check_32_OER_NativeEnumerated_OBJECTS = check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.$(OBJEXT) -check_32_OER_NativeEnumerated_OBJECTS = \ - $(am_check_32_OER_NativeEnumerated_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_OER_NativeEnumerated_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_OER_NativeEnumerated_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_OER_support_SOURCES_DIST = check-OER-support.c -@EXPLICIT_M32_TRUE@am_check_32_OER_support_OBJECTS = check_32_OER_support-check-OER-support.$(OBJEXT) -check_32_OER_support_OBJECTS = $(am_check_32_OER_support_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_OER_support_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_OER_support_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_OER_support_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_OIDs_SOURCES_DIST = check-OIDs.c -@EXPLICIT_M32_TRUE@am_check_32_OIDs_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_OIDs-check-OIDs.$(OBJEXT) -check_32_OIDs_OBJECTS = $(am_check_32_OIDs_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_OIDs_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_OIDs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_OIDs_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_PER_INTEGER_SOURCES_DIST = check-PER-INTEGER.c -@EXPLICIT_M32_TRUE@am_check_32_PER_INTEGER_OBJECTS = check_32_PER_INTEGER-check-PER-INTEGER.$(OBJEXT) -check_32_PER_INTEGER_OBJECTS = $(am_check_32_PER_INTEGER_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_PER_INTEGER_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_PER_INTEGER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_PER_UniversalString_SOURCES_DIST = \ - check-PER-UniversalString.c -@EXPLICIT_M32_TRUE@am_check_32_PER_UniversalString_OBJECTS = check_32_PER_UniversalString-check-PER-UniversalString.$(OBJEXT) -check_32_PER_UniversalString_OBJECTS = \ - $(am_check_32_PER_UniversalString_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_PER_UniversalString_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_PER_UniversalString_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_PER_support_SOURCES_DIST = check-PER-support.c -@EXPLICIT_M32_TRUE@am_check_32_PER_support_OBJECTS = check_32_PER_support-check-PER-support.$(OBJEXT) -check_32_PER_support_OBJECTS = $(am_check_32_PER_support_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_PER_support_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_PER_support_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_PER_support_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_REAL_SOURCES_DIST = check-REAL.c -@EXPLICIT_M32_TRUE@am_check_32_REAL_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_REAL-check-REAL.$(OBJEXT) -check_32_REAL_OBJECTS = $(am_check_32_REAL_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_REAL_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_REAL_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_REAL_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_UTCTime_SOURCES_DIST = check-UTCTime.c -@EXPLICIT_M32_TRUE@am_check_32_UTCTime_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_UTCTime-check-UTCTime.$(OBJEXT) -check_32_UTCTime_OBJECTS = $(am_check_32_UTCTime_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_UTCTime_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_UTCTime_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_UTCTime_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -am__check_32_UTF8String_SOURCES_DIST = check-UTF8String.c -@EXPLICIT_M32_TRUE@am_check_32_UTF8String_OBJECTS = check_32_UTF8String-check-UTF8String.$(OBJEXT) -check_32_UTF8String_OBJECTS = $(am_check_32_UTF8String_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_UTF8String_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_UTF8String_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_UTF8String_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_XER_SOURCES_DIST = check-XER.c -@EXPLICIT_M32_TRUE@am_check_32_XER_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_XER-check-XER.$(OBJEXT) -check_32_XER_OBJECTS = $(am_check_32_XER_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_XER_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_XER_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_XER_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_ber_tlv_tag_SOURCES_DIST = check-ber_tlv_tag.c -@EXPLICIT_M32_TRUE@am_check_32_ber_tlv_tag_OBJECTS = check_32_ber_tlv_tag-check-ber_tlv_tag.$(OBJEXT) -check_32_ber_tlv_tag_OBJECTS = $(am_check_32_ber_tlv_tag_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_ber_tlv_tag_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_ber_tlv_tag_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__check_32_bits_SOURCES_DIST = check-bits.c -@EXPLICIT_M32_TRUE@am_check_32_bits_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_bits-check-bits.$(OBJEXT) -check_32_bits_OBJECTS = $(am_check_32_bits_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_bits_DEPENDENCIES = $(am__DEPENDENCIES_1) -check_32_bits_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(check_32_bits_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__check_32_length_SOURCES_DIST = check-length.c -@EXPLICIT_M32_TRUE@am_check_32_length_OBJECTS = \ -@EXPLICIT_M32_TRUE@ check_32_length-check-length.$(OBJEXT) -check_32_length_OBJECTS = $(am_check_32_length_OBJECTS) -@EXPLICIT_M32_TRUE@check_32_length_DEPENDENCIES = \ -@EXPLICIT_M32_TRUE@ $(am__DEPENDENCIES_1) -check_32_length_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(check_32_length_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -check_GeneralizedTime_SOURCES = check-GeneralizedTime.c -check_GeneralizedTime_OBJECTS = check-GeneralizedTime.$(OBJEXT) -check_GeneralizedTime_LDADD = $(LDADD) -check_GeneralizedTime_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_INTEGER_SOURCES = check-INTEGER.c -check_INTEGER_OBJECTS = check-INTEGER.$(OBJEXT) -check_INTEGER_LDADD = $(LDADD) -check_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OCTET_STRING_SOURCES = check-OCTET_STRING.c -check_OCTET_STRING_OBJECTS = check-OCTET_STRING.$(OBJEXT) -check_OCTET_STRING_LDADD = $(LDADD) -check_OCTET_STRING_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_INTEGER_SOURCES = check-OER-INTEGER.c -check_OER_INTEGER_OBJECTS = check-OER-INTEGER.$(OBJEXT) -check_OER_INTEGER_LDADD = $(LDADD) -check_OER_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_NativeEnumerated_SOURCES = check-OER-NativeEnumerated.c -check_OER_NativeEnumerated_OBJECTS = \ - check-OER-NativeEnumerated.$(OBJEXT) -check_OER_NativeEnumerated_LDADD = $(LDADD) -check_OER_NativeEnumerated_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OER_support_SOURCES = check-OER-support.c -check_OER_support_OBJECTS = check-OER-support.$(OBJEXT) -check_OER_support_LDADD = $(LDADD) -check_OER_support_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_OIDs_SOURCES = check-OIDs.c -check_OIDs_OBJECTS = check-OIDs.$(OBJEXT) -check_OIDs_LDADD = $(LDADD) -check_OIDs_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_INTEGER_SOURCES = check-PER-INTEGER.c -check_PER_INTEGER_OBJECTS = check-PER-INTEGER.$(OBJEXT) -check_PER_INTEGER_LDADD = $(LDADD) -check_PER_INTEGER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_UniversalString_SOURCES = check-PER-UniversalString.c -check_PER_UniversalString_OBJECTS = \ - check-PER-UniversalString.$(OBJEXT) -check_PER_UniversalString_LDADD = $(LDADD) -check_PER_UniversalString_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_PER_support_SOURCES = check-PER-support.c -check_PER_support_OBJECTS = check-PER-support.$(OBJEXT) -check_PER_support_LDADD = $(LDADD) -check_PER_support_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_REAL_SOURCES = check-REAL.c -check_REAL_OBJECTS = check-REAL.$(OBJEXT) -check_REAL_LDADD = $(LDADD) -check_REAL_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_UTCTime_SOURCES = check-UTCTime.c -check_UTCTime_OBJECTS = check-UTCTime.$(OBJEXT) -check_UTCTime_LDADD = $(LDADD) -check_UTCTime_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_UTF8String_SOURCES = check-UTF8String.c -check_UTF8String_OBJECTS = check-UTF8String.$(OBJEXT) -check_UTF8String_LDADD = $(LDADD) -check_UTF8String_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_XER_SOURCES = check-XER.c -check_XER_OBJECTS = check-XER.$(OBJEXT) -check_XER_LDADD = $(LDADD) -check_XER_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_ber_tlv_tag_SOURCES = check-ber_tlv_tag.c -check_ber_tlv_tag_OBJECTS = check-ber_tlv_tag.$(OBJEXT) -check_ber_tlv_tag_LDADD = $(LDADD) -check_ber_tlv_tag_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_bits_SOURCES = check-bits.c -check_bits_OBJECTS = check-bits.$(OBJEXT) -check_bits_LDADD = $(LDADD) -check_bits_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -check_length_SOURCES = check-length.c -check_length_OBJECTS = check-length.$(OBJEXT) -check_length_LDADD = $(LDADD) -check_length_DEPENDENCIES = \ - $(top_builddir)/skeletons/libasn1cskeletons.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(check_32_GeneralizedTime_SOURCES) \ - $(check_32_INTEGER_SOURCES) $(check_32_OCTET_STRING_SOURCES) \ - $(check_32_OER_INTEGER_SOURCES) \ - $(check_32_OER_NativeEnumerated_SOURCES) \ - $(check_32_OER_support_SOURCES) $(check_32_OIDs_SOURCES) \ - $(check_32_PER_INTEGER_SOURCES) \ - $(check_32_PER_UniversalString_SOURCES) \ - $(check_32_PER_support_SOURCES) $(check_32_REAL_SOURCES) \ - $(check_32_UTCTime_SOURCES) $(check_32_UTF8String_SOURCES) \ - $(check_32_XER_SOURCES) $(check_32_ber_tlv_tag_SOURCES) \ - $(check_32_bits_SOURCES) $(check_32_length_SOURCES) \ - check-GeneralizedTime.c check-INTEGER.c check-OCTET_STRING.c \ - check-OER-INTEGER.c check-OER-NativeEnumerated.c \ - check-OER-support.c check-OIDs.c check-PER-INTEGER.c \ - check-PER-UniversalString.c check-PER-support.c check-REAL.c \ - check-UTCTime.c check-UTF8String.c check-XER.c \ - check-ber_tlv_tag.c check-bits.c check-length.c -DIST_SOURCES = $(am__check_32_GeneralizedTime_SOURCES_DIST) \ - $(am__check_32_INTEGER_SOURCES_DIST) \ - $(am__check_32_OCTET_STRING_SOURCES_DIST) \ - $(am__check_32_OER_INTEGER_SOURCES_DIST) \ - $(am__check_32_OER_NativeEnumerated_SOURCES_DIST) \ - $(am__check_32_OER_support_SOURCES_DIST) \ - $(am__check_32_OIDs_SOURCES_DIST) \ - $(am__check_32_PER_INTEGER_SOURCES_DIST) \ - $(am__check_32_PER_UniversalString_SOURCES_DIST) \ - $(am__check_32_PER_support_SOURCES_DIST) \ - $(am__check_32_REAL_SOURCES_DIST) \ - $(am__check_32_UTCTime_SOURCES_DIST) \ - $(am__check_32_UTF8String_SOURCES_DIST) \ - $(am__check_32_XER_SOURCES_DIST) \ - $(am__check_32_ber_tlv_tag_SOURCES_DIST) \ - $(am__check_32_bits_SOURCES_DIST) \ - $(am__check_32_length_SOURCES_DIST) check-GeneralizedTime.c \ - check-INTEGER.c check-OCTET_STRING.c check-OER-INTEGER.c \ - check-OER-NativeEnumerated.c check-OER-support.c check-OIDs.c \ - check-PER-INTEGER.c check-PER-UniversalString.c \ - check-PER-support.c check-REAL.c check-UTCTime.c \ - check-UTF8String.c check-XER.c check-ber_tlv_tag.c \ - check-bits.c check-length.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ - $(top_srcdir)/config/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASAN_ENV_FLAGS = @ASAN_ENV_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ - -#Filter out the coverage options from CFLAGS as we don't need -#code coverage data for the tests executables -CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) \ - -I$(top_srcdir)/skeletons $(TESTSUITE_CFLAGS) - -CFLAGS_M32 = @CFLAGS_M32@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBFUZZER_CFLAGS = @LIBFUZZER_CFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANDOC = @PANDOC@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SANITIZER_CFLAGS = @SANITIZER_CFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SKELETONS_CFLAGS = @SKELETONS_CFLAGS@ -STRIP = @STRIP@ -TESTSUITE_CFLAGS = @TESTSUITE_CFLAGS@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -@EXPLICIT_M32_TRUE@check_32_ber_tlv_tag_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_ber_tlv_tag_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_ber_tlv_tag_SOURCES = check-ber_tlv_tag.c -@EXPLICIT_M32_TRUE@check_32_length_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_length_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_length_SOURCES = check-length.c -@EXPLICIT_M32_TRUE@check_32_bits_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_bits_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_bits_SOURCES = check-bits.c -@EXPLICIT_M32_TRUE@check_32_OIDs_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_OIDs_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_OIDs_SOURCES = check-OIDs.c -@EXPLICIT_M32_TRUE@check_32_GeneralizedTime_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_GeneralizedTime_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_GeneralizedTime_SOURCES = check-GeneralizedTime.c -@EXPLICIT_M32_TRUE@check_32_OCTET_STRING_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_OCTET_STRING_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_OCTET_STRING_SOURCES = check-OCTET_STRING.c -@EXPLICIT_M32_TRUE@check_32_UTF8String_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_UTF8String_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_UTF8String_SOURCES = check-UTF8String.c -@EXPLICIT_M32_TRUE@check_32_UTCTime_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_UTCTime_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_UTCTime_SOURCES = check-UTCTime.c -@EXPLICIT_M32_TRUE@check_32_INTEGER_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_INTEGER_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_INTEGER_SOURCES = check-INTEGER.c -@EXPLICIT_M32_TRUE@check_32_REAL_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_REAL_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_REAL_SOURCES = check-REAL.c -@EXPLICIT_M32_TRUE@check_32_XER_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_XER_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_XER_SOURCES = check-XER.c -@EXPLICIT_M32_TRUE@check_32_OER_support_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_OER_support_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_OER_support_SOURCES = check-OER-support.c -@EXPLICIT_M32_TRUE@check_32_OER_INTEGER_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_OER_INTEGER_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_OER_INTEGER_SOURCES = check-OER-INTEGER.c -@EXPLICIT_M32_TRUE@check_32_OER_NativeEnumerated_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_OER_NativeEnumerated_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_OER_NativeEnumerated_SOURCES = check-OER-NativeEnumerated.c -@EXPLICIT_M32_TRUE@check_32_PER_support_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_PER_support_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_PER_support_SOURCES = check-PER-support.c -@EXPLICIT_M32_TRUE@check_32_PER_UniversalString_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_PER_UniversalString_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_PER_UniversalString_SOURCES = check-PER-UniversalString.c -@EXPLICIT_M32_TRUE@check_32_PER_INTEGER_CFLAGS = $(CFLAGS_M32) -@EXPLICIT_M32_TRUE@check_32_PER_INTEGER_LDADD = $(LDADD_32) -@EXPLICIT_M32_TRUE@check_32_PER_INTEGER_SOURCES = check-PER-INTEGER.c -@EXPLICIT_M32_TRUE@LDADD_32 = -lm $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la -LDADD = -lm $(top_builddir)/skeletons/libasn1cskeletons.la -TESTS = $(check_PROGRAMS) -TESTS_ENVIRONMENT = \ - @ASAN_ENV_FLAGS@ \ - UBSAN_OPTIONS=print_stacktrace=1 \ - ${srcdir}/disable-leak-check-m32.sh - -EXTRA_DIST = disable-leak-check-m32.sh -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/tests-skeletons/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/tests-skeletons/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -check-32-GeneralizedTime$(EXEEXT): $(check_32_GeneralizedTime_OBJECTS) $(check_32_GeneralizedTime_DEPENDENCIES) $(EXTRA_check_32_GeneralizedTime_DEPENDENCIES) - @rm -f check-32-GeneralizedTime$(EXEEXT) - $(AM_V_CCLD)$(check_32_GeneralizedTime_LINK) $(check_32_GeneralizedTime_OBJECTS) $(check_32_GeneralizedTime_LDADD) $(LIBS) - -check-32-INTEGER$(EXEEXT): $(check_32_INTEGER_OBJECTS) $(check_32_INTEGER_DEPENDENCIES) $(EXTRA_check_32_INTEGER_DEPENDENCIES) - @rm -f check-32-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_INTEGER_LINK) $(check_32_INTEGER_OBJECTS) $(check_32_INTEGER_LDADD) $(LIBS) - -check-32-OCTET_STRING$(EXEEXT): $(check_32_OCTET_STRING_OBJECTS) $(check_32_OCTET_STRING_DEPENDENCIES) $(EXTRA_check_32_OCTET_STRING_DEPENDENCIES) - @rm -f check-32-OCTET_STRING$(EXEEXT) - $(AM_V_CCLD)$(check_32_OCTET_STRING_LINK) $(check_32_OCTET_STRING_OBJECTS) $(check_32_OCTET_STRING_LDADD) $(LIBS) - -check-32-OER-INTEGER$(EXEEXT): $(check_32_OER_INTEGER_OBJECTS) $(check_32_OER_INTEGER_DEPENDENCIES) $(EXTRA_check_32_OER_INTEGER_DEPENDENCIES) - @rm -f check-32-OER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_INTEGER_LINK) $(check_32_OER_INTEGER_OBJECTS) $(check_32_OER_INTEGER_LDADD) $(LIBS) - -check-32-OER-NativeEnumerated$(EXEEXT): $(check_32_OER_NativeEnumerated_OBJECTS) $(check_32_OER_NativeEnumerated_DEPENDENCIES) $(EXTRA_check_32_OER_NativeEnumerated_DEPENDENCIES) - @rm -f check-32-OER-NativeEnumerated$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_NativeEnumerated_LINK) $(check_32_OER_NativeEnumerated_OBJECTS) $(check_32_OER_NativeEnumerated_LDADD) $(LIBS) - -check-32-OER-support$(EXEEXT): $(check_32_OER_support_OBJECTS) $(check_32_OER_support_DEPENDENCIES) $(EXTRA_check_32_OER_support_DEPENDENCIES) - @rm -f check-32-OER-support$(EXEEXT) - $(AM_V_CCLD)$(check_32_OER_support_LINK) $(check_32_OER_support_OBJECTS) $(check_32_OER_support_LDADD) $(LIBS) - -check-32-OIDs$(EXEEXT): $(check_32_OIDs_OBJECTS) $(check_32_OIDs_DEPENDENCIES) $(EXTRA_check_32_OIDs_DEPENDENCIES) - @rm -f check-32-OIDs$(EXEEXT) - $(AM_V_CCLD)$(check_32_OIDs_LINK) $(check_32_OIDs_OBJECTS) $(check_32_OIDs_LDADD) $(LIBS) - -check-32-PER-INTEGER$(EXEEXT): $(check_32_PER_INTEGER_OBJECTS) $(check_32_PER_INTEGER_DEPENDENCIES) $(EXTRA_check_32_PER_INTEGER_DEPENDENCIES) - @rm -f check-32-PER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_INTEGER_LINK) $(check_32_PER_INTEGER_OBJECTS) $(check_32_PER_INTEGER_LDADD) $(LIBS) - -check-32-PER-UniversalString$(EXEEXT): $(check_32_PER_UniversalString_OBJECTS) $(check_32_PER_UniversalString_DEPENDENCIES) $(EXTRA_check_32_PER_UniversalString_DEPENDENCIES) - @rm -f check-32-PER-UniversalString$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_UniversalString_LINK) $(check_32_PER_UniversalString_OBJECTS) $(check_32_PER_UniversalString_LDADD) $(LIBS) - -check-32-PER-support$(EXEEXT): $(check_32_PER_support_OBJECTS) $(check_32_PER_support_DEPENDENCIES) $(EXTRA_check_32_PER_support_DEPENDENCIES) - @rm -f check-32-PER-support$(EXEEXT) - $(AM_V_CCLD)$(check_32_PER_support_LINK) $(check_32_PER_support_OBJECTS) $(check_32_PER_support_LDADD) $(LIBS) - -check-32-REAL$(EXEEXT): $(check_32_REAL_OBJECTS) $(check_32_REAL_DEPENDENCIES) $(EXTRA_check_32_REAL_DEPENDENCIES) - @rm -f check-32-REAL$(EXEEXT) - $(AM_V_CCLD)$(check_32_REAL_LINK) $(check_32_REAL_OBJECTS) $(check_32_REAL_LDADD) $(LIBS) - -check-32-UTCTime$(EXEEXT): $(check_32_UTCTime_OBJECTS) $(check_32_UTCTime_DEPENDENCIES) $(EXTRA_check_32_UTCTime_DEPENDENCIES) - @rm -f check-32-UTCTime$(EXEEXT) - $(AM_V_CCLD)$(check_32_UTCTime_LINK) $(check_32_UTCTime_OBJECTS) $(check_32_UTCTime_LDADD) $(LIBS) - -check-32-UTF8String$(EXEEXT): $(check_32_UTF8String_OBJECTS) $(check_32_UTF8String_DEPENDENCIES) $(EXTRA_check_32_UTF8String_DEPENDENCIES) - @rm -f check-32-UTF8String$(EXEEXT) - $(AM_V_CCLD)$(check_32_UTF8String_LINK) $(check_32_UTF8String_OBJECTS) $(check_32_UTF8String_LDADD) $(LIBS) - -check-32-XER$(EXEEXT): $(check_32_XER_OBJECTS) $(check_32_XER_DEPENDENCIES) $(EXTRA_check_32_XER_DEPENDENCIES) - @rm -f check-32-XER$(EXEEXT) - $(AM_V_CCLD)$(check_32_XER_LINK) $(check_32_XER_OBJECTS) $(check_32_XER_LDADD) $(LIBS) - -check-32-ber_tlv_tag$(EXEEXT): $(check_32_ber_tlv_tag_OBJECTS) $(check_32_ber_tlv_tag_DEPENDENCIES) $(EXTRA_check_32_ber_tlv_tag_DEPENDENCIES) - @rm -f check-32-ber_tlv_tag$(EXEEXT) - $(AM_V_CCLD)$(check_32_ber_tlv_tag_LINK) $(check_32_ber_tlv_tag_OBJECTS) $(check_32_ber_tlv_tag_LDADD) $(LIBS) - -check-32-bits$(EXEEXT): $(check_32_bits_OBJECTS) $(check_32_bits_DEPENDENCIES) $(EXTRA_check_32_bits_DEPENDENCIES) - @rm -f check-32-bits$(EXEEXT) - $(AM_V_CCLD)$(check_32_bits_LINK) $(check_32_bits_OBJECTS) $(check_32_bits_LDADD) $(LIBS) - -check-32-length$(EXEEXT): $(check_32_length_OBJECTS) $(check_32_length_DEPENDENCIES) $(EXTRA_check_32_length_DEPENDENCIES) - @rm -f check-32-length$(EXEEXT) - $(AM_V_CCLD)$(check_32_length_LINK) $(check_32_length_OBJECTS) $(check_32_length_LDADD) $(LIBS) - -check-GeneralizedTime$(EXEEXT): $(check_GeneralizedTime_OBJECTS) $(check_GeneralizedTime_DEPENDENCIES) $(EXTRA_check_GeneralizedTime_DEPENDENCIES) - @rm -f check-GeneralizedTime$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_GeneralizedTime_OBJECTS) $(check_GeneralizedTime_LDADD) $(LIBS) - -check-INTEGER$(EXEEXT): $(check_INTEGER_OBJECTS) $(check_INTEGER_DEPENDENCIES) $(EXTRA_check_INTEGER_DEPENDENCIES) - @rm -f check-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_INTEGER_OBJECTS) $(check_INTEGER_LDADD) $(LIBS) - -check-OCTET_STRING$(EXEEXT): $(check_OCTET_STRING_OBJECTS) $(check_OCTET_STRING_DEPENDENCIES) $(EXTRA_check_OCTET_STRING_DEPENDENCIES) - @rm -f check-OCTET_STRING$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OCTET_STRING_OBJECTS) $(check_OCTET_STRING_LDADD) $(LIBS) - -check-OER-INTEGER$(EXEEXT): $(check_OER_INTEGER_OBJECTS) $(check_OER_INTEGER_DEPENDENCIES) $(EXTRA_check_OER_INTEGER_DEPENDENCIES) - @rm -f check-OER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_INTEGER_OBJECTS) $(check_OER_INTEGER_LDADD) $(LIBS) - -check-OER-NativeEnumerated$(EXEEXT): $(check_OER_NativeEnumerated_OBJECTS) $(check_OER_NativeEnumerated_DEPENDENCIES) $(EXTRA_check_OER_NativeEnumerated_DEPENDENCIES) - @rm -f check-OER-NativeEnumerated$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_NativeEnumerated_OBJECTS) $(check_OER_NativeEnumerated_LDADD) $(LIBS) - -check-OER-support$(EXEEXT): $(check_OER_support_OBJECTS) $(check_OER_support_DEPENDENCIES) $(EXTRA_check_OER_support_DEPENDENCIES) - @rm -f check-OER-support$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OER_support_OBJECTS) $(check_OER_support_LDADD) $(LIBS) - -check-OIDs$(EXEEXT): $(check_OIDs_OBJECTS) $(check_OIDs_DEPENDENCIES) $(EXTRA_check_OIDs_DEPENDENCIES) - @rm -f check-OIDs$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_OIDs_OBJECTS) $(check_OIDs_LDADD) $(LIBS) - -check-PER-INTEGER$(EXEEXT): $(check_PER_INTEGER_OBJECTS) $(check_PER_INTEGER_DEPENDENCIES) $(EXTRA_check_PER_INTEGER_DEPENDENCIES) - @rm -f check-PER-INTEGER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_INTEGER_OBJECTS) $(check_PER_INTEGER_LDADD) $(LIBS) - -check-PER-UniversalString$(EXEEXT): $(check_PER_UniversalString_OBJECTS) $(check_PER_UniversalString_DEPENDENCIES) $(EXTRA_check_PER_UniversalString_DEPENDENCIES) - @rm -f check-PER-UniversalString$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_UniversalString_OBJECTS) $(check_PER_UniversalString_LDADD) $(LIBS) - -check-PER-support$(EXEEXT): $(check_PER_support_OBJECTS) $(check_PER_support_DEPENDENCIES) $(EXTRA_check_PER_support_DEPENDENCIES) - @rm -f check-PER-support$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_PER_support_OBJECTS) $(check_PER_support_LDADD) $(LIBS) - -check-REAL$(EXEEXT): $(check_REAL_OBJECTS) $(check_REAL_DEPENDENCIES) $(EXTRA_check_REAL_DEPENDENCIES) - @rm -f check-REAL$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_REAL_OBJECTS) $(check_REAL_LDADD) $(LIBS) - -check-UTCTime$(EXEEXT): $(check_UTCTime_OBJECTS) $(check_UTCTime_DEPENDENCIES) $(EXTRA_check_UTCTime_DEPENDENCIES) - @rm -f check-UTCTime$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_UTCTime_OBJECTS) $(check_UTCTime_LDADD) $(LIBS) - -check-UTF8String$(EXEEXT): $(check_UTF8String_OBJECTS) $(check_UTF8String_DEPENDENCIES) $(EXTRA_check_UTF8String_DEPENDENCIES) - @rm -f check-UTF8String$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_UTF8String_OBJECTS) $(check_UTF8String_LDADD) $(LIBS) - -check-XER$(EXEEXT): $(check_XER_OBJECTS) $(check_XER_DEPENDENCIES) $(EXTRA_check_XER_DEPENDENCIES) - @rm -f check-XER$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_XER_OBJECTS) $(check_XER_LDADD) $(LIBS) - -check-ber_tlv_tag$(EXEEXT): $(check_ber_tlv_tag_OBJECTS) $(check_ber_tlv_tag_DEPENDENCIES) $(EXTRA_check_ber_tlv_tag_DEPENDENCIES) - @rm -f check-ber_tlv_tag$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_ber_tlv_tag_OBJECTS) $(check_ber_tlv_tag_LDADD) $(LIBS) - -check-bits$(EXEEXT): $(check_bits_OBJECTS) $(check_bits_DEPENDENCIES) $(EXTRA_check_bits_DEPENDENCIES) - @rm -f check-bits$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_bits_OBJECTS) $(check_bits_LDADD) $(LIBS) - -check-length$(EXEEXT): $(check_length_OBJECTS) $(check_length_DEPENDENCIES) $(EXTRA_check_length_DEPENDENCIES) - @rm -f check-length$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_length_OBJECTS) $(check_length_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-GeneralizedTime.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-OCTET_STRING.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-OER-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-OER-NativeEnumerated.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-OER-support.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-OIDs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-PER-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-PER-UniversalString.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-PER-support.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-REAL.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-UTCTime.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-UTF8String.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-XER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-ber_tlv_tag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-bits.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-length.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_INTEGER-check-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_OER_support-check-OER-support.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_OIDs-check-OIDs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_PER_support-check-PER-support.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_REAL-check-REAL.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_UTCTime-check-UTCTime.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_UTF8String-check-UTF8String.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_XER-check-XER.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_bits-check-bits.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_32_length-check-length.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -check_32_GeneralizedTime-check-GeneralizedTime.o: check-GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -MT check_32_GeneralizedTime-check-GeneralizedTime.o -MD -MP -MF $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo -c -o check_32_GeneralizedTime-check-GeneralizedTime.o `test -f 'check-GeneralizedTime.c' || echo '$(srcdir)/'`check-GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-GeneralizedTime.c' object='check_32_GeneralizedTime-check-GeneralizedTime.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -c -o check_32_GeneralizedTime-check-GeneralizedTime.o `test -f 'check-GeneralizedTime.c' || echo '$(srcdir)/'`check-GeneralizedTime.c - -check_32_GeneralizedTime-check-GeneralizedTime.obj: check-GeneralizedTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -MT check_32_GeneralizedTime-check-GeneralizedTime.obj -MD -MP -MF $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo -c -o check_32_GeneralizedTime-check-GeneralizedTime.obj `if test -f 'check-GeneralizedTime.c'; then $(CYGPATH_W) 'check-GeneralizedTime.c'; else $(CYGPATH_W) '$(srcdir)/check-GeneralizedTime.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Tpo $(DEPDIR)/check_32_GeneralizedTime-check-GeneralizedTime.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-GeneralizedTime.c' object='check_32_GeneralizedTime-check-GeneralizedTime.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_GeneralizedTime_CFLAGS) $(CFLAGS) -c -o check_32_GeneralizedTime-check-GeneralizedTime.obj `if test -f 'check-GeneralizedTime.c'; then $(CYGPATH_W) 'check-GeneralizedTime.c'; else $(CYGPATH_W) '$(srcdir)/check-GeneralizedTime.c'; fi` - -check_32_INTEGER-check-INTEGER.o: check-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_INTEGER-check-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo -c -o check_32_INTEGER-check-INTEGER.o `test -f 'check-INTEGER.c' || echo '$(srcdir)/'`check-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo $(DEPDIR)/check_32_INTEGER-check-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-INTEGER.c' object='check_32_INTEGER-check-INTEGER.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_INTEGER-check-INTEGER.o `test -f 'check-INTEGER.c' || echo '$(srcdir)/'`check-INTEGER.c - -check_32_INTEGER-check-INTEGER.obj: check-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_INTEGER-check-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo -c -o check_32_INTEGER-check-INTEGER.obj `if test -f 'check-INTEGER.c'; then $(CYGPATH_W) 'check-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-INTEGER.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_INTEGER-check-INTEGER.Tpo $(DEPDIR)/check_32_INTEGER-check-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-INTEGER.c' object='check_32_INTEGER-check-INTEGER.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_INTEGER-check-INTEGER.obj `if test -f 'check-INTEGER.c'; then $(CYGPATH_W) 'check-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-INTEGER.c'; fi` - -check_32_OCTET_STRING-check-OCTET_STRING.o: check-OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -MT check_32_OCTET_STRING-check-OCTET_STRING.o -MD -MP -MF $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo -c -o check_32_OCTET_STRING-check-OCTET_STRING.o `test -f 'check-OCTET_STRING.c' || echo '$(srcdir)/'`check-OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OCTET_STRING.c' object='check_32_OCTET_STRING-check-OCTET_STRING.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -c -o check_32_OCTET_STRING-check-OCTET_STRING.o `test -f 'check-OCTET_STRING.c' || echo '$(srcdir)/'`check-OCTET_STRING.c - -check_32_OCTET_STRING-check-OCTET_STRING.obj: check-OCTET_STRING.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -MT check_32_OCTET_STRING-check-OCTET_STRING.obj -MD -MP -MF $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo -c -o check_32_OCTET_STRING-check-OCTET_STRING.obj `if test -f 'check-OCTET_STRING.c'; then $(CYGPATH_W) 'check-OCTET_STRING.c'; else $(CYGPATH_W) '$(srcdir)/check-OCTET_STRING.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Tpo $(DEPDIR)/check_32_OCTET_STRING-check-OCTET_STRING.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OCTET_STRING.c' object='check_32_OCTET_STRING-check-OCTET_STRING.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OCTET_STRING_CFLAGS) $(CFLAGS) -c -o check_32_OCTET_STRING-check-OCTET_STRING.obj `if test -f 'check-OCTET_STRING.c'; then $(CYGPATH_W) 'check-OCTET_STRING.c'; else $(CYGPATH_W) '$(srcdir)/check-OCTET_STRING.c'; fi` - -check_32_OER_INTEGER-check-OER-INTEGER.o: check-OER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_OER_INTEGER-check-OER-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo -c -o check_32_OER_INTEGER-check-OER-INTEGER.o `test -f 'check-OER-INTEGER.c' || echo '$(srcdir)/'`check-OER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-INTEGER.c' object='check_32_OER_INTEGER-check-OER-INTEGER.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_OER_INTEGER-check-OER-INTEGER.o `test -f 'check-OER-INTEGER.c' || echo '$(srcdir)/'`check-OER-INTEGER.c - -check_32_OER_INTEGER-check-OER-INTEGER.obj: check-OER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_OER_INTEGER-check-OER-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo -c -o check_32_OER_INTEGER-check-OER-INTEGER.obj `if test -f 'check-OER-INTEGER.c'; then $(CYGPATH_W) 'check-OER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-INTEGER.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Tpo $(DEPDIR)/check_32_OER_INTEGER-check-OER-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-INTEGER.c' object='check_32_OER_INTEGER-check-OER-INTEGER.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_OER_INTEGER-check-OER-INTEGER.obj `if test -f 'check-OER-INTEGER.c'; then $(CYGPATH_W) 'check-OER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-INTEGER.c'; fi` - -check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o: check-OER-NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -MT check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o -MD -MP -MF $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o `test -f 'check-OER-NativeEnumerated.c' || echo '$(srcdir)/'`check-OER-NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-NativeEnumerated.c' object='check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.o `test -f 'check-OER-NativeEnumerated.c' || echo '$(srcdir)/'`check-OER-NativeEnumerated.c - -check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj: check-OER-NativeEnumerated.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -MT check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj -MD -MP -MF $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj `if test -f 'check-OER-NativeEnumerated.c'; then $(CYGPATH_W) 'check-OER-NativeEnumerated.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-NativeEnumerated.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Tpo $(DEPDIR)/check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-NativeEnumerated.c' object='check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_NativeEnumerated_CFLAGS) $(CFLAGS) -c -o check_32_OER_NativeEnumerated-check-OER-NativeEnumerated.obj `if test -f 'check-OER-NativeEnumerated.c'; then $(CYGPATH_W) 'check-OER-NativeEnumerated.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-NativeEnumerated.c'; fi` - -check_32_OER_support-check-OER-support.o: check-OER-support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -MT check_32_OER_support-check-OER-support.o -MD -MP -MF $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo -c -o check_32_OER_support-check-OER-support.o `test -f 'check-OER-support.c' || echo '$(srcdir)/'`check-OER-support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo $(DEPDIR)/check_32_OER_support-check-OER-support.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-support.c' object='check_32_OER_support-check-OER-support.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -c -o check_32_OER_support-check-OER-support.o `test -f 'check-OER-support.c' || echo '$(srcdir)/'`check-OER-support.c - -check_32_OER_support-check-OER-support.obj: check-OER-support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -MT check_32_OER_support-check-OER-support.obj -MD -MP -MF $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo -c -o check_32_OER_support-check-OER-support.obj `if test -f 'check-OER-support.c'; then $(CYGPATH_W) 'check-OER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-support.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OER_support-check-OER-support.Tpo $(DEPDIR)/check_32_OER_support-check-OER-support.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OER-support.c' object='check_32_OER_support-check-OER-support.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OER_support_CFLAGS) $(CFLAGS) -c -o check_32_OER_support-check-OER-support.obj `if test -f 'check-OER-support.c'; then $(CYGPATH_W) 'check-OER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-OER-support.c'; fi` - -check_32_OIDs-check-OIDs.o: check-OIDs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -MT check_32_OIDs-check-OIDs.o -MD -MP -MF $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo -c -o check_32_OIDs-check-OIDs.o `test -f 'check-OIDs.c' || echo '$(srcdir)/'`check-OIDs.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo $(DEPDIR)/check_32_OIDs-check-OIDs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OIDs.c' object='check_32_OIDs-check-OIDs.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -c -o check_32_OIDs-check-OIDs.o `test -f 'check-OIDs.c' || echo '$(srcdir)/'`check-OIDs.c - -check_32_OIDs-check-OIDs.obj: check-OIDs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -MT check_32_OIDs-check-OIDs.obj -MD -MP -MF $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo -c -o check_32_OIDs-check-OIDs.obj `if test -f 'check-OIDs.c'; then $(CYGPATH_W) 'check-OIDs.c'; else $(CYGPATH_W) '$(srcdir)/check-OIDs.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_OIDs-check-OIDs.Tpo $(DEPDIR)/check_32_OIDs-check-OIDs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-OIDs.c' object='check_32_OIDs-check-OIDs.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_OIDs_CFLAGS) $(CFLAGS) -c -o check_32_OIDs-check-OIDs.obj `if test -f 'check-OIDs.c'; then $(CYGPATH_W) 'check-OIDs.c'; else $(CYGPATH_W) '$(srcdir)/check-OIDs.c'; fi` - -check_32_PER_INTEGER-check-PER-INTEGER.o: check-PER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_PER_INTEGER-check-PER-INTEGER.o -MD -MP -MF $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo -c -o check_32_PER_INTEGER-check-PER-INTEGER.o `test -f 'check-PER-INTEGER.c' || echo '$(srcdir)/'`check-PER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-INTEGER.c' object='check_32_PER_INTEGER-check-PER-INTEGER.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_PER_INTEGER-check-PER-INTEGER.o `test -f 'check-PER-INTEGER.c' || echo '$(srcdir)/'`check-PER-INTEGER.c - -check_32_PER_INTEGER-check-PER-INTEGER.obj: check-PER-INTEGER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -MT check_32_PER_INTEGER-check-PER-INTEGER.obj -MD -MP -MF $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo -c -o check_32_PER_INTEGER-check-PER-INTEGER.obj `if test -f 'check-PER-INTEGER.c'; then $(CYGPATH_W) 'check-PER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-INTEGER.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Tpo $(DEPDIR)/check_32_PER_INTEGER-check-PER-INTEGER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-INTEGER.c' object='check_32_PER_INTEGER-check-PER-INTEGER.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_INTEGER_CFLAGS) $(CFLAGS) -c -o check_32_PER_INTEGER-check-PER-INTEGER.obj `if test -f 'check-PER-INTEGER.c'; then $(CYGPATH_W) 'check-PER-INTEGER.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-INTEGER.c'; fi` - -check_32_PER_UniversalString-check-PER-UniversalString.o: check-PER-UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -MT check_32_PER_UniversalString-check-PER-UniversalString.o -MD -MP -MF $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo -c -o check_32_PER_UniversalString-check-PER-UniversalString.o `test -f 'check-PER-UniversalString.c' || echo '$(srcdir)/'`check-PER-UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-UniversalString.c' object='check_32_PER_UniversalString-check-PER-UniversalString.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -c -o check_32_PER_UniversalString-check-PER-UniversalString.o `test -f 'check-PER-UniversalString.c' || echo '$(srcdir)/'`check-PER-UniversalString.c - -check_32_PER_UniversalString-check-PER-UniversalString.obj: check-PER-UniversalString.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -MT check_32_PER_UniversalString-check-PER-UniversalString.obj -MD -MP -MF $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo -c -o check_32_PER_UniversalString-check-PER-UniversalString.obj `if test -f 'check-PER-UniversalString.c'; then $(CYGPATH_W) 'check-PER-UniversalString.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-UniversalString.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Tpo $(DEPDIR)/check_32_PER_UniversalString-check-PER-UniversalString.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-UniversalString.c' object='check_32_PER_UniversalString-check-PER-UniversalString.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_UniversalString_CFLAGS) $(CFLAGS) -c -o check_32_PER_UniversalString-check-PER-UniversalString.obj `if test -f 'check-PER-UniversalString.c'; then $(CYGPATH_W) 'check-PER-UniversalString.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-UniversalString.c'; fi` - -check_32_PER_support-check-PER-support.o: check-PER-support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -MT check_32_PER_support-check-PER-support.o -MD -MP -MF $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo -c -o check_32_PER_support-check-PER-support.o `test -f 'check-PER-support.c' || echo '$(srcdir)/'`check-PER-support.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo $(DEPDIR)/check_32_PER_support-check-PER-support.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-support.c' object='check_32_PER_support-check-PER-support.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -c -o check_32_PER_support-check-PER-support.o `test -f 'check-PER-support.c' || echo '$(srcdir)/'`check-PER-support.c - -check_32_PER_support-check-PER-support.obj: check-PER-support.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -MT check_32_PER_support-check-PER-support.obj -MD -MP -MF $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo -c -o check_32_PER_support-check-PER-support.obj `if test -f 'check-PER-support.c'; then $(CYGPATH_W) 'check-PER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-support.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_PER_support-check-PER-support.Tpo $(DEPDIR)/check_32_PER_support-check-PER-support.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-PER-support.c' object='check_32_PER_support-check-PER-support.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_PER_support_CFLAGS) $(CFLAGS) -c -o check_32_PER_support-check-PER-support.obj `if test -f 'check-PER-support.c'; then $(CYGPATH_W) 'check-PER-support.c'; else $(CYGPATH_W) '$(srcdir)/check-PER-support.c'; fi` - -check_32_REAL-check-REAL.o: check-REAL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -MT check_32_REAL-check-REAL.o -MD -MP -MF $(DEPDIR)/check_32_REAL-check-REAL.Tpo -c -o check_32_REAL-check-REAL.o `test -f 'check-REAL.c' || echo '$(srcdir)/'`check-REAL.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_REAL-check-REAL.Tpo $(DEPDIR)/check_32_REAL-check-REAL.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-REAL.c' object='check_32_REAL-check-REAL.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -c -o check_32_REAL-check-REAL.o `test -f 'check-REAL.c' || echo '$(srcdir)/'`check-REAL.c - -check_32_REAL-check-REAL.obj: check-REAL.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -MT check_32_REAL-check-REAL.obj -MD -MP -MF $(DEPDIR)/check_32_REAL-check-REAL.Tpo -c -o check_32_REAL-check-REAL.obj `if test -f 'check-REAL.c'; then $(CYGPATH_W) 'check-REAL.c'; else $(CYGPATH_W) '$(srcdir)/check-REAL.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_REAL-check-REAL.Tpo $(DEPDIR)/check_32_REAL-check-REAL.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-REAL.c' object='check_32_REAL-check-REAL.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_REAL_CFLAGS) $(CFLAGS) -c -o check_32_REAL-check-REAL.obj `if test -f 'check-REAL.c'; then $(CYGPATH_W) 'check-REAL.c'; else $(CYGPATH_W) '$(srcdir)/check-REAL.c'; fi` - -check_32_UTCTime-check-UTCTime.o: check-UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -MT check_32_UTCTime-check-UTCTime.o -MD -MP -MF $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo -c -o check_32_UTCTime-check-UTCTime.o `test -f 'check-UTCTime.c' || echo '$(srcdir)/'`check-UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo $(DEPDIR)/check_32_UTCTime-check-UTCTime.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-UTCTime.c' object='check_32_UTCTime-check-UTCTime.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -c -o check_32_UTCTime-check-UTCTime.o `test -f 'check-UTCTime.c' || echo '$(srcdir)/'`check-UTCTime.c - -check_32_UTCTime-check-UTCTime.obj: check-UTCTime.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -MT check_32_UTCTime-check-UTCTime.obj -MD -MP -MF $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo -c -o check_32_UTCTime-check-UTCTime.obj `if test -f 'check-UTCTime.c'; then $(CYGPATH_W) 'check-UTCTime.c'; else $(CYGPATH_W) '$(srcdir)/check-UTCTime.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTCTime-check-UTCTime.Tpo $(DEPDIR)/check_32_UTCTime-check-UTCTime.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-UTCTime.c' object='check_32_UTCTime-check-UTCTime.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTCTime_CFLAGS) $(CFLAGS) -c -o check_32_UTCTime-check-UTCTime.obj `if test -f 'check-UTCTime.c'; then $(CYGPATH_W) 'check-UTCTime.c'; else $(CYGPATH_W) '$(srcdir)/check-UTCTime.c'; fi` - -check_32_UTF8String-check-UTF8String.o: check-UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -MT check_32_UTF8String-check-UTF8String.o -MD -MP -MF $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo -c -o check_32_UTF8String-check-UTF8String.o `test -f 'check-UTF8String.c' || echo '$(srcdir)/'`check-UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo $(DEPDIR)/check_32_UTF8String-check-UTF8String.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-UTF8String.c' object='check_32_UTF8String-check-UTF8String.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -c -o check_32_UTF8String-check-UTF8String.o `test -f 'check-UTF8String.c' || echo '$(srcdir)/'`check-UTF8String.c - -check_32_UTF8String-check-UTF8String.obj: check-UTF8String.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -MT check_32_UTF8String-check-UTF8String.obj -MD -MP -MF $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo -c -o check_32_UTF8String-check-UTF8String.obj `if test -f 'check-UTF8String.c'; then $(CYGPATH_W) 'check-UTF8String.c'; else $(CYGPATH_W) '$(srcdir)/check-UTF8String.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_UTF8String-check-UTF8String.Tpo $(DEPDIR)/check_32_UTF8String-check-UTF8String.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-UTF8String.c' object='check_32_UTF8String-check-UTF8String.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_UTF8String_CFLAGS) $(CFLAGS) -c -o check_32_UTF8String-check-UTF8String.obj `if test -f 'check-UTF8String.c'; then $(CYGPATH_W) 'check-UTF8String.c'; else $(CYGPATH_W) '$(srcdir)/check-UTF8String.c'; fi` - -check_32_XER-check-XER.o: check-XER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -MT check_32_XER-check-XER.o -MD -MP -MF $(DEPDIR)/check_32_XER-check-XER.Tpo -c -o check_32_XER-check-XER.o `test -f 'check-XER.c' || echo '$(srcdir)/'`check-XER.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_XER-check-XER.Tpo $(DEPDIR)/check_32_XER-check-XER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-XER.c' object='check_32_XER-check-XER.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -c -o check_32_XER-check-XER.o `test -f 'check-XER.c' || echo '$(srcdir)/'`check-XER.c - -check_32_XER-check-XER.obj: check-XER.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -MT check_32_XER-check-XER.obj -MD -MP -MF $(DEPDIR)/check_32_XER-check-XER.Tpo -c -o check_32_XER-check-XER.obj `if test -f 'check-XER.c'; then $(CYGPATH_W) 'check-XER.c'; else $(CYGPATH_W) '$(srcdir)/check-XER.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_XER-check-XER.Tpo $(DEPDIR)/check_32_XER-check-XER.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-XER.c' object='check_32_XER-check-XER.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_XER_CFLAGS) $(CFLAGS) -c -o check_32_XER-check-XER.obj `if test -f 'check-XER.c'; then $(CYGPATH_W) 'check-XER.c'; else $(CYGPATH_W) '$(srcdir)/check-XER.c'; fi` - -check_32_ber_tlv_tag-check-ber_tlv_tag.o: check-ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -MT check_32_ber_tlv_tag-check-ber_tlv_tag.o -MD -MP -MF $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.o `test -f 'check-ber_tlv_tag.c' || echo '$(srcdir)/'`check-ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-ber_tlv_tag.c' object='check_32_ber_tlv_tag-check-ber_tlv_tag.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.o `test -f 'check-ber_tlv_tag.c' || echo '$(srcdir)/'`check-ber_tlv_tag.c - -check_32_ber_tlv_tag-check-ber_tlv_tag.obj: check-ber_tlv_tag.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -MT check_32_ber_tlv_tag-check-ber_tlv_tag.obj -MD -MP -MF $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.obj `if test -f 'check-ber_tlv_tag.c'; then $(CYGPATH_W) 'check-ber_tlv_tag.c'; else $(CYGPATH_W) '$(srcdir)/check-ber_tlv_tag.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Tpo $(DEPDIR)/check_32_ber_tlv_tag-check-ber_tlv_tag.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-ber_tlv_tag.c' object='check_32_ber_tlv_tag-check-ber_tlv_tag.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_ber_tlv_tag_CFLAGS) $(CFLAGS) -c -o check_32_ber_tlv_tag-check-ber_tlv_tag.obj `if test -f 'check-ber_tlv_tag.c'; then $(CYGPATH_W) 'check-ber_tlv_tag.c'; else $(CYGPATH_W) '$(srcdir)/check-ber_tlv_tag.c'; fi` - -check_32_bits-check-bits.o: check-bits.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -MT check_32_bits-check-bits.o -MD -MP -MF $(DEPDIR)/check_32_bits-check-bits.Tpo -c -o check_32_bits-check-bits.o `test -f 'check-bits.c' || echo '$(srcdir)/'`check-bits.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_bits-check-bits.Tpo $(DEPDIR)/check_32_bits-check-bits.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-bits.c' object='check_32_bits-check-bits.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -c -o check_32_bits-check-bits.o `test -f 'check-bits.c' || echo '$(srcdir)/'`check-bits.c - -check_32_bits-check-bits.obj: check-bits.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -MT check_32_bits-check-bits.obj -MD -MP -MF $(DEPDIR)/check_32_bits-check-bits.Tpo -c -o check_32_bits-check-bits.obj `if test -f 'check-bits.c'; then $(CYGPATH_W) 'check-bits.c'; else $(CYGPATH_W) '$(srcdir)/check-bits.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_bits-check-bits.Tpo $(DEPDIR)/check_32_bits-check-bits.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-bits.c' object='check_32_bits-check-bits.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_bits_CFLAGS) $(CFLAGS) -c -o check_32_bits-check-bits.obj `if test -f 'check-bits.c'; then $(CYGPATH_W) 'check-bits.c'; else $(CYGPATH_W) '$(srcdir)/check-bits.c'; fi` - -check_32_length-check-length.o: check-length.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -MT check_32_length-check-length.o -MD -MP -MF $(DEPDIR)/check_32_length-check-length.Tpo -c -o check_32_length-check-length.o `test -f 'check-length.c' || echo '$(srcdir)/'`check-length.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_length-check-length.Tpo $(DEPDIR)/check_32_length-check-length.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-length.c' object='check_32_length-check-length.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -c -o check_32_length-check-length.o `test -f 'check-length.c' || echo '$(srcdir)/'`check-length.c - -check_32_length-check-length.obj: check-length.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -MT check_32_length-check-length.obj -MD -MP -MF $(DEPDIR)/check_32_length-check-length.Tpo -c -o check_32_length-check-length.obj `if test -f 'check-length.c'; then $(CYGPATH_W) 'check-length.c'; else $(CYGPATH_W) '$(srcdir)/check-length.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_32_length-check-length.Tpo $(DEPDIR)/check_32_length-check-length.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check-length.c' object='check_32_length-check-length.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(check_32_length_CFLAGS) $(CFLAGS) -c -o check_32_length-check-length.obj `if test -f 'check-length.c'; then $(CYGPATH_W) 'check-length.c'; else $(CYGPATH_W) '$(srcdir)/check-length.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-ber_tlv_tag.log: check-ber_tlv_tag$(EXEEXT) - @p='check-ber_tlv_tag$(EXEEXT)'; \ - b='check-ber_tlv_tag'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-length.log: check-length$(EXEEXT) - @p='check-length$(EXEEXT)'; \ - b='check-length'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-bits.log: check-bits$(EXEEXT) - @p='check-bits$(EXEEXT)'; \ - b='check-bits'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OIDs.log: check-OIDs$(EXEEXT) - @p='check-OIDs$(EXEEXT)'; \ - b='check-OIDs'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-GeneralizedTime.log: check-GeneralizedTime$(EXEEXT) - @p='check-GeneralizedTime$(EXEEXT)'; \ - b='check-GeneralizedTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OCTET_STRING.log: check-OCTET_STRING$(EXEEXT) - @p='check-OCTET_STRING$(EXEEXT)'; \ - b='check-OCTET_STRING'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-UTF8String.log: check-UTF8String$(EXEEXT) - @p='check-UTF8String$(EXEEXT)'; \ - b='check-UTF8String'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-UTCTime.log: check-UTCTime$(EXEEXT) - @p='check-UTCTime$(EXEEXT)'; \ - b='check-UTCTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-INTEGER.log: check-INTEGER$(EXEEXT) - @p='check-INTEGER$(EXEEXT)'; \ - b='check-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-REAL.log: check-REAL$(EXEEXT) - @p='check-REAL$(EXEEXT)'; \ - b='check-REAL'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-XER.log: check-XER$(EXEEXT) - @p='check-XER$(EXEEXT)'; \ - b='check-XER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-support.log: check-OER-support$(EXEEXT) - @p='check-OER-support$(EXEEXT)'; \ - b='check-OER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-INTEGER.log: check-OER-INTEGER$(EXEEXT) - @p='check-OER-INTEGER$(EXEEXT)'; \ - b='check-OER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-OER-NativeEnumerated.log: check-OER-NativeEnumerated$(EXEEXT) - @p='check-OER-NativeEnumerated$(EXEEXT)'; \ - b='check-OER-NativeEnumerated'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-support.log: check-PER-support$(EXEEXT) - @p='check-PER-support$(EXEEXT)'; \ - b='check-PER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-UniversalString.log: check-PER-UniversalString$(EXEEXT) - @p='check-PER-UniversalString$(EXEEXT)'; \ - b='check-PER-UniversalString'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-PER-INTEGER.log: check-PER-INTEGER$(EXEEXT) - @p='check-PER-INTEGER$(EXEEXT)'; \ - b='check-PER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-ber_tlv_tag.log: check-32-ber_tlv_tag$(EXEEXT) - @p='check-32-ber_tlv_tag$(EXEEXT)'; \ - b='check-32-ber_tlv_tag'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-length.log: check-32-length$(EXEEXT) - @p='check-32-length$(EXEEXT)'; \ - b='check-32-length'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-bits.log: check-32-bits$(EXEEXT) - @p='check-32-bits$(EXEEXT)'; \ - b='check-32-bits'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OIDs.log: check-32-OIDs$(EXEEXT) - @p='check-32-OIDs$(EXEEXT)'; \ - b='check-32-OIDs'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-GeneralizedTime.log: check-32-GeneralizedTime$(EXEEXT) - @p='check-32-GeneralizedTime$(EXEEXT)'; \ - b='check-32-GeneralizedTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OCTET_STRING.log: check-32-OCTET_STRING$(EXEEXT) - @p='check-32-OCTET_STRING$(EXEEXT)'; \ - b='check-32-OCTET_STRING'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-UTF8String.log: check-32-UTF8String$(EXEEXT) - @p='check-32-UTF8String$(EXEEXT)'; \ - b='check-32-UTF8String'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-UTCTime.log: check-32-UTCTime$(EXEEXT) - @p='check-32-UTCTime$(EXEEXT)'; \ - b='check-32-UTCTime'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-INTEGER.log: check-32-INTEGER$(EXEEXT) - @p='check-32-INTEGER$(EXEEXT)'; \ - b='check-32-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-REAL.log: check-32-REAL$(EXEEXT) - @p='check-32-REAL$(EXEEXT)'; \ - b='check-32-REAL'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-XER.log: check-32-XER$(EXEEXT) - @p='check-32-XER$(EXEEXT)'; \ - b='check-32-XER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-support.log: check-32-OER-support$(EXEEXT) - @p='check-32-OER-support$(EXEEXT)'; \ - b='check-32-OER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-INTEGER.log: check-32-OER-INTEGER$(EXEEXT) - @p='check-32-OER-INTEGER$(EXEEXT)'; \ - b='check-32-OER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-OER-NativeEnumerated.log: check-32-OER-NativeEnumerated$(EXEEXT) - @p='check-32-OER-NativeEnumerated$(EXEEXT)'; \ - b='check-32-OER-NativeEnumerated'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-support.log: check-32-PER-support$(EXEEXT) - @p='check-32-PER-support$(EXEEXT)'; \ - b='check-32-PER-support'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-UniversalString.log: check-32-PER-UniversalString$(EXEEXT) - @p='check-32-PER-UniversalString$(EXEEXT)'; \ - b='check-32-PER-UniversalString'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-32-PER-INTEGER.log: check-32-PER-INTEGER$(EXEEXT) - @p='check-32-PER-INTEGER$(EXEEXT)'; \ - b='check-32-PER-INTEGER'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -@CODE_COVERAGE_RULES@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/tests-skeletons/check-GeneralizedTime.c b/tests/tests-skeletons/check-GeneralizedTime.c deleted file mode 100644 index 8cbf613..0000000 --- a/tests/tests-skeletons/check-GeneralizedTime.c +++ /dev/null @@ -1,295 +0,0 @@ -#include -#include -#include - -#include -#include /* for pow(3) */ - -static void -recognize(char *time_str, time_t expect, int as_gmt) { - GeneralizedTime_t gt; - struct tm tm; - time_t tloc; - int fv, fp; - - gt.buf = (uint8_t *)time_str; - gt.size = strlen(time_str); - - tloc = asn_GT2time_frac(>, &fv, &fp, &tm, as_gmt); - printf("%s: [%s] -> %ld == %ld\n", - as_gmt?"GMT":"ofs", time_str, (long)tloc, (long)expect); - - if(tloc != -1) { - printf("\t%04d-%02d-%02dT%02d:%02d:%02d.%f(%d/%d)%+03ld%02ld\n", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec, - (double)fv * pow(0.1, fp), fv, fp, - (GMTOFF(tm) / 3600), - labs(GMTOFF(tm) % 3600) - ); - } - assert(tloc == expect); - -#ifdef HAVE_TM_GMTOFF - assert(tloc == -1 || as_gmt == 0 || GMTOFF(tm) == 0); -#endif - - if(!as_gmt) recognize(time_str, expect, 1); -} - -static void -encode(time_t tloc, const char *expect, int force_gmt) { - GeneralizedTime_t *gt; - struct tm tm, *tmp; - - tmp = localtime_r(&tloc, &tm); - assert(tmp); - - gt = asn_time2GT(0, &tm, force_gmt); - if(gt) { - assert(expect); - printf("[%s] vs [%s] (%d)\n", - gt->buf, expect, force_gmt); - assert(gt->size == strlen((char *)gt->buf)); - assert(!strcmp((char *)gt->buf, expect)); - } else { - assert(!expect); - } - ASN_STRUCT_FREE(asn_DEF_GeneralizedTime, gt); -} - -#define RECODE(foo, bar) recode(__LINE__, foo, bar) - -static void -recode(int lineno, char *time_str, const char *expect) { - int frac_value, frac_digits; - GeneralizedTime_t gt; - struct tm tm; - time_t tloc; - char *tz; - - gt.buf = (uint8_t *)time_str; - gt.size = strlen(time_str); - - tloc = asn_GT2time_frac(>, &frac_value, &frac_digits, &tm, 1); - assert(tloc != -1); - - gt.buf = 0; - asn_time2GT_frac(>, &tm, frac_value, frac_digits, 1); - assert(gt.buf); - - tz = getenv("TZ"); - printf("%d: [%s] (%ld) => [%s] == [%s] (%d, %d) (TZ=%s)\n", - lineno, time_str, (long)tloc, gt.buf, - expect, frac_value, frac_digits, - tz ? tz : ""); - - assert(strcmp((char *)gt.buf, expect) == 0); - FREEMEM(gt.buf); -} - -static void -check_fractions() { - GeneralizedTime_t *gt = 0; - struct tm tm; - int fv, fd; - time_t tloc; - - memset(&tm, 0, sizeof tm); - tm.tm_year = 70; - tm.tm_mday = 1; - - gt = asn_time2GT_frac(gt, &tm, -1, -1, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, 0, 0, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, 0, -1, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, -1, 0, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, 10, 0, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - /* Normalization should happen prior to calling the _frac() */ - gt = asn_time2GT_frac(gt, &tm, 55, 2, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000.55Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, 5, 2, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000.05Z") == 0); - - /* Normalization should happen prior calling the _frac() */ - gt = asn_time2GT_frac(gt, &tm, 900, 2, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000Z") == 0); - - gt = asn_time2GT_frac(gt, &tm, 90, 2, 1); - assert(gt); - printf("[%s]\n", gt->buf); - assert(strcmp((char *)gt->buf, "19700101000000.9Z") == 0); - - tloc = asn_GT2time_prec(gt, &fv, 0, 0, 1); - assert(tloc == 0); - assert(fv == 0); - - tloc = asn_GT2time_prec(gt, &fv, 1, 0, 1); - assert(tloc == 0); - assert(fv == 9); - - tloc = asn_GT2time_prec(gt, &fv, 2, 0, 1); - assert(tloc == 0); - assert(fv == 90); - - tloc = asn_GT2time_frac(gt, &fv, &fd, 0, 1); - assert(tloc == 0); - assert(fv == 9); - assert(fd == 1); - - gt->buf[gt->size-1] = '0'; - gt->buf[gt->size++] = 'Z'; - gt->buf[gt->size] = '\0'; - - tloc = asn_GT2time_frac(gt, &fv, &fd, 0, 1); - assert(tloc == 0); - assert(fd == 2); - assert(fv == 90); - - tloc = asn_GT2time_prec(gt, &fv, 1, 0, 1); - assert(tloc == 0); - assert(fv == 9); - - tloc = asn_GT2time_prec(gt, &fv, 100, 0, 1); - assert(tloc == 0); - assert(fv == 0); - - FREEMEM(gt->buf); - FREEMEM(gt); -} - -static void -compare(int lineno, int cmp_control, const char *astr, const char *bstr) { - GeneralizedTime_t a = {(uint8_t *)strdup(astr), strlen(astr), {0, 0, 0, 0, 0}}; - GeneralizedTime_t b = {(uint8_t *)strdup(bstr), strlen(bstr), {0, 0, 0, 0, 0}}; - int cmp_result = asn_DEF_GeneralizedTime.op->compare_struct( - &asn_DEF_GeneralizedTime, &a, &b); - if(cmp_result != cmp_control) { - fprintf(stderr, "%03d: [%s] == [%s] = %d, expected %d\n", lineno, astr, - bstr, cmp_result, cmp_control); - assert(cmp_result == cmp_control); - } - ASN_STRUCT_RESET(asn_DEF_GeneralizedTime, &a); - ASN_STRUCT_RESET(asn_DEF_GeneralizedTime, &b); -} - -int -main(int ac, char **av) { - char *tz = getenv("TZ"); - - (void)av; - - printf("TZ = [%s]\n", tz ? tz : ""); - - check_fractions(); - - recognize("200401250", -1, 0); - recognize("2004012509300", -1, 0); - recognize("20040125093000-", -1, 0); - recognize("20040125093007-0", -1, 0); - recognize("20040125093007-080", -1, 0); - recognize("200401250930.01Z", -1, 0); - - /* These six are from X.690:11.7.5 */ - recognize("19920520240000Z", -1, 0); /* midnight represented incorrectly */ - recognize("19920622123421.0Z", 709216461, 0); /* spurious trailing zeros */ - recognize("19920722132100.30Z", 711811260, 0); /* spurious trailing zeros */ - recognize("19920521000000Z", 706406400, 0); - recognize("19920622123421Z", 709216461, 0); - recognize("19920722132100.3Z", 711811260, 0); - - recognize("20040125093007Z", 1075023007, 0); - recognize("20040125093007+00", 1075023007, 0); - recognize("20040125093007.01+0000", 1075023007, 0); - recognize("20040125093007,1+0000", 1075023007, 0); - recognize("20040125093007-0800", 1075051807, 0); - - recognize("19920722132100.123000123Z", 711811260, 0); - recognize("19920722132100.1230000123Z", 711811260, 0); - recognize("19920722132100.12300000123Z", 711811260, 0); - - encode(1075023007, "20040125093007Z", 1); - - if(ac > 1) { - /* These will be valid only inside PST time zone */ - recognize("20040125093007", 1075051807, 0); - recognize("200401250930", 1075051800, 0); - recognize("20040125093000,01", 1075051800, 0); - recognize("20040125093000,1234", 1075051800, 0); - - encode(1075023007, "20040125013007-0800", 0); - RECODE("20050702123312", "20050702193312Z"); - } - -#if defined(sun) || defined(__sun) || defined(_sun_) || defined(__solaris__) - printf("Solaris does not have a decent timegm() function.\n"); -#else /* !solaris */ - RECODE("20050702123312Z", "20050702123312Z"); - RECODE("20050702123312+01", "20050702113312Z"); - RECODE("20050702123312,0+01", "20050702113312Z"); - RECODE("20050702123312,1+01", "20050702113312.1Z"); - RECODE("20050702123312.01+01", "20050702113312.01Z"); - RECODE("20050702123312.00+01", "20050702113312Z"); - RECODE("20050702123312.30+01", "20050702113312.3Z"); - RECODE("20050702123312,30000+01", "20050702113312.3Z"); - RECODE("20050702123312,300000000+01", "20050702113312.3Z"); - RECODE("20050702123312.123456+01", "20050702113312.123456Z"); - RECODE("20050702123312.1234567+01", "20050702113312.1234567Z"); - RECODE("20050702123312.12345678+01", "20050702113312.12345678Z"); - RECODE("20050702123312.123456789+01", "20050702113312.123456789Z"); - RECODE("20050702123312.1234567891+01", "20050702113312.123456789Z"); - RECODE("20050702123312.2000000000+01", "20050702113312.2Z"); - RECODE("20050702123312.3000000000+01", "20050702113312.3Z"); - RECODE("20050702123312.4000000000+01", "20050702113312.4Z"); - RECODE("20050702123312.5000000000+01", "20050702113312.5Z"); - RECODE("20050702123312.5000000011+01", "20050702113312.500000001Z"); - RECODE("20050702123312.5000000001+01", "20050702113312.5Z"); - RECODE("20050702123312.000000001+01", "20050702113312.000000001Z"); - RECODE("20050702123312.0000000001Z", "20050702123312Z"); - RECODE("20050702123312.0000000100Z", "20050702123312.00000001Z"); - RECODE("20050702123312.0080000010+1056", "20050702013712.008000001Z"); -#endif - - compare(__LINE__, 0, "20040125093007", "20040125093007"); - compare(__LINE__, 0, "20040125093007-0000", "20040125093007Z"); - compare(__LINE__, 1, "20040125093008", "20040125093007"); - compare(__LINE__, 1, "20040125093008-0000", "20040125093007-0000"); - compare(__LINE__, 0, "20040125093008-0000", "20040125093008-0000"); - compare(__LINE__, 1, "20040125093008-0000", "20040125093007Z"); - compare(__LINE__, 0, "20040125093007-0000", "20040125093007+0000"); - compare(__LINE__, 1, "20040125093007-0030", "20040125093007Z"); - compare(__LINE__, -1, "20040125093007+0030", "20040125093007Z"); - - return 0; -} - diff --git a/tests/tests-skeletons/check-INTEGER.c b/tests/tests-skeletons/check-INTEGER.c deleted file mode 100644 index 5beff7d..0000000 --- a/tests/tests-skeletons/check-INTEGER.c +++ /dev/null @@ -1,302 +0,0 @@ -#include -#include - -#include -#include - -#define CHECK_XER(a,b,c) check_xer(__LINE__, a, b, c) - -static char *shared_scratch_start; - -static int _print2buf(const void *buf, size_t size, void *key) { - (void)key; - memcpy(shared_scratch_start, buf, size); - shared_scratch_start += size; - *shared_scratch_start = '\0'; /* 0-termination */ - return 0; -} - -static void -check(uint8_t *buf, size_t size, long check_long, int check_ret) { - char scratch[128]; - char verify[32]; - INTEGER_t val; - uint8_t *buf_end = buf + size; - int ret; - long rlong = 123; - - assert(buf); - assert(size > 0); - - val.buf = buf; - val.size = size; - - printf("Testing: ["); - for(; buf < buf_end; buf++) { - if(buf != val.buf) printf(":"); - printf("%02x", *buf); - } - printf("]: "); - - ret = asn_INTEGER2long(&val, &rlong); - printf(" (%ld, %d) vs (%ld, %d)\n", - rlong, ret, check_long, check_ret); - assert(ret == check_ret); - printf("%ld %ld\n", rlong, check_long); - assert(rlong == check_long); - - if(check_ret == 0) { - INTEGER_t val2; - long rlong2; - val2.buf = 0; - val2.size = 0; - ret = asn_long2INTEGER(&val2, rlong); - assert(ret == 0); - assert(val2.buf); - assert(val2.size <= val.size); /* At least as compact */ - ret = asn_INTEGER2long(&val, &rlong2); - assert(ret == 0); - assert(rlong == rlong2); - ASN_STRUCT_RESET(asn_DEF_INTEGER, &val2); - } - - shared_scratch_start = scratch; - ret = INTEGER_print(&asn_DEF_INTEGER, &val, 0, _print2buf, scratch); - assert(shared_scratch_start < scratch + sizeof(scratch)); - assert(ret == 0); - ret = snprintf(verify, sizeof(verify), "%ld", check_long); - assert(ret < 0 || (size_t)ret < sizeof(verify)); - ret = strcmp(scratch, verify); - printf(" [%s] vs [%s]: %d%s\n", - scratch, verify, ret, - (check_ret == -1)?" (expected to fail)":"" - ); - if(check_ret == -1) { - assert(strcmp(scratch, verify)); - } else { - assert(strcmp(scratch, verify) == 0); - } -} - -static void -check_unsigned(uint8_t *buf, int size, unsigned long check_long, int check_ret) { - char scratch[128]; - char verify[32]; - INTEGER_t val; - uint8_t *buf_end = buf + size; - int ret; - unsigned long rlong = 123; - - assert(buf); - assert(size >= 0); - - val.buf = buf; - val.size = size; - - printf("Testing: ["); - for(; buf < buf_end; buf++) { - if(buf != val.buf) printf(":"); - printf("%02x", *buf); - } - printf("]: "); - - ret = asn_INTEGER2ulong(&val, &rlong); - printf(" (%lu, %d) vs (%lu, %d)\n", - rlong, ret, check_long, check_ret); - assert(ret == check_ret); - assert(rlong == check_long); - - if(check_ret == 0) { - INTEGER_t val2; - unsigned long rlong2; - val2.buf = 0; - val2.size = 0; - ret = asn_ulong2INTEGER(&val2, rlong); - assert(ret == 0); - assert(val2.buf); - if(val2.size > val.size) { - /* At least as compact */ - printf("val2.size=%d, val.size=%d\n", - (int)val2.size, (int)val.size); - assert(val2.size <= val.size); - } - ret = asn_INTEGER2ulong(&val, &rlong2); - assert(ret == 0); - assert(rlong == rlong2); - ASN_STRUCT_RESET(asn_DEF_INTEGER, &val2); - } - - return; - - shared_scratch_start = scratch; - ret = INTEGER_print(&asn_DEF_INTEGER, &val, 0, _print2buf, scratch); - assert(shared_scratch_start < scratch + sizeof(scratch)); - assert(ret == 0); - ret = snprintf(verify, sizeof(verify), "%lu", check_long); - assert(ret < (int)sizeof(verify)); - ret = strcmp(scratch, verify); - printf(" [%s] vs [%s]: %d%s\n", - scratch, verify, ret, - (check_ret == -1)?" (expected to fail)":"" - ); - if(check_ret == -1) { - assert(strcmp(scratch, verify)); - } else { - assert(strcmp(scratch, verify) == 0); - } -} - -static void -check_xer(int lineno, int tofail, char *xmldata, long orig_value) { - INTEGER_t *st = 0; - asn_dec_rval_t rc; - long value; - int ret; - - printf("%03d: [%s] vs %ld: ", lineno, xmldata, orig_value); - - rc = xer_decode(0, &asn_DEF_INTEGER, (void *)&st, - xmldata, strlen(xmldata)); - if(rc.code != RC_OK) { - assert(tofail); - printf("\tfailed, as expected\n"); - ASN_STRUCT_FREE(asn_DEF_INTEGER, st); - return; - } - if(tofail) { - printf("\tnot failed, as expected!\n"); - assert(!tofail); - } - - ret = asn_INTEGER2long(st, &value); - assert(ret == 0); - - printf("\t%ld\n", value); - - assert(value == orig_value); - - ASN_STRUCT_FREE(asn_DEF_INTEGER, st); -} - -int -main() { - uint8_t buf1[] = { 1 }; - uint8_t buf2[] = { 0xff }; - uint8_t buf3[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; - uint8_t buf4[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0 }; - uint8_t buf5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 }; - uint8_t buf6[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - uint8_t buf7[] = { 0xff, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - uint8_t buf8[] = { 0x7f, 0x7e, 0x7d, 0x7c }; - uint8_t buf9[] = { 0, 0x7f, 0x7e, 0x7d, 0x7c }; - uint8_t buf10[] = { 0, 0, 0, 0, 0, 0, 0x7f, 0x7e, 0x7d, 0x7c }; - uint8_t buf11[] = { 0x80, 0, 0, 0 }; - uint8_t buf12[] = { 0x80, 0 }; - uint8_t buf13[] = { 0x80 }; - uint8_t buf14[] = { 0x00, 0x80, 0x00, 0x00 }; - uint8_t buf15[] = { 0x00, 0x80, 0x00, 0x00, 0x00 }; - uint8_t buf16[] = { 0x00, 0xff, 0xff, 0x00, 0x00 }; - -#define UCHECK(buf, val, ret) check_unsigned(buf, sizeof(buf), val, ret) - -#define CHECK(buf, val, ret) check(buf, sizeof(buf), val, ret) - - CHECK(buf1, 1, 0); - CHECK(buf2, -1, 0); - CHECK(buf3, -1, 0); - CHECK(buf4, -16, 0); - CHECK(buf5, 257, 0); - CHECK(buf6, 123, -1); - CHECK(buf7, 123, -1); - CHECK(buf8, 0x7F7E7D7C, 0); - CHECK(buf9, 0x7F7E7D7C, 0); - CHECK(buf10, 0x7F7E7D7C, 0); - UCHECK(buf10, 0x7F7E7D7C, 0); - CHECK(buf11, -2147483647-1, 0); /* 0x80000000 */ - CHECK(buf12, -32768, 0); - CHECK(buf13, -128, 0); - UCHECK(buf14, 0x800000, 0); - UCHECK(buf15, 0x80000000UL, 0); - UCHECK(buf16, 0xffff0000UL, 0); - - CHECK_XER(-1, "", 0); - CHECK_XER(-1, "", 0); - CHECK_XER(-1, " ", 0); - CHECK_XER(-1, "-", 0); - CHECK_XER(-1, "+", 0); - CHECK_XER(-1, "+-", 0); - CHECK_XER(-1, " -", 0); - CHECK_XER(-1, " +", 0); - CHECK_XER(-1, " +-", 0); - CHECK_XER(-1, "- ", 0); - CHECK_XER(-1, "+ ", 0); - CHECK_XER(-1, "+- ", 0); - CHECK_XER(-1, " - ", 0); - CHECK_XER(-1, " + ", 0); - CHECK_XER(-1, " +- ", 0); - CHECK_XER(0, "+0", 0); - CHECK_XER(0, "-0", 0); - CHECK_XER(0, "+1", 1); - CHECK_XER(0, "-1", -1); - CHECK_XER(0, "1", 1); - CHECK_XER(0, "-15", -15); - CHECK_XER(0, "+15", 15); - CHECK_XER(0, "15", 15); - CHECK_XER(0, " 15", 15); - CHECK_XER(0, " 15 ", 15); - CHECK_XER(0, "15 ", 15); - CHECK_XER(0, " +15 ", 15); - CHECK_XER(-1, " +15 -", 0); - CHECK_XER(-1, " +15 1", 0); - CHECK_XER(-1, "+ 15", 0); - CHECK_XER(-1, "1234", 0); - CHECK_XER(-1, "12 34", 0); - CHECK_XER(-1, "12 ", 0); - CHECK_XER(0, "1234", 1234); - CHECK_XER(-1, "1234 5678", 0); - CHECK_XER(0, "-2147483647", -2147483647); - CHECK_XER(0, "-2147483648", -2147483647-1); - CHECK_XER(0, "+2147483647", 2147483647); - CHECK_XER(0, "2147483647", 2147483647); - if(sizeof(long) == 4) { - CHECK_XER( 0, "-2147483648", -2147483648); - CHECK_XER(-1, "-2147483649", 0); - CHECK_XER(-1, "2147483648", 0); - CHECK_XER(-1, "2147483649", 0); - CHECK_XER(-1, "3147483649", 0); - CHECK_XER(-1, "4147483649", 0); - CHECK_XER(-1, "5147483649", 0); /* special */ - CHECK_XER(-1, "9147483649", 0); - CHECK_XER(-1, "9999999999", 0); - CHECK_XER(-1, "-5147483649", 0);/* special */ - CHECK_XER(-1, "-9147483649", 0); - CHECK_XER(-1, "-9999999999", 0); - } -#ifdef TEST_64BIT - if(sizeof(long) == 8) { - CHECK_XER(0, "2147483648", 2147483648); - CHECK_XER(0, "2147483649", 2147483649); - CHECK_XER(0, "3147483649", 3147483649); - CHECK_XER(0, "4147483649", 4147483649); - CHECK_XER(0, "5147483649", 5147483649); - CHECK_XER(0, "9147483649", 9147483649); - CHECK_XER(0, "9999999999", 9999999999); - CHECK_XER(0, "9223372036854775807", 9223372036854775807); - CHECK_XER(-1, "9223372036854775808", 0); - CHECK_XER(-1, "10223372036854775807", 0); - CHECK_XER(-1, "50223372036854775807", 0); - CHECK_XER(-1, "100223372036854775807", 0); - CHECK_XER(-1, "500223372036854775807", 0); - CHECK_XER(0, "-9223372036854775808", -9223372036854775807-1); - CHECK_XER(-1, "-9223372036854775809", 0); - CHECK_XER(-1, "-10223372036854775807", 0); - CHECK_XER(-1, "-50223372036854775807", 0); - CHECK_XER(-1, "-100223372036854775807", 0); - CHECK_XER(-1, "-500223372036854775807", 0); - } else { - assert(sizeof(long) == 8); - } -#endif - - return 0; -} diff --git a/tests/tests-skeletons/check-OCTET_STRING.c b/tests/tests-skeletons/check-OCTET_STRING.c deleted file mode 100644 index 2581cdc..0000000 --- a/tests/tests-skeletons/check-OCTET_STRING.c +++ /dev/null @@ -1,154 +0,0 @@ -#include -#include -#include -#include - -#include -#include - -enum encoding_type { HEX, BINARY, UTF8 }; - -#define check(t, tag, buf, verify) check_impl(__LINE__, t, tag, buf, verify) - -static void -check_impl(int lineno, enum encoding_type type, char *tagname, char *xmlbuf, char *verify) { - size_t xmllen = strlen(xmlbuf); - size_t verlen = verify ? strlen(verify) : 0; - asn_TYPE_descriptor_t *td = &asn_DEF_OCTET_STRING; - OCTET_STRING_t *st = 0; - OCTET_STRING_t **stp = &st; - asn_dec_rval_t rc; - xer_type_decoder_f *decoder = 0; - - switch(type) { - case HEX: - decoder = OCTET_STRING_decode_xer_hex; - break; - case BINARY: - td = &asn_DEF_BIT_STRING; - decoder = OCTET_STRING_decode_xer_binary; - break; - case UTF8: - decoder = OCTET_STRING_decode_xer_utf8; - break; - } - - rc = decoder(0, td, (void **)stp, tagname, xmlbuf, xmllen); - printf("%03d: [%s] => [%s]:%zu vs [%s]:%zu, code %d\n", - lineno, xmlbuf, - st ? (const char *)st->buf : "", st ? st->size : 0, - verify ? verify : "", verlen, rc.code); - - if(verify) { - assert(rc.code == RC_OK); - assert(st); - assert(st->buf); - assert(st->size == verlen); - assert(!memcmp(st->buf, verify, verlen)); - } else { - assert(rc.code != RC_OK); - } - - ASN_STRUCT_FREE(*td, st); -} - -static char buf[1024]; - -static int -write_buf(const void *buffer, size_t size, void *key) { - size_t *off = key; - assert(*off + size < sizeof(buf)); - memcpy(buf + *off, buffer, size); - *off += size; - return 0; -} - -static void -encode(char *orig, char *encoded) { - OCTET_STRING_t os; - size_t written = 0; - asn_enc_rval_t er; - - memset(&os, 0, sizeof(os)); - - OCTET_STRING_fromString(&os, orig); - - er = OCTET_STRING_encode_xer_utf8(&asn_DEF_OCTET_STRING, &os, - 0, 0, write_buf, &written); - assert(er.encoded >= 0); - buf[er.encoded] = '\0'; - printf("Orig: [%s], encoded: [%s], check [%s]\n", - orig, buf, encoded); - assert(strcmp(buf, encoded) == 0); - ASN_STRUCT_RESET(asn_DEF_OCTET_STRING, &os); -} - -int -main() { - - check(HEX, 0, "41424", - "AB@"); - - check(HEX, 0, "\n" - "41424", - "AB@"); - - check(HEX, 0, " 4 1 4 2 4 5 44 ", - "ABED"); - - /* Some hard cases */ - check(HEX, "z", "40", "@"); - check(HEX, "z", "40", "@"); - check(HEX, "z", ">40", 0); - check(HEX, "z", "40", "@"); - check(HEX, "z", ">40", 0); - - check(HEX, "z", "ignored40stuff", "@"); - - check(HEX, "tag", "4", "@"); - check(HEX, "a-z", "7 375 73 6c6 96 b", "suslik"); - - /* This one has a comment in a not-yet-supported place */ - /* check(HEX, "a-z", "73 75 73 6c 69 6b", - "suslik"); */ - - check(BINARY, "tag", "", ""); - check(BINARY, "tag", "blah", 0); - check(BINARY, "tag", "01000001", "A"); - check(BINARY, "tag", "01000 00 101 00001", "AB"); - - check(UTF8, 0, "one, two, three", - "one, two, three"); - - check(UTF8, "z", "", ""); - check(UTF8, "z", "<&>", "<&>"); - check(UTF8, "z", "a<b&c>d", "ad"); - check(UTF8, "z", "a<", "a<"); - check(UTF8, "z", "a&sdfsdfsdf;b", "a&sdfsdfsdf;b"); - check(UTF8, "z", "a b", "a b"); - check(UTF8, "z", "a b", "a b"); - check(UTF8, "z", "a繃b", "a\347\271\203b"); - check(UTF8, "z", "a俄|", "a\xe4\xbf\x84|"); - /* Last unicode point */ - check(UTF8, "z", "a􏿿|", "a\xf4\x8f\xbf\xbf|"); - check(UTF8, "z", "a􏿿|", "a\xf4\x8f\xbf\xbf|"); - /* One past the last unicode point */ - check(UTF8, "z", "a�|", "a�|"); - check(UTF8, "z", "a�|", "a�|"); - check(UTF8, "z", "a�b", "a�b"); - check(UTF8, "z", "a�b", "a�b"); - check(UTF8, "z", "", "aĬ"); - check(UTF8, "z", "a&#-300;", "a&#-300;"); - check(UTF8, "z", "ab", "a\014b"); - check(UTF8, "z", "ab", "a\001b"); - check(UTF8, "z", "a", "a\007"); - - encode("", ""); - encode("a", "a"); - encode("a\nb", "a\nb"); - encode("a\bc", "ac"); - encode("ab\01c\ndef\r\n", "abc\ndef\r\n"); - - return 0; -} - diff --git a/tests/tests-skeletons/check-OER-INTEGER.c b/tests/tests-skeletons/check-OER-INTEGER.c deleted file mode 100644 index 53c7ddd..0000000 --- a/tests/tests-skeletons/check-OER-INTEGER.c +++ /dev/null @@ -1,296 +0,0 @@ -#include -#include - -#include -#include - -#define CHECK_DECODE(code, a, b, c, d, e, f) check_decode(__LINE__, code, a, b, c, d, e, f) -#define CHECK_ROUNDTRIP(a, b, c) check_roundtrip(__LINE__, a, b, c); -#define CHECK_ENCODE_OK(a, b, c) check_encode(__LINE__, 0, a, b, c) -#define CHECK_ENCODE_BAD(a, b, c) check_encode(__LINE__, 1, a, b, c); - -static asn_oer_constraints_t * -setup_constraints(unsigned width, unsigned positive) { - static struct asn_oer_constraints_s empty_constraints; - asn_oer_constraints_t *constraints = &empty_constraints; - asn_oer_constraint_number_t *ct_value = &constraints->value; - - memset(&empty_constraints, 0, sizeof(empty_constraints)); - - /* Setup integer constraints as requested */ - ct_value->width = width; - ct_value->positive = positive; - - return constraints; -} - -static void -check_decode(int lineno, enum asn_dec_rval_code_e code, intmax_t control, const char *buf, size_t size, const char *dummy, unsigned width, unsigned positive) { - static char *code_s[] = { "RC_OK", "RC_WMORE", "RC_FAIL", "" }; - - fprintf(stderr, "\n%d: OER decode (control %" PRIdMAX ")\n", lineno, control); - - INTEGER_t *st = NULL; - asn_dec_rval_t ret; - asn_oer_constraints_t *constraints = setup_constraints(width, positive); - - fprintf(stderr, "%d: buf[%zu]={%d, %d, ...}\n", lineno, size, - size <= 0 ? -1 : ((const uint8_t *)buf)[0], - size <= 1 ? -1 : ((const uint8_t *)buf)[1]); - - (void)dummy; - - ret = asn_DEF_INTEGER.op->oer_decoder(0, &asn_DEF_INTEGER, constraints, - (void **)&st, buf, size); - if(ret.code != RC_OK) { - /* Basic OER decode does not work */ - fprintf(stderr, "%d: Failed oer_decode(ctl=%" PRIdMAX ", size=%zu)\n", - lineno, control, size); - if(ret.code == code) { - fprintf(stderr, " (That was expected)\n"); - ASN_STRUCT_FREE(asn_DEF_INTEGER, st); - return; - } else { - fprintf( - stderr, " Unexpected return code %s (%d) expected %s\n", - code_s[(unsigned)ret.code <= RC_FAIL ? RC_FAIL : (RC_FAIL + 1)], - (int)ret.code, code_s[code]); - assert(ret.code == code); - } - } else { - intmax_t outcome; - if(asn_INTEGER2imax(st, &outcome) != 0) { - /* Result of decode is structurally incorrect */ - fprintf(stderr, - "%d: Failed to convert INTEGER 2 imax; structurally " - "incorrect INTEGER\n", - lineno); - assert(!"Unreachable"); - } else if(outcome != control) { - /* Decoded value is wrong */ - fprintf(stderr, - "%d: Decode result %" PRIdMAX " is not expected %" PRIdMAX - "\n", - lineno, outcome, control); - assert(outcome == control); - } - } - - fprintf(stderr, "%d: Decode result %" PRIdMAX "\n", lineno, control); - ASN_STRUCT_FREE(asn_DEF_INTEGER, st); -} - -static void -dump_data(int lineno, const uint8_t *buf, size_t size) { - const uint8_t *p = buf; - const uint8_t *end = buf + size; - - fprintf(stderr, "%d: Encoded: [", lineno); - - for(; p < end; p++) { - fprintf(stderr, "\\x%02x", *(const unsigned char *)p); - } - fprintf(stderr, "] (%zu bytes)\n", size); -} - -static void -check_roundtrip(int lineno, intmax_t value, intmax_t lower_bound, intmax_t upper_bound) { - uint8_t tmpbuf[32]; - size_t tmpbuf_size; - - fprintf(stderr, "\n%d: OER round-trip value %" PRIdMAX "\n", lineno, value); - - INTEGER_t *stOut = (INTEGER_t *)calloc(1, sizeof(*stOut)); - INTEGER_t *stIn = NULL; - asn_enc_rval_t er; - asn_dec_rval_t ret; - asn_oer_constraints_t *constraints = - setup_constraints(lower_bound, upper_bound); - - if(asn_imax2INTEGER(stOut, value) == -1) { - assert(!"Unreachable imax2INTEGER failure"); - } else { - assert(stOut->buf != NULL); - assert(stOut->size != 0); - } - - er = oer_encode_to_buffer(&asn_DEF_INTEGER, constraints, stOut, tmpbuf, - sizeof(tmpbuf)); - if(er.encoded == -1) { - fprintf(stderr, "%d: OER encode failed for %s\n", lineno, - er.failed_type ? er.failed_type->name : ""); - assert(er.encoded != -1); - } - tmpbuf_size = er.encoded; - ASN_STRUCT_FREE(asn_DEF_INTEGER, stOut); - - dump_data(lineno, tmpbuf, tmpbuf_size); - - ret = asn_DEF_INTEGER.op->oer_decoder(0, &asn_DEF_INTEGER, constraints, - (void **)&stIn, tmpbuf, tmpbuf_size); - if(ret.code != RC_OK) { - /* Basic OER decode does not work */ - fprintf(stderr, "%d: Failed oer_decode(value=%" PRIdMAX ", size=%zu)\n", - lineno, value, tmpbuf_size); - assert(ret.code == 0); - } else { - intmax_t outcome; - if(asn_INTEGER2imax(stIn, &outcome) != 0) { - /* Result of decode is structurally incorrect */ - fprintf(stderr, - "%d: Failed to convert INTEGER 2 imax; structurally " - "incorrect INTEGER\n", - lineno); - assert(!"Unreachable"); - } else if(outcome != value) { - /* Decoded value is wrong */ - fprintf(stderr, - "%d: Decode result %" PRIdMAX " is not expected %" PRIdMAX - "\n", - lineno, outcome, value); - assert(outcome == value); - } - } - - ASN_STRUCT_FREE(asn_DEF_INTEGER, stIn); - fprintf(stderr, "%d: Decode result %" PRIdMAX "\n", lineno, value); -} - -static void -check_encode(int lineno, int bad, intmax_t value, unsigned width, unsigned positive) { - uint8_t tmpbuf[32]; - - fprintf(stderr, "\n%d: OER encode value %" PRIdMAX "\n", lineno, value); - - INTEGER_t *stOut = (INTEGER_t *)calloc(1, sizeof(*stOut)); - asn_enc_rval_t er; - asn_oer_constraints_t *constraints = setup_constraints(width, positive); - - if(asn_imax2INTEGER(stOut, value) == -1) { - assert(!"Unreachable imax2INTEGER failure"); - } else { - assert(stOut->buf != NULL); - assert(stOut->size != 0); - } - - er = oer_encode_to_buffer(&asn_DEF_INTEGER, constraints, stOut, tmpbuf, - sizeof(tmpbuf)); - if(er.encoded == -1) { - fprintf(stderr, "%d: OER encode failed for %s%s\n", lineno, - er.failed_type ? er.failed_type->name : "", - bad ? " (expected)" : ""); - if(!bad) { - assert(er.encoded != -1); - } - } else { - dump_data(lineno, tmpbuf, er.encoded); - if(bad) { - assert(er.encoded == -1); - } - } - ASN_STRUCT_FREE(asn_DEF_INTEGER, stOut); -} - -int -main() { - CHECK_DECODE(RC_WMORE, 0, "", 0, "bounds=", 0, 0); - CHECK_DECODE(RC_FAIL, 0, "\x00", 1, "bounds=", 0, 0); - CHECK_DECODE(RC_WMORE, 0, "", 0, "bounds=", 1, 0); - CHECK_DECODE(RC_WMORE, 0, "", 0, "bounds=", 1, 1); - CHECK_DECODE(RC_OK, 0, "\x00", 1, "bounds=", 1, 1); - CHECK_DECODE(RC_OK, 0, "\x00", 1, "bounds=", 1, 0); - - CHECK_DECODE(RC_OK, 0, "\x00", 1, "bounds=", 1, 0); - CHECK_DECODE(RC_OK, 1, "\x01", 1, "bounds=", 1, 0); - CHECK_DECODE(RC_OK, -1, "\xff", 1, "bounds=", 1, 0); - CHECK_DECODE(RC_OK, -1, "\xff", 1, "bounds=", 1, 0); - CHECK_DECODE(RC_OK, 127, "\x7f", 1, "bounds=", 1, 1); - CHECK_DECODE(RC_OK, 255, "\xff", 1, "bounds=", 1, 1); - CHECK_DECODE(RC_OK, 255, "\xff", 1, "bounds=", 1, 1); - CHECK_DECODE(RC_WMORE, 0, "\xff", 1, "bounds=", 2, 1); - CHECK_DECODE(RC_OK, 65535, "\xff\xff", 2, "bounds=", 2, 1); - - CHECK_DECODE(RC_OK, 0, "\x01\x00", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, 1, "\x01\x01", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, -1, "\x1\xff", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, -1, "\x1\xff", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, -1, "\x1\xff", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, 255, "\x1\xff", 2, "bounds=", 0, 1); - CHECK_DECODE(RC_WMORE, -1, "\x02\x00\xff", 2, "bounds=", 0, 0); - CHECK_DECODE(RC_OK, 255, "\x02\x00\xff", 3, "bounds=", 0, 0); - - CHECK_ROUNDTRIP(0, 0, 0); - CHECK_ROUNDTRIP(1, 0, 0); - CHECK_ROUNDTRIP(-1, 0, 0); - CHECK_ROUNDTRIP(-65000, 0, 0); - CHECK_ROUNDTRIP(65000, 0, 0); - CHECK_ROUNDTRIP(65535, 0, 0); - CHECK_ROUNDTRIP(-65535, 0, 0); - CHECK_ROUNDTRIP(-65536, 0, 0); - CHECK_ROUNDTRIP(65536, 0, 0); - CHECK_ROUNDTRIP(0, 1, 0); - CHECK_ROUNDTRIP(1, 1, 0); - CHECK_ROUNDTRIP(-1, 1, 0); - CHECK_ROUNDTRIP(-127, 1, 0); - CHECK_ROUNDTRIP(-128, 1, 0); - CHECK_ROUNDTRIP(127, 1, 0); - CHECK_ROUNDTRIP(1, 2, 1); - CHECK_ROUNDTRIP(32000, 2, 1); - CHECK_ROUNDTRIP(32000, 2, 0); - CHECK_ROUNDTRIP(1, 2, 1); - CHECK_ROUNDTRIP(65535, 2, 1); - CHECK_ROUNDTRIP(65535, 4, 0); - - CHECK_ENCODE_OK(0, 1, 1); - CHECK_ENCODE_OK(255, 1, 1); - CHECK_ENCODE_BAD(256, 1, 1); - CHECK_ENCODE_OK(0, 1, 0); - CHECK_ENCODE_OK(127, 1, 0); - CHECK_ENCODE_OK(-128, 1, 0); - CHECK_ENCODE_BAD(-129, 1, 0); - CHECK_ENCODE_BAD(128, 1, 0); - CHECK_ENCODE_OK(-4900000000, 8, 0); - CHECK_ENCODE_OK(4900000000, 8, 0); - CHECK_ENCODE_OK(-2000000000, 8, 0); - CHECK_ENCODE_OK(-4000000000, 8, 0); - CHECK_ENCODE_BAD(-4900000000, 4, 1); - CHECK_ENCODE_BAD(-1, 0, 4000000000); - CHECK_ENCODE_BAD(4900000000, 4, 1); - CHECK_ENCODE_OK(4100000000, 4, 1); - - for(size_t i = 0; i < 7 ; i++) { - intmax_t value = (intmax_t)1 << i; - CHECK_ROUNDTRIP(value, 1, 1); - value = -value; - CHECK_ROUNDTRIP(value, 1, 0); - } - - for(size_t i = 0; i < 16 ; i++) { - intmax_t value = (intmax_t)1 << i; - CHECK_ROUNDTRIP(value, 2, 1); - value = -value; - CHECK_ROUNDTRIP(value, 2, 0); - } - - for(size_t i = 0; i < 32 ; i++) { - intmax_t value = (intmax_t)1 << i; - CHECK_ROUNDTRIP(value, 4, 1); - value = -value; - CHECK_ROUNDTRIP(value, 4, 0); - } - - for(size_t i = 0; i < 8 * sizeof(intmax_t) - 1; i++) { - intmax_t value = (intmax_t)1 << i; - CHECK_ROUNDTRIP(value, 8, 0); - value = -value; - CHECK_ROUNDTRIP(value, 8, 0); - } - - for(size_t i = 0; i < 8 * sizeof(intmax_t) - 1; i++) { - intmax_t value = (intmax_t)1 << i; - CHECK_ROUNDTRIP(value, 0, 0); - value = -value; - CHECK_ROUNDTRIP(value, 0, 0); - } - -} diff --git a/tests/tests-skeletons/check-OER-NativeEnumerated.c b/tests/tests-skeletons/check-OER-NativeEnumerated.c deleted file mode 100644 index 4088a3b..0000000 --- a/tests/tests-skeletons/check-OER-NativeEnumerated.c +++ /dev/null @@ -1,170 +0,0 @@ -#include -#include - -#include -#include - -#define CHECK_DECODE(code, a, b, c) check_decode(__LINE__, code, a, b, c) -#define CHECK_ROUNDTRIP(a) check_roundtrip(__LINE__, a); - -static void -check_decode(int lineno, enum asn_dec_rval_code_e code, long control, const char *buf, size_t size) { - static char *code_s[] = { "RC_OK", "RC_WMORE", "RC_FAIL", "" }; - - fprintf(stderr, "\n%d: OER decode (control %ld)\n", lineno, control); - - long value; - long *value_ptr = &value; - asn_dec_rval_t ret; - - fprintf(stderr, "%d: buf[%zu]={%d, %d, ...}\n", lineno, size, - size <= 0 ? -1 : ((const uint8_t *)buf)[0], - size <= 1 ? -1 : ((const uint8_t *)buf)[1]); - - ret = NativeEnumerated_decode_oer(NULL, &asn_DEF_NativeEnumerated, NULL, - (void **)&value_ptr, buf, size); - if(ret.code != RC_OK) { - /* Basic OER decode does not work */ - fprintf(stderr, "%d: Failed oer_decode(ctl=%ld, size=%zu)\n", - lineno, control, size); - if(ret.code == code) { - fprintf(stderr, " (That was expected)\n"); - return; - } else { - fprintf( - stderr, " Unexpected return code %s (%d) expected %s\n", - code_s[(unsigned)ret.code <= RC_FAIL ? RC_FAIL : (RC_FAIL + 1)], - (int)ret.code, code_s[code]); - assert(ret.code == code); - } - } else { - long outcome = value; - if(outcome != control) { - /* Decoded value is wrong */ - fprintf(stderr, - "%d: Decode result %ld is not expected %ld\n", - lineno, outcome, control); - assert(outcome == control); - } - } - - fprintf(stderr, "%d: Decode result %ld\n", lineno, control); -} - -static void -dump_data(int lineno, const uint8_t *buf, size_t size) { - const uint8_t *p = buf; - const uint8_t *end = buf + size; - - fprintf(stderr, "%d: Encoded: [", lineno); - - for(; p < end; p++) { - fprintf(stderr, "\\x%02x", *(const unsigned char *)p); - } - fprintf(stderr, "] (%zu bytes)\n", size); -} - -static void -check_roundtrip(int lineno, long control) { - uint8_t tmpbuf[32]; - size_t tmpbuf_size; - asn_enc_rval_t er; - asn_dec_rval_t ret; - - fprintf(stderr, "\n%d: OER round-trip value %ld\n", lineno, control); - - long value_out = control; - long value_in = -42; - long *value_in_ptr = &value_in; - - er = oer_encode_to_buffer(&asn_DEF_NativeEnumerated, NULL, - &value_out, tmpbuf, sizeof(tmpbuf)); - if(er.encoded == -1) { - fprintf(stderr, "%d: OER encode failed for %s\n", lineno, - er.failed_type ? er.failed_type->name : ""); - assert(er.encoded != -1); - } - tmpbuf_size = er.encoded; - - dump_data(lineno, tmpbuf, tmpbuf_size); - - ret = asn_DEF_NativeEnumerated.op->oer_decoder(0, &asn_DEF_NativeEnumerated, - NULL, (void **)&value_in_ptr, - tmpbuf, tmpbuf_size); - if(ret.code != RC_OK) { - /* Basic OER decode does not work */ - fprintf(stderr, "%d: Failed oer_decode(value=%ld, size=%zu)\n", - lineno, control, tmpbuf_size); - assert(ret.code == 0); - } else { - long outcome = value_in; - if(outcome != control) { - /* Decoded value is wrong */ - fprintf(stderr, - "%d: Decode result %ld is not expected %ld\n", - lineno, outcome, control); - assert(outcome == control); - } - } - - fprintf(stderr, "%d: Decode result %ld\n", lineno, control); -} - -int -main() { - CHECK_DECODE(RC_WMORE, 0, "", 0); - CHECK_DECODE(RC_OK, 0, "\x00", 1); - CHECK_DECODE(RC_FAIL, 0, "\x00", 1); - CHECK_DECODE(RC_WMORE, 0, "", 0); - CHECK_DECODE(RC_WMORE, 0, "", 0); - CHECK_DECODE(RC_OK, 0, "\x00", 1); - CHECK_DECODE(RC_OK, 0, "\x00", 1); - - CHECK_DECODE(RC_OK, 0, "\x00", 1); - CHECK_DECODE(RC_OK, 1, "\x01", 1); - CHECK_DECODE(RC_FAIL, 0, "\xff", 1); - CHECK_DECODE(RC_FAIL, 0, "\x89", 1); - CHECK_DECODE(RC_WMORE, 0, "\x84", 1); - CHECK_DECODE(RC_WMORE, 0, "\x84\x00", 3); - CHECK_DECODE(RC_WMORE, 0, "\x84\x00\x00", 3); - CHECK_DECODE(RC_WMORE, 0, "\x84\x00\x00\x00", 4); - CHECK_DECODE(RC_OK, 0, "\x84\x00\x00\x00\x00", 5); - CHECK_DECODE(RC_OK, 1, "\x84\x00\x00\x00\x01", 5); - CHECK_DECODE(RC_OK, 127, "\x7f", 1); - CHECK_DECODE(RC_OK, 127, "\x81\x7f", 2); - CHECK_DECODE(RC_OK, 255, "\x82\x00\xff", 3); - CHECK_DECODE(RC_OK, -1, "\x81\xff", 2); - CHECK_DECODE(RC_OK, -1, "\x82\xff\xff", 3); - - CHECK_DECODE(RC_OK, 1, "\x01\x00", 2); - CHECK_DECODE(RC_OK, 1, "\x01\x01", 2); - CHECK_DECODE(RC_OK, -1, "\x81\xff", 2); - CHECK_DECODE(RC_WMORE, -1, "\x82\x00\xff", 2); - - CHECK_ROUNDTRIP(0); - CHECK_ROUNDTRIP(1); - CHECK_ROUNDTRIP(-1); - CHECK_ROUNDTRIP(-127); - CHECK_ROUNDTRIP(-128); - CHECK_ROUNDTRIP(-129); - CHECK_ROUNDTRIP(126); - CHECK_ROUNDTRIP(127); - CHECK_ROUNDTRIP(128); - CHECK_ROUNDTRIP(-65000); - CHECK_ROUNDTRIP(65000); - CHECK_ROUNDTRIP(65535); - CHECK_ROUNDTRIP(-65535); - CHECK_ROUNDTRIP(-65536); - CHECK_ROUNDTRIP(65536); - CHECK_ROUNDTRIP(32000); - - for(size_t i = 0; i < 8 * sizeof(long) - 1; i++) { - long value = (long)1 << i; - CHECK_ROUNDTRIP(value); - value = -value; - CHECK_ROUNDTRIP(value); - } - - CHECK_ROUNDTRIP(LONG_MIN); - CHECK_ROUNDTRIP(LONG_MAX); -} diff --git a/tests/tests-skeletons/check-OER-support.c b/tests/tests-skeletons/check-OER-support.c deleted file mode 100644 index 5433900..0000000 --- a/tests/tests-skeletons/check-OER-support.c +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include - -static char buffer[128]; - -static int fill_buffer(const void *data, size_t size, void *app_key) { - size_t *offset = (size_t *)app_key; - assert(*offset + size < sizeof(buffer)); - memcpy(&buffer[*offset], data, size); - *offset += size; - return 0; -} - -#define CHECK(a, b) check_round_trip(__LINE__, a, b) - -static void -check_round_trip(int lineno, int ok, size_t length) { - fprintf(stderr, "%03d: Round-trip for %zu\n", lineno, length); - - /* Serialize */ - size_t enc_len = 0; - ssize_t enc_len_len = oer_serialize_length(length, fill_buffer, &enc_len); - assert(enc_len_len > 0); - assert(enc_len == (size_t)enc_len_len); - - /* Deserialize */ - size_t recovered_length = 0; - for(size_t part = 0; part < enc_len; part++) { - size_t ret = oer_fetch_length(buffer, part, &recovered_length); - assert(ret == 0); /* More data expected. */ - } - ssize_t dec_len = oer_fetch_length(buffer, enc_len, &recovered_length); - if(ok) { - assert(dec_len > 0); - assert((size_t)dec_len == enc_len); - if(recovered_length != length) { - fprintf(stderr, - "Round-trip failed %zu->%zu (encoded %zd, decoded %zd)\n", - length, recovered_length, enc_len, dec_len); - assert(recovered_length == length); - } - } else { - assert(dec_len == -1); - } -} - -int main() { - int bits64 = sizeof(size_t) > 4; - - CHECK(1, 0); - CHECK(1, 1); - CHECK(1, 127); - CHECK(1, 128); - CHECK(1, 129); - CHECK(1, 255); - CHECK(1, 256); - CHECK(1, 65534); - CHECK(1, 65535); - CHECK(1, 65536); - CHECK(1, 65538); - CHECK(1, 16000000); - CHECK(1, 16777216); - CHECK(bits64, 2147483648); - CHECK(bits64, 4294967295UL); - -} - diff --git a/tests/tests-skeletons/check-OIDs.c b/tests/tests-skeletons/check-OIDs.c deleted file mode 100644 index 9bd5ae8..0000000 --- a/tests/tests-skeletons/check-OIDs.c +++ /dev/null @@ -1,414 +0,0 @@ -#include -#include -#include -#include - -#include -#include - -static int -_print(const void *buffer, size_t size, void *app_key) { - (void)app_key; - fwrite(buffer, size, 1, stdout); - return 0; -} - -static void -check_OID(int lineno, uint8_t *buf, size_t len, unsigned *ck_buf, int ck_len) { - OBJECT_IDENTIFIER_t *oid; - asn_dec_rval_t rval; - uint32_t arcs[11]; - int alen; - int i; - - printf("%03d: Checking {", lineno); - for(i = 0; i < (int)len; i++) { printf("%s%02x", i?" ":"", buf[i]); } - printf("} against {"); - for(i = 0; i < ck_len; i++) { printf("%s%u", i?" ":"", ck_buf[i]); } - printf("}\n"); - - oid = NULL; - rval = ber_decode(0, &asn_DEF_OBJECT_IDENTIFIER, (void *)&oid, buf, len); - assert(rval.code == RC_OK); - - assert((ssize_t)oid->size == (ssize_t)len - 2); - - /* - * Print the contents for visual debugging. - */ - printf("OBJECT_IDENTIFIER_print() => "); - OBJECT_IDENTIFIER_print(&asn_DEF_OBJECT_IDENTIFIER, oid, 0, _print, 0); - printf("\n"); - - memset(arcs, 'A', sizeof(arcs)); - alen = - OBJECT_IDENTIFIER_get_arcs(oid, arcs, sizeof(arcs) / sizeof(arcs[0])); - assert(alen > 0); - - printf("OBJECT_IDENTIFIER_get_arcs() => {"); - /* - * Make sure they are equivalent. - */ - for(i = 0; i < alen; i++) { - printf(" %" PRIu32, arcs[i]); - if(alen == ck_len) { - assert(arcs[i] == ck_buf[i]); - } - } - printf(" }\n"); - assert(alen == ck_len); - - ASN_STRUCT_FREE(asn_DEF_OBJECT_IDENTIFIER, oid); -} - -static void -check_ROID(int lineno, uint8_t *buf, size_t len, unsigned *ck_buf, - size_t ck_len) { - RELATIVE_OID_t *oid; - asn_dec_rval_t rval; - uint32_t arcs[10]; - int alen; - size_t i; - - printf("%03d: Checking {", lineno); - for(i = 0; i < len; i++) { printf("%s%02x", i?" ":"", buf[i]); } - printf("} against {"); - for(i = 0; i < ck_len; i++) { printf("%s%u", i?" ":"", ck_buf[i]); } - printf("}\n"); - - oid = NULL; - rval = ber_decode(0, &asn_DEF_RELATIVE_OID, (void *)&oid, buf, len); - assert(rval.code == RC_OK); - - assert((ssize_t)oid->size == (ssize_t)len - 2); - - /* - * Print the contents for visual debugging. - */ - printf("RELATIVE_OID_print() => "); - RELATIVE_OID_print(&asn_DEF_RELATIVE_OID, oid, 0, _print, 0); - printf("\n"); - - memset(arcs, 'A', sizeof(arcs)); - alen = RELATIVE_OID_get_arcs(oid, arcs, sizeof(arcs) / sizeof(arcs[0])); - assert(alen > 0); - assert((size_t)alen == ck_len); - - /* - * Make sure they are equivalent. - */ - printf("RELATIVE_OID_get_arcs() => {"); - for(i = 0; i < (size_t)alen; i++) { - printf(" %" PRIu32, arcs[i]); - assert(arcs[i] == ck_buf[i]); - } - printf(" }\n"); - ASN_STRUCT_FREE(asn_DEF_RELATIVE_OID, oid); -} - -static int -check_speed() { - uint8_t buf[] = { 0x80 | 7, 0x80 | 2, 0x80 | 3, 0x80 | 4, 13 }; - int ret = 0; - int cycles = 100000000; - double a, b, c; - struct timeval tv; - uint32_t value; - int i; - - ret = OBJECT_IDENTIFIER_get_single_arc(buf, sizeof(buf), &value); - assert(ret == 0); - assert(value == 0x7040c20d); - - gettimeofday(&tv, 0); - a = tv.tv_sec + tv.tv_usec / 1000000.0; - for(i = 0; i < cycles; i++) { - ret = OBJECT_IDENTIFIER_get_single_arc(buf, sizeof(buf), &value); - } - assert(ret == 0); - assert(value == 0x7040c20d); - gettimeofday(&tv, 0); - b = tv.tv_sec + tv.tv_usec / 1000000.0; - for(i = 0; i < cycles; i++) { - ret = OBJECT_IDENTIFIER_get_single_arc(buf, sizeof(buf), &value); - } - assert(ret == 0); - assert(value == 0x7040c20d); - gettimeofday(&tv, 0); - c = tv.tv_sec + tv.tv_usec / 1000000.0; - - a = b - a; - b = c - b; - printf("Time for single_arc(): %f\n", a); - printf("Time for get_arc_l(): %f\n", b); - - return 0; -} - -#define CHECK_PARSE(a, b) check_parse(__LINE__, a, b) -static void check_parse(int lineno, const char *oid_txt, int retval) { - int ret; - uint32_t arcs[2]; - const char *p = oid_txt - 13; - assert(p < oid_txt); - - ret = OBJECT_IDENTIFIER_parse_arcs(oid_txt, -1, arcs, 2, &p); - printf("%03d: [%s] => %d == %d\n", lineno, oid_txt, ret, retval); - assert(ret == retval); - assert(p >= oid_txt); -} - -static void -check_xer(int lineno, asn_TYPE_descriptor_t *td, ssize_t expect_arcs, char *xer, - const asn_oid_arc_t *expected_arcs) { - asn_dec_rval_t rc; - void *st = 0; - uint32_t arcs[10]; - ssize_t got_arcs; - ssize_t i; - - printf("%03d: [%s] => ", lineno, xer); - fflush(stdout); - rc = td->op->xer_decoder(0, td, (void **)&st, "t", xer, strlen(xer)); - if(expect_arcs == -1) { - if(rc.code != RC_OK) { - printf("-1\n"); - ASN_STRUCT_FREE(*td, st); - return; - } - } - assert(rc.code == RC_OK); - - if(td == &asn_DEF_OBJECT_IDENTIFIER) { - got_arcs = OBJECT_IDENTIFIER_get_arcs(st, arcs, - sizeof(arcs) / sizeof(arcs[0])); - } else if(td == &asn_DEF_RELATIVE_OID) { - got_arcs = - RELATIVE_OID_get_arcs(st, arcs, sizeof(arcs) / sizeof(arcs[0])); - } else { - assert(!"Unreachable"); - } - assert(got_arcs < 10); - if(expect_arcs == -1) { - assert(got_arcs == -1); - ASN_STRUCT_FREE(*td, st); - return; - } - for(i = 0; i < got_arcs; i++) { - if(i) printf("."); - printf("%" PRIu32, arcs[i]); - if(arcs[i] != expected_arcs[i]) { - printf(" != %" PRIu32 "\n", expected_arcs[i]); - } - assert(arcs[i] == expected_arcs[i]); - } - printf(": %zd == %zd\n", got_arcs, expect_arcs); - assert(got_arcs == expect_arcs); - ASN_STRUCT_FREE(*td, st); -} - -#define CHECK_OID(n) \ - check_OID(__LINE__, buf##n, sizeof(buf##n), buf##n##_check, \ - sizeof(buf##n##_check) / sizeof(buf##n##_check[0])) -#define CHECK_ROID(n) \ - check_ROID(__LINE__, buf##n, sizeof(buf##n), buf##n##_check, \ - sizeof(buf##n##_check) / sizeof(buf##n##_check[0])) - -static void -check_binary_parsing() { - - /* {0 0} */ - uint8_t buf0[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x01, /* Length */ - 0x00 - }; - uint32_t buf0_check[] = { 0, 0 }; - - /* {joint-iso-itu-t 230 3} */ - uint8_t buf1[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x03, /* Length */ - 0x82, 0x36, 0x03 - }; - uint32_t buf1_check[] = { 2, 230, 3 }; - - /* {joint-iso-itu-t 42 } */ - uint8_t buf2[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x01, /* Length */ - 0x7A - }; - uint32_t buf2_check[] = { 2, 42 }; - - /* {joint-iso-itu-t 25957 } */ - uint8_t buf3[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x03, /* Length */ - 0x81, 0x80 + 0x4B, 0x35 - }; - uint32_t buf3_check[] = { 2, 25957 }; - - /* { jounsigned-iso-itu-t 2 1 1 } */ - uint8_t buf4[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x03, /* Length */ - 0x52, 0x01, 0x01 - }; - uint32_t buf4_check[] = { 2, 2, 1, 1 }; - - /* { jounsigned-iso-itu-t 2 1 0 1 } */ - uint8_t buf5[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x04, /* Length */ - 0x52, 0x01, 0x00, 0x01 - }; - uint32_t buf5_check[] = { 2, 2, 1, 0, 1 }; - - /* {joint-iso-itu-t 25957 } */ - uint8_t buf6[] = { - 0x06, /* OBJECT IDENTIFIER */ - 0x0c, /* Length */ - 0x2a, 0x03, 0x01, 0x01, 0x01, 0x81, 0xaa, 0x11, 0x03, 0x05, 0x01, 0x01 - }; - uint32_t buf6_check[] = { 1, 2, 3, 1, 1, 1, 21777, 3, 5, 1, 1 }; - - /* {0 0} */ - uint8_t buf10[] = { - 0x0D, /* RELATIVE-OID */ - 0x01, /* Length */ - 0x00 - }; - uint32_t buf10_check[] = { 0 }; - - /* {0 0} */ - uint8_t buf11[] = { - 0x0D, /* RELATIVE-OID */ - 0x02, /* Length */ - 0x00, 0x00 - }; - uint32_t buf11_check[] = { 0, 0 }; - - /* {8571 3 2} */ - uint8_t buf12[] = { - 0x0D, /* RELATIVE-OID */ - 0x04, /* Length */ - 0xC2, 0x7B, 0x03, 0x02 - }; - uint32_t buf12_check[] = { 8571, 3, 2 }; - - CHECK_OID(0); - CHECK_OID(1); - CHECK_OID(2); - CHECK_OID(3); - CHECK_OID(4); - CHECK_OID(5); - CHECK_OID(6); - - CHECK_ROID(10); - CHECK_ROID(11); - CHECK_ROID(12); -} - -static void -check_text_parsing() { - CHECK_PARSE("", 0); - CHECK_PARSE(" ", 0); - CHECK_PARSE(".", -1); - CHECK_PARSE(" .", -1); - CHECK_PARSE(".1", -1); - CHECK_PARSE("1.", -1); - CHECK_PARSE("1. ", -1); - CHECK_PARSE(".1. ", -1); - CHECK_PARSE(" .1. ", -1); - CHECK_PARSE(" 1", 1); - CHECK_PARSE(" 1.2", 2); - CHECK_PARSE(" 1.", -1); - CHECK_PARSE(" 1. ", -1); - CHECK_PARSE("1. ", -1); - CHECK_PARSE("1.2", 2); - CHECK_PARSE("1.2 ", 2); - CHECK_PARSE("1.2 ", 2); - CHECK_PARSE(" 1.2 ", 2); - CHECK_PARSE("1. 2", -1); - CHECK_PARSE("1 .2", -1); - CHECK_PARSE(" 1 .2", -1); - CHECK_PARSE(" 1 .2 ", -1); - CHECK_PARSE("1 .2 ", -1); - CHECK_PARSE("1.+1", -1); - CHECK_PARSE("2.0", 2); - CHECK_PARSE("2.1", 2); - CHECK_PARSE("10.30.234.234", 4); - CHECK_PARSE("10.30.234.234 ", 4); - CHECK_PARSE("10.30.234. 234 ", -1); - CHECK_PARSE("10.30.234.234.", -1); - CHECK_PARSE("1.2000000000.3", 3); - CHECK_PARSE("1.2147483647.3", 3); - CHECK_PARSE("1.4294967295.3", 3); - CHECK_PARSE("1.4294967296.3", -1); /* overflow on ILP32 */ - CHECK_PARSE("1.3000000000.3", 3); - CHECK_PARSE("1.4000000000.3", 3); - CHECK_PARSE("1.5000000000.3", -1); - CHECK_PARSE("1.6000000000.3", -1); - CHECK_PARSE("1.9000000000.3", -1); - CHECK_PARSE("1.900a0000000.3", -1); - CHECK_PARSE("1.900a.3", -1); -} - -#define CHECK_XER(a, b, c, data) check_xer(__LINE__, &asn_DEF_##a, b, c, data) - -static void -check_xer_parsing() { - asn_oid_arc_t zero_zero[] = {0, 0}; - asn_oid_arc_t zero_one[] = {0, 1}; - asn_oid_arc_t one_zero[] = {1, 0}; - asn_oid_arc_t one_one[] = {1, 1}; - asn_oid_arc_t one_two[] = {1, 2}; - asn_oid_arc_t two_one[] = {2, 1}; - asn_oid_arc_t one_two_three[] = {1, 2,3}; - - CHECK_XER(RELATIVE_OID, -1, "", 0); - CHECK_XER(RELATIVE_OID, -1, "1.", 0); - CHECK_XER(RELATIVE_OID, -1, "2.1.", 0); - CHECK_XER(RELATIVE_OID, 2, "0.0", zero_zero); - CHECK_XER(RELATIVE_OID, 2, "0.1", zero_one); - CHECK_XER(RELATIVE_OID, 2, "1.0", one_zero); - CHECK_XER(RELATIVE_OID, 2, "1.2", one_two); - CHECK_XER(RELATIVE_OID, -1, "1.-2", 0); - CHECK_XER(RELATIVE_OID, -1, "1.+2", 0); - CHECK_XER(RELATIVE_OID, 3, "1.2.3", one_two_three); - CHECK_XER(RELATIVE_OID, 3, " 1.2.3 ", one_two_three); - CHECK_XER(RELATIVE_OID, -1, "1.2.3 1", 0); - CHECK_XER(RELATIVE_OID, 2, "2.1", two_one); - - CHECK_XER(OBJECT_IDENTIFIER, -1, "", 0); - CHECK_XER(OBJECT_IDENTIFIER, -1, "1", 0); - CHECK_XER(OBJECT_IDENTIFIER, -1, "1.", 0); - CHECK_XER(OBJECT_IDENTIFIER, -1, "2.1.", 0); - CHECK_XER(OBJECT_IDENTIFIER, 2, "0.0", zero_zero); - CHECK_XER(OBJECT_IDENTIFIER, 2, "0.1", zero_one); - CHECK_XER(OBJECT_IDENTIFIER, 2, "1.0", one_zero); - CHECK_XER(OBJECT_IDENTIFIER, 2, "1.1", one_one); - CHECK_XER(OBJECT_IDENTIFIER, 2, "1.2", one_two); - CHECK_XER(OBJECT_IDENTIFIER, -1, "1.-2", 0); - CHECK_XER(OBJECT_IDENTIFIER, -1, "1.+2", 0); - CHECK_XER(OBJECT_IDENTIFIER, 3, "1.2.3", one_two_three); - CHECK_XER(OBJECT_IDENTIFIER, 3, " 1.2.3 ", one_two_three); - CHECK_XER(OBJECT_IDENTIFIER, -1, "1.2.3 1", 0); - CHECK_XER(OBJECT_IDENTIFIER, 2, " 2.1 ", two_one); -} - -int -main() { - check_binary_parsing(); - check_text_parsing(); - check_xer_parsing(); - - if(getenv("CHECK_SPEED")) { - /* Useful for developers only */ - check_speed(); - } - - return 0; -} - diff --git a/tests/tests-skeletons/check-PER-INTEGER.c b/tests/tests-skeletons/check-PER-INTEGER.c deleted file mode 100644 index 2e07a21..0000000 --- a/tests/tests-skeletons/check-PER-INTEGER.c +++ /dev/null @@ -1,232 +0,0 @@ -#include -#include - -#include -#include -#include -#include - -static int FailOut(const void *data, size_t size, void *op_key) { - (void)data; - (void)size; - (void)op_key; - assert(!"UNREACHABLE"); - return 0; -} - -static void normalize(asn_per_outp_t *po) { - if(po->nboff >= 8) { - po->buffer += (po->nboff >> 3); - po->nbits -= (po->nboff & ~0x07); - po->nboff &= 0x07; - } -} - -static void -check_per_encode_constrained(int lineno, int unsigned_, long value, long lbound, unsigned long ubound, int bit_range) { - INTEGER_t st; - INTEGER_t *reconstructed_st = 0; - struct asn_INTEGER_specifics_s specs; - struct asn_per_constraints_s cts; - asn_enc_rval_t enc_rval; - asn_dec_rval_t dec_rval; - asn_per_outp_t po; - asn_per_data_t pd; - - if(unsigned_) - printf("%d: Recoding %s %lu [%ld..%lu]\n", lineno, - unsigned_ ? "unsigned" : "signed", value, lbound, ubound); - else - printf("%d: Recoding %s %ld [%ld..%lu]\n", lineno, - unsigned_ ? "unsigned" : "signed", value, lbound, ubound); - - if(ubound > LONG_MAX) { - printf("Skipped test, unsupported\n"); - return; - } - - memset(&st, 0, sizeof(st)); - memset(&po, 0, sizeof(po)); - memset(&pd, 0, sizeof(pd)); - memset(&cts, 0, sizeof(cts)); - memset(&specs, 0, sizeof(specs)); - - cts.value.flags = APC_CONSTRAINED; - cts.value.range_bits = bit_range; - cts.value.effective_bits = bit_range; - cts.value.lower_bound = lbound; - cts.value.upper_bound = ubound; - - if(unsigned_) - asn_ulong2INTEGER(&st, (unsigned long)value); - else - asn_long2INTEGER(&st, value); - - po.buffer = po.tmpspace; - po.nboff = 0; - po.nbits = 8 * sizeof(po.tmpspace); - po.output = FailOut; - - specs.field_width = sizeof(long); - specs.field_unsigned = unsigned_; - - asn_DEF_INTEGER.specifics = &specs; - enc_rval = INTEGER_encode_uper(&asn_DEF_INTEGER, &cts, &st, &po); - assert(enc_rval.encoded == 0); - - normalize(&po); - - assert(po.buffer == &po.tmpspace[bit_range / 8]); - - if(unsigned_) { - unsigned long recovered_value = - ((uint32_t)po.tmpspace[0] << 24) - | ((uint32_t)po.tmpspace[1] << 16) - | ((uint32_t)po.tmpspace[2] << 8) - | ((uint32_t)po.tmpspace[3] << 0); - recovered_value >>= (32 - bit_range); - recovered_value += cts.value.lower_bound; - assert(recovered_value == (unsigned long)value); - } else { - long recovered_value = - ((uint32_t)po.tmpspace[0] << 24) - | ((uint32_t)po.tmpspace[1] << 16) - | ((uint32_t)po.tmpspace[2] << 8) - | ((uint32_t)po.tmpspace[3] << 0); - recovered_value = (unsigned long)recovered_value >> (32 - bit_range); - if(per_long_range_unrebase(recovered_value, cts.value.lower_bound, - cts.value.upper_bound, &recovered_value) - < 0) { - assert(!"Unreachable"); - } - assert(recovered_value == value); - } - assert(po.nboff == (size_t)((bit_range == 32) ? 0 : (8 - (32 - bit_range)))); - assert(po.nbits == 8 * (sizeof(po.tmpspace) - (po.buffer-po.tmpspace))); - assert(po.flushed_bytes == 0); - - pd.buffer = po.tmpspace; - pd.nboff = 0; - pd.nbits = 8 * (po.buffer - po.tmpspace) + po.nboff; - pd.moved = 0; - dec_rval = INTEGER_decode_uper(0, &asn_DEF_INTEGER, &cts, - (void **)&reconstructed_st, &pd); - assert(dec_rval.code == RC_OK); - if(unsigned_) { - unsigned long reconstructed_value = 0; - asn_INTEGER2ulong(reconstructed_st, &reconstructed_value); - assert(reconstructed_value == (unsigned long)value); - } else { - long reconstructed_value = 0; - asn_INTEGER2long(reconstructed_st, &reconstructed_value); - assert(reconstructed_value == value); - } - ASN_STRUCT_RESET(asn_DEF_INTEGER, &st); - ASN_STRUCT_FREE(asn_DEF_INTEGER, reconstructed_st); -} - -#define CHECK(u, v, l, r, b) \ - check_per_encode_constrained(__LINE__, u, v, l, r, b) - -int -main() { - int unsigned_; - for(unsigned_ = 0; unsigned_ < 2; unsigned_++) { - int u = unsigned_; - - /* Encode a signed 0x8babab into a range constrained by 0..2^29-1 */ - CHECK(u, 0x8babab, 0, 536870911UL, 29); - CHECK(u, 0x8babab, 0, 1073741823UL, 30); - CHECK(u, 0x8babab, 0, 2147483647UL, 31); - - CHECK(u, 0x8babab, 10, 536870901UL, 29); - CHECK(u, 0x8babab, 10, 1073741803UL, 30); - CHECK(u, 0x8babab, 10, 2147483607UL, 31); - - CHECK(0, 0x8babab, -10, 536870901UL, 29); - CHECK(0, 0x8babab, -10, 1073741803UL, 30); - CHECK(0, 0x8babab, -10, 2147483607UL, 31); - - CHECK(u, 11, 10, 536870901UL, 29); - CHECK(u, 11, 10, 1073741803UL, 30); - CHECK(u, 11, 10, 2147483607UL, 31); - - CHECK(0, 1, -10, 536870901UL, 29); - CHECK(0, 1, -10, 1073741803UL, 30); - CHECK(0, 1, -10, 2147483607UL, 31); - - CHECK(u, 10, 10, 536870901UL, 29); - CHECK(u, 10, 10, 1073741803UL, 30); - CHECK(u, 10, 10, 2147483607UL, 31); - - CHECK(0, 0, -10, 536870901UL, 29); - CHECK(0, 0, -10, 1073741803UL, 30); - CHECK(0, 0, -10, 2147483607UL, 31); - - CHECK(0, -1, -10, 536870901UL, 29); - CHECK(0, -1, -10, 1073741803UL, 30); - CHECK(0, -1, -10, 2147483607UL, 31); - - CHECK(0, -10, -10, 536870901UL, 29); - CHECK(0, -10, -10, 1073741803UL, 30); - CHECK(0, -10, -10, 2147483607UL, 31); - - CHECK(u, 536870901UL, 10, 536870901UL, 29); - CHECK(u, 1073741803UL, 10, 1073741803UL, 30); - CHECK(u, 2147483607UL, 10, 2147483607UL, 31); - - CHECK(0, 536870901UL, -10, 536870901UL, 29); - CHECK(0, 1073741803UL, -10, 1073741803UL, 30); - CHECK(0, 2147483607UL, -10, 2147483607UL, 31); - - CHECK(0, -2147483648, -2147483648, 2147483647, 32); - CHECK(0, -10, -2147483648, 2147483647, 32); - CHECK(0, -1, -2147483648, 2147483647, 32); - CHECK(0, 0, INT32_MIN, INT32_MAX, 32); - CHECK(0, 0, -2147483648, 2147483647, 32); - CHECK(0, 1, -2147483648, 2147483647, 32); - CHECK(0, 10, -2147483648, 2147483647, 32); - CHECK(0, 2147483647, -2147483648, 2147483647, 32); - - CHECK(1, 0, 0, 4294967295UL, 32); - CHECK(1, 1, 0, 4294967295UL, 32); - CHECK(1, 10, 0, 4294967295UL, 32); - CHECK(1, 2000000000, 0, 4294967295UL, 32); - CHECK(1, 2147483647, 0, 4294967295UL, 32); - -#ifdef TEST_64BIT - CHECK(1, 2147483648, 0, 4294967295UL, 32); - CHECK(1, 4000000000, 0, 4294967295UL, 32); - CHECK(1, 4294967295UL, 0, 4294967295UL, 32); -#endif - - CHECK(1, 10, 10, 4294967285UL, 32); - CHECK(1, 11, 10, 4294967285UL, 32); - -#ifdef TEST_64BIT - if(sizeof(long) > sizeof(uint32_t)) { - CHECK(0, 0, -10, 4294967285UL, 32); - CHECK(0, 1, -10, 4294967285UL, 32); - CHECK(0, -1, -10, 4294967285UL, 32); - CHECK(0, -10, -10, 4294967285UL, 32); - CHECK(0, -10, -10, 4294967285UL, 32); - CHECK(0, 0x8babab, -10, 4294967285UL, 32); - - CHECK(u, 0x8babab, 0, 4294967295UL, 32); - CHECK(u, 11, 10, 4294967205UL, 32); - CHECK(u, 10, 10, 4294967205UL, 32); - CHECK(u, 4294967205UL, 10, 4294967285UL, 32); - - CHECK(0, 4294967205UL, -10, 4294967285UL, 32); - CHECK(u, 4294967295UL, 1, 4294967295UL, 32); - - CHECK(u, 2000000000, 0, 4294967295UL, 32); - CHECK(u, 2147483647, 0, 4294967295UL, 32); - CHECK(u, 2147483648, 0, 4294967295UL, 32); - CHECK(u, 4000000000, 0, 4294967295UL, 32); - } -#endif - } - - return 0; -} diff --git a/tests/tests-skeletons/check-PER-UniversalString.c b/tests/tests-skeletons/check-PER-UniversalString.c deleted file mode 100644 index 083493d..0000000 --- a/tests/tests-skeletons/check-PER-UniversalString.c +++ /dev/null @@ -1,80 +0,0 @@ -#include -#include -#include - -#include -#include - -static void -check_encode_failed(asn_TYPE_descriptor_t *td, const char *buf, size_t buflen) { - uint8_t uper_output_buffer[32]; - UniversalString_t *st_in; - char error_buf[128]; - size_t error_buf_len = sizeof(error_buf); - - st_in = OCTET_STRING_new_fromBuf(td, buf, buflen); - assert(st_in); - assert(st_in->size == buflen); - - /* First signal that something is wrong with the length */ - int st_in_ct = asn_check_constraints(td, st_in, error_buf, &error_buf_len); - assert(st_in_ct != 0); - fprintf(stderr, "%s\n", error_buf); - - /* Second signal that something is wrong with the length */ - asn_enc_rval_t enc = uper_encode_to_buffer(td, 0, st_in, uper_output_buffer, - sizeof(uper_output_buffer)); - assert(enc.encoded == -1); - - ASN_STRUCT_FREE(*td, st_in); -} - -static void -check_round_trip_OK(asn_TYPE_descriptor_t *td, const char *buf, size_t buflen) { - uint8_t uper_output_buffer[32]; - UniversalString_t *st_in; - UniversalString_t *st_out = 0; - - st_in = OCTET_STRING_new_fromBuf(td, buf, buflen); - assert(st_in); - assert(st_in->size == buflen); - - int st_in_ct = asn_check_constraints(td, st_in, NULL, NULL); - assert(st_in_ct == 0); - asn_enc_rval_t enc = - uper_encode_to_buffer(td, 0, st_in, - uper_output_buffer, sizeof(uper_output_buffer)); - assert(enc.encoded > 0); - - asn_dec_rval_t dec = - uper_decode(0, &asn_DEF_UniversalString, (void **)&st_out, - uper_output_buffer, (enc.encoded + 7) / 8, 0, 0); - int st_out_ct = asn_check_constraints(td, st_out, NULL, NULL); - assert(st_out_ct == 0); - assert(dec.consumed == (size_t)enc.encoded); - assert(st_in->size == st_out->size); - assert(memcmp(st_in->buf, st_out->buf, st_in->size) == 0); - assert(st_out->size == buflen); - assert(memcmp(st_out->buf, buf, buflen) == 0); - - ASN_STRUCT_FREE(*td, st_in); - ASN_STRUCT_FREE(*td, st_out); -} - -int -main() { - static char UniversalString_data[] = { 0, 0, 0, 65, 0, 0, 0, 65 }; - - check_round_trip_OK(&asn_DEF_UniversalString, UniversalString_data, 0); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 1); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 2); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 3); - check_round_trip_OK(&asn_DEF_UniversalString, UniversalString_data, 4); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 5); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 6); - check_encode_failed(&asn_DEF_UniversalString, UniversalString_data, 7); - check_round_trip_OK(&asn_DEF_UniversalString, UniversalString_data, 8); - - return 0; -} - diff --git a/tests/tests-skeletons/check-PER-support.c b/tests/tests-skeletons/check-PER-support.c deleted file mode 100644 index f2b2542..0000000 --- a/tests/tests-skeletons/check-PER-support.c +++ /dev/null @@ -1,277 +0,0 @@ -#include -#include - -static void put(asn_per_outp_t *po, size_t length) { - fprintf(stderr, "put(%zd)\n", length); - do { - int need_eom = 123; - ssize_t may_write = uper_put_length(po, length, &need_eom); - fprintf(stderr, " put %zu\n", may_write); - assert(may_write >= 0); - assert((size_t)may_write <= length); - assert(need_eom != 123); - length -= may_write; - if(need_eom) { - assert(length == 0); - if(uper_put_length(po, 0, 0)) { - assert(!"Unreachable"); - } - fprintf(stderr, " put EOM 0\n"); - } - } while(length); - fprintf(stderr, "put(...) in %zu bits\n", po->nboff); - assert(po->nboff != 0); - assert(po->flushed_bytes == 0); -} - -static size_t get(asn_per_outp_t *po) { - asn_bit_data_t data; - memset(&data, 0, sizeof(data)); - data.buffer = po->tmpspace; - data.nboff = 0; - data.nbits = 8 * (po->buffer - po->tmpspace) + po->nboff; - - fprintf(stderr, "get(): %s\n", asn_bit_data_string(&data)); - - size_t length = 0; - int repeat = 0; - do { - ssize_t n = uper_get_length(&data, -1, 0, &repeat); - fprintf(stderr, " get = %zu +%zd\n", length, n); - assert(n >= 0); - length += n; - } while(repeat); - fprintf(stderr, "get() = %zu\n", length); - - return length; -} - -static void -check_round_trip(size_t length) { - fprintf(stderr, "\nRound-trip for %zu\n", length); - asn_per_outp_t po; - - memset(&po, 0, sizeof(po)); - po.buffer = po.tmpspace; - po.nbits = 8 * sizeof(po.tmpspace); - - put(&po, length); - size_t recovered = get(&po); - - assert(recovered == length); -} - -/* - * Checks that we can get the PER length that we have just put, - * and receive the same value. - */ -static void -check_round_trips() { - check_round_trip(0); - check_round_trip(1); - check_round_trip(127); - check_round_trip(128); - check_round_trip(129); - check_round_trip(255); - check_round_trip(256); - check_round_trip(65534); - check_round_trip(65535); - check_round_trip(65536); - check_round_trip(65538); - check_round_trip(128000); - for(size_t i = 1; i < 10; i++) { - check_round_trip(i*16384 - 1); - check_round_trip(i*16384); - check_round_trip(i*16384 + 1); - } -} - -#define OK_UNREBASE(w, l, u, c) check_unrebase(__LINE__, 0, w, l, u, c) -#define NO_UNREBASE(w, l, u) check_unrebase(__LINE__, 1, w, l, u, 0) - -static void -check_unrebase(int lineno, int expected_to_fail, unsigned long wire_value, - long lb, long ub, long control) { - fprintf(stderr, "%03d: Checking recovery of %lu (%ld..%ld)", lineno, - wire_value, lb, ub); - if(expected_to_fail) { - fprintf(stderr, " to FAIL\n"); - } else { - fprintf(stderr, " into %ld\n", control); - } - - long outcome; - int ret = per_long_range_unrebase(wire_value, lb, ub, &outcome); - if(ret == 0) { - assert(!expected_to_fail); - } else { - assert(expected_to_fail); - return; - } - - assert(outcome == control); -} - - -#define OK_REBASE_ROUNDTRIP(v, l, u) \ - check_range_rebase_round_trip(__LINE__, 0, v, l, u) - -#define NO_REBASE_ROUNDTRIP(v, l, u) \ - check_range_rebase_round_trip(__LINE__, 1, v, l, u) - -static void -check_range_rebase_round_trip(int lineno, int expected_to_fail, long value, - long lb, long ub) { - unsigned long wire_value; - int ret; - - fprintf(stderr, "%03d: Rebase %ld into (%ld..%ld) %s\n", lineno, value, lb, - ub, expected_to_fail ? "FAIL" : "OK"); - - ret = per_long_range_rebase(value, lb, ub, &wire_value); - if(ret != 0) { - if(expected_to_fail) { - return; - } else { - fprintf(stderr, "%03d: Original %ld (%ld..%ld) failed to rebase\n", - lineno, value, lb, ub); - assert(ret == 0); - } - } if(expected_to_fail) { - fprintf( - stderr, - "%03d: Original %ld (%ld..%ld) rebased to %lu where it shouldn't\n", - lineno, value, lb, ub, wire_value); - assert(expected_to_fail && ret == -1); - } - - fprintf(stderr, "%03d: Recover %lu into (%ld..%ld)\n", lineno, - wire_value, lb, ub); - - long recovered; - ret = per_long_range_unrebase(wire_value, lb, ub, &recovered); - if(ret != 0) { - fprintf(stderr, "%03d: Wire value %lu (%ld..%ld) failed to unrebase\n", - lineno, wire_value, lb, ub); - assert(ret == 0); - } - - if(value != recovered) { - fprintf(stderr, - "%03d: Value %ld (%ld..%ld) failed to round-trip (=%ld)\n", - lineno, value, lb, ub, recovered); - assert(value == recovered); - } - -} - -static void -check_range_rebase() { - - OK_UNREBASE(0U, 0, 0, 0); - NO_UNREBASE(1U, 0, 0); - OK_UNREBASE(0, LONG_MAX, LONG_MAX, LONG_MAX); - NO_UNREBASE(1, LONG_MAX, LONG_MAX); - OK_UNREBASE(0, LONG_MAX-1, LONG_MAX-1, LONG_MAX-1); - NO_UNREBASE(1, LONG_MAX-1, LONG_MAX-1); - - OK_REBASE_ROUNDTRIP(0, 0, 0); - OK_REBASE_ROUNDTRIP(0, 0, 1); - OK_REBASE_ROUNDTRIP(1, 0, 1); - - NO_REBASE_ROUNDTRIP(-1, 0, 0); - NO_REBASE_ROUNDTRIP(1, 0, 0); - NO_REBASE_ROUNDTRIP(LONG_MIN, 0, 0); - NO_REBASE_ROUNDTRIP(LONG_MAX, 0, 0); - - OK_REBASE_ROUNDTRIP(-2, -2, -1); - OK_REBASE_ROUNDTRIP(-1, -2, -1); - NO_REBASE_ROUNDTRIP(-3, -2, -1); - NO_REBASE_ROUNDTRIP(0, -2, -1); - - OK_REBASE_ROUNDTRIP(LONG_MAX, LONG_MAX, LONG_MAX); - NO_REBASE_ROUNDTRIP(LONG_MAX-1, LONG_MAX, LONG_MAX); - NO_REBASE_ROUNDTRIP(0, LONG_MAX, LONG_MAX); - NO_REBASE_ROUNDTRIP(LONG_MIN, LONG_MAX, LONG_MAX); - NO_REBASE_ROUNDTRIP(LONG_MIN+1, LONG_MAX, LONG_MAX); - - OK_REBASE_ROUNDTRIP(LONG_MIN, LONG_MIN, LONG_MIN); - NO_REBASE_ROUNDTRIP(LONG_MIN+1, LONG_MIN, LONG_MIN); - NO_REBASE_ROUNDTRIP(0, LONG_MIN, LONG_MIN); - NO_REBASE_ROUNDTRIP(LONG_MAX-1, LONG_MIN, LONG_MIN); - NO_REBASE_ROUNDTRIP(LONG_MAX, LONG_MIN, LONG_MIN); - OK_REBASE_ROUNDTRIP(LONG_MAX-10, LONG_MAX-10, LONG_MAX-5); - OK_REBASE_ROUNDTRIP(LONG_MAX-5, LONG_MAX-10, LONG_MAX-5); - OK_REBASE_ROUNDTRIP(LONG_MAX-7, LONG_MAX-10, LONG_MAX-5); - NO_REBASE_ROUNDTRIP(LONG_MAX-4, LONG_MAX-10, LONG_MAX-5); - - NO_REBASE_ROUNDTRIP(LONG_MIN, LONG_MIN+1, LONG_MIN+2); - OK_REBASE_ROUNDTRIP(LONG_MIN+1, LONG_MIN+1, LONG_MIN+2); - OK_REBASE_ROUNDTRIP(LONG_MIN+2, LONG_MIN+1, LONG_MIN+2); - NO_REBASE_ROUNDTRIP(LONG_MIN+3, LONG_MIN+1, LONG_MIN+2); - OK_REBASE_ROUNDTRIP(LONG_MIN, LONG_MIN, LONG_MIN+1); - OK_REBASE_ROUNDTRIP(LONG_MIN+1, LONG_MIN, 0); - OK_REBASE_ROUNDTRIP(LONG_MIN+1, LONG_MIN, LONG_MIN+1); - NO_REBASE_ROUNDTRIP(LONG_MIN+2, LONG_MIN, LONG_MIN+1); - - OK_REBASE_ROUNDTRIP(-1, -1, 1); - OK_REBASE_ROUNDTRIP(0, -1, 1); - OK_REBASE_ROUNDTRIP(1, -1, 1); - - NO_REBASE_ROUNDTRIP(-2, -1, 1); - NO_REBASE_ROUNDTRIP(2, -1, 1); - NO_REBASE_ROUNDTRIP(LONG_MIN, -1, 1); - NO_REBASE_ROUNDTRIP(LONG_MAX, -1, 1); - - OK_REBASE_ROUNDTRIP(-1, LONG_MIN, LONG_MAX); - OK_REBASE_ROUNDTRIP(0, LONG_MIN, LONG_MAX); - OK_REBASE_ROUNDTRIP(1, LONG_MIN, LONG_MAX); - OK_REBASE_ROUNDTRIP(LONG_MIN, LONG_MIN, LONG_MAX); - OK_REBASE_ROUNDTRIP(LONG_MAX, LONG_MIN, LONG_MAX); - -#ifndef EXPLICIT_32BIT - if(sizeof(long) == 8) { - OK_REBASE_ROUNDTRIP(0, LONG_MIN, LONG_MAX); - - /* Too wide range, would not fit uint32_t */ - OK_REBASE_ROUNDTRIP(INT32_MIN, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - OK_REBASE_ROUNDTRIP(INT32_MAX, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - OK_REBASE_ROUNDTRIP((long)INT32_MIN - 1, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - OK_REBASE_ROUNDTRIP((long)INT32_MAX + 1, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - NO_REBASE_ROUNDTRIP(LONG_MIN, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - NO_REBASE_ROUNDTRIP(LONG_MAX, (long)INT32_MIN - 1, - (long)INT32_MAX + 1); - - NO_REBASE_ROUNDTRIP(((long)INT32_MIN)-1, INT32_MIN, INT32_MAX); - NO_REBASE_ROUNDTRIP(((long)INT32_MAX)+1, INT32_MIN, INT32_MAX); - NO_REBASE_ROUNDTRIP(LONG_MIN, INT32_MIN, INT32_MAX); - NO_REBASE_ROUNDTRIP(LONG_MAX, INT32_MIN, INT32_MAX); - } -#endif - - OK_REBASE_ROUNDTRIP(-1, LONG_MIN + 1, LONG_MAX - 1); - OK_REBASE_ROUNDTRIP(0, LONG_MIN + 1, LONG_MAX - 1); - OK_REBASE_ROUNDTRIP(-1, LONG_MIN + 1, LONG_MAX - 1); - OK_REBASE_ROUNDTRIP(LONG_MIN + 1, LONG_MIN + 1, LONG_MAX - 1); - OK_REBASE_ROUNDTRIP(LONG_MAX - 1, LONG_MIN + 1, LONG_MAX - 1); - NO_REBASE_ROUNDTRIP(LONG_MIN, LONG_MIN + 1, LONG_MAX - 1); - NO_REBASE_ROUNDTRIP(LONG_MAX, LONG_MIN + 1, LONG_MAX - 1); - - if(sizeof(long) == 8) { - NO_REBASE_ROUNDTRIP(LONG_MIN, INT32_MIN + 1, INT32_MAX - 1); - NO_REBASE_ROUNDTRIP(LONG_MAX, INT32_MIN + 1, INT32_MAX - 1); - } -} - -int main() { - - check_range_rebase(); - check_round_trips(); - -} - diff --git a/tests/tests-skeletons/check-REAL.c b/tests/tests-skeletons/check-REAL.c deleted file mode 100644 index e98684e..0000000 --- a/tests/tests-skeletons/check-REAL.c +++ /dev/null @@ -1,728 +0,0 @@ -#include -#include -#include -#include - -/* C11 specifies DBL_TRUE_MIN, might not be immediately available. */ -#ifndef DBL_TRUE_MIN -#define DBL_TRUE_MIN 4.9406564584124654E-324 -#endif - -#include - -static char reconstructed[2][512]; -static int reconstr_lens[2]; - -static int -callback(const void *buffer, size_t size, void *app_key) { - char *buf = reconstructed[app_key ? 1 : 0]; - int *len = &reconstr_lens[app_key ? 1 : 0]; - - if(*len + size >= sizeof(reconstructed[0])) - return -1; - - memcpy(buf + *len, buffer, size); - *len += size; - - return 0; -} - -static char * -d2s(double d, int canonical) { - ssize_t s; - - reconstr_lens[canonical] = 0; - s = REAL__dump(d, canonical, callback, (void *)(ptrdiff_t)canonical); - assert(s > 0 && (size_t)s < sizeof(reconstructed[canonical])); - assert(s == reconstr_lens[canonical]); - reconstructed[canonical][s] = '\0'; // ASCIIZ - return reconstructed[canonical]; -} - -/* - * Verify that a string representation of a given floating point value - * is as given in the (sample) and (canonical_sample) arguments. - */ -static void -check_str_representation(double d, const char *sample, - const char *canonical_sample, int lineno) { - char *s0, *s1; - - s0 = d2s(d, 0); - s1 = d2s(d, 1); - - if(sample) { - printf("%03d: Checking %g->[\"%s\"] against [\"%s\"]%s\n", lineno, d, - s0, sample, canonical_sample ? " (canonical follows...)" : ""); - assert(!strcmp(s0, sample)); - } - if(canonical_sample) { - if(*s1 == '<') { - printf( - "%03d: Checking %g->[\"%s\"] against [\"%s\"] " - "(canonical)\n", - lineno, d, s1, canonical_sample); - assert(!strcmp(s1, canonical_sample)); - } else { - double reconstructed = strtod(s1, 0); - printf( - "%03d: Checking %g->[\"%s\"] against [\"%s\"]->%g " - "(canonical, 𝟄=%.17g %g)\n", - lineno, d, s1, canonical_sample, reconstructed, - fabs(reconstructed - d), 1e-52); - if(d != reconstructed) { - printf( - "WARNING: Difference in a small epsilon (given " - "%%.15g=%.15g, %%.17g=%.17g, %%.20g=%.20g, " - "reconstructed %%.15g=%.15g, %%.17g=%.17g, " - "%%.20g=%.20g)!\n", - d, d, d, reconstructed, reconstructed, reconstructed); - } - assert(fabs(d - reconstructed) < 1e-52); - } - } -} - -#define check(rn, d, str1, str2) \ - check_impl(rn, d, str1, str2, __LINE__) - -static void -check_impl(REAL_t *rn, double orig_dbl, const char *sample, const char *canonical_sample, int lineno) { - double val; - uint8_t *p, *end; - int ret; - - printf("Line %d: double value %.12f [", lineno, orig_dbl); - for(p = (uint8_t *)&orig_dbl, end = p + sizeof(double); p < end ; p++) - printf("%02x", *p); - printf("] (ilogb %d)\n", ilogb(orig_dbl)); - - val = frexp(orig_dbl, &ret); - printf("frexp(%f, %d): [", val, ret); - for(p = (uint8_t *)&val, end = p + sizeof(double); p < end ; p++) - printf("%02x", *p); - printf("]\n"); - - ret = asn_double2REAL(rn, orig_dbl); - assert(ret == 0); - - printf("converted into ["); - for(p = rn->buf, end = p + rn->size; p < end; p++) - printf("%02x", *p); - printf("]: %zu\n", rn->size); - - ret = asn_REAL2double(rn, &val); - assert(ret == 0); - - printf("and back to double: ["); - for(p = (uint8_t *)&val, end = p + sizeof(double); p < end ; p++) - printf("%02x", *p); - printf("] (ilogb %d)\n", ilogb(val)); - - printf("%.12f vs %.12f\n", val, orig_dbl); - assert((isnan(orig_dbl) && isnan(val)) || val == orig_dbl); - printf("OK\n"); - - check_str_representation(val, sample, canonical_sample, lineno); -} -static void -check_xer(int fuzzy, double orig_value) { - asn_enc_rval_t er; - asn_dec_rval_t rc; - REAL_t st; - REAL_t *newst0 = 0; - REAL_t *newst1 = 0; - REAL_t **newst0p = &newst0; - REAL_t **newst1p = &newst1; - double value0, value1; - int ret; - - memset(&st, 0, sizeof(st)); - ret = asn_double2REAL(&st, orig_value); - assert(ret == 0); - - reconstr_lens[0] = 0; - reconstr_lens[1] = 0; - er = xer_encode(&asn_DEF_REAL, &st, XER_F_BASIC, callback, 0); - assert(er.encoded == reconstr_lens[0]); - er = xer_encode(&asn_DEF_REAL, &st, XER_F_CANONICAL, callback, (void *)1); - assert(er.encoded == reconstr_lens[1]); - reconstructed[0][reconstr_lens[0]] = 0; - reconstructed[1][reconstr_lens[1]] = 0; - - printf("%f vs (%d)[%s] & (%d)%s", - orig_value, - reconstr_lens[1], reconstructed[1], - reconstr_lens[0], reconstructed[0] - ); - - rc = xer_decode(0, &asn_DEF_REAL, (void **)newst0p, - reconstructed[0], reconstr_lens[0]); - assert(rc.code == RC_OK); - assert(reconstr_lens[0] > 0 && rc.consumed < (size_t)reconstr_lens[0]); - - rc = xer_decode(0, &asn_DEF_REAL, (void **)newst1p, - reconstructed[1], reconstr_lens[1]); - assert(rc.code == RC_OK); - assert(rc.consumed == (size_t)reconstr_lens[1]); - - ret = asn_REAL2double(newst0, &value0); - assert(ret == 0); - ret = asn_REAL2double(newst1, &value1); - assert(ret == 0); - - assert((isnan(value0) && isnan(orig_value)) - || value0 == orig_value - || fuzzy); - assert((isnan(value1) && isnan(orig_value)) - || value1 == orig_value); - - assert(newst0->size == st.size || fuzzy); - assert(newst1->size == st.size); - assert(fuzzy || memcmp(newst0->buf, st.buf, st.size) == 0); - assert(memcmp(newst1->buf, st.buf, st.size) == 0); - ASN_STRUCT_RESET(asn_DEF_REAL, &st); - ASN_STRUCT_FREE(asn_DEF_REAL, newst0); - ASN_STRUCT_FREE(asn_DEF_REAL, newst1); -} - -static void -check_ber_buffer_twoway(double d, const char *sample, const char *canonical_sample, const uint8_t *inbuf, size_t insize, uint8_t *outbuf, size_t outsize, int lineno) { - REAL_t rn; - double val; - int ret; - - /* - * Decode our expected buffer and check that it matches the given (d). - */ - rn.buf = calloc(1, insize + 1); /* By convention, buffers have extra \0 */ - assert(rn.buf); - memcpy(rn.buf, inbuf, insize); - rn.size = insize; - asn_REAL2double(&rn, &val); - if(isnan(val)) assert(isnan(d)); - if(isnan(d)) assert(isnan(val)); - if(!isnan(val) && !isnan(d)) { - assert(copysign(1.0, d) == copysign(1.0, val)); - assert(d == val); - } - - /* - * Encode value and check that it matches our expected buffer. - */ - free(rn.buf); - memset(&rn, 0, sizeof(rn)); - ret = asn_double2REAL(&rn, d); - assert(ret == 0); - if((size_t)rn.size != outsize) { - printf("Encoded %f into %d expected %zd\n", - d, (int)rn.size, outsize); - assert((size_t)rn.size == outsize); - } - assert(memcmp(rn.buf, outbuf, rn.size) == 0); - ASN_STRUCT_RESET(asn_DEF_REAL, &rn); - - check_str_representation(d, sample, canonical_sample, lineno); -} - -static void -check_ber_buffer_oneway(double d, const char *sample, const char *canonical_sample, uint8_t *buf, size_t bufsize, int lineno) { - REAL_t rn0; - REAL_t rn1; - double val0; - double val1; - uint8_t *p, *end; - int ret; - - memset(&rn0, 0, sizeof(rn0)); - memset(&rn1, 0, sizeof(rn1)); - - printf("verify double value %.12f [", d); - for(p = (uint8_t *)&d, end = p + sizeof(double); p < end ; p++) - printf("%02x", *p); - printf("] (ilogb %d)\n", ilogb(d)); - - ret = asn_double2REAL(&rn0, d); - assert(ret == 0); - - printf("canonical DER: ["); - for(p = rn0.buf, end = p + rn0.size; p < end; p++) - printf("%02x", *p); - ret = asn_REAL2double(&rn0, &val0); - assert(ret == 0); - printf("] => %f\n", val0); - - rn1.buf = buf; - rn1.size = bufsize; - - printf("received as: ["); - for(p = rn1.buf, end = p + rn1.size; p < end; p++) - printf("%02x", *p); - ret = asn_REAL2double(&rn1, &val1); - assert(ret == 0); - printf("] => %f\n", val1); - - printf("%.12f vs %.12f vs %.12f\n", d, val0, val1); - - assert(val0 == d); - assert(val1 == d); - - ASN_STRUCT_RESET(asn_DEF_REAL, &rn0); - - check_str_representation(val1, sample, canonical_sample, lineno); -} - -/* - * 8.5.7 Verify binary encoding, two-way. - */ -static void -check_ber_857_encoding(int base, int sign, int scaling_factor, int exponent, int mantissa) { - uint8_t buf[100]; - uint8_t *b = buf; - int explen, mantlen; - REAL_t rn; - static REAL_t rn_check; - double d; - double verify; - int baseF = 0; - int ret; - -#define BIT(b) (1<<(b - 1)) - - switch(base) { - case 0: baseF = 1; break; - case 1: baseF = 3; break; - case 2: baseF = 4; break; - default: assert(base >= 0 && base <= 2); - } - - if(exponent >= -128 && exponent <= 127) { - explen = 1; - } else { - assert(exponent > -60000 && exponent < 60000); - explen = 2; - } - - if(mantissa == 0) { - mantlen = 0; - } else if(mantissa >= 0 && mantissa <= 255) { - mantlen = 1; - } else if(mantissa >= 0 && mantissa <= 65535) { - mantlen = 2; - } else { - assert(mantissa >= 0 && mantissa <= 256 * 65536); - mantlen = 3; - } - - *b = BIT(8) | (sign ? BIT(7) : 0); - *b |= (base & 0x03) << 4; /* 8.5.7.2 */ - *b |= (scaling_factor & 0x03) << 2; /* 8.5.7.3 */ - *b |= ((explen - 1) & 0x03); /* 8.5.7.4 */ - b++; - switch(explen) { - case 2: *b++ = (int8_t)(exponent >> 8); /* Fall through */ - case 1: *b++ = (int8_t)exponent; /* Fall through */ - } - switch(mantlen) { - case 3: *b++ = (mantissa >> 16) & 0xff; /* Fall through */ - case 2: *b++ = (mantissa >> 8) & 0xff; /* Fall through */ - case 1: *b++ = (mantissa & 0xff); /* Fall through */ - } - - verify = (sign ? -1.0 : 1.0) * ldexp(mantissa, exponent * baseF + scaling_factor); - - /* Verify than encoding of this double value round-trips */ - if(!isinf(verify)) { - d = verify; - verify = 0.0; - ret = asn_double2REAL(&rn_check, d); - assert(ret == 0); - ret = asn_REAL2double(&rn_check, &verify); - assert(ret == 0); - assert(d == verify); - - /* Verify with a slight non-friendly offset. Not too easy. */ - d = verify - 0.13; - verify = 0.0; - ret = asn_double2REAL(&rn_check, d); - assert(ret == 0); - ret = asn_REAL2double(&rn_check, &verify); - assert(ret == 0); - assert(ret == 0); - assert(d == verify); - } - - verify = (sign ? -1.0 : 1.0) * ldexp(mantissa, exponent * baseF + scaling_factor); - - rn.buf = buf; - rn.size = b - buf; - ret = asn_REAL2double(&rn, &d); - if(!isinf(verify) && (ret != 0 || d != verify)) { - printf("Converting B=%d, S=%d, F=%d, E=%d/%d, M=%d/%d\n", (1 << baseF), sign, scaling_factor, exponent, explen, mantissa, mantlen); - printf("Verify: %e\n", verify); - uint8_t *p; - printf("received as: ["); - for(p = buf; p < b; p++) printf("%02x", *p); - printf("]\n"); - assert(ret == 0); - printf("Converted: %e\n", d); - assert(d == verify); - } -} - -static void -check_ber_encoding() { -#define CHECK_BER_STRICT(v, nocan, can, inbuf, outbuf) \ - check_ber_buffer_twoway(v, nocan, can, inbuf, sizeof(inbuf), \ - outbuf, sizeof(outbuf), __LINE__) - -#define CHECK_BER_NONSTRICT(v, nocan, can, buf) \ - check_ber_buffer_oneway(v, nocan, can, buf, sizeof(buf), __LINE__) - - /* - * X.690 8.4 Encoding of an enumerated value. - */ - - /* 8.5.2 If the real value is the value plus zero, - * there shall be no contents octet in the encoding */ - { uint8_t b_0[] = {}; - CHECK_BER_STRICT(0.0, "0", "0", b_0, b_0); } - - /* 8.5.3 When -0 is to be encoded, there shall be only one contents octet */ - { uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0, b_m0); } - - /* Old way of encoding -0.0: 8.5.6 a) */ - { uint8_t b_m0[] = { 0x43 }; - uint8_t b_m0_856a[] = { 0xC0, 0x00 }; /* #8.5.6 a) */ - uint8_t b_m0_856a_1[] = { 0xC0, 0x00, 0x00 }; - uint8_t b_m0_856a_2[] = { 0xC0, 0x00, 0x00, 0x00 }; - uint8_t b_m0_856a_3[] = { 0xC0, 0x00, 0x00, 0x00, 0x00 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_856a, b_m0); - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_856a_1, b_m0); - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_856a_2, b_m0); - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_856a_3, b_m0); } - - /* 8.5.6 c) => 8.5.9 SpecialRealValue */ - { uint8_t b_pinf[] = { 0x40 }; - uint8_t b_minf[] = { 0x41 }; - uint8_t b_nan[] = { 0x42 }; - CHECK_BER_STRICT(INFINITY, "", "", b_pinf, b_pinf); - CHECK_BER_STRICT(-INFINITY, "", "", b_minf, b_minf); - CHECK_BER_STRICT(NAN, "", "", b_nan, b_nan); } - - /* 8.5.6 b) => 8.5.8 Decimal encoding is used; NR1 form */ - { uint8_t b_0_nr1[] = { 0x01, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr1, b_0); } - { uint8_t b_0_nr1[] = { 0x01, '0', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr1, b_0); } - { uint8_t b_0_nr1[] = { 0x01, ' ', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr1, b_0); } - { uint8_t b_p0_nr1[] = { 0x01, '+', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr1, b_0); } - { uint8_t b_p0_nr1[] = { 0x01, ' ', '+', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr1, b_0); } - { uint8_t b_m0_nr1[] = { 0x01, '-', '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr1, b_m0); } - { uint8_t b_m0_nr1[] = { 0x01, ' ', '-', '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr1, b_m0); } - - { uint8_t b_1_nr1[] = { 0x01, '1' }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr1, b_1); } - { uint8_t b_1_nr1[] = { 0x01, '0', '1' }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr1, b_1); } - { uint8_t b_1_nr1[] = { 0x01, ' ', '1' }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr1, b_1); } - { uint8_t b_p1_nr1[] = { 0x01, '+', '1' }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_p1_nr1, b_1); } - { uint8_t b_p1_nr1[] = { 0x01, ' ', '+', '1' }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_p1_nr1, b_1); } - { uint8_t b_m1_nr1[] = { 0x01, '-', '1' }; - uint8_t b_m1[] = { 0xC0, 0x00, 0x01 }; - CHECK_BER_STRICT(-1.0, "-1.0", "-1.0E0", b_m1_nr1, b_m1); } - { uint8_t b_m1_nr1[] = { 0x01, ' ', '-', '1' }; - uint8_t b_m1[] = { 0xC0, 0x00, 0x01 }; - CHECK_BER_STRICT(-1.0, "-1.0", "-1.0E0", b_m1_nr1, b_m1); } - - { - uint8_t comma_symbol[] = { '.', ',' }; - int csi; - for(csi = 0; csi < 2; csi++) { - uint8_t CS = comma_symbol[csi]; - - /* 8.5.6 b) => 8.5.8 Decimal encoding is used; NR2 form */ - { uint8_t b_0_nr2[] = { 0x02, '0', CS, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr2, b_0); } - { uint8_t b_0_nr2[] = { 0x02, '0', '0', CS, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr2, b_0); } - { uint8_t b_0_nr2[] = { 0x02, ' ', '0', CS, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr2, b_0); } - { uint8_t b_p0_nr2[] = { 0x02, '+', '0', CS, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr2, b_0); } - { uint8_t b_p0_nr2[] = { 0x02, ' ', '+', '0', CS, '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr2, b_0); } - { uint8_t b_m0_nr2[] = { 0x02, '-', '0', CS, '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr2, b_m0); } - { uint8_t b_m0_nr2[] = { 0x02, ' ', '-', '0', CS, '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr2, b_m0); } - - /* 8.5.6 b) => 8.5.8 NR2 "1." */ - { uint8_t b_1_nr2[] = { 0x02, '1', CS }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr2, b_1); } - { uint8_t b_1_nr2[] = { 0x02, '0', '1', CS }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr2, b_1); } - { uint8_t b_1_nr2[] = { 0x02, ' ', '1', CS }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_1_nr2, b_1); } - { uint8_t b_p1_nr2[] = { 0x02, '+', '1', CS }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_p1_nr2, b_1); } - { uint8_t b_p1_nr2[] = { 0x02, ' ', '+', '1', CS }; - uint8_t b_1[] = { 0x80, 0x00, 0x01 }; - CHECK_BER_STRICT(1.0, "1.0", "1.0E0", b_p1_nr2, b_1); } - { uint8_t b_m1_nr2[] = { 0x02, '-', '1', CS }; - uint8_t b_m1[] = { 0xC0, 0x00, 0x01 }; - CHECK_BER_STRICT(-1.0, "-1.0", "-1.0E0", b_m1_nr2, b_m1); } - { uint8_t b_m1_nr2[] = { 0x02, ' ', '-', '1', CS }; - uint8_t b_m1[] = { 0xC0, 0x00, 0x01 }; - CHECK_BER_STRICT(-1.0, "-1.0", "-1.0E0", b_m1_nr2, b_m1); } - - /* 8.5.6 b) => 8.5.8 NR2 ".5" */ - { uint8_t b_05_nr2[] = { 0x02, CS, '5' }; - uint8_t b_05[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_05_nr2, b_05); } - { uint8_t b_05_nr2[] = { 0x02, '0', CS, '5' }; - uint8_t b_05[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_05_nr2, b_05); } - { uint8_t b_05_nr2[] = { 0x02, ' ', CS, '5' }; - uint8_t b_05[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_05_nr2, b_05); } - { uint8_t b_p1_nr2[] = { 0x02, '+', CS, '5' }; - uint8_t b_05[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_p1_nr2, b_05); } - { uint8_t b_p1_nr2[] = { 0x02, ' ', '+', CS, '5' }; - uint8_t b_05[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_p1_nr2, b_05); } - { uint8_t b_m05_nr2[] = { 0x02, '-', CS, '5' }; - uint8_t b_m05[] = { 0xC0, 0xff, 0x01 }; - CHECK_BER_STRICT(-0.5, "-0.5", "-5.0E-1", b_m05_nr2, b_m05); } - { uint8_t b_m05_nr2[] = { 0x02, ' ', '-', CS, '5' }; - uint8_t b_m05[] = { 0xC0, 0xff, 0x01 }; - CHECK_BER_STRICT(-0.5, "-0.5", "-5.0E-1", b_m05_nr2, b_m05); } - - /* 8.5.6 b) => 8.5.8 Decimal encoding is used; NR3 form */ - { uint8_t b_0_nr3[] = { 0x03, '0', CS, '0', 'e', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr3, b_0); } - { uint8_t b_0_nr3[] = { 0x03, '0', '0', CS, '0', 'E', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr3, b_0); } - { uint8_t b_0_nr3[] = { 0x03, ' ', '0', CS, '0', 'e', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_0_nr3, b_0); } - { uint8_t b_p0_nr3[] = { 0x03, '+', '0', CS, '0', 'E', '+', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr3, b_0); } - { uint8_t b_p0_nr3[] = { 0x03, ' ', '+', '0', CS, '0', 'e', '+', '0' }; - uint8_t b_0[] = { }; - CHECK_BER_STRICT(0.0, "0", "0", b_p0_nr3, b_0); } - { uint8_t b_m0_nr3[] = { 0x03, '-', '0', CS, '0', 'E', '-', '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr3, b_m0); } - { uint8_t b_m0_nr3[] = { 0x03, ' ', '-', '0', CS, '0', 'e', '-', '0' }; - uint8_t b_m0[] = { 0x43 }; - CHECK_BER_STRICT(-0.0, "-0", "-0", b_m0_nr3, b_m0); } - - /* 8.5.6 b) => 8.5.8 NR3 "5.e-1" */ - { uint8_t b_5_nr3[] = { 0x03, '5', CS, 'e', '-', '1' }; - uint8_t b_5[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_5_nr3, b_5); } - { uint8_t b_5_nr3[] = { 0x03, '0', '5', CS, 'E', '-', '1' }; - uint8_t b_5[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_5_nr3, b_5); } - { uint8_t b_5_nr3[] = { 0x03, ' ', '5', CS, 'e', '-', '1' }; - uint8_t b_5[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_5_nr3, b_5); } - { uint8_t b_p5_nr3[] = { 0x03, '+', '5', CS, 'E', '-', '1' }; - uint8_t b_5[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_p5_nr3, b_5); } - { uint8_t b_p5_nr3[] = { 0x03, ' ', '+', '5', CS, 'e', '-', '1' }; - uint8_t b_5[] = { 0x80, 0xff, 0x01 }; - CHECK_BER_STRICT(0.5, "0.5", "5.0E-1", b_p5_nr3, b_5); } - { uint8_t b_m5_nr3[] = { 0x03, '-', '5', CS, 'E', '-', '1' }; - uint8_t b_m5[] = { 0xC0, 0xff, 0x01 }; - CHECK_BER_STRICT(-0.5, "-0.5", "-5.0E-1", b_m5_nr3, b_m5); } - { uint8_t b_m5_nr3[] = { 0x03, ' ', '-', '5', CS, 'e', '-', '1' }; - uint8_t b_m5[] = { 0xC0, 0xff, 0x01 }; - CHECK_BER_STRICT(-0.5, "-0.5", "-5.0E-1", b_m5_nr3, b_m5); } - - /* 8.5.6 b) => 8.5.8 NR3 ".5e1" */ - { uint8_t b_05_nr3[] = { 0x03, CS, '5', 'e', '+', '1' }; - uint8_t b_05[] = { 0x80, 0x00, 0x05 }; - CHECK_BER_STRICT(5.0, "5.0", "5.0E0", b_05_nr3, b_05); } - { uint8_t b_05_nr3[] = { 0x03, '0', CS, '5', 'E', '+', '1'}; - uint8_t b_05[] = { 0x80, 0x00, 0x05 }; - CHECK_BER_STRICT(5.0, "5.0", "5.0E0", b_05_nr3, b_05); } - { uint8_t b_05_nr3[] = { 0x03, ' ', CS, '5', 'e', '1'}; - uint8_t b_05[] = { 0x80, 0x00, 0x05 }; - CHECK_BER_STRICT(5.0, "5.0", "5.0E0", b_05_nr3, b_05); } - { uint8_t b_p1_nr3[] = { 0x03, '+', CS, '5', 'E', '1' }; - uint8_t b_05[] = { 0x80, 0x00, 0x05 }; - CHECK_BER_STRICT(5.0, "5.0", "5.0E0", b_p1_nr3, b_05); } - { uint8_t b_p1_nr3[] = { 0x03, ' ', '+', CS, '5', 'e', '+', '1' }; - uint8_t b_05[] = { 0x80, 0x00, 0x05 }; - CHECK_BER_STRICT(5.0, "5.0", "5.0E0", b_p1_nr3, b_05); } - { uint8_t b_m05_nr3[] = { 0x03, '-', CS, '5', 'E', '+', '1' }; - uint8_t b_m05[] = { 0xC0, 0x00, 0x05 }; - CHECK_BER_STRICT(-5.0, "-5.0", "-5.0E0", b_m05_nr3, b_m05); } - { uint8_t b_m05_nr3[] = { 0x03, ' ', '-', CS, '5', 'e', '1' }; - uint8_t b_m05[] = { 0xC0, 0x00, 0x05 }; - CHECK_BER_STRICT(-5.0, "-5.0", "-5.0E0", b_m05_nr3, b_m05); } - } /* for(comma symbol) */ - } - - /* Scan through the range of bits, construct the valid base-2 numbers, and - * try two-way conversion with them */ - { - int base, sign, scaling_factor, exponent, mantissa; - for(base = 0; base <= 2; base++) { - for(sign = 0; sign <= 1; sign++) { - for(scaling_factor = 0; scaling_factor <= 3; scaling_factor++) { - for(exponent = -1000; exponent < 1000; exponent += (exponent > -990 && exponent < 990) ? 100 : 1) { - for(mantissa = 0; mantissa < 66000; mantissa += (mantissa > 300 && mantissa < 65400) ? 100 : 1) { - check_ber_857_encoding(base, sign, scaling_factor, exponent, mantissa); - } - } - } - } - } - } - - { - uint8_t b_1_0[] = - { 0x80, 0xcc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - uint8_t b_1_1[] = - { 0x80, 0xcc, 0x11, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a }; - uint8_t b_3_14[] = - { 0x80, 0xcd, 0x19, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f }; - uint8_t b_3_14_mo1[] = - { 0xC0, 0xc5, 0x19, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f,3}; - uint8_t b_3_14_mo2[] = - { 0x80, 0xbd, 0x19, 0x1e, 0xb8, 0x51, 0xeb, 0x85, 0x1f,3,2}; - - CHECK_BER_NONSTRICT(1.0, "1.0", "1.0E0", b_1_0); - CHECK_BER_NONSTRICT(1.1, "1.1", "1.1E0", b_1_1); - CHECK_BER_NONSTRICT(3.14, "3.14", "3.14E0", b_3_14); - /* These two are very interesting! They check mantissa overflow! */ - CHECK_BER_NONSTRICT(-3.14, "-3.14", "-3.14E0", b_3_14_mo1); - CHECK_BER_NONSTRICT(3.14, "3.14", "3.14E0", b_3_14_mo2); - } -} - -int -main() { - REAL_t rn; - memset(&rn, 0, sizeof(rn)); - - check_ber_encoding(); - - check(&rn, 0.0, "0", "0"); - check(&rn, -0.0, "-0", "-0"); /* minus-zero */ - check(&rn, NAN, "", ""); - check(&rn, INFINITY, "", ""); - check(&rn, -INFINITY, "", ""); - check(&rn, 1.0, "1.0", "1.0E0"); - check(&rn, -1.0, "-1.0", "-1.0E0"); - check(&rn, 0.1, "0.1", "1.0E-1"); - check(&rn, 0.01, "0.01", "1.0E-2"); - check(&rn, 0.02, "0.02", "2.0E-2"); - check(&rn, 0.09, "0.09", "9.0E-2"); - check(&rn, 1.5, "1.5", "1.5E0"); - check(&rn, 0.33333, "0.33333", "3.3333E-1"); - check(&rn, 2, "2.0", "2.0E0"); - check(&rn, 2.1, "2.1", "2.1E0"); - check(&rn, 3, "3.0", "3.0E0"); - check(&rn, 3.1, "3.1", "3.1E0"); - check(&rn, 3.14, "3.14", "3.14E0"); - check(&rn, 3.1415, "3.1415", "3.1415E0"); - check(&rn, 3.141592, "3.141592", "3.141592E0"); - check(&rn, 3.14159265, "3.14159265", "3.14159265E0"); - check(&rn, -3.14159265, "-3.14159265", "-3.14159265E0"); - check(&rn, 14159265.0, "14159265.0", "1.4159265E7"); - check(&rn, -123456789123456789.0, "-123456789123456784.0", "-1.234567891234568E17"); - check(&rn, 0.00000000001, "0.00000000001", "9.999999999999999E-12"); - check(&rn, 0.00000000002, "0.00000000002", "2.0E-11"); - check(&rn, 0.00000000009, "0.00000000009", "9.0E-11"); - check(&rn, 0.000000000002, "0.000000000002", "2.0E-12"); - check(&rn, 0.0000000000002, "0.0000000000002", "2.0E-13"); - check(&rn, 0.00000000000002, "0.00000000000002", "2.0E-14"); - check(&rn, 0.000000000000002, "0.000000000000002", "2.0E-15"); - check(&rn, 0.0000000000000002, "0.0", "2.0E-16"); - check(&rn, 0.0000000000000000000001, "0.0", "1.0E-22"); - check(&rn, 0.000000000000000000000000000001, "0.0", "1.0E-30"); /* proved 2B a problem */ - check(&rn,-0.000000000000000000000000000001, "-0.0", "-1.0E-30"); /* proved 2B a problem */ - check(&rn, 0.0000000000010000000001000000000001, 0, 0); - check(&rn, 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001, 0, 0); - check(&rn, 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001, 0, 0); - check(&rn,-0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001, 0, 0); - check(&rn,-3.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333, 0, 0); - check(&rn, 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333, 0, 0); - check(&rn, 0.25, "0.25", "2.5E-1"); - check(&rn, -0.25, "-0.25", "-2.5E-1"); - check(&rn, 0.03, "0.03", "3.0E-2"); - check(&rn, -0.03, "-0.03", "-3.0E-2"); - - check(&rn, 4.01E-50, "0.0", "4.01E-50"); - check(&rn, -4.01E-50, "-0.0", "-4.01E-50"); - check(&rn, -4.9406564584124654E-324, "-0.0", "-4.940656458412465E-324"); /* MIN */ - check(&rn, DBL_MIN, "0.0", "2.225073858507201E-308"); /* MIN */ - check(&rn, -DBL_MIN, "-0.0", "-2.225073858507201E-308"); /* -MIN */ - check(&rn, DBL_MAX, "179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0", "1.797693134862316E308"); /* MAX */ - check(&rn, -DBL_MAX, "-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0", "-1.797693134862316E308"); /* MAX */ - check(&rn, -DBL_TRUE_MIN, "-0.0", "-4.940656458412465E-324"); /* subnorm */ - check(&rn, DBL_TRUE_MIN, "0.0", "4.940656458412465E-324"); /* subnorm */ - - -#ifdef NAN - check_xer(0, NAN); /* "" */ -#else - check_xer(0, zero/zero); /* "" */ -#endif -#ifdef INFINITY - check_xer(0, INFINITY); /* "" */ - check_xer(0, -INFINITY); /* "" */ -#else - check_xer(0, 1.0/zero); /* "" */ - check_xer(0, -1.0/zero); /* "" */ -#endif - check_xer(0, 1.0); - check_xer(0, -1.0); - check_xer(0, 1.5); - check_xer(0, 123); - check_xer(1, 0.0000000000000000000001); - check_xer(1, -0.0000000000000000000001); - - ASN_STRUCT_RESET(asn_DEF_REAL, &rn); - return 0; -} diff --git a/tests/tests-skeletons/check-UTCTime.c b/tests/tests-skeletons/check-UTCTime.c deleted file mode 100644 index 36d7c44..0000000 --- a/tests/tests-skeletons/check-UTCTime.c +++ /dev/null @@ -1,87 +0,0 @@ -#include -#include -#include - -#include -#include - -static void -check(char *time_str, time_t sample, int as_gmt) { - UTCTime_t gt; - struct tm tm; - time_t tloc; - - gt.buf = (uint8_t *)time_str; - gt.size = strlen(time_str); - - tloc = asn_UT2time(>, &tm, as_gmt); - printf("[%s] -> %ld == %ld\n", time_str, (long)tloc, (long)sample); - if(tloc != -1) - printf("\t%d-%d-%dT%02d:%02d:%02d %ld\n", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec, - GMTOFF(tm) - ); - assert(tloc == sample); - - assert(tloc == -1 || as_gmt == 0 || GMTOFF(tm) == 0); - - if(as_gmt) check(time_str, sample, as_gmt); -} - -static void -compare(int lineno, int cmp_control, const char *astr, const char *bstr) { - UTCTime_t a = {(uint8_t *)strdup(astr), strlen(astr), {0, 0, 0, 0, 0}}; - UTCTime_t b = {(uint8_t *)strdup(bstr), strlen(bstr), {0, 0, 0, 0, 0}}; - int cmp_result = - asn_DEF_UTCTime.op->compare_struct(&asn_DEF_UTCTime, &a, &b); - if(cmp_result != cmp_control) { - fprintf(stderr, "%03d: [%s] == [%s] = %d, expected %d\n", lineno, astr, - bstr, cmp_result, cmp_control); - assert(cmp_result == cmp_control); - } - ASN_STRUCT_RESET(asn_DEF_UTCTime, &a); - ASN_STRUCT_RESET(asn_DEF_UTCTime, &b); -} - -int -main(int ac, char **av) { - - (void)av; - - check("0401250", -1, 0); - check("0401250930", -1, 0); /* "Z" or "(+|-)hhmm" required */ - check("04012509300", -1, 0); - check("040125093000-", -1, 0); - check("040125093007-0", -1, 0); - check("040125093007-080", -1, 0); - check("0401250930.01Z", -1, 0); - - check("040125093007Z", 1075023007, 0); - check("040125093007+00", 1075023007, 0); - check("040125093007-0800", 1075051807, 0); - - if(ac > 1) { - /* These will be valid only inside PST time zone */ - check("040125093007", 1075051807, 0); - check("040125093000,01", 1075051800, 0); - check("040125093000,1234", 1075051800, 0); - } - - compare(__LINE__, 0, "040125093007", "040125093007"); - compare(__LINE__, 0, "040125093007-0000", "040125093007Z"); - compare(__LINE__, 1, "040125093008", "040125093007"); - compare(__LINE__, 1, "040125093008-0000", "040125093007-0000"); - compare(__LINE__, 0, "040125093008-0000", "040125093008-0000"); - compare(__LINE__, 1, "040125093008-0000", "040125093007Z"); - compare(__LINE__, 0, "040125093007-0000", "040125093007+0000"); - compare(__LINE__, 1, "040125093007-0030", "040125093007Z"); - compare(__LINE__, -1, "040125093007+0030", "040125093007Z"); - - return 0; -} - diff --git a/tests/tests-skeletons/check-UTF8String.c b/tests/tests-skeletons/check-UTF8String.c deleted file mode 100644 index 64b5d2e..0000000 --- a/tests/tests-skeletons/check-UTF8String.c +++ /dev/null @@ -1,88 +0,0 @@ -#include -#include -#include - -#include - -static void -check(int expect_length, char *buf, int buflen) { - UTF8String_t st; - int ret; - - if(buflen < 0) buflen = strlen(buf); - - st.buf = (uint8_t *)buf; - st.size = buflen; - printf("["); - - for(ret = 0; ret < buflen; ret++) - printf("%c", buf[ret]); - ret = UTF8String_length(&st); - printf("]: size=%d, expect=%d, got=%d\n", - buflen, expect_length, ret); - assert(ret == expect_length); -} - -static int -check_speed() { - int cycles = 1000000; - double start, stop; - struct timeval tv; - UTF8String_t st; - char long_test[] = - "a\303\237a\303\237a\303\237a\303\237" - "a\303\237a\303\237a\303\237a\303\237" - "a\303\237a\303\237a\303\237a\303\237" - "a\303\237a\303\237a\303\237a\303\237" - "a\303\237a\303\237a\303\237a\303\237"; - int ret; - int i; - - st.buf = (uint8_t *)long_test; - st.size = sizeof(long_test) - 1; - - ret = UTF8String_length(&st); - assert(ret == 40); - printf("Now wait a bit...\n"); - - gettimeofday(&tv, 0); - start = tv.tv_sec + tv.tv_usec / 1000000.0; - for(i = 0; i < cycles; i++) { - ret += UTF8String_length(&st); - } - gettimeofday(&tv, 0); - stop = tv.tv_sec + tv.tv_usec / 1000000.0; - - printf("%d cycles in %.3fms\n", cycles, stop - start); - - return ret; -} - -int -main() { - - check(0, "", 0); - check(1, "\0", 1); - check(1, "a", 1); - check(2, "ab", 2); - check(3, "abc", 3); - assert(sizeof("a\303\237cd") == 6); - check(4, "a\303\237cd", 5); - check(3, "a\370\211\200\201\257c", 7); - check(3, "\320\273\320\265\320\262", 6); - - check(-1, "a\303", 2); /* Truncated */ - check(-2, "\377", 1); /* Invalid UTF-8 sequence start */ - check(-2, "\200", 1); - check(-2, "\320\273\265\320\262", 5); - check(-3, "\320c", 2); /* Not continuation */ - check(-3, "a\370\200\200\200c", 6); - check(-4, "a\370\200\200\200\257c", 7); - check(-4, "\320\273\320\265\340\200\262", 7); - check(-5, 0, 0); - - check_speed(); - - return 0; -} - diff --git a/tests/tests-skeletons/check-XER.c b/tests/tests-skeletons/check-XER.c deleted file mode 100644 index 9084551..0000000 --- a/tests/tests-skeletons/check-XER.c +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include - -#include -#include - -static void -check(char *tag, char *name, xer_check_tag_e value) { - xer_check_tag_e xct; - - xct = xer_check_tag(tag, strlen(tag), name); - printf("[%s] vs [%s]: %d == %d\n", - tag, name, xct, value); - assert(xct == value); -} - -static void -check_next(char *xerbuf, int expected_chunk_size, pxer_chunk_type_e expected_chunk_type) { - int xerbuf_len = strlen(xerbuf); - pxer_chunk_type_e ch_type; - ssize_t ch_size; - int state = 0; - - if(expected_chunk_size == -1) - expected_chunk_size = xerbuf_len; - ch_size = xer_next_token(&state, xerbuf, xerbuf_len, &ch_type); - - printf("[%s]:%d\n", xerbuf, xerbuf_len); - printf("chunk sizes: %ld vs %ld, chunk types: %d vs %ld\n", - (long)ch_size, (long)expected_chunk_size, - ch_type, (long)expected_chunk_type - ); - - if(expected_chunk_type == PXER_WMORE) { - assert(ch_size == 0); - } else { - assert(ch_size == expected_chunk_size); - assert(ch_type == expected_chunk_type); - } -} - -int -main() { - - check("", "", XCT_BROKEN); - check("<", "", XCT_BROKEN); - check(">", "", XCT_BROKEN); - check("", "", XCT_BROKEN); - - check("<>", "", XCT_UNKNOWN_OP); - check("", "", XCT_UNKNOWN_CL); - - check("", "a", XCT_BROKEN); - check("<>", "a", XCT_UNKNOWN_OP); - check("", "a", XCT_UNKNOWN_CL); - - check("a", "a", XCT_BROKEN); - check("", "a", XCT_OPENING); - check("", "a", XCT_CLOSING); - check("", "a", XCT_BROKEN); - check("", "a", XCT_BOTH); - - check("", "a", XCT_OPENING); - check("", "a", XCT_CLOSING); - check("", "a", XCT_BROKEN); - check("", "a", XCT_BOTH); - - check("", "a", XCT_UNKNOWN_OP); - check("", "tag", XCT_OPENING); - check("", "tag", XCT_CLOSING); - check("", "tag", XCT_BROKEN); - check("", "tag", XCT_BOTH); - - - check("", "ta", XCT_UNKNOWN_OP); - check("", "ta", XCT_UNKNOWN_CL); - check("", "ta", XCT_BROKEN); - check("", "ta", XCT_UNKNOWN_BO); - - check("", "tag", XCT_BOTH); - - check_next("", -1, PXER_TAG); - check_next("la", 5, PXER_TAG); - check_next("", -1, PXER_COMMENT); - - return 0; -} diff --git a/tests/tests-skeletons/check-ber_tlv_tag.c b/tests/tests-skeletons/check-ber_tlv_tag.c deleted file mode 100644 index 75ca8aa..0000000 --- a/tests/tests-skeletons/check-ber_tlv_tag.c +++ /dev/null @@ -1,150 +0,0 @@ -#include -#include -#include - -#include -#include - -struct tag_control_s { - int taglen; - uint8_t tagbuf[8]; - - int correctly_decodable; - - int tclass; /* Tag class */ - ber_tlv_tag_t tvalue; /* Tag value */ - int constr; /* Is it constructed? */ -} control[] = { - { 1, { 0x2 << 6 }, 1, ASN_TAG_CLASS_CONTEXT, 0, 0 }, - { 1, { 0x2 << 6 | 32 | 1 }, 1, ASN_TAG_CLASS_CONTEXT, 1, 1 }, - { 1, { 0x3 << 6 | 30 }, 1, ASN_TAG_CLASS_PRIVATE, 30, 0 }, - { 1, { 29 }, 1, ASN_TAG_CLASS_UNIVERSAL, 29, 0 }, - { 1, { 0xbf, 31 }, 0, ASN_TAG_CLASS_CONTEXT, 31, 1 }, - { 2, { 0xbf, 31 }, 1, ASN_TAG_CLASS_CONTEXT, 31, 1 }, - { 2, { 0xbf, 83 }, 1, ASN_TAG_CLASS_CONTEXT, 83, 1 }, - { 2, { 0xbf, 127 }, 1, ASN_TAG_CLASS_CONTEXT, 127, 1 }, - { 2, { 0xbf, 129 }, 0, ASN_TAG_CLASS_CONTEXT, 127, 1 }, - { 3, { 0xbf, 129, 0 }, 1, ASN_TAG_CLASS_CONTEXT, 128, 1 }, - { 3, { 0xbf, 129, 1 }, 1, ASN_TAG_CLASS_CONTEXT, 129, 1 }, - { 3, { 0xbf, 130, 0 }, 1, ASN_TAG_CLASS_CONTEXT, 256, 1 }, - { 3, { 0xbf, 130, 1 }, 1, ASN_TAG_CLASS_CONTEXT, 257, 1 }, - { 3, { 0xbf, 130, 0x81 }, 0, 0, 0, 0 }, - { 4, { 0xbf, 130, 0x81, 2 }, 1, ASN_TAG_CLASS_CONTEXT, 32898, 1 }, - { 4, { 0xbf, 130, 0x81, 0x82 }, 0, ASN_TAG_CLASS_CONTEXT, 32898, 1 }, - { 5, { 0x1f, 130, 0x81, 0x82, 1 }, 1, 0, 4210945, 0 }, - { 5, { 0x1f, 130, 0x81, 0x82, 2 }, 1, 0, 4210946, 0 }, - { 5, { 0x1f, 0xff, 0x81, 0x82, 2 }, 1, 0, 266354946, 0 }, - { 6, { 0x1f, 0xff, 0xff, 0x82, 0x80, 1 }, -1, 0, 266354946, 0 }, - { 7, { 0x1f, 0x8E, 0x87, 0xAA, 0x95, 0x99, 3}, -1, 0, 4000000000UL, 0 }, -}; - - -static void check_decode(struct tag_control_s *ctrl); -static void check_encode(struct tag_control_s *ctrl); - -int -main() { - size_t i; - - for(i = 0; i < sizeof(control) / sizeof(control[0]); i++) { - check_decode(&control[i]); - check_encode(&control[i]); - } - - return 0; -} - -static void -check_decode(struct tag_control_s *ctrl) { - ber_tlv_tag_t tag = 123; - ber_tlv_tag_t tag1 = 124; - ber_tlv_tag_t tag2 = 125; - ssize_t size; - - if(ctrl->correctly_decodable < 1) { - size = ber_fetch_tag(ctrl->tagbuf, ctrl->taglen, &tag1); - assert(size == ctrl->correctly_decodable); - return; - } - - printf("Expecting "); - tag = (ctrl->tvalue << 2) | ctrl->tclass; - ber_tlv_tag_fwrite(tag, stdout); - printf(", got "); - - size = ber_fetch_tag(ctrl->tagbuf, 0, &tag1); - assert(size == 0); - - size = ber_fetch_tag(ctrl->tagbuf, ctrl->taglen, &tag1); - assert(size == ctrl->taglen); - - size = ber_fetch_tag(ctrl->tagbuf, ctrl->taglen + 10, &tag2); - assert(size == ctrl->taglen); - - ber_tlv_tag_fwrite(tag1, stdout); - printf("\n"); - - assert(tag1 == tag2); - assert(tag == tag1); - - assert(ctrl->constr == BER_TLV_CONSTRUCTED(ctrl->tagbuf)); -} - - - -static void -check_encode(struct tag_control_s *ctrl) { - uint8_t buf[16]; - ber_tlv_tag_t tag; - int Filler = 0xDA; - ssize_t size; - ssize_t i; - - tag = ctrl->tvalue << 2 | ctrl->tclass; - - /* - * Testing buffer overruns. - */ - for(i = 0; i < (int)sizeof(buf); i++) { - int j; - - memset(buf, Filler, sizeof(buf)); - - size = ber_tlv_tag_serialize(tag, buf, i); - assert(size < (int)sizeof(buf)); - - if(size <= i) { - for(j = 0; j < size; j++) assert(buf[j] != Filler); - } else { - j = i; - } - for(; j < (int)sizeof(buf); j++) assert(buf[j] == Filler); - } - - memset(buf, Filler, sizeof(buf)); - - size = ber_tlv_tag_serialize(tag, buf, sizeof(buf)); - assert(size < (int)sizeof(buf)); - - for(i = 0; i < size; i++) assert(buf[i] != Filler); - for(; i < (int)sizeof(buf); i++) assert(buf[i] == Filler); - - if(ctrl->correctly_decodable == 1) { - assert(size == ctrl->taglen); - } - if(ctrl->constr) *buf |= 0x20; - - ber_tlv_tag_fwrite(tag, stdout); - - printf(":"); - - for(i = 0; i < size; i++) { - printf(" %02x", buf[i]); - if(ctrl->correctly_decodable == 1) { - assert(ctrl->tagbuf[i] == buf[i]); - } - } - printf("\n"); - -} - diff --git a/tests/tests-skeletons/check-bits.c b/tests/tests-skeletons/check-bits.c deleted file mode 100644 index 950a3e8..0000000 --- a/tests/tests-skeletons/check-bits.c +++ /dev/null @@ -1,386 +0,0 @@ -#include -#include - -#include - -static void -check_asn_bits_decoding() { - uint8_t buf[] = { 0xB7, 0x19, 0x2F, 0xEE, 0xAD }; - uint8_t tmpbuf[10]; - int32_t z; - asn_bit_data_t pos; - memset(&pos, 0, sizeof(pos)); - - pos.buffer = buf; - pos.nboff = 0; - pos.nbits = sizeof(buf) * 8; - - z = asn_get_few_bits(&pos, 32); - assert(z == -1); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 0); - assert(z == 0); - assert(pos.nboff == 0); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 1); - assert(z == 1); - assert(pos.nboff == 1); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 2); - assert(z == 1); - assert(pos.nboff == 3); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 2); - assert(z == 2); - assert(pos.nboff == 5); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 3); - assert(z == 7); - assert(pos.nboff == 8); - assert(pos.nbits == sizeof(buf) * 8); - - z = asn_get_few_bits(&pos, 8); - assert(z == 0x19); - assert(pos.nboff == 8); - assert(pos.nbits == (sizeof(buf) - 1) * 8); - - z = asn_get_few_bits(&pos, 1); - assert(z == 0); - assert(pos.nboff == 1); - assert(pos.nbits == (sizeof(buf) - 2) * 8); - - z = asn_get_few_bits(&pos, 3); - assert(z == 2); - assert(pos.nboff == 4); - assert(pos.nbits == (sizeof(buf) - 2) * 8); - - z = asn_get_few_bits(&pos, 8); - assert(z == 254); - assert(pos.nboff == 12); - - pos.buffer = buf; - pos.nboff = 2; - pos.nbits = sizeof(buf) * 8; - z = asn_get_few_bits(&pos, 24); - assert(z == 14443711); - - pos.buffer = (unsigned char *)"\001"; - pos.nboff = 7; - pos.nbits = 7; - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 7); - assert(pos.nbits == 7); - assert(z == -1); - - pos.buffer = (unsigned char *)"\001"; - pos.nboff = 7; - pos.nbits = 8; - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 8); - assert(pos.nbits == 8); - assert(z == 1); - - pos.buffer = (unsigned char *)"\000"; - pos.nboff = 7; - pos.nbits = 8; - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 8); - assert(pos.nbits == 8); - assert(z == 0); - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 8); - assert(pos.nbits == 8); - assert(z == -1); - - pos.buffer = (unsigned char *)"\000"; - pos.nboff = 7; - pos.nbits = 9; - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 8); - assert(pos.nbits == 9); - assert(z == 0); - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 1); - assert(pos.nbits == 1); - assert(z == 0); - - pos.buffer = (unsigned char *)"\001"; - pos.nboff = 7; - pos.nbits = 9; - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 8); - assert(pos.nbits == 9); - assert(z == 1); - z = asn_get_few_bits(&pos, 1); - assert(pos.nboff == 1); - assert(pos.nbits == 1); - assert(z == 0); - - /* Get full 31-bit range */ - pos.buffer = buf; - pos.nboff = 7; - pos.nbits = sizeof(buf) * 8; - z = asn_get_few_bits(&pos, 31); - assert(z == 1179384747); - - /* Get a bit shifted range */ - pos.buffer = buf; - pos.nboff = 6; - pos.nbits = sizeof(buf) * 8; - z = asn_get_few_bits(&pos, 31); - assert(z == 1663434197); - - pos.buffer = buf; - pos.nboff = 0; - pos.nbits = sizeof(buf) * 8; - z = asn_get_many_bits(&pos, tmpbuf, 0, sizeof(buf) * 8); - assert(z == 0); - assert(buf[0] == tmpbuf[0]); - assert(buf[1] == tmpbuf[1]); - assert(buf[2] == tmpbuf[2]); - assert(buf[3] == tmpbuf[3]); - assert(buf[4] == tmpbuf[4]); - - pos.buffer = buf; - pos.nboff = 1; - pos.nbits = sizeof(buf) * 8; - z = asn_get_many_bits(&pos, tmpbuf, 0, sizeof(buf) * 8); - assert(z == -1); - - pos.buffer = buf; - pos.nboff = 1; - pos.nbits = sizeof(buf) * 8; - z = asn_get_many_bits(&pos, tmpbuf, 0, sizeof(buf) * 8 - 1); - assert(z == 0); - assert(tmpbuf[0] == 110); - assert(tmpbuf[1] == 50); - assert(tmpbuf[2] == 95); - assert(tmpbuf[3] == 221); - assert(tmpbuf[4] == 90); - - pos.buffer = buf; - pos.nboff = 1; - pos.nbits = sizeof(buf) * 8; - z = asn_get_many_bits(&pos, tmpbuf, 1, sizeof(buf) * 8 - 1); - assert(z == 0); - assert(tmpbuf[0] == 55); - assert(tmpbuf[0] != buf[0]); - assert(tmpbuf[1] == buf[1]); - assert(tmpbuf[2] == buf[2]); - assert(tmpbuf[3] == buf[3]); - assert(tmpbuf[4] == buf[4]); -} - -static int Ignore(const void *data, size_t size, void *op_key) { - (void)data; - (void)size; - (void)op_key; - return 0; -} - -static void -check_asn_bits_encoding() { - asn_bit_outp_t po; - int ret; - - po.buffer = po.tmpspace; - po.nboff = 0; - po.nbits = 0; - po.output = Ignore; - po.op_key = 0; - po.tmpspace[0] = 0xff; - - ret = asn_put_few_bits(&po, 0, 0); - assert(ret == 0); - assert(po.nboff == 0); - assert(po.buffer == po.tmpspace); - assert(po.tmpspace[0] == 0xff); - - ret = asn_put_few_bits(&po, 0, 1); - assert(ret == 0); - assert(po.nboff == 1); - assert(po.nbits == 8 * sizeof(po.tmpspace)); - assert(po.buffer == po.tmpspace); - assert(po.tmpspace[0] == 0x00); - - ret = asn_put_few_bits(&po, 1, 1); - assert(ret == 0); - assert(po.nboff == 2); - assert(po.nbits == 8 * sizeof(po.tmpspace)); - assert(po.buffer == po.tmpspace); - assert(po.tmpspace[0] == 0x40); - - ret = asn_put_few_bits(&po, 1, 1); - assert(ret == 0); - assert(po.nboff == 3); - assert(po.nbits == 8 * sizeof(po.tmpspace)); - assert(po.buffer == po.tmpspace); - assert(po.tmpspace[0] == 0x60); - - ret = asn_put_few_bits(&po, 15, 5); - assert(ret == 0); - assert(po.nboff == 8); - assert(po.nbits == 8 * sizeof(po.tmpspace)); - assert(po.buffer == po.tmpspace); - assert(po.tmpspace[0] == 0x6F); - - ret = asn_put_few_bits(&po, 0xf0ff, 16); - assert(ret == 0); - assert(po.nboff == 16); - assert(po.nbits == 8 * sizeof(po.tmpspace) - 8); - assert(po.buffer == po.tmpspace + 1); - assert(po.tmpspace[0] == 0x6F); - assert(po.tmpspace[1] == 0xf0); - assert(po.tmpspace[2] == 0xff); - - po.nboff--; - - ret = asn_put_few_bits(&po, 2, 1); - assert(ret == 0); - assert(po.nboff == 8); - assert(po.nbits == 8 * sizeof(po.tmpspace) - 16); - assert(po.buffer == po.tmpspace + 2); - assert(po.tmpspace[0] == 0x6F); - assert(po.tmpspace[1] == 0xf0); - assert(po.tmpspace[2] == 0xfe); - - ret = asn_put_few_bits(&po, 2, 32); - assert(ret == -1); - - ret = asn_put_few_bits(&po, 2, -1); - assert(ret == -1); - - ret = asn_put_few_bits(&po, -1, 31); - assert(ret == 0); - assert(po.nboff == 31); - assert(po.nbits == 8 * sizeof(po.tmpspace) - 24); - assert(po.buffer == po.tmpspace + 3); - assert(po.tmpspace[0] == 0x6F); - assert(po.tmpspace[1] == 0xf0); - assert(po.tmpspace[2] == 0xfe); - assert(po.tmpspace[3] == 0xff); - assert(po.tmpspace[4] == 0xff); - assert(po.tmpspace[5] == 0xff); - assert(po.tmpspace[6] == 0xfe); - -} - -/* - * Add N bits after P bits. Should result in N+P bits added. - */ -static void -check_asn_bits_encoding_auto() { - int prior, next; - int ret, i; - - for(prior = 0; prior <= 31; prior++) { - for(next = 0; next <= 31; next++) { - asn_bit_outp_t po; - po.buffer = po.tmpspace; - po.nboff = 0; - po.nbits = 0; - po.output = Ignore; - po.op_key = 0; - po.tmpspace[0] = 0xff; - - ret = asn_put_few_bits(&po, -1, prior); - assert(ret == 0); - - ASN_DEBUG(" (out{nboff=%d,nbits=%d,buf_offset=%d})", (int)po.nboff, (int)po.nbits, (int)(po.buffer - po.tmpspace)); - - ret = asn_put_few_bits(&po, -1, next); - assert(ret == 0); - - ASN_DEBUG(" (out{nboff=%d,nbits=%d,buf_offset=%d})", (int)po.nboff, (int)po.nbits, (int)(po.buffer - po.tmpspace)); - - ASN_DEBUG("Putting %d + %d bits (%d/%d), got %d bytes and %d bits", - prior, next, (prior + next) / 8, (prior + next) % 8, - (int)(po.buffer - po.tmpspace), (int)po.nboff); - assert((po.buffer - po.tmpspace) * 8 + po.nboff == (size_t)(prior + next)); - for(i = 0; i < (po.buffer - po.tmpspace); i++) - assert(po.tmpspace[0] == (unsigned char)-1); - } - } -} - -static void -check_asn_bits_sweep_with(uint8_t buf[], int already_bits, int add_bits) { - size_t buf_size = 8; - asn_bit_data_t pos; - asn_bit_outp_t out; - int32_t d_already; - int32_t d_add; - int32_t d_left; - int left_bits; - - memset(&pos, 0, sizeof(pos)); - pos.buffer = buf; - pos.nboff = 0; - pos.nbits = buf_size * 8; - - memset(&out, 0, sizeof(out)); - out.buffer = out.tmpspace; - out.nbits = 8 * sizeof(out.tmpspace); - assert(sizeof(out.tmpspace) >= buf_size); - memcpy(out.buffer, buf, buf_size); - - d_already = asn_get_few_bits(&pos, already_bits); - d_add = asn_get_few_bits(&pos, add_bits); - - asn_put_few_bits(&out, d_already, already_bits); - asn_put_few_bits(&out, d_add, add_bits); - if(out.nboff % 8) { - left_bits = 8 - (out.nboff % 8); - d_left = asn_get_few_bits(&pos, left_bits); - } else { - left_bits = 0; - d_left = 0; - } - asn_put_few_bits(&out, d_left, left_bits); - assert(0 == (out.nboff % 8)); - - if(0 != memcmp(out.tmpspace, buf, buf_size)) { - printf("IN: "); - for(size_t i = 0; i < buf_size; i++) - printf(" %02x", buf[i]); - printf("\nOUT:"); - for(size_t i = 0; i < buf_size; i++) - printf(" %02x", out.tmpspace[i]); - printf(" (out{nboff=%d,left=%d,%02x})\n", (int)out.nboff, left_bits, (int)d_left); - assert(0 == memcmp(out.tmpspace, buf, buf_size)); - } -} - -static void -check_asn_bits_sweep() { - uint8_t buf[3][8] = { - { 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA }, - { 0xB7, 0x19, 0x2F, 0xEE, 0xAD, 0x11, 0xAA, 0x55 }, - { 0xEE, 0xAD, 0x11, 0xAA, 0x55, 0xB7, 0x19, 0x2F } - }; - int already_bits; - int add_bits; - int buf_idx; - - for(buf_idx = 0; buf_idx < 3; buf_idx++) { - for(already_bits = 0; already_bits < 24; already_bits++) { - for(add_bits = 0; add_bits <= 31; add_bits++) { - check_asn_bits_sweep_with(buf[buf_idx], already_bits, add_bits); - } - } - } -} - -int -main() { - check_asn_bits_decoding(); - check_asn_bits_encoding(); - check_asn_bits_encoding_auto(); - check_asn_bits_sweep(); - return 0; -} diff --git a/tests/tests-skeletons/check-length.c b/tests/tests-skeletons/check-length.c deleted file mode 100644 index 1281f24..0000000 --- a/tests/tests-skeletons/check-length.c +++ /dev/null @@ -1,127 +0,0 @@ -#include -#include - -#include -#include -#include -#include -#include - -uint8_t *buf; -size_t buf_size; -size_t buf_off; - -static int -write_to_buf(const void *buffer, size_t size, void *key) { - (void)key; - - if(buf_off + size > buf_size) { - size_t n = buf_size?:16; - while(n < buf_off + size) n <<= 2; - buf = realloc(buf, n); - assert(buf); - buf_size = n; - } - - memcpy(buf + buf_off, buffer, size); - - buf_off += size; - return 0; -} - - -static void -check(size_t size) { - OCTET_STRING_t *os; - OCTET_STRING_t *nos = 0; - OCTET_STRING_t **nosp = &nos; - asn_enc_rval_t erval; - asn_dec_rval_t rval; - - os = OCTET_STRING_new_fromBuf(&asn_DEF_OCTET_STRING, 0, size); - assert(os); - assert(os->size == 0); - - os->buf = malloc(size); - assert(os->buf); - os->size = size; - - for(size_t i = 0; i < size; i++) { - os->buf[i] = i; - } - - buf_off = 0; - erval = der_encode(&asn_DEF_OCTET_STRING, - os, write_to_buf, 0); - assert(erval.encoded >= 0 && (size_t)erval.encoded == buf_off); - assert(buf_off > size); - - rval = ber_decode(0, &asn_DEF_OCTET_STRING, (void **)nosp, buf, buf_off); - assert(rval.code == RC_OK); - assert(rval.consumed == buf_off); - - assert(os->size == nos->size); - - for(size_t i = 0; i < size; i++) { - assert(os->buf[i] == nos->buf[i]); - } - - if(0) { - fprintf(stderr, "new(%zd):", size); - for(size_t i = 0; i < (buf_off<10?buf_off:10); i++) - fprintf(stderr, " %02x", buf[i]); - printf("\n"); - } - - - ASN_STRUCT_FREE(asn_DEF_OCTET_STRING, os); - ASN_STRUCT_FREE(asn_DEF_OCTET_STRING, nos); -} - -int -main() { - uint8_t buf1[] = {0x85, 0x00, 0x01, 0x02, 0x03, 0x04}; - uint8_t buf2[] = {0x85, 0x00, 0x7f, 0xff, 0x03, 0x04}; - uint8_t buf3[] = {0x85, 0x00, 0x7f, 0xff, 0xff, 0x04}; - uint8_t buf4[] = {0x89, 0x00, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x04}; - ber_tlv_len_t tlv_len; - ssize_t ret; - - for(size_t i = 0; i < 66000; i++) { - if(i == 4500) i = 64000; /* Jump */ - check(i); - } - - ret = ber_fetch_length(0, buf1, sizeof(buf1), &tlv_len); - printf("ret=%zd, len=%zd\n", ret, tlv_len); - assert(ret == sizeof(buf1)); - assert(tlv_len == 0x01020304); - - /* - * Here although tlv_len is not greater than 2^31, - * we ought to hit embedded length exploitation preventive checks. - */ - ret = ber_fetch_length(0, buf2, sizeof(buf2), &tlv_len); - if(sizeof(tlv_len) <= 4) { - assert(ret == -1); - } else { - printf("ret=%zd, len=%zd\n", ret, tlv_len); - assert(ret == sizeof(buf2)); - assert(tlv_len == 0x7fff0304); - } - - if(sizeof(tlv_len) <= 4) { - ret = ber_fetch_length(0, buf3, sizeof(buf3), &tlv_len); - printf("ret=%zd\n", ret); - printf("len=0x%08zx\n", tlv_len); - assert(ret == -1); - } - if(sizeof(tlv_len) <= 8) { - ret = ber_fetch_length(0, buf4, sizeof(buf4), &tlv_len); - printf("ret=%zd\n", ret); - assert(ret == -1); - } - - return 0; -} diff --git a/tests/tests-skeletons/disable-leak-check-m32.sh b/tests/tests-skeletons/disable-leak-check-m32.sh deleted file mode 100755 index c86a0f7..0000000 --- a/tests/tests-skeletons/disable-leak-check-m32.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# -# It is found that leak checker doesn't work in 32-bit mode. -# Disable in runtime. -# - -if echo "$*" | sed -e 's/.*--//' | grep 'check-32-' >/dev/null; then - unset ASAN_OPTIONS -fi - -exec "$@" -- 2.16.6